Project

General

Profile

« Previous | Next » 

Revision fcba7787

Added by Andreas Kohlbecker almost 7 years ago

ref #6169 advanced mode for popup editors

View differences:

src/main/java/eu/etaxonomy/vaadin/mvp/AbstractPopupEditor.java
23 23
import com.vaadin.server.FontAwesome;
24 24
import com.vaadin.server.UserError;
25 25
import com.vaadin.ui.AbstractField;
26
import com.vaadin.ui.AbstractLayout;
26 27
import com.vaadin.ui.AbstractOrderedLayout;
27 28
import com.vaadin.ui.Alignment;
28 29
import com.vaadin.ui.Button;
29 30
import com.vaadin.ui.CheckBox;
30 31
import com.vaadin.ui.Component;
32
import com.vaadin.ui.CssLayout;
31 33
import com.vaadin.ui.Field;
32 34
import com.vaadin.ui.GridLayout;
33 35
import com.vaadin.ui.GridLayout.OutOfBoundsException;
......
67 69

  
68 70
    private Button cancel;
69 71

  
72
    private CssLayout toolBar = new CssLayout();
73

  
74
    private CssLayout toolBarButtonGroup = new CssLayout();
75

  
70 76
    private GridLayout _gridLayoutCache;
71 77

  
72 78
    public AbstractPopupEditor(Layout layout, Class<DTO> dtoType) {
......
81 87

  
82 88
        setCompositionRoot(mainLayout);
83 89

  
90
        toolBar.addStyleName(ValoTheme.WINDOW_TOP_TOOLBAR);
91
        toolBar.setWidth(100, Unit.PERCENTAGE);
92
        toolBarButtonGroup.addStyleName(ValoTheme.LAYOUT_COMPONENT_GROUP);
93
        toolBarButtonGroup.setWidthUndefined();
94
        toolBar.addComponent(toolBarButtonGroup);
95
        toolBar.setVisible(false);
96

  
84 97
        fieldLayout = layout;
85 98
        fieldLayout.setWidthUndefined();
86 99
        if(fieldLayout instanceof AbstractOrderedLayout){
......
104 117
        buttonLayout.setComponentAlignment(save, Alignment.TOP_RIGHT);
105 118
        buttonLayout.setComponentAlignment(cancel, Alignment.TOP_RIGHT);
106 119

  
107
        mainLayout.addComponents(fieldLayout, buttonLayout);
120
        mainLayout.addComponents(toolBar, fieldLayout, buttonLayout);
121
        mainLayout.setComponentAlignment(toolBar, Alignment.TOP_RIGHT);
108 122
    }
109 123

  
110 124
    protected VerticalLayout getMainLayout() {
......
136 150
        cancel.setCaption(readOnly ? "Close" : "Cancel");
137 151
    }
138 152

  
153
    /**
154
     * @return
155
     * @return
156
     */
157
    protected AbstractLayout getToolBar() {
158
        return toolBar;
159
    }
160

  
161
    /**
162
     * @return
163
     * @return
164
     */
165
    protected void toolBarAdd(Component c) {
166
        toolBar.addComponent(c, toolBar.getComponentIndex(toolBarButtonGroup) - 1);
167
        updateToolBarVisibility();
168
    }
169

  
170
    /**
171
     * @return
172
     * @return
173
     */
174
    protected void toolBarButtonGroupAdd(Component c) {
175
        toolBarButtonGroup.addComponent(c);
176
        updateToolBarVisibility();
177
    }
178

  
179
    /**
180
     * @return
181
     * @return
182
     */
183
    protected void toolBarButtonGroupRemove(Component c) {
184
        toolBarButtonGroup.removeComponent(c);
185
        updateToolBarVisibility();
186
    }
187

  
188
    /**
189
     *
190
     */
191
    private void updateToolBarVisibility() {
192
        toolBar.setVisible(toolBarButtonGroup.getComponentCount() + toolBar.getComponentCount() > 1);
193

  
194
    }
195

  
196
    /**
197
     * The top tool-bar is initially invisible.
198
     *
199
     * @param visible
200
     */
201
    protected void setToolBarVisible(boolean visible){
202
        toolBar.setVisible(true);
203
    }
204

  
205

  
206

  
139 207
    // ------------------------ event handler ------------------------ //
140 208

  
141 209
    private class SaveHandler implements CommitHandler {

Also available in: Unified diff