/**
+ * Copyright (C) 2007 EDIT
+ * 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.
*/
package eu.etaxonomy.taxeditor.ui.element;
import java.util.ConcurrentModificationException;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.TypedListener;
import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.forms.widgets.Section;
import org.eclipse.ui.forms.widgets.TableWrapLayout;
import org.eclipse.ui.forms.widgets.ToggleHyperlink;
*
* @author n.hoffmann
* @created Feb 22, 2010
- * @version 1.0
- * @param <T>
*/
//TODO shouldn't ENTITY be bound with super class ICdmBase for example (AbstractFormSection<ENTITY extends ICdmBase>)?
-public abstract class AbstractFormSection<ENTITY> extends Section implements ISelectionChangedListener, IEntityElement<ENTITY>, IConversationEnabled {
+public abstract class AbstractFormSection<ENTITY>
+ extends Section
+ implements ISelectionChangedListener, IEntityElement<ENTITY>, IConversationEnabled {
/**
* The default number of columns in detail sections
private ENTITY entity;
- private final Set<ICdmFormElement> elements = new HashSet<ICdmFormElement>();
+ private final Set<ICdmFormElement> elements = new HashSet<>();
protected CdmFormFactory formFactory;
private Color persistentBackgroundColor;
/**
- * <p>
* Constructor for AbstractFormSection.
- * </p>
- *
- * @param conversation
- * TODO
- * @param style
- * a int.
- * @param formFactory
- * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
- * object.
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param <ENTITY>
- * a ENTITY object.
*/
protected AbstractFormSection(CdmFormFactory formFactory, ICdmFormElement parentElement, int style) {
super(parentElement.getLayoutComposite(), style);
client.setLayout(layout);
this.setClient(client);
-
}
- /**
- * <p>
+ /**
* Constructor for AbstractFormSection.
- * </p>
- *
- * @param formFactory
- * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
- * object.
- * @param conversation
- * a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
- * object.
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param selectionProvider
- * a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
- * @param style
- * a int.
*/
protected AbstractFormSection(CdmFormFactory formFactory, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
this(formFactory, parentElement, style);
}
/**
- * <p>
* Getter for the field <code>propertyChangeListeners</code>.
- * </p>
- *
- * @return a {@link java.util.Set} object.
*/
@Override
public List<IPropertyChangeListener> getPropertyChangeListeners() {
return propertyChangeListeners;
}
- /** {@inheritDoc} */
@Override
public void setPropertyChangeListeners(
List<IPropertyChangeListener> propertyChangeListeners) {
}
/**
- * <p>
* Setter for the field <code>entity</code>.
- * </p>
- *
- * @param entity
- * a ENTITY object.
*/
public void setEntity(ENTITY entity) {
this.entity = entity;
}
- /*
- * (non-Javadoc)
- *
- * @see eu.etaxonomy.taxeditor.forms.IEntityElement#getEntity()
- */
/**
- * <p>
* Getter for the field <code>entity</code>.
- * </p>
- *
- * @return a ENTITY object.
*/
@Override
public ENTITY getEntity() {
}
/**
- * <p>
* getToggle
- * </p>
- *
- * @return a {@link org.eclipse.ui.forms.widgets.ToggleHyperlink} object.
*/
public ToggleHyperlink getToggle() {
return this.toggle;
}
/**
- * <p>
* getSection
- * </p>
- *
- * @return a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection}
- * object.
*/
public AbstractFormSection<ENTITY> getSection() {
return this;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.taxeditor.forms.IPropertyChangeEmitter#firePropertyChangeEvent
- * ()
- */
- /** {@inheritDoc} */
@Override
public void firePropertyChangeEvent(CdmPropertyChangeEvent event) {
Assert.isNotNull(propertyChangeListeners, "No property change listeners.");
originatingEvent));
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.widgets.Composite#setFocus()
- */
- /** {@inheritDoc} */
@Override
public boolean setFocus() {
return getClient().setFocus();
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse
- * .jface.util.PropertyChangeEvent)
- */
- /** {@inheritDoc} */
@Override
public void propertyChange(PropertyChangeEvent event) {
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event));
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.swt.widgets.Control#setBackground(org.eclipse.swt.graphics
- * .Color)
- */
- /** {@inheritDoc} */
@Override
public void setBackground(Color color) {
for (ICdmFormElement element : getElements()) {
return persistentBackgroundColor;
}
-
- /**
- * <p>
- * widgetSelected
- * </p>
- *
- * @param e
- * a {@link org.eclipse.swt.events.SelectionEvent} object.
- */
public void widgetSelected(SelectionEvent e) {
Widget widget = e.widget;
}
}
- /** {@inheritDoc} */
@Override
public void setSelected(boolean selected) {
if (selected) {
}
}
- /** {@inheritDoc} */
@Override
public void selectionChanged(SelectionChangedEvent event) {
if (event.getSelection() == CdmFormFactory.EMPTY_SELECTION) {
}
}
- /**
- * <p>
- * addSelectionListener
- * </p>
- *
- * @param listener
- * a {@link org.eclipse.swt.events.SelectionListener} object.
- */
public void addSelectionListener(SelectionListener listener) {
addListener(SWT.Selection, new TypedListener(listener));
}
- /**
- * <p>
- * removeSelectionListener
- * </p>
- *
- * @param listener
- * a {@link org.eclipse.swt.events.SelectionListener} object.
- */
public void removeSelectionListener(SelectionListener listener) {
removeListener(SWT.Selection, listener);
}
- /** {@inheritDoc} */
@Override
public void addElement(ICdmFormElement element) {
elements.add(element);
}
- /**
- * <p>
- * removeElement
- * </p>
- *
- * @param element
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- */
protected void removeElement(ICdmFormElement element) {
elements.remove(element);
}
- /**
- * <p>
- * removeElements
- * </p>
- */
@Override
public void removeElements() {
- for (ICdmFormElement childElement : getElements()) {
+ for (Iterator<ICdmFormElement> formElementIterator = getElements().iterator();formElementIterator.hasNext();) {
+ ICdmFormElement childElement = formElementIterator.next();
// recursion
childElement.removeElements();
formFactory.removePropertyChangeListener(childElement);
// dispose of the controls
- for (Control control : childElement.getControls()) {
+ for (Iterator<Control> controlIterator = childElement.getControls().iterator();controlIterator.hasNext();) {
+ Control control = controlIterator.next();
// we added the layoutComposite of the parental element as the
// layout composite to this formElement
// but we do not want to destroy it.
}
/**
- * <p>
* Getter for the field <code>parentElement</code>.
- * </p>
- *
- * @return a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
*/
@Override
public ICdmFormElement getParentElement() {
}
/**
- * <p>
* Getter for the field <code>elements</code>.
- * </p>
- *
- * @return a {@link java.util.Set} object.
*/
@Override
public Set<ICdmFormElement> getElements() {
return elements;
}
- /**
- * <p>
- * getControls
- * </p>
- *
- * @return a {@link java.util.Set} object.
- */
@Override
public Set<Control> getControls() {
- Set<Control> controls = new HashSet<Control>();
+ Set<Control> controls = new HashSet<>();
for (Control control : getChildren()) {
controls.add(control);
return controls;
}
- /** {@inheritDoc} */
@Override
public void dispose() {
removeElements();
super.dispose();
}
- /**
- * <p>
- * getLayoutComposite
- * </p>
- *
- * @return a {@link org.eclipse.swt.widgets.Composite} object.
- */
@Override
public Composite getLayoutComposite() {
return (Composite) getClient();
}
- /** {@inheritDoc} */
@Override
public boolean containsFormElement(ICdmFormElement formElement) {
if (formElement == this) {
}
/**
- * <p>
* Getter for the field <code>formFactory</code>.
- * </p>
- *
- * @return a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
*/
@Override
public CdmFormFactory getFormFactory() {
return formFactory;
}
- /*
- * (non-Javadoc)
- *
- * @see eu.etaxonomy.taxeditor.forms.ICdmFormElement#refresh()
- */
- /**
- * <p>
- * refresh
- * </p>
- */
@Override
public void refresh() {
// empty default implementation
-
}
- /**
- * <p>
- * getConversationHolder
- * </p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
- * object.
- */
@Override
public ConversationHolder getConversationHolder() {
if(AbstractUtility.getActivePart() instanceof IConversationEnabled){
}
if(getParentElement() instanceof RootElement || getParentElement() == null){
- IEditorPart activeEditor = AbstractUtility.getActiveEditor();
+ Object activeEditor = AbstractUtility.getActiveEditor();
if(activeEditor instanceof IConversationEnabled){
ConversationHolder conversation = ((IConversationEnabled) AbstractUtility.getActiveEditor()).getConversationHolder();
return conversation;
}else if(getParentElement() instanceof IConversationEnabled){
return ((IConversationEnabled) getParentElement()).getConversationHolder();
}
- MessagingUtils.messageDialog("Could not get conversation for AbstractFormSection",
- getClass(), "There is an error in the implementation. There should have been an active editor but it wasn't",
+ MessagingUtils.error(getClass(), "Could not get conversation for AbstractFormSection. There is an error in the implementation. There should have been an active editor but it wasn't",
new IllegalArgumentException());
return null;
}
- /** {@inheritDoc} */
-
@Override
public void update(CdmDataChangeMap changeEvents) {
}
-
}