Project

General

Profile

« Previous | Next » 

Revision b66bc2e5

Added by Andreas Müller over 3 years ago

cleanup

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/combo/EnumTermComboController.java
39 39
/**
40 40
 * @author pplitzner
41 41
 * @date 29.01.2014
42
 *
43 42
 */
44
public class EnumTermComboController<T extends IEnumTerm<T>> extends AbstractCdmFormElement implements SelectionListener,
45
IEnableableFormElement, ISelectable, CdmCompositeController {
43
public class EnumTermComboController<T extends IEnumTerm<T>> 
44
		extends AbstractCdmFormElement 
45
		implements SelectionListener, IEnableableFormElement, ISelectable, CdmCompositeController {
46 46

  
47
    private static CdmEnumDataHolder[] cdmEnumDataHolders = {
47
    private static CdmEnumDataHolder<?>[] cdmEnumDataHolders = {
48 48
        new CdmEnumDataHolder<NomenclaturalCode>(){
49 49

  
50 50
            @Override
......
133 133
    private final Class<T> enumType;
134 134

  
135 135
    /**
136
     * <p>
137 136
     * Constructor for AbstractEnumComboElement.
138
     * </p>
139
     *
140
     * @param formFactory
141
     *            a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
142
     *            object.
143
     * @param parentElement
144
     *            a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
145
     *            object.
146
     * @param labelString
147
     *            a {@link java.lang.String} object.
148
     * @param <T>
149
     *            a T object.
150 137
     */
151 138
    public EnumTermComboController(Combo combo, CdmFormFactory formFactory,
152 139
            ICdmFormElement parentElement, Class<T> enumType, int style) {
......
160 147
        populateTypes();
161 148

  
162 149
        combo.addSelectionListener(this);
163

  
164
    }
165

  
166
    private String getDefaultLabelString() {
167
        if(enumType.equals(ReferenceType.class)){
168
            return "Reference Type";
169
        } else if (enumType.equals(NomenclaturalCode.class)){
170
            return "Nomenclatural Code";
171
        } else if(enumType.equals(OriginalSourceType.class)) {
172
            return "Orig. Source Type";
173
        } else if(enumType.equals(SpecimenOrObservationType.class)) {
174
            return "Spec./Obs. Type";
175
        }
176
        return "No Label";
177 150
    }
178 151

  
179 152
    /**
180
     * <p>
181 153
     * populateTypes
182
     * </p>
183 154
     */
184 155
    private void populateTypes(){
185 156
        Collection<T> elementsForClass = getElementsForClass(enumType);
......
200 171
        }
201 172
    }
202 173

  
203
    /**
204
     * <p>
205
     * Setter for the field <code>selection</code>.
206
     * </p>
207
     *
208
     * @param selection
209
     *            the selection to set
210
     */
211 174
    public void setSelection(T selection) {
212 175
        this.selection = selection;
213 176
        combo.select(elementTypeList.indexOf(selection));
214 177
    }
215 178

  
216
    /**
217
     * <p>
218
     * addSelectionListener
219
     * </p>
220
     *
221
     * @param listener
222
     *            a {@link org.eclipse.swt.events.SelectionListener} object.
223
     */
224 179
    public void addSelectionListener(SelectionListener listener) {
225 180
        combo.addSelectionListener(listener);
226 181
    }
227 182

  
228
    /**
229
     * <p>
230
     * removeSelectionListener
231
     * </p>
232
     *
233
     * @param listener
234
     *            a {@link org.eclipse.swt.events.SelectionListener} object.
235
     */
236 183
    public void removeSelectionListener(SelectionListener listener) {
237 184
        combo.removeSelectionListener(listener);
238 185
    }
239 186

  
240
    /** {@inheritDoc} */
241 187
    @Override
242 188
    public void setSelected(boolean selected) {
243 189
        setBackground(selected ? SELECTED : getPersistentBackground());
244 190
    }
245 191

  
246
    /**
247
     * <p>
248
     * Getter for the field <code>selection</code>.
249
     * </p>
250
     *
251
     * @return the selection
252
     */
253 192
    public T getSelection() {
254 193
        return selection;
255 194
    }
256 195

  
257
    /** {@inheritDoc} */
258 196
    @Override
259 197
    public void setEnabled(boolean enabled) {
260 198
        combo.setEnabled(enabled);
261 199
    }
262 200

  
263
    /* (non-Javadoc)
264
     * @see eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement#isEnabled()
265
     */
266 201
    @Override
267 202
    public boolean isEnabled() {
268 203
        return combo.isEnabled();
269 204
    }
270 205

  
271
    /*
272
     * (non-Javadoc)
273
     *
274
     * @see
275
     * org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt
276
     * .events.SelectionEvent)
277
     */
278
    /** {@inheritDoc} */
279 206
    @Override
280 207
    public void widgetSelected(SelectionEvent e) {
281 208
        selection = elementTypeList.get(combo.getSelectionIndex());
282 209
    }
283 210

  
284
    /** {@inheritDoc} */
285 211
    @Override
286 212
    public void setIrrelevant(boolean irrelevant) {
287 213
        String colorId = irrelevant ? Resources.COLOR_COMPOSITE_IRRELEVANT
......
291 217
        combo.setBackground(color);
292 218
    }
293 219

  
294
    /** {@inheritDoc} */
295 220
    @Override
296 221
    public void setBackground(Color color) {
297 222
//        label.setBackground(color);
298 223
    }
299 224

  
300
    /** {@inheritDoc} */
301 225
    @Override
302 226
    public void widgetDefaultSelected(SelectionEvent e) {
303 227
    }
......
315 239
    }
316 240

  
317 241
    private CdmEnumDataHolder<T> getCdmEnumDataHolderForClass(Class<T> clazz){
318
        for (CdmEnumDataHolder dataHolder : cdmEnumDataHolders) {
242
        for (CdmEnumDataHolder<?> dataHolder : cdmEnumDataHolders) {
319 243
            if (dataHolder.getClazz().equals(clazz)){
320
                return dataHolder;
244
                return (CdmEnumDataHolder<T>)dataHolder;
321 245
            }
322 246
        }
323 247
        return null;
......
328 252
        String getName();
329 253
        Collection<T> getElements();
330 254
    }
331
}
255
}

Also available in: Unified diff