eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesViewPart.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseRecordHandler.java -text
-eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/DeleteUseHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateTaxonUseOperation.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateUseRecordOperation.java -text
-eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/DeleteTaxonUseOperation.java -text
-eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/DeleteUseRecordOperation.java -text
eu.etaxonomy.taxeditor.editor/src/main/resources/TaonDescriptionEditor.screen -text
eu.etaxonomy.taxeditor.editor/src/main/resources/log4j.properties -text
eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/Application.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/reporting/ReportingViewPart.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewPart.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewer.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewPart.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewer.java -text
eu.etaxonomy.taxeditor.store/src/main/resources/eu/etaxonomy/cdm/editorApplicationContext.xml -text
eu.etaxonomy.taxeditor.store/src/main/resources/log4j.properties -text
eu.etaxonomy.taxeditor.store/src/test/java/eu/etaxonomy/taxeditor/store/NameProtectTitleCacheTest.java -text
<perspective\r
class="eu.etaxonomy.taxeditor.perspective.PalmUses"\r
id="eu.etaxonomy.taxeditor.application.perspective.palmuses"\r
- name="Palm Uses">\r
+ name="Uses">\r
</perspective>\r
\r
</extension>\r
\r
import eu.etaxonomy.taxeditor.editor.view.uses.UsesViewPart;\r
import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;\r
-import eu.etaxonomy.taxeditor.view.userecords.UseRecordsViewPart;\r
+import eu.etaxonomy.taxeditor.view.detail.DetailsViewPart;\r
\r
/**\r
* The context manager mediates context start/stop and workbench shutdowns to all registered listeners.\r
@Override\r
public void createInitialLayout(IPageLayout layout) {\r
layout.addView(TaxonNavigator.ID, IPageLayout.LEFT, 0.25f, layout.getEditorArea());\r
- layout.addView(UseRecordsViewPart.ID, IPageLayout.RIGHT, 0.25f, layout.getEditorArea());\r
+ //layout.addView(UseRecordsViewPart.ID, IPageLayout.RIGHT, 0.25f, layout.getEditorArea());\r
+ layout.addView(DetailsViewPart.ID, IPageLayout.RIGHT, 0.25f, layout.getEditorArea());\r
layout.addView(UsesViewPart.ID, IPageLayout.BOTTOM, 0.25f, layout.getEditorArea());\r
\r
createAdditionalFolder(layout, layout.getEditorArea());\r
</activeWhen>
</handler>
<handler
- class="eu.etaxonomy.taxeditor.editor.view.uses.handler.DeleteUseHandler"
+ class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DeleteHandler"
commandId="org.eclipse.ui.edit.delete">
<activeWhen>
<with
AbstractPostOperation operation = null;
try {
//Use Record Feature retrieval below
- Feature feature = (Feature) CdmStore.getService(ITermService.class).find(UUID.fromString("8125a59d-b4d5-4485-89ea-67306297b599"));
+ Feature useRecordFeature = (Feature) CdmStore.getService(ITermService.class).find(UUID.fromString("8125a59d-b4d5-4485-89ea-67306297b599"));
//The code below retrieves the feature "Uses" as a work around
- //Feature feature = (Feature) CdmStore.getService(ITermService.class).find(UUID.fromString("e5374d39-b210-47c7-bec1-bee05b5f1cb6"));
+ Feature feature = (Feature) CdmStore.getService(ITermService.class).find(UUID.fromString("e5374d39-b210-47c7-bec1-bee05b5f1cb6"));
feature.setSupportsCategoricalData(true);
operation = new CreateUseRecordOperation(event
.getCommand().getName(),
+++ /dev/null
-package eu.etaxonomy.taxeditor.editor.view.uses.handler;\r
-\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-\r
-import org.eclipse.core.commands.AbstractHandler;\r
-import org.eclipse.core.commands.ExecutionEvent;\r
-import org.eclipse.core.commands.ExecutionException;\r
-import org.eclipse.core.commands.common.NotDefinedException;\r
-import org.eclipse.core.commands.operations.IUndoContext;\r
-import org.eclipse.jface.viewers.IStructuredSelection;\r
-import org.eclipse.ui.IWorkbenchPart;\r
-import org.eclipse.ui.handlers.HandlerUtil;\r
-\r
-import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
-import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
-import eu.etaxonomy.taxeditor.editor.EditorUtil;\r
-import eu.etaxonomy.taxeditor.editor.view.uses.operation.DeleteTaxonUseOperation;\r
-import eu.etaxonomy.taxeditor.editor.view.uses.operation.DeleteUseRecordOperation;\r
-import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;\r
-import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
-import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
-\r
-/**\r
- * The context manager mediates context start/stop and workbench shutdowns to all registered listeners.\r
- *\r
- * @author a.theys \r
- * @created mar 13, 2012\r
- * @version 1.0\r
- */\r
-public class DeleteUseHandler extends AbstractHandler {\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see\r
- * org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.\r
- * ExecutionEvent)\r
- */\r
- /** {@inheritDoc} */\r
- public Object execute(ExecutionEvent event) throws ExecutionException {\r
- IStructuredSelection selection = (IStructuredSelection) HandlerUtil\r
- .getActiveSite(event).getSelectionProvider().getSelection();\r
-\r
- IWorkbenchPart part = HandlerUtil.getActivePart(event);\r
- IPostOperationEnabled postOperationEnabled = (part instanceof IPostOperationEnabled) ? (IPostOperationEnabled) part\r
- : null;\r
-\r
- try {\r
- String label = event.getCommand().getName();\r
-\r
- IUndoContext undoContext = EditorUtil.getUndoContext();\r
-\r
- List<AbstractPostOperation> operations = new ArrayList<AbstractPostOperation>();\r
-\r
- for (Object object : selection.toArray()) {\r
-\r
- // TaxonDescription\r
- if (object instanceof TaxonDescription) {\r
- operations.add(new DeleteTaxonUseOperation(label,\r
- undoContext, (TaxonDescription) object,\r
- postOperationEnabled));\r
- }\r
- // DescriptionElementBase\r
- else if (object instanceof DescriptionElementBase) {\r
- operations.add(new DeleteUseRecordOperation(label,\r
- undoContext, (DescriptionElementBase) object,\r
- postOperationEnabled));\r
- } else if (object instanceof FeatureNodeContainer) {\r
- List<DescriptionElementBase> descriptions = ((FeatureNodeContainer) object)\r
- .getDescriptionElementsForEntireBranch();\r
-\r
- for (DescriptionElementBase description : descriptions) {\r
- operations.add(new DeleteUseRecordOperation(\r
- label, undoContext, description,\r
- postOperationEnabled));\r
- }\r
- }\r
- else {\r
- EditorUtil.error(getClass(),\r
- "Selection is not valid for this delete handler",\r
- null);\r
- }\r
- }\r
-\r
- // execute all cumulated operations\r
- for (AbstractPostOperation operation : operations) {\r
- EditorUtil.executeOperation(operation);\r
- }\r
-\r
- } catch (NotDefinedException e) {\r
- EditorUtil.warn(getClass(), "Command name not set.");\r
- }\r
-\r
- return null;\r
- }\r
-}\r
+++ /dev/null
-package eu.etaxonomy.taxeditor.editor.view.uses.operation;\r
-\r
-import org.eclipse.core.commands.ExecutionException;\r
-import org.eclipse.core.commands.operations.IUndoContext;\r
-import org.eclipse.core.runtime.IAdaptable;\r
-import org.eclipse.core.runtime.IProgressMonitor;\r
-import org.eclipse.core.runtime.IStatus;\r
-\r
-import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
-import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
-import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
-\r
-\r
-/**\r
- * The context manager mediates context start/stop and workbench shutdowns to all registered listeners.\r
- *\r
- * @author a.theys \r
- * @created mar 13, 2012\r
- * @version 1.0\r
- */\r
-public class DeleteTaxonUseOperation extends AbstractPostOperation {\r
- \r
- private TaxonDescription description;\r
-\r
- /**\r
- * <p>Constructor for DeleteTaxonDescriptionOperation.</p>\r
- *\r
- * @param label a {@link java.lang.String} object.\r
- * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.\r
- * @param description a {@link eu.etaxonomy.cdm.model.description.TaxonDescription} object.\r
- * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.\r
- */\r
- public DeleteTaxonUseOperation(String label, IUndoContext undoContext,\r
- TaxonDescription description, IPostOperationEnabled postOperationEnabled) {\r
- super(label, undoContext, postOperationEnabled);\r
- \r
- this.description = description;\r
- taxon = description.getTaxon();\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
- */\r
- /** {@inheritDoc} */\r
- @Override\r
- public IStatus execute(IProgressMonitor monitor, IAdaptable info)\r
- throws ExecutionException {\r
-\r
- monitor.worked(20);\r
- taxon.removeDescription(description);\r
- monitor.worked(40);\r
-\r
- return postExecute(description);\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
- */\r
- /** {@inheritDoc} */\r
- @Override\r
- public IStatus redo(IProgressMonitor monitor, IAdaptable info)\r
- throws ExecutionException {\r
- return execute(monitor, info);\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
- */\r
- /** {@inheritDoc} */\r
- @Override\r
- public IStatus undo(IProgressMonitor monitor, IAdaptable info)\r
- throws ExecutionException {\r
-\r
- taxon.addDescription(description);\r
- \r
- return postExecute(null);\r
- }\r
-}\r
+++ /dev/null
-package eu.etaxonomy.taxeditor.editor.view.uses.operation;\r
-\r
-\r
-import org.eclipse.core.commands.ExecutionException;\r
-import org.eclipse.core.commands.operations.IUndoContext;\r
-import org.eclipse.core.runtime.IAdaptable;\r
-import org.eclipse.core.runtime.IProgressMonitor;\r
-import org.eclipse.core.runtime.IStatus;\r
-\r
-import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
-import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
-import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
-import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
-import eu.etaxonomy.taxeditor.store.StoreUtil;\r
-\r
-/**\r
- * The context manager mediates context start/stop and workbench shutdowns to all registered listeners.\r
- *\r
- * @author a.theys \r
- * @created mar 13, 2012\r
- * @version 1.0\r
- */\r
-public class DeleteUseRecordOperation extends AbstractPostOperation {\r
- private DescriptionElementBase element;\r
- private DescriptionBase description = null;\r
- \r
- \r
- public DeleteUseRecordOperation(String label, IUndoContext undoContext,\r
- DescriptionElementBase element, IPostOperationEnabled postOperationEnabled) {\r
- super(label, undoContext, postOperationEnabled);\r
- \r
- this.element = element;\r
- }\r
-\r
-\r
- @Override\r
- public IStatus execute(IProgressMonitor monitor, IAdaptable info)\r
- throws ExecutionException {\r
- description = element.getInDescription();\r
- \r
- monitor.worked(20);\r
- \r
- // Remove element from description\r
- if (description == null) {\r
- StoreUtil.error(this.getClass(), "Couldn't find element's description!", null);\r
- } else {\r
- description.removeElement(element);\r
- }\r
- monitor.worked(40);\r
-\r
- // Redraw editor if exists\r
- return postExecute(null);\r
- }\r
-\r
-\r
- @Override\r
- public IStatus redo(IProgressMonitor monitor, IAdaptable info)\r
- throws ExecutionException {\r
- return execute(monitor, info);\r
- }\r
-\r
-\r
- @Override\r
- public IStatus undo(IProgressMonitor monitor, IAdaptable info)\r
- throws ExecutionException {\r
-\r
- description.addElement(element);\r
- \r
- return postExecute(element);\r
- }\r
- \r
-}\r
eu.etaxonomy.taxeditor.view.datasource,
eu.etaxonomy.taxeditor.view.datasource.handler,
eu.etaxonomy.taxeditor.view.detail,
- eu.etaxonomy.taxeditor.view.supplementaldata,
- eu.etaxonomy.taxeditor.view.userecords
+ eu.etaxonomy.taxeditor.view.supplementaldata
Require-Bundle: org.eclipse.osgi,
org.eclipse.ui,
org.eclipse.jface.text,
import eu.etaxonomy.taxeditor.view.AbstractCdmDataViewer;
import eu.etaxonomy.taxeditor.view.detail.DetailsViewPart;
import eu.etaxonomy.taxeditor.view.supplementaldata.SupplementalDataViewPart;
-import eu.etaxonomy.taxeditor.view.userecords.UseRecordsViewPart;
/**
* <p>
}
}
- public static UseRecordsViewPart getUseRecordsView() {
- return (UseRecordsViewPart) getView(UseRecordsViewPart.ID, false);
}
-
- /**
- * <p>
- * refreshUseRecordsViewer
- * </p>
- */
- public static void refreshUseRecordsViewer() {
- if (getUseRecordsView() != null) {
- ((AbstractCdmDataViewer) getUseRecordsView().getViewer()).refresh();
- }
- }
-
- /**
- * <p>
- * reflowUseRecordsViewer
- * </p>
- */
- public static void reflowUseRecordsViewer() {
- if (getUseRecordsView() != null) {
- ((AbstractCdmDataViewer) getUseRecordsView().getViewer()).reflow();
- }
- }
-}
package eu.etaxonomy.taxeditor.view.detail;
+import java.util.Set;
+import java.util.UUID;
+
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.swt.SWT;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
+import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.agent.Team;
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.common.Group;
+import eu.etaxonomy.cdm.model.common.Marker;
+import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.cdm.model.common.TermVocabulary;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
import eu.etaxonomy.taxeditor.model.PolytomousKeyRelationship;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.store.StoreUtil;
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.DetailType;
import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonRelationshipDetailSection;
import eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailSection;
import eu.etaxonomy.taxeditor.ui.section.user.UserDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.userecords.UseRecordDetailSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailSection;
import eu.etaxonomy.taxeditor.view.AbstractCdmDataViewer;
import eu.etaxonomy.taxeditor.view.AbstractCdmViewPart;
}
} else if (getInput() instanceof DescriptionElementBase) {
- createDescriptionElementSection(rootElement);
+ Set<Marker> descriptionMarkers = ((DescriptionElementBase) getInput()).getInDescription().getMarkers();
+ MarkerType useMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find(UUID.fromString("2e6e42d9-e92a-41f4-899b-03c0ac64f039"));
+ Boolean isUseDescription = false;
+ for (Marker marker : descriptionMarkers) {
+ if (marker.getMarkerType().equals(useMarkertype)) {
+ isUseDescription = true;
+ }
+ }
+
+ if (isUseDescription == true) {
+ createUseRecordSection(rootElement);
+ }
+ else {
+ createDescriptionElementSection(rootElement);
+ }
} else if (getInput() instanceof Media) {
createMediaElementSection(rootElement);
addPart(polytomousKeyNodeDetailSection);
}
+
+ private void createUseRecordSection(RootElement parent) {
+ destroySections();
+
+ UseRecordDetailSection descriptionUseRecordSection = (UseRecordDetailSection) formFactory
+ .createCdmDetailSection(DetailType.USE_RECORD,
+ getConversationHolder(), parent, this, Section.TWISTIE
+ | Section.EXPANDED);
+
+ formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+
+ addPart(descriptionUseRecordSection);
+
+
+ }
private void createUserSection(RootElement parent) {
destroySections();
+++ /dev/null
-package eu.etaxonomy.taxeditor.view.userecords;\r
-\r
-import org.eclipse.jface.viewers.ISelection;\r
-import org.eclipse.jface.viewers.IStructuredSelection;\r
-import org.eclipse.jface.viewers.Viewer;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.ui.IEditorPart;\r
-import org.eclipse.ui.IWorkbenchPart;\r
-\r
-import eu.etaxonomy.cdm.model.description.Feature;\r
-import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;\r
-import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;\r
-import eu.etaxonomy.taxeditor.store.StoreUtil;\r
-import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;\r
-import eu.etaxonomy.taxeditor.view.AbstractCdmViewPart;\r
-\r
-/**\r
- * The context manager mediates context start/stop and workbench shutdowns to all registered listeners.\r
- *\r
- * @author a.theys \r
- * @created mar 13, 2012\r
- * @version 1.0\r
- */\r
-public class UseRecordsViewPart extends AbstractCdmEditorViewPart implements IPartContentHasSupplementalData{\r
- \r
- public static String ID = "eu.etaxonomy.taxeditor.view.userecords";\r
- private UseRecordsViewer viewer;\r
- \r
- @Override\r
- public void createViewer(Composite parent) {\r
- viewer = new UseRecordsViewer(parent, this);\r
- getSite().setSelectionProvider(viewer);\r
- \r
- }\r
- \r
- @Override\r
- public void selectionChanged(IWorkbenchPart part, ISelection selection) {\r
- if(StoreUtil.getActiveEditor() == null){\r
- showEmptyPage();\r
- return;\r
- }\r
- \r
- if(part == this){\r
- return;\r
- }\r
- \r
- if(!(selection instanceof IStructuredSelection)){\r
- return;\r
- }\r
- \r
- IStructuredSelection structuredSelection = (IStructuredSelection) selection;\r
- \r
- if((part instanceof IEditorPart) || (part instanceof AbstractCdmViewPart)) {\r
- if(structuredSelection.size() != 1){\r
- showEmptyPage();\r
- return;\r
- }\r
- \r
- // do not show details for feature nodes TODO really? \r
- if(structuredSelection.getFirstElement() instanceof FeatureNodeContainer){\r
- // do show the map for distributions\r
- Feature feature = ((FeatureNodeContainer) ((IStructuredSelection) selection).getFirstElement()).getFeature();\r
- if(!feature.equals(Feature.DISTRIBUTION())){\r
- showEmptyPage();\r
- return;\r
- }\r
- }\r
- \r
- showViewer(part, structuredSelection);\r
- }else{\r
- showEmptyPage(); \r
- } \r
- \r
- }\r
- \r
- @Override\r
- public Viewer getViewer() {\r
- return viewer;\r
- }\r
-\r
- /** {@inheritDoc} */\r
- @Override\r
- public void dispose() {\r
- super.dispose();\r
- selectionService.removePostSelectionListener(this);\r
- }\r
-\r
- /**\r
- * <p>onComplete</p>\r
- *\r
- * @return a boolean.\r
- */\r
- public boolean onComplete() {\r
- return true;\r
- }\r
-\r
- \r
-\r
- \r
-\r
- \r
-}\r
+++ /dev/null
-package eu.etaxonomy.taxeditor.view.userecords;\r
-\r
-import org.eclipse.jface.viewers.ISelection;\r
-import org.eclipse.jface.viewers.SelectionChangedEvent;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.ui.forms.widgets.Section;\r
-\r
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;\r
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;\r
-import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
-import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
-import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
-import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;\r
-import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;\r
-import eu.etaxonomy.taxeditor.store.StoreUtil;\r
-import eu.etaxonomy.taxeditor.ui.element.RootElement;\r
-import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.DetailType;\r
-import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.EntityDetailType;\r
-import eu.etaxonomy.taxeditor.ui.section.description.DescriptionDetailSection;\r
-import eu.etaxonomy.taxeditor.ui.section.description.DescriptionSourceSection;\r
-import eu.etaxonomy.taxeditor.ui.section.name.NameRelationshipDetailSection;\r
-import eu.etaxonomy.taxeditor.ui.section.name.NomenclaturalStatusSection;\r
-import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailSection;\r
-import eu.etaxonomy.taxeditor.ui.section.name.ProtologueSection;\r
-import eu.etaxonomy.taxeditor.ui.section.name.TypeDesignationSection;\r
-import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection;\r
-import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailSection;\r
-import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessagesSection;\r
-import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonBaseDetailSection;\r
-import eu.etaxonomy.taxeditor.ui.section.userecords.UseRecordDetailSection;\r
-import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailSection;\r
-import eu.etaxonomy.taxeditor.view.AbstractCdmDataViewer;\r
-import eu.etaxonomy.taxeditor.view.AbstractCdmViewPart;\r
-import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
-\r
-\r
-\r
-\r
-/**\r
- * The context manager mediates context start/stop and workbench shutdowns to all registered listeners.\r
- *\r
- * @author a.theys \r
- * @created mar 13, 2012\r
- * @version 1.0\r
- */\r
-public class UseRecordsViewer extends AbstractCdmDataViewer {\r
-\r
- private ISelection selection;\r
- \r
- public UseRecordsViewer(Composite parent, AbstractCdmViewPart viewPart) {\r
- super(parent, viewPart);\r
- }\r
- \r
- // START HACK TO MAKE THE DERIVED UNIT FACADE WORK\r
- // since we are getting implementations of DerivedUnitBase from the bulk\r
- // editor\r
- // and not derived unit facade objects,\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see\r
- * eu.etaxonomy.taxeditor.editor.view.AbstractCdmDataViewer#setInput(java\r
- * .lang.Object)\r
- */\r
- @Override\r
- public void setInput(Object input) {\r
- if (input instanceof DerivedUnitBase) {\r
- try {\r
- input = DerivedUnitFacade.NewInstance((DerivedUnitBase) input,\r
- PreferencesUtil.getDerivedUnitConfigurator());\r
- } catch (DerivedUnitFacadeNotSupportedException e) {\r
- StoreUtil.error(getClass(), e);\r
- }\r
- }\r
- super.setInput(input);\r
- }\r
-\r
- @Override\r
- protected void markViewPartDirty() {\r
- if (getInput() instanceof DerivedUnitFacade) {\r
- getViewPart().changed(\r
- ((DerivedUnitFacade) getInput()).innerDerivedUnit());\r
- }\r
-\r
- super.markViewPartDirty();\r
- }\r
-\r
- // END HACK TO MAKE THE DERIVED UNIT FACADE WORK\r
- \r
- \r
- @Override\r
- protected void showParts() {\r
- if (getInput() instanceof TaxonBase) {\r
- createTaxonSections(rootElement);\r
-\r
- } else if (getInput() instanceof DescriptionBase) {\r
- if (((DescriptionBase) getInput()).isImageGallery()) {\r
- createImageGallerySection(rootElement);\r
-\r
- } else {\r
- createUseSection(rootElement);\r
-\r
- }\r
- } else if (getInput() instanceof DescriptionElementBase) {\r
- createUseRecordSection(rootElement);\r
- //TODO Use the code below to move the useRecords view and UseRecordDetailElement into the details view.\r
- DescriptionElementBase desc = ((DescriptionElementBase) getInput()).\r
-\r
- } else if (getInput() instanceof TermVocabulary) {\r
- createTermVocabularySection(rootElement);\r
-\r
- }\r
- \r
- /*if (getInput() instanceof TaxonBase) {\r
- if (currentViewPart != VIEW_PART.TAXON) {\r
- createTaxonSections(rootElement);\r
- currentViewPart = VIEW_PART.TAXON;\r
- }\r
- } else if (getInput() instanceof Reference) {\r
- if (currentViewPart != VIEW_PART.REFEERENCE) {\r
- createReferenceSections(rootElement);\r
- currentViewPart = VIEW_PART.REFEERENCE;\r
- }\r
- } else if (getInput() instanceof DescriptionBase) {\r
- if (((DescriptionBase) getInput()).isImageGallery()) {\r
- if (currentViewPart != VIEW_PART.IMAGE_GALLERY) {\r
- createImageGallerySection(rootElement);\r
- currentViewPart = VIEW_PART.IMAGE_GALLERY;\r
- }\r
- } else {\r
- if (currentViewPart != VIEW_PART.DESCRIPTION) {\r
- createDescriptionSection(rootElement);\r
- currentViewPart = VIEW_PART.DESCRIPTION;\r
- }\r
- }\r
- } else if (getInput() instanceof DescriptionElementBase) {\r
- if (currentViewPart != VIEW_PART.DESCRIPTION_ELEMENT) {\r
- createDescriptionElementSection(rootElement);\r
- currentViewPart = VIEW_PART.DESCRIPTION_ELEMENT;\r
- }\r
- } else {\r
- destroySections();\r
- currentViewPart = VIEW_PART.EMPTY;\r
- }\r
- layout();\r
- */\r
- }\r
- private void createTaxonSections(RootElement parent) {\r
- destroySections();\r
-\r
- TaxonBaseDetailSection taxonBaseDetailSection = (TaxonBaseDetailSection) formFactory\r
- .createCdmDetailSection(DetailType.TAXONBASE,\r
- getConversationHolder(), parent, this, Section.TWISTIE);\r
-\r
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
- NonViralNameDetailSection nonViralNameSection = (NonViralNameDetailSection) formFactory\r
- .createCdmDetailSection(DetailType.NONVIRALNAME,\r
- getConversationHolder(), parent, this, Section.TWISTIE\r
- | Section.EXPANDED);\r
-\r
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
- NomenclaturalReferenceDetailSection referenceDetailSection = (NomenclaturalReferenceDetailSection) formFactory\r
- .createCdmDetailSection(DetailType.NOMENCLATURALREFERENCE,\r
- getConversationHolder(), parent, this, Section.TWISTIE);\r
-\r
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
- NomenclaturalStatusSection nomenclaturalStatusSection = (NomenclaturalStatusSection) formFactory\r
- .createEntityDetailSection(\r
- EntityDetailType.NOMENCLATURALSTATUS,\r
- getConversationHolder(), parent, Section.TWISTIE);\r
-\r
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
- ProtologueSection protologSection = (ProtologueSection) formFactory\r
- .createEntityDetailSection(EntityDetailType.PROTOLOG,\r
- getConversationHolder(), parent, Section.TWISTIE);\r
-\r
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
- TypeDesignationSection typeDesignationSection = (TypeDesignationSection) formFactory\r
- .createEntityDetailSection(EntityDetailType.TYPEDESIGNATION,\r
- getConversationHolder(), parent, Section.TWISTIE);\r
-\r
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
- NameRelationshipDetailSection nameRelationshipSection = (NameRelationshipDetailSection) formFactory\r
- .createEntityDetailSection(EntityDetailType.NAME_RELATIONSHIP,\r
- getConversationHolder(), parent, Section.TWISTIE);\r
-\r
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
- ParsingMessagesSection parsingMessagesSection = (ParsingMessagesSection) formFactory\r
- .createCdmDetailSection(DetailType.PARSINGMESSAGE,\r
- getConversationHolder(), parent, this, Section.EXPANDED);\r
-\r
- addPart(taxonBaseDetailSection);\r
- addPart(nonViralNameSection);\r
- addPart(nomenclaturalStatusSection);\r
- addPart(protologSection);\r
- addPart(referenceDetailSection);\r
- addPart(typeDesignationSection);\r
- addPart(nameRelationshipSection);\r
- addPart(parsingMessagesSection);\r
- }\r
- \r
- private void createTermVocabularySection(RootElement parent) {\r
- destroySections();\r
-\r
- TermVocabularyDetailSection termVocabularyDetailSection = (TermVocabularyDetailSection) formFactory\r
- .createCdmDetailSection(DetailType.TERM_VOCABULARY,\r
- getConversationHolder(), parent, this, Section.TWISTIE\r
- | Section.EXPANDED);\r
- addPart(termVocabularyDetailSection);\r
- }\r
- \r
- private void createUseRecordSection(RootElement parent) {\r
- destroySections();\r
-\r
- UseRecordDetailSection descriptionUseRecordSection = (UseRecordDetailSection) formFactory\r
- .createCdmDetailSection(DetailType.USE_RECORD,\r
- getConversationHolder(), parent, this, Section.TWISTIE\r
- | Section.EXPANDED);\r
-\r
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
- \r
- addPart(descriptionUseRecordSection);\r
- \r
- \r
- }\r
- \r
- private void createUseSection(RootElement parent) {\r
- destroySections();\r
- DescriptionDetailSection descriptionDetailSection = (DescriptionDetailSection) formFactory\r
- .createCdmDetailSection(DetailType.DESCRIPTION,\r
- getConversationHolder(), parent, this, Section.TWISTIE\r
- | Section.EXPANDED);\r
-\r
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
- /*NaturalLanguageSection naturalLanguageSection = (NaturalLanguageSection) formFactory\r
- .createCdmDetailSection(DetailType.NATURAL_LANGUAGE,\r
- getConversationHolder(), parent, this, Section.TWISTIE\r
- | Section.EXPANDED);\r
-\r
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
- DescribedSpecimenSection describedSpecimenSection = (DescribedSpecimenSection) formFactory\r
- .createEntityDetailSection(EntityDetailType.DESCRIBED_SPECIMEN,\r
- getConversationHolder(), parent, Section.TWISTIE);\r
-\r
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);*/\r
-\r
- DescriptionSourceSection descriptionSourceSection = (DescriptionSourceSection) formFactory\r
- .createEntityDetailSection(EntityDetailType.DESCRIPTIONSOURCE,\r
- getConversationHolder(), parent, Section.TWISTIE);\r
-\r
- /*formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
- ScopeSection scopeSection = (ScopeSection) formFactory\r
- .createEntityDetailSection(EntityDetailType.SCOPE,\r
- getConversationHolder(), parent, Section.TWISTIE);\r
-\r
- formFactory.createHorizontalSeparator(parent, SWT.BORDER);*/\r
-\r
- addPart(descriptionDetailSection);\r
- addPart(descriptionSourceSection);\r
- \r
- }\r
- \r
- \r
- \r
- private void createImageGallerySection(RootElement parent) {\r
- destroySections();\r
- DescriptionDetailSection descriptionDetailSection = (DescriptionDetailSection) formFactory\r
- .createCdmDetailSection(DetailType.DESCRIPTION,\r
- getConversationHolder(), parent, this, Section.TWISTIE\r
- | Section.EXPANDED);\r
-\r
- addPart(descriptionDetailSection);\r
- }\r
- \r
- private void createReferenceSections(RootElement parent) {\r
- destroySections();\r
-\r
- ReferenceDetailSection referenceDetailSection = (ReferenceDetailSection) formFactory\r
- .createCdmDetailSection(DetailType.REFERENCEBASE,\r
- getConversationHolder(), parent, this, Section.TWISTIE\r
- | Section.EXPANDED);\r
-\r
- addPart(referenceDetailSection);\r
- \r
- }\r
- @Override\r
- public ISelection getSelection() {\r
- return selection;\r
- }\r
- @Override\r
- public void setSelection(ISelection selection, boolean reveal) {\r
- this.selection = selection;\r
- SelectionChangedEvent selectionChangedEvent = new SelectionChangedEvent(\r
- this, selection);\r
- fireSelectionChanged(selectionChangedEvent);\r
- }\r
-\r
-}\r