/**
- *
+ *
*/
package eu.etaxonomy.taxeditor.ui.combo;
* <p>
* Abstract AbstractTermComboElement class.
* </p>
- *
+ *
* @author n.hoffmann
* @created Nov 5, 2009
* @version 1.0
DisposeListener, IEnableableFormElement, ISelectable {
private static final int DEFAULT_VISIBLE_ITEMS = 10;
-
+
private T selection;
private T emptyElement;
private static String EMPTY_ELEMENT_LABEL = "";
protected Label label;
- private Combo combo;
+ private final Combo combo;
private ArrayList<T> terms;
private Comparator<T> termComparator;
- private Class<T> termClass;
+ private final Class<T> termClass;
private List<T> customPreferredTerms;
* <p>
* Constructor for AbstractTermComboElement.
* </p>
- *
+ *
* @param parentElement
* a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
* object.
ICdmFormElement parentElement, TermType termType, String labelString, T selection,
int style) {
super(formFactory, parentElement);
-
+
this.termClass = (Class<T>) DefinedTerm.class;
-
+
if (labelString != null) {
label = formFactory.createLabel(getLayoutComposite(), labelString);
addControl(label);
* <p>
* Constructor for AbstractTermComboElement.
* </p>
- *
+ *
* @param parentElement
* a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
* object.
ICdmFormElement parentElement, Class<T> termClass, String labelString, T selection,
int style) {
super(formFactory, parentElement);
-
+
this.termClass = termClass;
-
+
if (labelString != null) {
label = formFactory.createLabel(getLayoutComposite(), labelString);
addControl(label);
* <p>
* Getter for the field <code>selection</code>.
* </p>
- *
+ *
* @return a T object.
*/
public T getSelection() {
/**
* <p>Sets the selection of the combo to the given T object.</p>
- * <p>Passing <code>null</code> to this method will set the selection to
+ * <p>Passing <code>null</code> to this method will set the selection to
* the empty element and effectively clear the selection</p>
- *
+ *
* @param selection
* a T object or <code>null</code> to clear the selection
*/
- public void setSelection(T selection) {
+ public void setSelection(T selection) {
this.selection = selection;
-
+
this.selection = selection;
-
+
Listener[] listeners = combo.getListeners(SWT.Selection);
for (Listener listener : listeners) {
/**
* Fills the combo with elements and sets up the convenience functions
* for selection index
- *
+ *
* @param preferredTerms
*/
private void populateTerms(List<T> preferredTerms) {
* @see eu.etaxonomy.taxeditor.forms.IEnableableFormElement#setEnabled(boolean)
*/
/** {@inheritDoc} */
- public void setEnabled(boolean enabled) {
+ @Override
+ public void setEnabled(boolean enabled) {
combo.setEnabled(enabled);
}
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement#isEnabled()
+ */
+ @Override
+ public boolean isEnabled() {
+ return combo.isEnabled();
+ }
+
/**
* <p>
* preferredTerms
* </p>
- *
+ *
* @return a {@link java.util.List} object.
*/
protected List<T> getPreferredTerms(){
/**
* May be overridden by derived classes if the desired label string does not
* reside in term.getLabel();
- *
+ *
* @param term
* a T object.
* @return a {@link java.lang.String} object.
}
/**
- *
- *
+ *
+ *
* @param term
*/
private void createTermNotInPreferredTerms(T term) {
* <p>
* addSelectionListener
* </p>
- *
+ *
* @param listener
* a {@link org.eclipse.swt.events.SelectionListener} object.
*/
* <p>
* removeSelectionListener
* </p>
- *
+ *
* @param listener
* a {@link org.eclipse.swt.events.SelectionListener} object.
*/
/*
* (non-Javadoc)
- *
+ *
* @see
* org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt
* .events.SelectionEvent)
*/
/** {@inheritDoc} */
- public void widgetSelected(SelectionEvent e) {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
selection = terms.get(combo.getSelectionIndex());
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
}
/*
* (non-Javadoc)
- *
+ *
* @see java.beans.PropertyChangeListener#propertyChange(java.beans.
* PropertyChangeEvent)
*/
/** {@inheritDoc} */
- public void propertyChange(PropertyChangeEvent event) {
+ @Override
+ public void propertyChange(PropertyChangeEvent event) {
super.propertyChange(event);
if (event != null
&& PreferencesUtil.PREFERRED_TERMS_CHANGE.equals(event
}
/** {@inheritDoc} */
- public void setSelected(boolean selected) {
+ @Override
+ public void setSelected(boolean selected) {
setBackground(selected ? SELECTED : getPersistentBackground());
}
/** {@inheritDoc} */
- public void widgetDisposed(DisposeEvent e) {
+ @Override
+ public void widgetDisposed(DisposeEvent e) {
PreferencesUtil.getPreferenceStore().removePropertyChangeListener(this);
}
// not used
/** {@inheritDoc} */
- public void widgetDefaultSelected(SelectionEvent e) {
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
}
/** {@inheritDoc} */
- public void setIrrelevant(boolean irrelevant) {
+ @Override
+ public void setIrrelevant(boolean irrelevant) {
String colorId = irrelevant ? Resources.COLOR_COMPOSITE_IRRELEVANT
: Resources.COLOR_COMPOSITE_BACKGROUND;
/** {@inheritDoc} */
@Override
public void setBackground(Color color) {
- if (label != null)
- label.setBackground(color);
+ if (label != null) {
+ label.setBackground(color);
+ }
}
/**
- *
+ *
*/
protected TermManager getTermManager() {
return CdmStore.getTermManager();
}
-
+
/**
- *
+ *
* @return
*/
public int getVisibleItemCount(){
return combo.getVisibleItemCount();
}
-
+
/**
- *
+ *
* @param count
*/
public void setVisibleItemCount(int count){
/**
* <p>A {@link List} of term objects may be passed to this combo box. In this case, the default behaviour
- * of displaying the preferred terms for the T type will be overridden and the combo will only display the
+ * of displaying the preferred terms for the T type will be overridden and the combo will only display the
* given terms. Also, any previous selection will be reseted.</p>
- *
+ *
* <p>To return to the default of displaying the preferred terms, simply pass <code>null</code>.</p>
- *
+ *
* @param terms a {@link List} of T objects or <code>null</code> for default preferred terms
*/
public void setTerms(List<T> terms) {
customPreferredTerms = terms;
populateTerms(customPreferredTerms);
}
-
+
private List<T> filterDefinedTermByTermType(List<T> terms, TermType termType) {
List<T> definedTerms = new ArrayList<T>();
for(T term : terms){
if(term.getTermType().equals(termType)) {
definedTerms.add(term);
}
- }
+ }
return definedTerms;
}
}
// $Id$
/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
-*
+*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
* @version 1.0
*/
public class CheckboxElement extends AbstractCdmFormElement implements SelectionListener, IEnableableFormElement, ISelectable {
-
- private Button checkbox;
+
+ private final Button checkbox;
private Label label;
-
+
/**
* <p>Constructor for CheckboxElement.</p>
*
protected CheckboxElement(CdmFormFactory formFactory, ICdmFormElement parentElement, String labelString, boolean initialState,
int style) {
super(formFactory, parentElement);
-
+
if(labelString != null){
label = formFactory.createLabel(getLayoutComposite(), labelString);
addControl(label);
}
-
+
checkbox = formFactory.createButton(getLayoutComposite(), null, SWT.CHECK | style);
checkbox.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
-
+
checkbox.setSelection(initialState);
-
+
checkbox.addSelectionListener(this);
addControl(checkbox);
}
checkbox.setSelection(selected);
checkbox.addSelectionListener(this);
}
-
+
/**
* <p>getSelection</p>
*
* @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
*/
/** {@inheritDoc} */
- public void widgetSelected(SelectionEvent e) {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
}
-
+
/** {@inheritDoc} */
- public void widgetDefaultSelected(SelectionEvent e) {}
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {}
/** {@inheritDoc} */
- public void setSelected(boolean selected) {
+ @Override
+ public void setSelected(boolean selected) {
setBackground(selected ? SELECTED : getPersistentBackground());
}
/** {@inheritDoc} */
- public void setEnabled(boolean enabled) {
+ @Override
+ public void setEnabled(boolean enabled) {
checkbox.setEnabled(enabled);
}
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement#isEnabled()
+ */
+ @Override
+ public boolean isEnabled() {
+ return checkbox.isEnabled();
+ }
+
/** {@inheritDoc} */
- public void setIrrelevant(boolean irrelevant) {
+ @Override
+ public void setIrrelevant(boolean irrelevant) {
String colorId = irrelevant ? Resources.COLOR_COMPOSITE_IRRELEVANT : Resources.COLOR_COMPOSITE_BACKGROUND;
-
+
Color color = getColor(colorId);
setBackground(color);
}
-
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement#setBackground(org.eclipse.swt.graphics.Color)
*/
@Override
public void setBackground(Color color) {
checkbox.setBackground(color);
- if (label != null) label.setBackground(color);
+ if (label != null) {
+ label.setBackground(color);
+ }
}
}