taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/propertysheet/CheckboxPropertyDescriptor.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/propertysheet/CollectionPropertySource.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/propertysheet/CompletionProcessor.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/propertysheet/CreateExtensionDialog.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/propertysheet/DayValidator.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/propertysheet/EditorPropertySheetEntry.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/propertysheet/ExtensionPropertySource.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/propertysheet/ExtensionsDialog.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/propertysheet/ExtensionsPropertyDescriptor.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/propertysheet/ICdmBasePropertySource.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/propertysheet/MarkerPropertySource.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/propertysheet/MarkersDialog.java -text
--- /dev/null
+/**\r
+ * \r
+ */\r
+package eu.etaxonomy.taxeditor.propertysheet;\r
+\r
+import java.util.HashSet;\r
+import java.util.Iterator;\r
+import java.util.Set;\r
+\r
+import org.eclipse.jface.dialogs.IDialogConstants;\r
+import org.eclipse.jface.dialogs.InputDialog;\r
+import org.eclipse.jface.viewers.DoubleClickEvent;\r
+import org.eclipse.jface.viewers.IDoubleClickListener;\r
+import org.eclipse.jface.viewers.ISelectionChangedListener;\r
+import org.eclipse.jface.viewers.IStructuredContentProvider;\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.jface.viewers.LabelProvider;\r
+import org.eclipse.jface.viewers.ListViewer;\r
+import org.eclipse.jface.viewers.SelectionChangedEvent;\r
+import org.eclipse.jface.viewers.Viewer;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.events.ModifyEvent;\r
+import org.eclipse.swt.events.ModifyListener;\r
+import org.eclipse.swt.events.MouseAdapter;\r
+import org.eclipse.swt.events.MouseEvent;\r
+import org.eclipse.swt.layout.GridData;\r
+import org.eclipse.swt.layout.GridLayout;\r
+import org.eclipse.swt.widgets.Button;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.Control;\r
+import org.eclipse.swt.widgets.Label;\r
+import org.eclipse.swt.widgets.List;\r
+import org.eclipse.swt.widgets.Shell;\r
+import org.eclipse.swt.widgets.Text;\r
+\r
+import eu.etaxonomy.cdm.model.common.Extension;\r
+import eu.etaxonomy.cdm.model.common.ExtensionType;\r
+import eu.etaxonomy.taxeditor.store.VocabularyStore;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ *\r
+ */\r
+public class CreateExtensionDialog extends InputDialog {\r
+\r
+ private Set<ExtensionType> extensionTypes;\r
+ private ListViewer textViewer;\r
+ String typeMessage = "Choose a type for the new extension";\r
+ private String valueMessage = "Enter a value for the new extension";\r
+ private Button okButton;\r
+ private Set<ExtensionType> selectedExtensionTypes;\r
+ private Text text;\r
+ \r
+ protected boolean hasSelection = false;\r
+ private Extension newExtension;\r
+\r
+ /**\r
+ * @param parentShell\r
+ * @param extensionTypes \r
+ */\r
+ protected CreateExtensionDialog(Shell shell) {\r
+ super(shell, "Create a new extension", \r
+ "Choose a type and value for the new extension", null, null);\r
+ \r
+ extensionTypes = VocabularyStore.getExtensionTypes();\r
+ }\r
+ \r
+ protected Control createDialogArea(Composite parent) {\r
+ // create composite\r
+ Composite composite = new Composite(parent, SWT.NONE);\r
+ GridLayout layout = new GridLayout();\r
+ layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);\r
+ layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);\r
+ layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);\r
+ layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);\r
+ composite.setLayout(layout);\r
+ composite.setLayoutData(new GridData(GridData.FILL_BOTH));\r
+ applyDialogFont(composite);\r
+ // create message\r
+ if (typeMessage != null) {\r
+ Label typeLabel = new Label(composite, SWT.WRAP);\r
+ typeLabel.setText(typeMessage);\r
+ GridData data = new GridData(GridData.GRAB_HORIZONTAL\r
+ | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL\r
+ | GridData.VERTICAL_ALIGN_CENTER);\r
+ data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);\r
+ typeLabel.setLayoutData(data);\r
+ typeLabel.setFont(parent.getFont());\r
+ }\r
+ textViewer = new ListViewer(new List(composite, SWT.SINGLE | SWT.BORDER));\r
+ textViewer.getList().setLayoutData(new GridData(GridData.GRAB_HORIZONTAL\r
+ | GridData.HORIZONTAL_ALIGN_FILL));\r
+ textViewer.setContentProvider(new ContentProvider());\r
+ textViewer.setLabelProvider(new LabelProvider() {\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)\r
+ */\r
+ @Override\r
+ public String getText(Object element) {\r
+ return ((ExtensionType) element).getLabel();\r
+ }\r
+ });\r
+ textViewer.setInput(extensionTypes);\r
+ textViewer.addSelectionChangedListener(new ISelectionChangedListener () {\r
+ public void selectionChanged(SelectionChangedEvent event) {\r
+ hasSelection = true;\r
+ setOkEnabled(true);\r
+ }\r
+ });\r
+ // create message\r
+ if (valueMessage != null) {\r
+ Label valueLabel = new Label(composite, SWT.WRAP);\r
+ valueLabel.setText(valueMessage);\r
+ GridData data = new GridData(GridData.GRAB_HORIZONTAL\r
+ | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL\r
+ | GridData.VERTICAL_ALIGN_CENTER);\r
+ data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);\r
+ valueLabel.setLayoutData(data);\r
+ valueLabel.setFont(parent.getFont());\r
+ }\r
+ text = new Text(composite, getInputTextStyle());\r
+ text.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL\r
+ | GridData.HORIZONTAL_ALIGN_FILL));\r
+ text.addModifyListener(new ModifyListener() {\r
+ public void modifyText(ModifyEvent e) {\r
+ setOkEnabled(true);\r
+ }\r
+ });\r
+ \r
+ applyDialogFont(composite);\r
+ return composite;\r
+ }\r
+ \r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.dialogs.InputDialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)\r
+ */\r
+ protected void createButtonsForButtonBar(Composite parent) {\r
+ // create OK and Cancel buttons by default\r
+ okButton = createButton(parent, IDialogConstants.OK_ID,\r
+ IDialogConstants.OK_LABEL, true);\r
+ okButton.addMouseListener(new MouseAdapter() {\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.swt.events.MouseAdapter#mouseUp(org.eclipse.swt.events.MouseEvent)\r
+ */\r
+ @Override\r
+ public void mouseUp(MouseEvent e) {\r
+ close();\r
+ }\r
+ });\r
+ createButton(parent, IDialogConstants.CANCEL_ID,\r
+ IDialogConstants.CANCEL_LABEL, false);\r
+ setOkEnabled(false);\r
+ }\r
+ \r
+ /**\r
+ * @param enabled\r
+ */\r
+ protected void setOkEnabled(boolean enabled) {\r
+ if (text.getText().length() > 0 && hasSelection) {\r
+ okButton.setEnabled(enabled); \r
+ } else {\r
+ okButton.setEnabled(false);\r
+ }\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.dialogs.Dialog#close()\r
+ */\r
+ @Override\r
+ public boolean close() {\r
+ setNewExtension();\r
+ return super.close();\r
+ }\r
+ \r
+ /**\r
+ * @return \r
+ * \r
+ */\r
+ private void setNewExtension() {\r
+ selectedExtensionTypes = new HashSet<ExtensionType>();\r
+ \r
+ ExtensionType type = (ExtensionType) ((IStructuredSelection) textViewer.getSelection()).getFirstElement();\r
+ String value = text.getText();\r
+ \r
+ newExtension = Extension.NewInstance();\r
+ newExtension.setValue(value);\r
+ newExtension.setType(type);\r
+ }\r
+ \r
+ class ContentProvider implements IStructuredContentProvider {\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)\r
+ */\r
+ public Object[] getElements(Object inputElement) {\r
+ return extensionTypes.toArray();\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.IContentProvider#dispose()\r
+ */\r
+ public void dispose() {}\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)\r
+ */\r
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}\r
+ \r
+ }\r
+\r
+ /**\r
+ * @return\r
+ */\r
+ public Extension getNewExtension() {\r
+ return newExtension;\r
+ }\r
+}\r
--- /dev/null
+package eu.etaxonomy.taxeditor.propertysheet;\r
+\r
+import eu.etaxonomy.cdm.model.common.Extension;\r
+import eu.etaxonomy.cdm.model.common.IdentifiableEntity;\r
+\r
+public class ExtensionPropertySource extends CollectionPropertySource {\r
+\r
+ private IdentifiableEntity entity;\r
+\r
+ public ExtensionPropertySource(IdentifiableEntity entity) {\r
+ super(entity.getExtensions());\r
+ \r
+ this.entity = entity;\r
+ }\r
+ \r
+ @Override\r
+ protected String getItemDisplayName(Object item) {\r
+ if (item instanceof Extension) {\r
+ Extension extension = (Extension) item;\r
+ return extension.getType().getLabel(); \r
+ }\r
+ return "";\r
+ }\r
+\r
+ @Override\r
+ public Object getPropertyValue(Object id) {\r
+ if (id instanceof Extension) {\r
+ Extension extension = (Extension) id;\r
+ return extension.getValue();\r
+ }\r
+ return null;\r
+ }\r
+\r
+ @Override\r
+ public void setPropertyValue(Object id, Object value) {\r
+ // Fields not editable in property sheet view\r
+ }\r
+\r
+ @Override\r
+ public String toString() {\r
+ // "Extensions" header has no value\r
+ return "";\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * \r
+ */\r
+package eu.etaxonomy.taxeditor.propertysheet;\r
+\r
+import java.util.ArrayList;\r
+import java.util.HashSet;\r
+import java.util.List;\r
+import java.util.Set;\r
+\r
+import org.eclipse.jface.dialogs.IDialogConstants;\r
+import org.eclipse.jface.dialogs.TitleAreaDialog;\r
+import org.eclipse.jface.viewers.ISelectionChangedListener;\r
+import org.eclipse.jface.viewers.IStructuredContentProvider;\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.jface.viewers.ITableLabelProvider;\r
+import org.eclipse.jface.viewers.LabelProvider;\r
+import org.eclipse.jface.viewers.SelectionChangedEvent;\r
+import org.eclipse.jface.viewers.TableViewer;\r
+import org.eclipse.jface.viewers.TableViewerColumn;\r
+import org.eclipse.jface.viewers.Viewer;\r
+import org.eclipse.jface.window.Window;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.events.MouseAdapter;\r
+import org.eclipse.swt.events.MouseEvent;\r
+import org.eclipse.swt.graphics.Image;\r
+import org.eclipse.swt.layout.GridData;\r
+import org.eclipse.swt.layout.GridLayout;\r
+import org.eclipse.swt.widgets.Button;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.Control;\r
+import org.eclipse.swt.widgets.Shell;\r
+import org.eclipse.swt.widgets.Table;\r
+\r
+import eu.etaxonomy.cdm.model.common.Extension;\r
+import eu.etaxonomy.cdm.model.common.IdentifiableEntity;\r
+import eu.etaxonomy.taxeditor.store.VocabularyStore;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ *\r
+ */\r
+public class ExtensionsDialog extends TitleAreaDialog {\r
+\r
+ private IdentifiableEntity entity;\r
+ private Button addButton;\r
+ private TableViewer tableViewer;\r
+ private Button removeButton;\r
+ private Set<Extension> extensions = new HashSet<Extension>();\r
+ private Button okButton;\r
+\r
+ /**\r
+ * @param parentShell\r
+ * @param entity \r
+ */\r
+ public ExtensionsDialog(Shell parentShell, IdentifiableEntity entity) {\r
+ super(parentShell);\r
+\r
+ this.entity = entity;\r
+ this.extensions.addAll(entity.getExtensions()); \r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.window.Window#open()\r
+ */\r
+ @Override\r
+ public int open() {\r
+ return super.open();\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.dialogs.TitleAreaDialog#createContents(org.eclipse.swt.widgets.Composite)\r
+ */\r
+ @Override\r
+ protected Control createContents(Composite parent) {\r
+ Control contents = super.createContents(parent);\r
+ \r
+ setTitle("Edit extensions");\r
+ setMessage("Add or remove extensions");\r
+\r
+ this.getShell().setText("Extensions");\r
+ \r
+ return contents;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.dialogs.TitleAreaDialog#createDialogArea(org.eclipse.swt.widgets.Composite)\r
+ */\r
+ @Override\r
+ protected Control createDialogArea(Composite parent) {\r
+ Composite container = (Composite) super.createDialogArea(parent);\r
+ \r
+ // create composite\r
+ Composite composite = new Composite(container, SWT.NULL);\r
+ composite.setLayoutData(new GridData(GridData.FILL_BOTH));\r
+ \r
+ final GridLayout gridLayout = new GridLayout();\r
+ gridLayout.numColumns = 2;\r
+ composite.setLayout(gridLayout);\r
+ \r
+ tableViewer = new TableViewer(composite, SWT.NULL);\r
+ GridData tableLayoutData = new GridData(SWT.FILL, SWT.FILL, true, false);\r
+ tableLayoutData.heightHint = 300;\r
+ tableViewer.getTable().setLayoutData(tableLayoutData);\r
+ createColumns(tableViewer);\r
+ \r
+ tableViewer.setContentProvider(new ExtensionsContentProvider());\r
+ tableViewer.setLabelProvider(new ExtensionsLabelProvider());\r
+ \r
+ tableViewer.addSelectionChangedListener(new ISelectionChangedListener () {\r
+ public void selectionChanged(SelectionChangedEvent event) {\r
+ setRemovedEnabled(true);\r
+ }\r
+ });\r
+ \r
+ Composite buttonContainer = new Composite(composite, SWT.NULL);\r
+ GridData buttonContainerLayoutData = new GridData();\r
+ buttonContainerLayoutData.verticalAlignment = SWT.TOP;\r
+ buttonContainer.setLayoutData(buttonContainerLayoutData);\r
+ buttonContainer.setLayout(new GridLayout());\r
+ \r
+ addButton = new Button(buttonContainer, SWT.PUSH);\r
+ addButton.setText("Add ...");\r
+ addButton.addMouseListener(new MouseAdapter(){\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.swt.events.MouseAdapter#mouseDown(org.eclipse.swt.events.MouseEvent)\r
+ */\r
+ @Override\r
+ public void mouseUp(MouseEvent e) {\r
+ createExtensions();\r
+ } \r
+ });\r
+\r
+ removeButton = new Button(buttonContainer, SWT.PUSH);\r
+ removeButton.setText("Remove");\r
+ removeButton.addMouseListener(new MouseAdapter() {\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.swt.events.MouseAdapter#mouseUp(org.eclipse.swt.events.MouseEvent)\r
+ */\r
+ @Override\r
+ public void mouseUp(MouseEvent e) {\r
+ removeSelectedExtension();\r
+ }\r
+ });\r
+ setRemovedEnabled(false);\r
+ \r
+ populateExtensions();\r
+ \r
+ return container;\r
+ }\r
+ \r
+ private void createColumns(TableViewer viewer) {\r
+ Table table = viewer.getTable();\r
+ String[] titles = {"Type", "Value"};\r
+ int[] bounds = { 100, 200 };\r
+\r
+ for (int i = 0; i < titles.length; i++) {\r
+ TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE);\r
+ column.getColumn().setText(titles[i]);\r
+ column.getColumn().setWidth(bounds[i]);\r
+ column.getColumn().setResizable(true);\r
+ column.getColumn().setMoveable(true);\r
+ }\r
+ table.setHeaderVisible(true);\r
+ table.setLinesVisible(true);\r
+ }\r
+ \r
+ /**\r
+ * \r
+ */\r
+ protected void createExtensions() {\r
+ \r
+ CreateExtensionDialog dialog = new CreateExtensionDialog(getShell());\r
+ if (dialog.open() == Window.OK) {\r
+ Extension extension = dialog.getNewExtension();\r
+ if (extension != null) {\r
+ extensions.add(extension);\r
+ tableViewer.refresh();\r
+ }\r
+ }\r
+ }\r
+\r
+ /**\r
+ * \r
+ */\r
+ protected void removeSelectedExtension() {\r
+ Extension extension = getSelectedExtension();\r
+ if (extension != null) {\r
+ extensions.remove(extension);\r
+ tableViewer.refresh();\r
+ }\r
+ }\r
+\r
+ /**\r
+ * @return \r
+ * \r
+ */\r
+ private Extension getSelectedExtension() {\r
+ return (Extension) ((IStructuredSelection) tableViewer.getSelection()).getFirstElement();\r
+ }\r
+\r
+ /**\r
+ * \r
+ */\r
+ protected void setRemovedEnabled(boolean enabled) {\r
+ removeButton.setEnabled(enabled); \r
+ }\r
+\r
+ /**\r
+ * \r
+ */\r
+ protected void toggleSelection() {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+\r
+ /**\r
+ * \r
+ */\r
+ private void populateExtensions() {\r
+ tableViewer.setInput(extensions);\r
+ }\r
+\r
+\r
+ private class ExtensionsContentProvider implements IStructuredContentProvider{\r
+\r
+ public Object[] getElements(Object inputElement) { \r
+ return ((Set<?>) inputElement).toArray();\r
+ }\r
+\r
+ public void dispose() {}\r
+\r
+ public void inputChanged(Viewer viewer, Object oldInput,\r
+ Object newInput) {}\r
+ \r
+ };\r
+ \r
+ class ExtensionsLabelProvider extends LabelProvider implements ITableLabelProvider{\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)\r
+ */\r
+ public Image getColumnImage(Object element, int columnIndex) {\r
+ return null;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)\r
+ */\r
+ public String getColumnText(Object element, int columnIndex) {\r
+ if (columnIndex == 0) {\r
+ return ((Extension) element).getType().getLabel();\r
+ }\r
+ if (columnIndex == 1) {\r
+ return ((Extension) element).getValue();\r
+ }\r
+ return null;\r
+ }\r
+ }\r
+ \r
+ protected void createButtonsForButtonBar(Composite parent) {\r
+ okButton = createButton(parent, IDialogConstants.OK_ID,\r
+ IDialogConstants.OK_LABEL, true);\r
+ createButton(parent, IDialogConstants.CANCEL_ID,\r
+ IDialogConstants.CANCEL_LABEL, false);\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.dialogs.Dialog#okPressed()\r
+ */\r
+ @Override\r
+ protected void okPressed() {\r
+ Set<Extension> savedExtensions = entity.getExtensions();\r
+ for (Extension extension : extensions) {\r
+ if (!savedExtensions.contains(extension)) {\r
+ entity.addExtension(extension);\r
+ }\r
+ }\r
+ Set<Extension> removeExtensions = new HashSet<Extension>();\r
+ for (Extension extension : savedExtensions) {\r
+ if (!extensions.contains(extension)) {\r
+ removeExtensions.add(extension);\r
+ }\r
+ }\r
+ for (Extension extension : removeExtensions) {\r
+ entity.removeExtension(extension);\r
+ }\r
+ super.okPressed();\r
+ }\r
+}\r
--- /dev/null
+/**\r
+ * \r
+ */\r
+package eu.etaxonomy.taxeditor.propertysheet;\r
+\r
+import org.eclipse.jface.dialogs.Dialog;\r
+import org.eclipse.jface.viewers.CellEditor;\r
+import org.eclipse.jface.viewers.DialogCellEditor;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.Control;\r
+import org.eclipse.ui.views.properties.PropertyDescriptor;\r
+\r
+import eu.etaxonomy.cdm.model.common.IdentifiableEntity;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ *\r
+ */\r
+public class ExtensionsPropertyDescriptor extends PropertyDescriptor {\r
+ private IdentifiableEntity entity;\r
+ \r
+ public ExtensionsPropertyDescriptor(Object id, String displayName, IdentifiableEntity entity) {\r
+ super(id, displayName);\r
+ this.entity = entity;\r
+ }\r
+\r
+ public CellEditor createPropertyEditor(Composite parent) {\r
+ CellEditor editor = new DialogCellEditor(parent) {\r
+\r
+ protected ExtensionsDialog dialog;\r
+ \r
+ @Override\r
+ protected Object openDialogBox(\r
+ Control cellEditorWindow) {\r
+ dialog = new ExtensionsDialog(cellEditorWindow.getShell(), entity);\r
+ int returnCode = ((ExtensionsDialog) dialog).open();\r
+ if (returnCode == Dialog.OK) {\r
+ return new ExtensionPropertySource(entity);\r
+ }\r
+ return null;\r
+ }\r
+ \r
+ };\r
+ if (getValidator() != null) {\r
+ editor.setValidator(getValidator());\r
+ }\r
+ return editor;\r
+ } \r
+}\r
public MarkersDialog(Shell parentShell, AnnotatableEntity entity) {\r
super(parentShell);\r
\r
- this.entity = entity; \r
- \r
- for (Marker marker : entity.getMarkers()) {\r
- this.markers.add(marker);\r
- }\r
+ this.entity = entity; \r
+ this.markers.addAll(entity.getMarkers());\r
\r
}\r
\r
*/\r
package eu.etaxonomy.taxeditor.propertysheet;\r
\r
-import java.util.Set;\r
-\r
import org.eclipse.jface.dialogs.Dialog;\r
import org.eclipse.jface.viewers.CellEditor;\r
import org.eclipse.jface.viewers.DialogCellEditor;\r
-import org.eclipse.swt.SWT;\r
import org.eclipse.swt.widgets.Composite;\r
import org.eclipse.swt.widgets.Control;\r
import org.eclipse.ui.views.properties.PropertyDescriptor;\r
import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
import eu.etaxonomy.cdm.model.name.ZoologicalName;\r
import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
import eu.etaxonomy.taxeditor.model.NameHelper;\r
-import eu.etaxonomy.taxeditor.propertysheet.AnnotationsPropertyDescriptor;\r
+import eu.etaxonomy.taxeditor.propertysheet.ExtensionPropertySource;\r
+import eu.etaxonomy.taxeditor.propertysheet.ExtensionsPropertyDescriptor;\r
import eu.etaxonomy.taxeditor.propertysheet.ICdmBasePropertySource;\r
import eu.etaxonomy.taxeditor.propertysheet.MarkerPropertySource;\r
import eu.etaxonomy.taxeditor.propertysheet.MarkersPropertyDescriptor;\r
descriptors.addElement(\r
new MarkersPropertyDescriptor(P_ID_MARKERS, P_MARKERS, taxonBase)); \r
}\r
+\r
+ if (id.equals(P_ID_EXTENSIONS)) {\r
+ descriptors.addElement(\r
+ new ExtensionsPropertyDescriptor(P_ID_EXTENSIONS, P_EXTENSIONS, taxonBase)); \r
+ }\r
}\r
\r
/* (non-Javadoc)\r
if (id.equals(P_ID_MARKERS)) {\r
return new MarkerPropertySource(taxonBase);\r
}\r
+\r
+ if (id.equals(P_ID_EXTENSIONS)) {\r
+ return new ExtensionPropertySource(taxonBase);\r
+ }\r
\r
return null;\r
}\r
import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
+import eu.etaxonomy.cdm.model.common.ExtensionType;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.cdm.model.common.OrderedTermBase;
return markerTypes;
}
+
+ /**
+ * @return
+ */
+ public static Set<ExtensionType> getExtensionTypes() {
+ Set extensionTypes = getDefault().getTermVocabulary(VocabularyEnum.ExtensionType).getTermsOrderedByLabels(getDefaultLanguage());
+ return extensionTypes;
+ }
+
/**
* Retrieve all ranks from data store.
*