taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/reference/IReferenceSearch.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/reference/ReferenceSelectComposite.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/AbstractEditorFormSection.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/AbstractEntitySetSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/AbstractFormComposite.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/AbstractSelectionComposite.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/AbstractTermComboComposite.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/AnnotationComposite.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/AnnotationSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/Container.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/DescriptionElementSourceComposite.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/EditorFormToolkit.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/IPropertyChangeEmitter.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/ImageComposite.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/LanguageComboComposite.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/MultilineTextWithLabel.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/NameSelectionComposite.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/OriginalSourceSection.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/ReferenceSelectionComposite.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/TaxonSelectionComposite.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/TextActionComposite.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/TextWithLabelComposite.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/AbstractEntitySetSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/AnnotationComposite.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/AnnotationSection.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/CreditComposite.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/CreditSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/DescriptionElementSourceComposite.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/ExtensionComposite.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/ExtensionSection.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/IdentifiableSourceComposite.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/MarkerComposite.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/MarkerSection.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/MediaComposite.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/MediaSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/OriginalSourceSection.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/RightsComposite.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/RightsSection.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/entitysections/SourceSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selectioncomposites/AbstractSelectionComposite.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selectioncomposites/NameSelectionComposite.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selectioncomposites/ReferenceSelectionComposite.java -text
+++ /dev/null
-/**
- *
- */
-package eu.etaxonomy.taxeditor.forms;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-import eu.etaxonomy.cdm.model.common.VersionableEntity;
-
-/**
- * @author nho
- *
- */
-public abstract class AbstractEntitySetSection<T extends VersionableEntity> extends AbstractEditorFormSection {
-
- protected T entity;
- protected Composite container;
-
- /**
- * @param parent
- * @param style
- */
- protected AbstractEntitySetSection(Composite parent, T entity, int style) {
- super(parent, style);
- this.entity = entity;
- setTextClient(createToolbar());
-
- }
-
- private Control createToolbar() {
- ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
-// IMenuService menuService = (IMenuService) EditorUtil.getService(IMenuService.class);
-// menuService.populateContributionManager(toolBarManager, "toolbar:de.md.contributions.sectionToolbar");
-
-
- toolBarManager.add(getAddAction());
-
- return toolBarManager.createControl(this);
- }
-
- /**
- * @return
- */
- protected abstract IAction getAddAction();
-
- private void createContainer(){
- if(container != null)
- container.dispose();
- container = toolkit.createContainer(getClient(), SWT.NULL);
-
- container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- container.setLayout(new GridLayout());
- }
-
- /**
- * Call this method after dynamically changing the client area.
- * If the options changed is set to true, will also fire a state changed
- * event to inform the user of unsaved changes.
- *
- * @param changed
- */
- protected void internalUpdateSection(boolean changed){
- createContainer();
- createDynamicContents();
- this.reflow();
- if(changed)
- firePropertyChangeEvent(null);
- }
-
- /**
- *
- */
- protected abstract void createDynamicContents();
-
- /**
- * Sets this composites entity
- *
- * Call this method when the page gets loaded
- * or otherwise updated from outside
- *
- * @param entity the entity to set
- */
- public void setEntity(T entity) {
- this.entity = entity;
- internalUpdateSection(false);
- }
-
- /**
- * @return the entity
- */
- public T getEntity() {
- return entity;
- }
-}
+++ /dev/null
-/**
- *
- */
-package eu.etaxonomy.taxeditor.forms;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
-
-/**
- * @author nho
- *
- */
-public abstract class AbstractSelectionComposite<T extends IdentifiableEntity> extends AbstractFormComposite implements SelectionListener{
-
- protected T selection;
-
- protected Label label;
- protected Text text;
- protected Button button;
-
- /**
- * @param parent
- * @param style
- */
- public AbstractSelectionComposite(Composite parent, String labelString, T selection, int style) {
- super(parent, style);
-
- this.selection = selection;
-
- this.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
- GridLayout layout = (GridLayout) this.getLayout();
- layout.numColumns = 2;
-
- label = toolkit.createLabel(this, labelString, SWT.WRAP);
- GridData labelData = new GridData();
- labelData.horizontalSpan = 2;
- label.setLayoutData(labelData);
-
- text = toolkit.createText(this, "", SWT.BORDER | SWT.WRAP);
- text.setEditable(false);
- text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-
- button = toolkit.createButton(this, "Browse", SWT.PUSH);
- button.addSelectionListener(this);
-
- updateText();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetDefaultSelected(SelectionEvent e) {
- // do nothing
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetSelected(SelectionEvent e) {
- firePropertyChangeEvent(null);
- }
-
- /**
- * Return the selected object
- *
- * @return
- */
- public T getSelection(){
- return selection;
- }
-
- /**
- *
- * @param selection
- */
- public void setSelection(T selection){
- this.selection = selection;
- updateText();
- }
-
- protected void updateText(){
- if(selection != null)
- text.setText(selection.getTitleCache());
- }
-}
+++ /dev/null
-/**
- *
- */
-package eu.etaxonomy.taxeditor.forms;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-
-import eu.etaxonomy.cdm.model.common.DefinedTermBase;
-import eu.etaxonomy.taxeditor.editor.EditorUtil;
-import eu.etaxonomy.taxeditor.preference.LanguageMenuPreferences;
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-
-/**
- * @author nho
- *
- */
-public abstract class AbstractTermComboComposite<T extends DefinedTermBase> extends AbstractFormComposite implements SelectionListener, IPropertyChangeListener{
-
- private static final Logger logger = Logger.getLogger(AbstractTermComboComposite.class);
-
- T selection;
-
- private Label label;
- private Combo combo;
-
- private ArrayList<T> terms;
-
- private Comparator<T> termComparator;
-
- private Composite msgComposite;
-
- /**
- * @param parent
- * @param style
- */
- public AbstractTermComboComposite(Composite parent, String labelString, T selection, int visibleItems, int style) {
- super(parent, style);
-
- label = toolkit.createLabel(this, labelString);
- label.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
-
- // create combo
- combo = new Combo(this, SWT.BORDER | SWT.READ_ONLY);
- combo.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
- combo.setVisibleItemCount(visibleItems);
-
- populateTerms();
-
- combo.addSelectionListener(this);
- PreferencesUtil.getPreferenceStore().addPropertyChangeListener(this);
- }
-
- public T getSelection(){
- return selection;
- }
-
- public void setSelection(T selection){
- Listener[] listeners = combo.getListeners(SWT.Selection);
-
- for (Listener listener : listeners){
- combo.removeListener(SWT.Selection, listener);
- }
-
- combo.select(terms.indexOf(selection));
-
- for (Listener listener : listeners){
- combo.addListener(SWT.Selection, listener);
- }
- }
-
- private void populateTerms(){
- List<T> preferredTerms = preferredTerms();
-
- combo.removeAll();
-
- terms = new ArrayList<T>();
-
- int i = 0;
- int index = 0;
- if(termComparator != null)
- Collections.sort(preferredTerms, termComparator);
- for (T term : preferredTerms) {
- String description = term.getDescription();
- if (description == null) {
- logger.warn("No description for " + term + " - not added to combo");
- continue;
- }
- combo.add(description);
- terms.add(term);
-
- i++;
- if (selection != null) {
- if (selection.equals(term)) {
- index = i;
- }
- } else {
- // TODO isn't it better to put the last language at the top of the menu, not automatically select?
-// if (lastLanguage != null && lastLanguage.equals(language)) {
-// index = i;
-// }
- }
- }
-
- // Check whether language is in menu
- if (msgComposite != null) {
- msgComposite.dispose();
- msgComposite = null;
- }
- if (selection != null && index == 0) {
- createTermNotInPreferredTerms(selection);
- }
-
- combo.select(index);
- }
-
- /**
- * @return
- */
- protected abstract List<T> preferredTerms();
-
- private void createTermNotInPreferredTerms(T term) {
-
- msgComposite = toolkit.createComposite(this);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- msgComposite.setLayout(layout);
- msgComposite.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
- | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL
- | GridData.VERTICAL_ALIGN_CENTER));
-
- String langText = term.getDescription() == null ? term.getLabel() : term.getDescription();
- langText += " is not one of your preferred " + term.getClass().getSimpleName().toLowerCase() + "s. ";
- Label label = toolkit.createLabel(msgComposite, langText, SWT.WRAP);
- label.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
- | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL
- | GridData.VERTICAL_ALIGN_CENTER));
-
- Hyperlink linkEdit = toolkit.createHyperlink(msgComposite, "Edit preferences", SWT.WRAP);
- linkEdit.addHyperlinkListener(new HyperlinkAdapter() {
- /* (non-Javadoc)
- * @see org.eclipse.ui.forms.events.HyperlinkAdapter#linkActivated(org.eclipse.ui.forms.events.HyperlinkEvent)
- */
- @Override
- public void linkActivated(HyperlinkEvent e) {
- org.eclipse.ui.dialogs.PreferencesUtil.createPreferenceDialogOn(EditorUtil.getShell(),
- LanguageMenuPreferences.ID, null, null).open();
- }
- });
-
- msgComposite.moveBelow(combo);
-
- pack(true);
- layout();
- }
-
- public void addSelectionListener(SelectionListener listener){
- combo.addSelectionListener(listener);
- }
-
- public void removeSelectionListener(SelectionListener listener){
- combo.removeSelectionListener(listener);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetSelected(SelectionEvent e) {
- selection = terms.get(combo.getSelectionIndex());
- }
-
- /* (non-Javadoc)
- * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
- */
- public void propertyChange(PropertyChangeEvent event) {
- if (PreferencesUtil.PREFERRED_TERMS_CHANGE.equals(event.getProperty())) {
- populateTerms();
- }
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.forms.AbstractFormComposite#dispose()
- */
- @Override
- public void dispose() {
- super.dispose();
- PreferencesUtil.getPreferenceStore().removePropertyChangeListener(this);
- }
-
- // not used
- public void widgetDefaultSelected(SelectionEvent e) {}
-}
+++ /dev/null
-/**
- *
- */
-package eu.etaxonomy.taxeditor.forms;
-
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.Composite;
-
-import eu.etaxonomy.cdm.model.common.Annotation;
-
-/**
- * @author nho
- *
- */
-public class AnnotationComposite extends MultilineTextWithLabel implements ModifyListener{
-
- private Annotation annotation;
-
- /**
- *
- * @param parent
- * @param annotation
- * @param style
- */
- protected AnnotationComposite(Composite parent, Annotation annotation, int style) {
- super(parent, "Annotation", null, 100, style);
-
- this.setAnnotation(annotation);
-
- text.addModifyListener(this);
- }
-
- /**
- * @param annotation the annotation to set
- */
- public void setAnnotation(Annotation annotation) {
- this.annotation = annotation;
- setText(annotation.getText());
- }
-
- /**
- * @return the annotation
- */
- public Annotation getAnnotation() {
- return annotation;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
- */
- public void modifyText(ModifyEvent e) {
- annotation.setText(getText());
- }
-}
+++ /dev/null
-/**
- *
- */
-package eu.etaxonomy.taxeditor.forms;
-
-import java.util.Set;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.Section;
-
-import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
-import eu.etaxonomy.cdm.model.common.Annotation;
-import eu.etaxonomy.cdm.model.common.AnnotationType;
-import eu.etaxonomy.cdm.model.common.Language;
-import eu.etaxonomy.taxeditor.store.CdmStore;
-
-/**
- * @author n.hoffmann
- *
- */
-public class AnnotationSection extends AbstractEntitySetSection<AnnotatableEntity> {
-
- /**
- * @param parent
- * @param style
- */
- protected AnnotationSection(Composite parent, AnnotatableEntity annotatableEntity, int style) {
- super(parent, annotatableEntity, Section.TWISTIE | Section.COMPACT | style);
-
- setText("Annotations");
- }
-
-
- /*
- * (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.forms.AbstractEntitySetSection#createDynamicContents()
- */
- @Override
- public void createDynamicContents() {
-
- Set<Annotation> annotations = null;
- if(getEntity() != null){
- annotations = getEntity().getAnnotations();
- }
-
- if(annotations == null || annotations.size() == 0){
- toolkit.createLabel(container, "No annotations yet.");
- }else{
- for(Annotation annotation : annotations){
-
- toolkit.createAnnotationComposite(container, annotation, SWT.NULL);
-
- Button button_remove = toolkit.createButton(container, "Remove", SWT.PUSH);
- button_remove.addSelectionListener(new RemoveListener(annotation));
- }
- }
- }
-
- private class RemoveListener extends SelectionAdapter{
- private Annotation annotation;
-
- public RemoveListener(Annotation annotation){
- this.annotation = annotation;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- @Override
- public void widgetSelected(SelectionEvent e) {
- getEntity().removeAnnotation(annotation);
- internalUpdateSection(true);
- }
- }
-
-
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.forms.AbstractEntitySetSection#getAddAction()
- */
- @Override
- protected IAction getAddAction() {
- Action addAnnotation = new Action("add", Action.AS_PUSH_BUTTON){
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.Action#run()
- */
- @Override
- public void run() {
- String text = "";
- AnnotationType type = AnnotationType.EDITORIAL();
- Language language = CdmStore.getDefaultLanguage();
-
- Annotation annotation = Annotation.NewInstance(text, type, language);
- getEntity().addAnnotation(annotation);
- internalUpdateSection(true);
- if(! getSection().isExpanded())
- getSection().setExpanded(true);
- internalUpdateSection(true);
- }
- };
- addAnnotation.setToolTipText("Create a new annotation");
- return addAnnotation;
- }
-}
+++ /dev/null
-/**
- *
- */
-package eu.etaxonomy.taxeditor.forms;
-
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.Composite;
-
-import eu.etaxonomy.cdm.model.common.DescriptionElementSource;
-
-/**
- * @author nho
- */
-public class DescriptionElementSourceComposite extends AbstractFormComposite implements IPropertyChangeListener{
-
- private DescriptionElementSource source;
-
- private ReferenceSelectionComposite citationSelection;
- private TextWithLabelComposite microCitation;
- private NameSelectionComposite nameSelection;
-
- protected DescriptionElementSourceComposite(Composite parent, DescriptionElementSource source, int style){
- super(parent, style);
- this.source = source;
-
- citationSelection = new ReferenceSelectionComposite(this, "Citation", source.getCitation(), SWT.NULL);
- citationSelection.addPropertyChangeListener(this);
-
- microCitation = new TextWithLabelComposite(this, "Citation Detail", source.getCitationMicroReference(), SWT.NULL);
- microCitation.addPropertyChangeListener(this);
-
- nameSelection = new NameSelectionComposite(this, "Name in Source", source.getNameUsedInSource(), SWT.NULL);
- nameSelection.addPropertyChangeListener(this);
- }
-
-
- /**
- * @return the source
- */
- public DescriptionElementSource getSource() {
- return source;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
- */
- public void propertyChange(PropertyChangeEvent event) {
- source.setCitation(citationSelection.getSelection());
- source.setCitationMicroReference(microCitation.getText());
- source.setNameUsedInSource(nameSelection.getSelection());
- firePropertyChangeEvent(event);
- }
-}
\ No newline at end of file
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.taxeditor.forms.entitysections.AnnotationComposite;
+import eu.etaxonomy.taxeditor.forms.entitysections.AnnotationSection;
+import eu.etaxonomy.taxeditor.forms.entitysections.DescriptionElementSourceComposite;
+import eu.etaxonomy.taxeditor.forms.entitysections.OriginalSourceSection;
+import eu.etaxonomy.taxeditor.forms.selectioncomposites.TaxonSelectionComposite;
+import eu.etaxonomy.taxeditor.forms.termcombos.LanguageComboComposite;
/**
* @author nho
+++ /dev/null
-/**
- *
- */
-package eu.etaxonomy.taxeditor.forms;
-
-import java.util.List;
-
-import org.eclipse.swt.widgets.Composite;
-
-import eu.etaxonomy.cdm.model.common.Language;
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-
-/**
- * @author nho
- *
- */
-public class LanguageComboComposite extends AbstractTermComboComposite<Language> {
-
- private static final int VISIBLE_ITEMS = 20;
-
- /**
- *
- * @param parent
- * @param labelString
- * @param selection
- * @param style
- */
- protected LanguageComboComposite(Composite parent, String labelString, Language selection, int style) {
- super(parent, labelString, selection, VISIBLE_ITEMS, style);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.forms.AbstractTermComboComposite#preferredTerms()
- */
- @Override
- protected List<Language> preferredTerms() {
- return PreferencesUtil.getPreferredLanguages();
- }
-}
+++ /dev/null
-/**
- *
- */
-package eu.etaxonomy.taxeditor.forms;
-
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Composite;
-
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;
-import eu.etaxonomy.taxeditor.dialogs.filteredSelection.FilteredNameSelectionDialog;
-
-/**
- * @author nho
- *
- */
-public class NameSelectionComposite extends AbstractSelectionComposite<TaxonNameBase> {
-
- /**
- * @param parent
- * @param labelString
- * @param selection
- * @param style
- */
- public NameSelectionComposite(Composite parent, String labelString,
- TaxonNameBase selection, int style) {
- super(parent, labelString, selection, style);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- @Override
- public void widgetSelected(SelectionEvent e) {
- super.widgetSelected(e);
- selection = FilteredNameSelectionDialog.selectName(getShell(), selection);
- updateText();
- }
-
-}
+++ /dev/null
-/**
- *
- */
-package eu.etaxonomy.taxeditor.forms;
-
-import java.util.Set;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.Section;
-
-import eu.etaxonomy.cdm.model.common.DescriptionElementSource;
-import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
-
-/**
- * @author n.hoffmann
- *
- */
-public class OriginalSourceSection extends AbstractEntitySetSection<DescriptionElementBase> implements IPropertyChangeListener{
-
-
- public OriginalSourceSection(Composite parent, DescriptionElementBase entity, int style){
- super(parent, entity, Section.TWISTIE | Section.COMPACT | style);
-
- setText("Citations");
- }
-
- /*
- *
- */
- public void createDynamicContents() {
-
- Set<DescriptionElementSource> sources = null;
- if(getEntity() != null){
- sources = getEntity().getSources();
- }
-
- if(sources == null || sources.size() == 0){
- toolkit.createLabel(container, "No citations yet.");
- }else{
- for(DescriptionElementSource source : sources){
- DescriptionElementSourceComposite descriptionElementSourceComposite = toolkit.createDescriptionElementSourceComposite(container, source, SWT.NULL);
- descriptionElementSourceComposite.addPropertyChangeListener(this);
-
- Button button_remove = toolkit.createButton(container, "Remove", SWT.PUSH);
- button_remove.addSelectionListener(new RemoveListener(source));
- }
- }
- }
-
- private class RemoveListener extends SelectionAdapter{
- private DescriptionElementSource source;
-
- public RemoveListener(DescriptionElementSource source){
- this.source = source;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- @Override
- public void widgetSelected(SelectionEvent e) {
- getEntity().removeSource(source);
- internalUpdateSection(true);
- }
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.forms.AbstractEntitySetSection#getAddAction()
- */
- @Override
- protected IAction getAddAction() {
- Action addCitation = new Action("add", Action.AS_PUSH_BUTTON){
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.Action#run()
- */
- @Override
- public void run() {
- getEntity().addSource(DescriptionElementSource.NewInstance());
- if(! getSection().isExpanded())
- getSection().setExpanded(true);
- internalUpdateSection(true);
- }
- };
- addCitation.setToolTipText("Create a new citation");
- return addCitation;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
- */
- public void propertyChange(PropertyChangeEvent event) {
- firePropertyChangeEvent(event);
- }
-}
+++ /dev/null
-/**
- *
- */
-package eu.etaxonomy.taxeditor.forms;
-
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Composite;
-
-import eu.etaxonomy.cdm.model.reference.ReferenceBase;
-import eu.etaxonomy.taxeditor.dialogs.filteredSelection.FilteredReferenceSelectionDialog;
-
-/**
- * @author nho
- *
- */
-public class ReferenceSelectionComposite extends AbstractSelectionComposite<ReferenceBase>{
-
- /**
- * @param parent
- * @param labelString
- * @param selection
- * @param style
- */
- public ReferenceSelectionComposite(Composite parent, String labelString,
- ReferenceBase selection, int style) {
- super(parent, labelString, selection, style);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- @Override
- public void widgetSelected(SelectionEvent e) {
- super.widgetSelected(e);
- selection = FilteredReferenceSelectionDialog.selectReference(getShell(), selection);
-
- updateText();
- }
-}
+++ /dev/null
-/**
- *
- */
-package eu.etaxonomy.taxeditor.forms;
-
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Composite;
-
-import eu.etaxonomy.cdm.model.taxon.TaxonBase;
-import eu.etaxonomy.taxeditor.dialogs.filteredSelection.FilteredTaxonSelectionDialog;
-
-/**
- * @author nho
- *
- */
-public class TaxonSelectionComposite extends AbstractSelectionComposite<TaxonBase> {
-
- /**
- * @param parent
- * @param labelString
- * @param selection
- * @param style
- */
- public TaxonSelectionComposite(Composite parent, String labelString,
- TaxonBase selection, int style) {
- super(parent, labelString, selection, style); }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- @Override
- public void widgetSelected(SelectionEvent e) {
- super.widgetSelected(e);
- selection = FilteredTaxonSelectionDialog.selectTaxon(getShell());
- updateText();
- }
-
-}
* @param parent
* @param style
*/
- protected TextWithLabelComposite(Composite parent, String labelString, String initialText, int style) {
+ public TextWithLabelComposite(Composite parent, String labelString, String initialText, int style) {
super(parent, style);
this.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.forms.entitysections;
+
+import org.eclipse.swt.widgets.Composite;
+
+import eu.etaxonomy.taxeditor.forms.AbstractFormComposite;
+
+/**
+ * @author nho
+ *
+ */
+public class CreditComposite extends AbstractFormComposite {
+
+ /**
+ * @param parent
+ * @param style
+ */
+ public CreditComposite(Composite parent, int style) {
+ super(parent, style);
+ // TODO Auto-generated constructor stub
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.forms.entitysections;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Composite;
+
+import eu.etaxonomy.cdm.model.common.Credit;
+import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+
+/**
+ * @author nho
+ *
+ */
+public class CreditSection extends AbstractEntitySetSection<IdentifiableEntity> {
+
+ /**
+ * @param parent
+ * @param entity
+ * @param style
+ */
+ protected CreditSection(Composite parent, IdentifiableEntity entity,
+ int style) {
+ super(parent, entity, style);
+ setText("Credits");
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractEntitySetSection#createDynamicContents()
+ */
+ @Override
+ protected void createDynamicContents() {
+ // TODO Auto-generated method stub
+
+ }
+
+ private class RemoveListener extends SelectionAdapter{
+ private Credit credit;
+
+ public RemoveListener(Credit credit){
+ this.credit = credit;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ getEntity().removeCredit(credit);
+ internalUpdateSection(true);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractEntitySetSection#getAddAction()
+ */
+ @Override
+ protected IAction getAddAction() {
+ Action addCredit = new Action("add", Action.AS_PUSH_BUTTON){
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.action.Action#run()
+ */
+ @Override
+ public void run() {
+ Credit credit = Credit.NewInstance(null, null);
+ getEntity().addCredit(credit);
+ internalUpdateSection(true);
+ if(! getSection().isExpanded())
+ getSection().setExpanded(true);
+ internalUpdateSection(true);
+ }
+ };
+ addCredit.setToolTipText("Create a new credit entry");
+ return addCredit;
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.forms.entitysections;
+
+import org.eclipse.swt.widgets.Composite;
+
+import eu.etaxonomy.taxeditor.forms.AbstractFormComposite;
+
+/**
+ * @author nho
+ *
+ */
+public class ExtensionComposite extends AbstractFormComposite {
+
+ /**
+ * @param parent
+ * @param style
+ */
+ public ExtensionComposite(Composite parent, int style) {
+ super(parent, style);
+ // TODO Auto-generated constructor stub
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.forms.entitysections;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Composite;
+
+import eu.etaxonomy.cdm.model.common.Extension;
+import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.cdm.model.common.Marker;
+
+/**
+ * @author nho
+ *
+ */
+public class ExtensionSection extends AbstractEntitySetSection<IdentifiableEntity> {
+
+ /**
+ * @param parent
+ * @param entity
+ * @param style
+ */
+ protected ExtensionSection(Composite parent, IdentifiableEntity entity,
+ int style) {
+ super(parent, entity, style);
+ setText("Extensions");
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractEntitySetSection#createDynamicContents()
+ */
+ @Override
+ protected void createDynamicContents() {
+ // TODO Auto-generated method stub
+
+ }
+
+ private class RemoveListener extends SelectionAdapter{
+ private Extension extension;
+
+ public RemoveListener(Extension extension){
+ this.extension = extension;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ getEntity().removeExtension(extension);
+ internalUpdateSection(true);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractEntitySetSection#getAddAction()
+ */
+ @Override
+ protected IAction getAddAction() {
+ Action addExtension = new Action("add", Action.AS_PUSH_BUTTON){
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.action.Action#run()
+ */
+ @Override
+ public void run() {
+ Extension extension = Extension.NewInstance();
+ getEntity().addExtension(extension);
+ internalUpdateSection(true);
+ if(! getSection().isExpanded())
+ getSection().setExpanded(true);
+ internalUpdateSection(true);
+ }
+ };
+ addExtension.setToolTipText("Create a new extension");
+ return addExtension;
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.forms.entitysections;
+
+import org.eclipse.swt.widgets.Composite;
+
+import eu.etaxonomy.taxeditor.forms.AbstractFormComposite;
+
+/**
+ * @author nho
+ *
+ */
+public class IdentifiableSourceComposite extends AbstractFormComposite {
+
+ /**
+ * @param parent
+ * @param style
+ */
+ public IdentifiableSourceComposite(Composite parent, int style) {
+ super(parent, style);
+ // TODO Auto-generated constructor stub
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.forms.entitysections;
+
+import org.eclipse.swt.widgets.Composite;
+
+import eu.etaxonomy.taxeditor.forms.AbstractFormComposite;
+
+/**
+ * @author nho
+ *
+ */
+public class MarkerComposite extends AbstractFormComposite {
+
+ /**
+ * @param parent
+ * @param style
+ */
+ public MarkerComposite(Composite parent, int style) {
+ super(parent, style);
+ // TODO Auto-generated constructor stub
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.forms.entitysections;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Composite;
+
+import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
+import eu.etaxonomy.cdm.model.common.Marker;
+
+/**
+ * @author nho
+ *
+ */
+public class MarkerSection extends AbstractEntitySetSection<AnnotatableEntity> {
+
+ /**
+ * @param parent
+ * @param entity
+ * @param style
+ */
+ protected MarkerSection(Composite parent, AnnotatableEntity entity, int style) {
+ super(parent, entity, style);
+ setText("Marker");
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractEntitySetSection#createDynamicContents()
+ */
+ @Override
+ protected void createDynamicContents() {
+ // TODO
+ }
+
+ private class RemoveListener extends SelectionAdapter{
+ private Marker marker;
+
+ public RemoveListener(Marker marker){
+ this.marker = marker;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ getEntity().removeMarker(marker);
+ internalUpdateSection(true);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractEntitySetSection#getAddAction()
+ */
+ @Override
+ protected IAction getAddAction() {
+ Action addMarker = new Action("add", Action.AS_PUSH_BUTTON){
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.action.Action#run()
+ */
+ @Override
+ public void run() {
+ Marker marker = Marker.NewInstance();
+ getEntity().addMarker(marker);
+ internalUpdateSection(true);
+ if(! getSection().isExpanded())
+ getSection().setExpanded(true);
+ internalUpdateSection(true);
+ }
+ };
+ addMarker.setToolTipText("Create a new marker");
+ return addMarker;
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.forms.entitysections;
+
+import org.eclipse.swt.widgets.Composite;
+
+import eu.etaxonomy.taxeditor.forms.AbstractFormComposite;
+
+/**
+ * @author nho
+ *
+ */
+public class MediaComposite extends AbstractFormComposite {
+
+ /**
+ * @param parent
+ * @param style
+ */
+ public MediaComposite(Composite parent, int style) {
+ super(parent, style);
+ // TODO Auto-generated constructor stub
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.forms.entitysections;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Composite;
+
+import eu.etaxonomy.cdm.model.media.IdentifiableMediaEntity;
+import eu.etaxonomy.cdm.model.media.Media;
+
+/**
+ * @author nho
+ *
+ */
+public class MediaSection extends AbstractEntitySetSection<IdentifiableMediaEntity>{
+
+ /**
+ * @param parent
+ * @param entity
+ * @param style
+ */
+ protected MediaSection(Composite parent, IdentifiableMediaEntity entity,
+ int style) {
+ super(parent, entity, style);
+ setText("Media");
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractEntitySetSection#createDynamicContents()
+ */
+ @Override
+ protected void createDynamicContents() {
+ // TODO Auto-generated method stub
+
+ }
+
+ private class RemoveListener extends SelectionAdapter{
+ private Media media;
+
+ public RemoveListener(Media media){
+ this.media = media;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ getEntity().removeMedia(media);
+ internalUpdateSection(true);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractEntitySetSection#getAddAction()
+ */
+ @Override
+ protected IAction getAddAction() {
+ Action addMedia = new Action("add", Action.AS_PUSH_BUTTON){
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.action.Action#run()
+ */
+ @Override
+ public void run() {
+ Media media = Media.NewInstance();
+ getEntity().addMedia(media);
+ internalUpdateSection(true);
+ if(! getSection().isExpanded())
+ getSection().setExpanded(true);
+ internalUpdateSection(true);
+ }
+ };
+ addMedia.setToolTipText("Create a new marker");
+ return addMedia;
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.forms.entitysections;
+
+import org.eclipse.swt.widgets.Composite;
+
+import eu.etaxonomy.taxeditor.forms.AbstractFormComposite;
+
+/**
+ * @author nho
+ *
+ */
+public class RightsComposite extends AbstractFormComposite {
+
+ /**
+ * @param parent
+ * @param style
+ */
+ public RightsComposite(Composite parent, int style) {
+ super(parent, style);
+ // TODO Auto-generated constructor stub
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.forms.entitysections;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Composite;
+
+import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.cdm.model.media.Rights;
+
+/**
+ * @author nho
+ *
+ */
+public class RightsSection extends AbstractEntitySetSection<IdentifiableEntity> {
+
+ /**
+ * @param parent
+ * @param entity
+ * @param style
+ */
+ protected RightsSection(Composite parent, IdentifiableEntity entity,
+ int style) {
+ super(parent, entity, style);
+ setText("Rights");
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractEntitySetSection#createDynamicContents()
+ */
+ @Override
+ protected void createDynamicContents() {
+ // TODO Auto-generated method stub
+
+ }
+
+ private class RemoveListener extends SelectionAdapter{
+ private Rights rights;
+
+ public RemoveListener(Rights rights){
+ this.rights = rights;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ getEntity().removeRights(rights);
+ internalUpdateSection(true);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractEntitySetSection#getAddAction()
+ */
+ @Override
+ protected IAction getAddAction() {
+ Action addRights = new Action("add", Action.AS_PUSH_BUTTON){
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.action.Action#run()
+ */
+ @Override
+ public void run() {
+ Rights rights = Rights.NewInstance();
+ getEntity().addRights(rights);
+ internalUpdateSection(true);
+ if(! getSection().isExpanded())
+ getSection().setExpanded(true);
+ internalUpdateSection(true);
+ }
+ };
+ addRights.setToolTipText("Create a new marker");
+ return addRights;
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.forms.entitysections;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Composite;
+
+import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.cdm.model.common.IdentifiableSource;
+
+/**
+ * @author nho
+ *
+ */
+public class SourceSection extends AbstractEntitySetSection<IdentifiableEntity> {
+
+ /**
+ * @param parent
+ * @param entity
+ * @param style
+ */
+ protected SourceSection(Composite parent, IdentifiableEntity entity,
+ int style) {
+ super(parent, entity, style);
+ setText("Sources");
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractEntitySetSection#createDynamicContents()
+ */
+ @Override
+ protected void createDynamicContents() {
+ // TODO Auto-generated method stub
+
+ }
+
+ private class RemoveListener extends SelectionAdapter{
+ private IdentifiableSource source;
+
+ public RemoveListener(IdentifiableSource source){
+ this.source = source;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ getEntity().removeSource(source);
+ internalUpdateSection(true);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractEntitySetSection#getAddAction()
+ */
+ @Override
+ protected IAction getAddAction() {
+ Action addSource = new Action("add", Action.AS_PUSH_BUTTON){
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.action.Action#run()
+ */
+ @Override
+ public void run() {
+ IdentifiableSource source = IdentifiableSource.NewInstance();
+ getEntity().addSource(source);
+ internalUpdateSection(true);
+ if(! getSection().isExpanded())
+ getSection().setExpanded(true);
+ internalUpdateSection(true);
+ }
+ };
+ addSource.setToolTipText("Create a new marker");
+ return addSource;
+ }
+
+}