Project

General

Profile

« Previous | Next » 

Revision 4a579136

Added by Andreas Kohlbecker almost 5 years ago

refactoring editor setReadonly()

View differences:

src/main/java/eu/etaxonomy/vaadin/mvp/AbstractCdmPopupEditor.java
15 15

  
16 16
import com.vaadin.server.FontAwesome;
17 17
import com.vaadin.shared.ui.MarginInfo;
18
import com.vaadin.ui.AbstractComponentContainer;
19 18
import com.vaadin.ui.Button;
20 19
import com.vaadin.ui.Component;
21 20
import com.vaadin.ui.Layout;
......
99 98
        getPresenter().setGrantsForCurrentUser(crud);
100 99
    }
101 100

  
102
    /**
103
     * {@inheritDoc}
104
     */
105
    @Override
106
    public void setReadOnly(boolean readOnly) {
107
        super.setReadOnly(readOnly);
108
        recursiveReadonly(readOnly, (AbstractComponentContainer)getFieldLayout());
109
    }
110

  
111
    /**
112
     * @param readOnly
113
     * @param layout
114
     */
115
    protected void recursiveReadonly(boolean readOnly, AbstractComponentContainer layout) {
116
        for(Component c : layout){
117
            c.setReadOnly(readOnly);
118
            if(c instanceof AbstractComponentContainer){
119
                recursiveReadonly(readOnly, layout);
120
            }
121
        }
122
    }
123

  
124

  
125

  
126 101

  
127 102

  
128 103
}
src/main/java/eu/etaxonomy/vaadin/mvp/AbstractPopupEditor.java
25 25
import com.vaadin.server.FontAwesome;
26 26
import com.vaadin.server.UserError;
27 27
import com.vaadin.shared.ui.MarginInfo;
28
import com.vaadin.ui.AbstractComponentContainer;
28 29
import com.vaadin.ui.AbstractField;
29 30
import com.vaadin.ui.AbstractLayout;
30 31
import com.vaadin.ui.AbstractOrderedLayout;
......
180 181
        save.setVisible(!readOnly);
181 182
        delete.setVisible(!readOnly);
182 183
        cancel.setCaption(readOnly ? "Close" : "Cancel");
184
        recursiveReadonly(readOnly, (AbstractComponentContainer)getFieldLayout());
185
    }
186

  
187
    /**
188
     * @param readOnly
189
     * @param layout
190
     */
191
    protected void recursiveReadonly(boolean readOnly, AbstractComponentContainer layout) {
192
        for(Component c : layout){
193
            c.setReadOnly(readOnly);
194
            if(c instanceof AbstractComponentContainer){
195
                recursiveReadonly(readOnly, layout);
196
            }
197
        }
183 198
    }
184 199

  
185 200
    /**

Also available in: Unified diff