</elements>
<elements xsi:type="basic:PartDescriptor" xmi:id="_ARZyMKz2EeeBIsZyvYlAaA" elementId="eu.etaxonomy.taxeditor.editor.group.authority.e4.CdmAuthorityEditorE4" label="%editor.name.4" closeable="true" dirtyable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.editor/eu.etaxonomy.taxeditor.editor.group.authority.e4.CdmAuthorityEditorE4"/>
<elements xsi:type="basic:PartDescriptor" xmi:id="_Fa8l4M7XEeex0rHJ7p8Zdw" elementId="eu.etaxonomy.taxeditor.editor.view.workingSet.WorkingSetEditor" label="Working Set Editor" tooltip="Working Set Editor" allowMultiple="true" closeable="true" dirtyable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.editor/eu.etaxonomy.taxeditor.editor.workingSet.WorkingSetEditor"/>
- <elements xsi:type="basic:PartDescriptor" xmi:id="_rpaDsNK2EeeWSJT7vW9jsw" elementId="eu.etaxonomy.taxeditor.editor.workingSet.matrix.CharacterMatrix" label="Character Matrix" tooltip="Character Matrix" allowMultiple="true" closeable="true" dirtyable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.editor/eu.etaxonomy.taxeditor.editor.workingSet.matrix.CharacterMatrix">
+ <elements xsi:type="basic:PartDescriptor" xmi:id="_rpaDsNK2EeeWSJT7vW9jsw" elementId="eu.etaxonomy.taxeditor.editor.workingSet.matrix.CharacterMatrixPart" label="Character Matrix" tooltip="Character Matrix" allowMultiple="true" closeable="true" dirtyable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.editor/eu.etaxonomy.taxeditor.editor.workingSet.matrix.CharacterMatrixPart">
<handlers xmi:id="_d_HUYOPBEeeIH8IplZ0cuA" elementId="eu.etaxonomy.taxeditor.editor.handler.2" contributionURI="bundleclass://eu.etaxonomy.taxeditor.editor/eu.etaxonomy.taxeditor.editor.view.charactermatrix.handler.ExportCharacterMatrixHandler" command="_YeWagOPBEeeIH8IplZ0cuA"/>
<menus xmi:id="_PLw00OPBEeeIH8IplZ0cuA" elementId="eu.etaxonomy.taxeditor.editor.menu.characterMatrix" label="Character Matrix">
<children xsi:type="menu:HandledMenuItem" xmi:id="_TGK04OPBEeeIH8IplZ0cuA" elementId="eu.etaxonomy.taxeditor.editor.handledmenuitem.characterMatrix.export" label="Export" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif" command="_YeWagOPBEeeIH8IplZ0cuA"/>
public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_ADD_DERIVATE_ADD_SINGLE_READ = "eu.etaxonomy.taxeditor.editor.command.add_derivate.add_single_read";
public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_ADD_DERIVATE_ADD_SPECIMEN = "eu.etaxonomy.taxeditor.editor.command.add_derivate.add_specimen";
public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_ADD_DERIVATE_ADD_TISSUE_SAMPLE = "eu.etaxonomy.taxeditor.editor.command.add_derivate.add_tissue_sample";
+ public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_CHARACTERMATRIX_EXPORT = "eu.etaxonomy.taxeditor.editor.command.characterMatrix.export";
+ public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_CREATEWORKINGSET = "eu.etaxonomy.taxeditor.editor.command.createWorkingSet";
+ public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_DELETEWORKINGSET = "eu.etaxonomy.taxeditor.editor.command.deleteWorkingSet";
+ public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_NEW_DATASOURCE = "eu.etaxonomy.taxeditor.editor.command.new.datasource";
+ public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_NEW_NAME = "eu.etaxonomy.taxeditor.editor.command.new.name";
+ public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_NEW_PERSON = "eu.etaxonomy.taxeditor.editor.command.new.person";
+ public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_NEW_REFERENCE = "eu.etaxonomy.taxeditor.editor.command.new.reference";
+ public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_NEW_TEAM = "eu.etaxonomy.taxeditor.editor.command.new.team";
+ public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_OPENSPECIMENEDITORFROMMENU = "eu.etaxonomy.taxeditor.editor.command.openSpecimenEditorFromMenu";
public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_POLYTOMOUSKEYLIST_OPENGRAPH = "eu.etaxonomy.taxeditor.editor.command.polytomouskeylist.openGraph";
+ public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_REFRESH = "eu.etaxonomy.taxeditor.editor.command.refresh";
public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_SPECIMENEDITOR_CREATE_FIELD_UNIT = "eu.etaxonomy.taxeditor.editor.command.specimeneditor.create_field_unit";
+ public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_WORKINGSET_OPENCHARACTERMATRIX = "eu.etaxonomy.taxeditor.editor.command.workingSet.openCharacterMatrix";
+ public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_COMMAND_WORKINGSET_OPENWORKINGSETEDITOR = "eu.etaxonomy.taxeditor.editor.command.workingSet.openWorkingSetEditor";
public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_DERIVATE_DEEPDELETE = "eu.etaxonomy.taxeditor.editor.derivate.deepDelete";
public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_DERIVATE_DELETE = "eu.etaxonomy.taxeditor.editor.derivate.delete";
public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_EDITOR_DERIVATIVE_COPYSINGLEREADTOCLIPBOARD = "eu.etaxonomy.taxeditor.editor.derivative.copySingleReadToClipBoard";
public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_OPENSPECIMENEDITORFORTYPESPECIMEN = "eu.etaxonomy.taxeditor.openSpecimenEditorForTypeSpecimen";
public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_STORE_COMMAND_FEATURETREE_REMOVEFEATURE = "eu.etaxonomy.taxeditor.store.command.featureTree.removeFeature";
public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_USE_COMMANDS_ADDUSE = "eu.etaxonomy.taxeditor.use.commands.adduse";
+ public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_WORKBENCH_COMMAND_COLLAPSE = "eu.etaxonomy.taxeditor.workbench.command.collapse";
+ public static final String COMMAND_EU_ETAXONOMY_TAXEDITOR_WORKBENCH_COMMAND_EXPAND = "eu.etaxonomy.taxeditor.workbench.command.expand";
public static final String COMMAND_ORG_ECLIPSE_UI_FILE_SAVE = "org.eclipse.ui.file.save";
public static final String DYNAMICMENUCONTRIBUTION_EU_ETAXONOMY_TAXEDITOR_EDITOR_CONCEPT_DYNAMICMENUCONTRIBUTION_CDMVIEWER = "eu.etaxonomy.taxeditor.editor.concept.dynamicmenucontribution.cdmViewer";
public static final String DYNAMICMENUCONTRIBUTION_EU_ETAXONOMY_TAXEDITOR_EDITOR_DYNAMICMENUCONTRIBUTION_2 = "eu.etaxonomy.taxeditor.editor.dynamicmenucontribution.2";
public static final String DYNAMICMENUCONTRIBUTION_EU_ETAXONOMY_TAXEDITOR_EDITOR_FACTUAL_DYNAMICMENUCONTRIBUTION_CDMVIEWER = "eu.etaxonomy.taxeditor.editor.factual.dynamicmenucontribution.cdmViewer";
public static final String DYNAMICMENUCONTRIBUTION_EU_ETAXONOMY_TAXEDITOR_EDITOR_SPECIMENEDITOR_DYNAMICMENUCONTRIBUTION_CDMVIEWER = "eu.etaxonomy.taxeditor.editor.specimeneditor.dynamicmenucontribution.cdmViewer";
public static final String DYNAMICMENUCONTRIBUTION_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DESCRIPTIVE_E4_HANDLER_DYNAMICFEATUREMENUE4 = "eu.etaxonomy.taxeditor.editor.view.descriptive.e4.handler.DynamicFeatureMenuE4";
+ public static final String DYNAMICMENUCONTRIBUTION_EU_ETAXONOMY_TAXEDITOR_EDITOR_WORKINGSETNAVIGATOR_DYNAMICMENUCONTRIBUTION_CDMVIEWER = "eu.etaxonomy.taxeditor.editor.workingSetNavigator.dynamicmenucontribution.cdmViewer";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_FACTUALDATA_DELETE = "eu.etaxonomy.taxeditor.editor.factualData.delete";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_FACTUALDATA_MOVEDESCRIPTIONELEMENT = "eu.etaxonomy.taxeditor.editor.factualData.moveDescriptionElement";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_FACTUALDATA_MOVEDESCRIPTIONTOTAXON = "eu.etaxonomy.taxeditor.editor.factualData.moveDescriptionToTaxon";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_ADDEXISTINGIMAGE = "eu.etaxonomy.taxeditor.editor.handledmenuitem.addExistingImage";
+ public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_CHARACTERMATRIX_EXPORT = "eu.etaxonomy.taxeditor.editor.handledmenuitem.characterMatrix.export";
+ public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_COMMANDLABEL1 = "eu.etaxonomy.taxeditor.editor.handledmenuitem.commandlabel1";
+ public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_COMMANDLABEL2 = "eu.etaxonomy.taxeditor.editor.handledmenuitem.commandlabel2";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_COMMANDLABEL44 = "eu.etaxonomy.taxeditor.editor.handledmenuitem.commandlabel44";
+ public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_COMMANDLABEL46 = "eu.etaxonomy.taxeditor.editor.handledmenuitem.commandlabel46";
+ public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_COMMANDLABEL47 = "eu.etaxonomy.taxeditor.editor.handledmenuitem.commandlabel47";
+ public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_COMMANDLABEL48 = "eu.etaxonomy.taxeditor.editor.handledmenuitem.commandlabel48";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_COMMANDLABEL52 = "eu.etaxonomy.taxeditor.editor.handledmenuitem.commandlabel52";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_COMMANDLABEL54 = "eu.etaxonomy.taxeditor.editor.handledmenuitem.commandlabel54";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_COMMANDLABELLINK_WITH_TAXON_SELECTION = "eu.etaxonomy.taxeditor.editor.handledmenuitem.commandlabellink_with_taxon_selection";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_COMMANDLABELREMOVE_SINGLE_READ_FROM_THIS_SEQUENCE = "eu.etaxonomy.taxeditor.editor.handledmenuitem.commandlabelremove_single_read_from_this_sequence";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_COMMANDLABELREUSE_SINGLE_READ_FOR_OTHER_SEQUENCE = "eu.etaxonomy.taxeditor.editor.handledmenuitem.commandlabelreuse_single_read_for_other_sequence";
- public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_COMMANDNAME34 = "eu.etaxonomy.taxeditor.editor.handledmenuitem.commandname34";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_COMMANDNAMEREUSE_SINGLE_READ = "eu.etaxonomy.taxeditor.editor.handledmenuitem.commandnamereuse_single_read";
+ public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_COMMAND_NAME34 = "eu.etaxonomy.taxeditor.editor.handledmenuitem.command.name34";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_CONCEPT_DELETE = "eu.etaxonomy.taxeditor.editor.handledmenuitem.concept.delete";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_CONCEPT_NEWUSE = "eu.etaxonomy.taxeditor.editor.handledmenuitem.concept.newUse";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_CONCEPT_NEWUSERECORD = "eu.etaxonomy.taxeditor.editor.handledmenuitem.concept.newUseRecord";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_CREATEFIELDUNIT = "eu.etaxonomy.taxeditor.editor.handledmenuitem.createfieldunit";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_CREATE_FIELD_UNIT_FOR_TAXON = "eu.etaxonomy.taxeditor.editor.handledmenuitem.create_field_unit_for_taxon";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_DELETEMEDIA = "eu.etaxonomy.taxeditor.editor.handledmenuitem.deleteMedia";
+ public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_DELETEWORKINGSET = "eu.etaxonomy.taxeditor.editor.handledmenuitem.deleteWorkingSet";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_DNASAMPLE = "eu.etaxonomy.taxeditor.editor.handledmenuitem.dnasample";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_EXISTINGMEDIA = "eu.etaxonomy.taxeditor.editor.handledmenuitem.existingmedia";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_FACTUALDATA_ADDDESCRIPTION = "eu.etaxonomy.taxeditor.editor.handledmenuitem.factualData.addDescription";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_MOVEIMAGEUP = "eu.etaxonomy.taxeditor.editor.handledmenuitem.moveImageUp";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_NEWIMAGE = "eu.etaxonomy.taxeditor.editor.handledmenuitem.newImage";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_NEWIMAGEGALLERY = "eu.etaxonomy.taxeditor.editor.handledmenuitem.newImageGallery";
+ public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_NEWWORKINGSET = "eu.etaxonomy.taxeditor.editor.handledmenuitem.newworkingset";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_OPENGRAPH = "eu.etaxonomy.taxeditor.editor.handledmenuitem.opengraph";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_POLYTOMOUSKEYLIST_DELETE = "eu.etaxonomy.taxeditor.editor.handledmenuitem.polytomouskeylist.delete";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDMENUITEM_POLYTOMOUSKEYLIST_NEWALTERNATIVE = "eu.etaxonomy.taxeditor.editor.handledmenuitem.polytomouskeylist.newAlternative";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_SHOWVIEWMENU_CONCEPTGRAPH = "eu.etaxonomy.taxeditor.editor.showViewMenu.conceptGraph";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_SHOWVIEWMENU_FACTUALDATA = "eu.etaxonomy.taxeditor.editor.showViewMenu.factualData";
public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_SHOWVIEWMENU_MEDIAVIEW = "eu.etaxonomy.taxeditor.editor.showViewMenu.mediaView";
- public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_BULKEDITOR_HANDLER_DEFAULTHANDLER_OPENBULKEDITORFORIDENTIFIABLEENTITYE4 = "eu.etaxonomy.taxeditor.bulkeditor.handler.defaultHandler.OpenBulkEditorForIdentifiableEntityE4";
+ public static final String HANDLEDMENUITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_SHOWVIEWMENU_WORKINGSETNAVIGATOR = "eu.etaxonomy.taxeditor.editor.showViewMenu.workingSetNavigator";
+ public static final String HANDLEDTOOLITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_FACTUAL_HANDLEDTOOLITEM_COLLAPSE = "eu.etaxonomy.taxeditor.editor.factual.handledtoolitem.collapse";
+ public static final String HANDLEDTOOLITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_FACTUAL_HANDLEDTOOLITEM_EXPAND = "eu.etaxonomy.taxeditor.editor.factual.handledtoolitem.expand";
+ public static final String HANDLEDTOOLITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_FACTUAL_HANDLEDTOOLITEM_USES_EXPAND = "eu.etaxonomy.taxeditor.editor.factual.handledtoolitem.uses.expand";
+ public static final String HANDLEDTOOLITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDTOOLITEM_0 = "eu.etaxonomy.taxeditor.editor.handledtoolitem.0";
+ public static final String HANDLEDTOOLITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDTOOLITEM_FACTUAL_SHOWINDIVIDUALASSOCIATIONS = "eu.etaxonomy.taxeditor.editor.handledtoolitem.factual.showIndividualAssociations";
+ public static final String HANDLEDTOOLITEM_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLEDTOOLITEM_USES_COLLAPSE = "eu.etaxonomy.taxeditor.editor.handledtoolitem.uses.collapse";
+ public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_BULKEDITOR_HANDLER_DEFAULTHANDLER_OPENBULKEDITORFORIDENTIFIABLEENTITYE4_SPECIMENEDITOR = "eu.etaxonomy.taxeditor.bulkeditor.handler.defaultHandler.OpenBulkEditorForIdentifiableEntityE4.specimenEditor";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DERIVATE_HANDLER_ADDSPECIMENHANDLER = "eu.etaxonomy.taxeditor.editor/eu.etaxonomy.taxeditor.editor.view.derivate.handler.AddSpecimenHandler";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_FACTUALDATA_SAVEHANDLER = "eu.etaxonomy.taxeditor.editor.factualData.saveHandler";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_GROUP_AUTHORITY_E4_HANDLER_EDITCDMAUTHORITIESHANDLERE4 = "eu.etaxonomy.taxeditor.editor.group.authority.e4.handler.EditCdmAuthoritiesHandlerE4";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLER_0 = "eu.etaxonomy.taxeditor.editor.handler.0";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLER_1 = "eu.etaxonomy.taxeditor.editor.handler.1";
+ public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLER_2 = "eu.etaxonomy.taxeditor.editor.handler.2";
+ public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLER_CREATE_NEWNAMEHANDLER = "eu.etaxonomy.taxeditor.editor.handler.create.NewNameHandler";
+ public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLER_CREATE_NEWPERSONHANDLER = "eu.etaxonomy.taxeditor.editor.handler.create.NewPersonHandler";
+ public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLER_CREATE_NEWREFERENCEHANDLER = "eu.etaxonomy.taxeditor.editor.handler.create.NewReferenceHandler";
+ public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLER_CREATE_NEWTEAMHANDLER = "eu.etaxonomy.taxeditor.editor.handler.create.NewTeamHandler";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLER_DEFAULTHANDLER_DEFAULTOPENSPECIMENEDITORFORTYPESPECIMENHANDLER = "eu.etaxonomy.taxeditor.editor.handler.defaultHandler.DefaultOpenSpecimenEditorForTypeSpecimenHandler";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLER_DEFAULTHANDLER_DEFAULTOPENTAXONEDITORFORTAXONBASEHANDLER = "eu.etaxonomy.taxeditor.editor.handler.defaultHandler.DefaultOpenTaxonEditorForTaxonBaseHandler";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_HANDLER_DEFAULTHANDLER_DEFAULTOPENTAXONEDITORFORTAXONNODEHANDLER = "eu.etaxonomy.taxeditor.editor.handler.defaultHandler.DefaultOpenTaxonEditorForTaxonNodeHandler";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DERIVATE_HANDLER_ADDTISSUESAMPLEHANDLER = "eu.etaxonomy.taxeditor.editor.view.derivate.handler.AddTissueSampleHandler";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DERIVATE_HANDLER_CREATEFIELDUNITHANDLER = "eu.etaxonomy.taxeditor.editor.view.derivate.handler.CreateFieldUnitHandler";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DERIVATE_HANDLER_DELETEDERIVATEHANDLER = "eu.etaxonomy.taxeditor.editor.view.derivate.handler.DeleteDerivateHandler";
+ public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DERIVATE_HANDLER_DELETEDERIVATEHANDLER_DEEP = "eu.etaxonomy.taxeditor.editor.view.derivate.handler.DeleteDerivateHandler.deep";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DERIVATE_HANDLER_OPENDERIVATIVEEDITORFORDESCRIPTIONELEMENT = "eu.etaxonomy.taxeditor.editor.view.derivate.handler.OpenDerivativeEditorForDescriptionElement";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DERIVATE_HANDLER_OPENDERIVATIVEEDITORFORSPECIMENOROBSERVATIONBASE = "eu.etaxonomy.taxeditor.editor.view.derivate.handler.OpenDerivativeEditorForSpecimenOrOBservationBase";
+ public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DERIVATE_HANDLER_OPENSPECIMENEDITORFROMMENU = "eu.etaxonomy.taxeditor.editor.view.derivate.handler.OpenSpecimenEditorFromMenu";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DERIVATE_HANDLER_SAVEHANDLER = "eu.etaxonomy.taxeditor.editor.view.derivate.handler.SaveHandler";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DERIVATE_HANDLER_SINGLEREADHANDLER_COPYSINGLEREAD = "eu.etaxonomy.taxeditor.editor.view.derivate.handler.SingleReadHandler.copySingleRead";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DERIVATE_HANDLER_SINGLEREADHANDLER_REMOVESINGLEREAD = "eu.etaxonomy.taxeditor.editor.view.derivate.handler.SingleReadHandler.removeSingleRead";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DERIVATE_HANDLER_TOGGLELINKWITHTAXONSELECTIONHANDLER = "eu.etaxonomy.taxeditor.editor.view.derivate.handler.ToggleLinkWithTaxonSelectionHandler";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DESCRIPTIVE_E4_HANDLER_CREATEDESCRIPTIONELEMENTHANDLERE4 = "eu.etaxonomy.taxeditor.editor.view.descriptive.e4.handler.CreateDescriptionElementHandlerE4";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DESCRIPTIVE_E4_HANDLER_CREATEDESCRIPTIONHANDLER = "eu.etaxonomy.taxeditor.editor.view.descriptive.e4.handler.CreateDescriptionHandler";
- public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DESCRIPTIVE_E4_HANDLER_DELETEHANDLER = "eu.etaxonomy.taxeditor.editor.view.descriptive.e4.handler.DeleteHandler";
+ public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DESCRIPTIVE_E4_HANDLER_DELETEHANDLER_FACTUALDATAVIEW = "eu.etaxonomy.taxeditor.editor.view.descriptive.e4.handler.DeleteHandler.factualDataView";
+ public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DESCRIPTIVE_E4_HANDLER_DELETEHANDLER_USESVIEW = "eu.etaxonomy.taxeditor.editor.view.descriptive.e4.handler.DeleteHandler.usesView";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DESCRIPTIVE_E4_HANDLER_MOVEDESCRIPTIONELEMENTSHANDLER = "eu.etaxonomy.taxeditor.editor.view.descriptive.e4.handler.MoveDescriptionElementsHandler";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DESCRIPTIVE_E4_HANDLER_MOVEDESCRIPTIONTOOTHERTAXONHANDLER = "eu.etaxonomy.taxeditor.editor.view.descriptive.e4.handler.MoveDescriptionToOtherTaxonHandler";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DESCRIPTIVE_E4_HANDLER_TOGGLESHOWONLYINDIVIDUALASSOCIATIONSHANDLERE4 = "eu.etaxonomy.taxeditor.editor.view.descriptive.e4.handler.ToggleShowOnlyIndividualAssociationsHandlerE4";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_USES_E4_HANDLER_CREATEUSEHANDLERE4 = "eu.etaxonomy.taxeditor.editor.view.uses.e4.handler.CreateUseHandlerE4";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_USES_E4_HANDLER_CREATEUSERECORDHANDLERE4 = "eu.etaxonomy.taxeditor.editor.view.uses.e4.handler.CreateUseRecordHandlerE4";
public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_USES_E4_HANDLER_CREATEUSESUMMARYHANDLERE4 = "eu.etaxonomy.taxeditor.editor.view.uses.e4.handler.CreateUseSummaryHandlerE4";
+ public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_WORKINGSET_HANDLER_CREATEWORKINGSETHANDLER = "eu.etaxonomy.taxeditor.editor.workingSet.handler.CreateWorkingSetHandler";
+ public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_WORKINGSET_HANDLER_DELETEWORKINGSET = "eu.etaxonomy.taxeditor.editor.workingSet.handler.deleteWorkingSet";
+ public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_WORKINGSET_HANDLER_OPENCHARACTERMATRIXHANDLER = "eu.etaxonomy.taxeditor.editor.workingSet.handler.OpenCharacterMatrixHandler";
+ public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_WORKINGSET_HANDLER_OPENWORKINGSETEDITORHANDLER = "eu.etaxonomy.taxeditor.editor.workingSet.handler.OpenWorkingSetEditorHandler";
+ public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_EDITOR_WORKINGSET_HANDLER_REFRESHWORKINGSETNAVIGATORHANDLER = "eu.etaxonomy.taxeditor.editor.workingSet.handler.RefreshWorkingSetNavigatorHandler";
+ public static final String HANDLER_EU_ETAXONOMY_TAXEDITOR_VIEW_DATASOURCE_E4_HANDLER_CREATEDATASOURCEHANDLERE4_NEWMENU = "eu.etaxonomy.taxeditor.view.datasource.e4.handler.CreateDataSourceHandlerE4.newMenu";
public static final String MENUSEPARATOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_MENUSEPARATOR_0 = "eu.etaxonomy.taxeditor.editor.menuseparator.0";
public static final String MENUSEPARATOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_MENUSEPARATOR_1 = "eu.etaxonomy.taxeditor.editor.menuseparator.1";
public static final String MENUSEPARATOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_MENUSEPARATOR_10 = "eu.etaxonomy.taxeditor.editor.menuseparator.10";
public static final String MENUSEPARATOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_MENUSEPARATOR_19 = "eu.etaxonomy.taxeditor.editor.menuseparator.19";
public static final String MENUSEPARATOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_MENUSEPARATOR_2 = "eu.etaxonomy.taxeditor.editor.menuseparator.2";
public static final String MENUSEPARATOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_MENUSEPARATOR_20 = "eu.etaxonomy.taxeditor.editor.menuseparator.20";
+ public static final String MENUSEPARATOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_MENUSEPARATOR_21 = "eu.etaxonomy.taxeditor.editor.menuseparator.21";
public static final String MENUSEPARATOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_MENUSEPARATOR_3 = "eu.etaxonomy.taxeditor.editor.menuseparator.3";
public static final String MENUSEPARATOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_MENUSEPARATOR_4 = "eu.etaxonomy.taxeditor.editor.menuseparator.4";
public static final String MENUSEPARATOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_MENUSEPARATOR_5 = "eu.etaxonomy.taxeditor.editor.menuseparator.5";
public static final String MENUSEPARATOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_MENUSEPARATOR_9 = "eu.etaxonomy.taxeditor.editor.menuseparator.9";
public static final String MENUSEPARATOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_MENUSEPARATOR_BEFOREDELETE = "eu.etaxonomy.taxeditor.editor.menuseparator.beforeDelete";
public static final String MENU_EU_ETAXONOMY_TAXEDITOR_EDITOR_MENU_ADD = "eu.etaxonomy.taxeditor.editor.menu.add";
+ public static final String MENU_EU_ETAXONOMY_TAXEDITOR_EDITOR_MENU_CHARACTERMATRIX = "eu.etaxonomy.taxeditor.editor.menu.characterMatrix";
public static final String MENU_EU_ETAXONOMY_TAXEDITOR_EDITOR_MENU_POLYTOMOUSKEYLIST_NEWKEYNUMBER = "eu.etaxonomy.taxeditor.editor.menu.polytomouskeylist.newkeynumber";
public static final String MENU_EU_ETAXONOMY_TAXEDITOR_EDITOR_MENU_SPECIMEN_EDITOR_MEDIA = "eu.etaxonomy.taxeditor.editor.menu.specimen_editor.media";
public static final String MENU_EU_ETAXONOMY_TAXEDITOR_EDITOR_NAMEEDITOR_MENU_CHANGETO = "eu.etaxonomy.taxeditor.editor.nameEditor.menu.changeTo";
public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_EDITOR_SHOWVIEW_PARAMETER_CONCEPTVIEW = "eu.etaxonomy.taxeditor.editor.showView.parameter.conceptview";
public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_EDITOR_SHOWVIEW_PARAMETER_FACTUALVIEW = "eu.etaxonomy.taxeditor.editor.showView.parameter.factualview";
public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_EDITOR_SHOWVIEW_PARAMETER_MEDIAVIEW = "eu.etaxonomy.taxeditor.editor.showView.parameter.mediaview";
- public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_EDITOR_SHOWVIEW_PARAMETER_SPECIMENEDITOR = "eu.etaxonomy.taxeditor.editor.showView.parameter.specimenEditor";
- public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_DETAILSVIEW = "eu.etaxonomy.taxeditor.store.showView.parameter.detailsView";
+ public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_EDITOR_SHOWVIEW_PARAMETER_WORKINGSETEDITOR = "eu.etaxonomy.taxeditor.editor.showView.parameter.workingSetEditor";
+ public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_DETAILSVIEW_NAMEEDITOR = "eu.etaxonomy.taxeditor.store.showView.parameter.detailsView.nameEditor";
public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_GROUP_AUTHORITY_E4_CDMAUTHORITYEDITORE4 = "eu.etaxonomy.taxeditor.editor.group.authority.e4.CdmAuthorityEditorE4";
public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_KEY_POLYTOMOUS_E4_POLYTOMOUSKEYGRAPHEDITORE4 = "eu.etaxonomy.taxeditor.editor.key.polytomous.e4.PolytomousKeyGraphEditorE4";
public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_KEY_POLYTOMOUS_E4_POLYTOMOUSKEYLISTEDITORE4 = "eu.etaxonomy.taxeditor.editor.key.polytomous.e4.PolytomousKeyListEditorE4";
public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DESCRIPTIVE_E4_FACTUALDATAPARTE4 = "eu.etaxonomy.taxeditor.editor.view.descriptive.e4.FactualDataPartE4";
public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_MEDIA_E4_MEDIAVIEWPARTE4 = "eu.etaxonomy.taxeditor.editor.view.media.e4.MediaViewPartE4";
public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_USES = "eu.etaxonomy.taxeditor.editor.view.uses";
+ public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_WORKINGSET_WORKINGSETEDITOR = "eu.etaxonomy.taxeditor.editor.view.workingSet.WorkingSetEditor";
public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_WORKINGSET_CHARACTEREDITOR = "eu.etaxonomy.taxeditor.editor.workingSet.CharacterEditor";
+ public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_WORKINGSET_MATRIX_CHARACTERMATRIXPART = "eu.etaxonomy.taxeditor.editor.workingSet.matrix.CharacterMatrixPart";
+ public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_WORKINGSET_WORKINGSETNAVIGATOR = "eu.etaxonomy.taxeditor.editor.workingSet.WorkingSetNavigator";
public static final String POPUPMENU_EU_ETAXONOMY_TAXEDITOR_EDITOR_POPUPMENU_CHARACTEREDITOR = "eu.etaxonomy.taxeditor.editor.popupmenu.characterEditor";
public static final String POPUPMENU_EU_ETAXONOMY_TAXEDITOR_EDITOR_POPUPMENU_CONCEPTVIEW = "eu.etaxonomy.taxeditor.editor.popupmenu.conceptview";
public static final String POPUPMENU_EU_ETAXONOMY_TAXEDITOR_EDITOR_POPUPMENU_FACTUALDATAVIEW = "eu.etaxonomy.taxeditor.editor.popupmenu.factualDataView";
public static final String POPUPMENU_EU_ETAXONOMY_TAXEDITOR_EDITOR_POPUPMENU_POLYTOMOUSKEYLISTEDITOR = "eu.etaxonomy.taxeditor.editor.popupmenu.polytomouskeylisteditor";
public static final String POPUPMENU_EU_ETAXONOMY_TAXEDITOR_EDITOR_POPUPMENU_SPECIMENEDITOR = "eu.etaxonomy.taxeditor.editor.popupmenu.specimeneditor";
public static final String POPUPMENU_EU_ETAXONOMY_TAXEDITOR_EDITOR_POPUPMENU_USESVIEW = "eu.etaxonomy.taxeditor.editor.popupmenu.usesView";
+ public static final String POPUPMENU_EU_ETAXONOMY_TAXEDITOR_EDITOR_POPUPMENU_WORKINGSETNAVIGATOR = "eu.etaxonomy.taxeditor.editor.popupmenu.workingSetNavigator";
+ public static final String TOOLBAR_EU_ETAXONOMY_TAXEDITOR_EDITOR_TOOLBAR_0 = "eu.etaxonomy.taxeditor.editor.toolbar.0";
+ public static final String TOOLBAR_EU_ETAXONOMY_TAXEDITOR_EDITOR_TOOLBAR_1 = "eu.etaxonomy.taxeditor.editor.toolbar.1";
+ public static final String TOOLBAR_EU_ETAXONOMY_TAXEDITOR_EDITOR_TOOLBAR_2 = "eu.etaxonomy.taxeditor.editor.toolbar.2";
}
\ No newline at end of file
import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView;
import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateViewEditorInput;
import eu.etaxonomy.taxeditor.editor.workingSet.WorkingSetEditor;
-import eu.etaxonomy.taxeditor.editor.workingSet.matrix.CharacterMatrix;
+import eu.etaxonomy.taxeditor.editor.workingSet.matrix.CharacterMatrixPart;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.workbench.WorkbenchUtility;
}
public static void openCharacterMatrix(UUID workingSetUuid, EModelService modelService, EPartService partService, MApplication application){
- MPart part = partService.createPart("eu.etaxonomy.taxeditor.editor.workingSet.matrix.CharacterMatrix");
+ MPart part = partService.createPart(AppModelId.PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_WORKINGSET_MATRIX_CHARACTERMATRIXPART);
MPartStack editorAreaPartStack = WorkbenchUtility.getEditorAreaPartStack(application, modelService);
if(editorAreaPartStack!=null){
editorAreaPartStack.getChildren().add(part);
}
part = partService.showPart(part, PartState.ACTIVATE);
- CharacterMatrix editor = (CharacterMatrix) part.getObject();
+ CharacterMatrixPart editor = (CharacterMatrixPart) part.getObject();
editor.init(workingSetUuid, true);
}
import org.eclipse.nebula.widgets.nattable.export.command.ExportCommand;
import org.eclipse.swt.widgets.Shell;
-import eu.etaxonomy.taxeditor.editor.workingSet.matrix.CharacterMatrix;
+import eu.etaxonomy.taxeditor.editor.workingSet.matrix.CharacterMatrixPart;
public class ExportCharacterMatrixHandler {
@Execute
public void execute(@Named(IServiceConstants.ACTIVE_PART)MPart activePart,
@Named(IServiceConstants.ACTIVE_SHELL)Shell shell) {
- CharacterMatrix characterMatrix = (CharacterMatrix) activePart.getObject();
+ CharacterMatrixPart characterMatrix = (CharacterMatrixPart) activePart.getObject();
NatTable natTable = characterMatrix.getNatTable();
natTable.doCommand(new ExportCommand(natTable.getConfigRegistry(), shell));
}
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
-import java.util.UUID;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.inject.Inject;
import org.apache.commons.collections4.map.LinkedMap;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.e4.ui.di.Focus;
-import org.eclipse.e4.ui.di.Persist;
-import org.eclipse.e4.ui.model.application.ui.MDirtyable;
-import org.eclipse.e4.ui.model.application.ui.basic.MPart;
-import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.ComboViewer;
import ca.odell.glazedlists.GlazedLists;
import ca.odell.glazedlists.SortedList;
import ca.odell.glazedlists.TreeList;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.api.service.IWorkingSetService;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.State;
import eu.etaxonomy.cdm.model.description.WorkingSet;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.workingSet.matrix.categorical.CategoricalDataCellEditor;
import eu.etaxonomy.taxeditor.editor.workingSet.matrix.categorical.CategoricalDataDisplayConverter;
import eu.etaxonomy.taxeditor.editor.workingSet.matrix.quantitative.QuantitativeDataCellEditor;
import eu.etaxonomy.taxeditor.editor.workingSet.matrix.supplementalInfo.SupplementalInfoDisplayConverter;
import eu.etaxonomy.taxeditor.model.ColorResources;
import eu.etaxonomy.taxeditor.model.DescriptionHelper;
-import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
-import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.model.ImageResources;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.preference.Resources;
-import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
-import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
-import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.workbench.WorkbenchUtility;
-import eu.etaxonomy.taxeditor.workbench.part.IE4SavablePart;
/**
* Character matrix editor for editing specimen/taxon descriptions in a table
* @since Nov 26, 2017
*
*/
-public class CharacterMatrix implements IE4SavablePart, IPartContentHasDetails, IConversationEnabled, IDirtyMarkable,
-ICdmEntitySessionEnabled{
+public class CharacterMatrix extends Composite {
private static final List<String> WS_PROPERTY_PATH = Arrays.asList(new String[] {
"descriptions", //$NON-NLS-1$
private WorkingSet workingSet;
- private ConversationHolder conversation;
-
- private ICdmEntitySession cdmEntitySession;
-
- @Inject
- private ESelectionService selService;
-
- @Inject
- private MDirtyable dirty;
-
- @Inject
- private MPart thisPart;
-
private NatTable natTable;
private Map<Integer, Feature> indexToFeatureMap = new HashMap<>();
private Label wsLabel;
- private Composite parent;
-
private List<Feature> features;
private DisplayPersistenceDialogCommandHandler displayPersistenceDialogCommandHandler;
- @PostConstruct
- public void create(Composite parent) {
- if(CdmStore.isActive() && conversation==null){
- conversation = CdmStore.createConversation();
- }
- if(cdmEntitySession == null){
- cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
- }
- else{
- return;
- }
- this.parent = parent;
- parent.setLayout(new GridLayout());
+ private CharacterMatrixPart part;
- Composite toolbarComposite = new Composite(parent, SWT.NONE);
+
+ public CharacterMatrix(Composite parent, CharacterMatrixPart part) {
+ super(parent, SWT.NONE);
+ this.part = part;
+ this.setLayout(new GridLayout());
+
+ Composite toolbarComposite = new Composite(this, SWT.NONE);
toolbarComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
toolbarComposite.setLayout(new GridLayout(9, false));
- natTable = new NatTable(parent, false);
+ natTable = new NatTable(this, false);
wsLabel = new Label(toolbarComposite, SWT.NONE);
}
});
- Composite buttonPanel = new Composite(parent, SWT.NONE);
+ Composite buttonPanel = new Composite(this, SWT.NONE);
buttonPanel.setLayout(new RowLayout());
GridDataFactory.fillDefaults().grab(true, false).applyTo(buttonPanel);
}
private void toggleTreeFlat(boolean isTree, Button btnToggleFlat, Button btnToggleTree, Button btnCollapseAll, Button btnExpandAll) {
- init(workingSet.getUuid(), isTree);
+ createLayers(isTree);
btnToggleFlat.setEnabled(isTree);
btnToggleTree.setEnabled(!isTree);
btnCollapseAll.setEnabled(isTree);
natTable.doCommand(new ClientAreaResizeCommand(natTable));
}
- public void init(UUID workingSetUuid, boolean treeView) {
- if(workingSet==null){
- this.workingSet = CdmStore.getService(IWorkingSetService.class).load(workingSetUuid, WS_PROPERTY_PATH);
- if(workingSet.getDescriptiveSystem()==null){
- MessagingUtils.informationDialog("Editor could not be opened", "The working set has no feature tree selected.");
- return;
+ public void initWorkingSet(WorkingSet workingSet){
+ this.workingSet = workingSet;
+ //get features/columns stored in working set
+ FeatureTree tree = workingSet.getDescriptiveSystem();
+ features = new ArrayList<>(tree.getDistinctFeatures());
+ Collections.sort(features);
+ //init state data for categorical features
+ features.forEach(feature->
+ {
+ if(feature.isSupportsCategoricalData()){
+ List<State> supportedStates = new ArrayList<>();
+ feature.getSupportedCategoricalEnumerations().forEach(voc->supportedStates.addAll(voc.getTerms()));
+ categoricalFeatureToStateMap.put(feature, supportedStates);
}
- thisPart.setLabel(workingSet.getLabel());
-
- //get features/columns stored in working set
- FeatureTree tree = workingSet.getDescriptiveSystem();
- features = new ArrayList<>(tree.getDistinctFeatures());
- Collections.sort(features);
- //init state data for categorical features
- features.forEach(feature->
- {
- if(feature.isSupportsCategoricalData()){
- List<State> supportedStates = new ArrayList<>();
- feature.getSupportedCategoricalEnumerations().forEach(voc->supportedStates.addAll(voc.getTerms()));
- categoricalFeatureToStateMap.put(feature, supportedStates);
- }
- });
+ });
+ descriptions = GlazedLists.eventList(getDescriptions(workingSet));
- descriptions = GlazedLists.eventList(getDescriptions(workingSet));
- }
+ }
+
+ public void createLayers(boolean treeView) {
// use the SortedList constructor with 'null' for the Comparator
// because the Comparator will be set by configuration
SortedList<Object> sortedList = new SortedList<>(descriptions, new MatrixRowComparator());
selection = new StructuredSelection(dataValue);
}
}
- selService.setSelection(selection);
+ part.getSelectionService().setSelection(selection);
}
}
}
freezeSupplementalColumns(true);
- parent.layout();
+ this.layout();
natTable.addConfiguration(new DefaultFreezeGridBindings());
}
public void setDirty() {
- this.dirty.setDirty(true);
+ part.setDirty();
}
public NatTable getNatTable() {
this.specimenCache = specimenCache;
}
- /**
- * @return the bodyDataProvider
- */
- public ListDataProvider<Object> getBodyDataProvider() {
- return bodyDataProvider;
- }
-
- @Persist
- @Override
- public void save(IProgressMonitor monitor) {
- CdmStore.getService(IWorkingSetService.class).merge(workingSet, true);
- conversation.commit();
- dirty.setDirty(false);
+ public Properties getNatTableState() {
+ return natTableState;
}
- @Focus
- public void setFocus(){
- if(conversation!=null){
- conversation.bind();
- }
- if(cdmEntitySession != null) {
- cdmEntitySession.bind();
- }
- }
-
- @PreDestroy
- public void dispose(){
- if (conversation != null) {
- conversation.close();
- conversation = null;
- }
- if(cdmEntitySession != null) {
- cdmEntitySession.dispose();
- cdmEntitySession = null;
- }
- dirty.setDirty(false);
- if(natTableState!=null){
- try (FileOutputStream tableStateStream =
- new FileOutputStream(getStatePropertiesFile())) {
- natTableState.store(tableStateStream, null);
- } catch (IOException ioe) {
- ioe.printStackTrace();
- }
- }
+ public ListDataProvider<Object> getBodyDataProvider() {
+ return bodyDataProvider;
}
private File getStatePropertiesFile() {
return new File(WorkbenchUtility.getBaseLocation(), CHARACTER_MATRIX_STATE_PROPERTIES);
}
- /**
- * {@inheritDoc}
- */
- @Override
- public void update(CdmDataChangeMap arg0) {
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void changed(Object element) {
- setDirty();
- natTable.refresh();
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void forceDirty() {
- setDirty();
- }
-
-
- /**
- * {@inheritDoc}
- */
- @Override
- public ICdmEntitySession getCdmEntitySession() {
- return cdmEntitySession;
- }
-
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Collection<WorkingSet> getRootEntities() {
- return Collections.singleton(this.workingSet);
- }
-
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Map<Object, List<String>> getPropertyPathsMap() {
- Map<Object, List<String>> propertyMap = new HashMap<>();
- propertyMap.put(SpecimenOrObservationBase.class,WS_PROPERTY_PATH);
- return propertyMap;
- }
-
}
--- /dev/null
+/**
+ * Copyright (C) 2017 EDIT
+ * European Distributed Institute of Taxonomy
+ * http://www.e-taxonomy.eu
+ *
+ * The contents of this file are subject to the Mozilla Public License Version 1.1
+ * See LICENSE.TXT at the top of this package for the full license terms.
+ */
+package eu.etaxonomy.taxeditor.editor.workingSet.matrix;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.inject.Inject;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.e4.ui.di.Focus;
+import org.eclipse.e4.ui.di.Persist;
+import org.eclipse.e4.ui.model.application.ui.MDirtyable;
+import org.eclipse.e4.ui.model.application.ui.basic.MPart;
+import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.swt.widgets.Composite;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
+import eu.etaxonomy.cdm.api.service.IWorkingSetService;
+import eu.etaxonomy.cdm.model.description.WorkingSet;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
+import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
+import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.workbench.WorkbenchUtility;
+import eu.etaxonomy.taxeditor.workbench.part.IE4SavablePart;
+
+/**
+ * Character matrix editor for editing specimen/taxon descriptions in a table
+ * @author pplitzner
+ * @since Nov 26, 2017
+ *
+ */
+public class CharacterMatrixPart implements IE4SavablePart, IPartContentHasDetails, IConversationEnabled, IDirtyMarkable,
+ICdmEntitySessionEnabled{
+
+ private static final List<String> WS_PROPERTY_PATH = Arrays.asList(new String[] {
+ "descriptions", //$NON-NLS-1$
+ "descriptions.descriptionElements", //$NON-NLS-1$
+ "descriptions.descriptionElements.inDescription", //$NON-NLS-1$
+ "descriptions.descriptionElements.inDescription.descriptionElements", //$NON-NLS-1$
+ "descriptions.descriptionElements.feature", //$NON-NLS-1$
+ });
+
+ private static final String CHARACTER_MATRIX_STATE_PROPERTIES = "characterMatrixState.properties";
+
+ private WorkingSet workingSet;
+
+ private ConversationHolder conversation;
+
+ private ICdmEntitySession cdmEntitySession;
+
+ @Inject
+ private ESelectionService selService;
+
+ @Inject
+ private MDirtyable dirty;
+
+ @Inject
+ private MPart thisPart;
+
+ private CharacterMatrix matrix;
+
+ @PostConstruct
+ public void create(Composite parent) {
+ if(CdmStore.isActive() && conversation==null){
+ conversation = CdmStore.createConversation();
+ }
+ if(cdmEntitySession == null){
+ cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
+ }
+ else{
+ return;
+ }
+ matrix = new CharacterMatrix(parent, this);
+ }
+
+ public void init(UUID workingSetUuid, boolean treeView) {
+ this.workingSet = CdmStore.getService(IWorkingSetService.class).load(workingSetUuid, WS_PROPERTY_PATH);
+ if(workingSet!=null){
+ if(workingSet.getDescriptiveSystem()==null){
+ MessagingUtils.informationDialog("Editor could not be opened", "The working set has no feature tree selected.");
+ return;
+ }
+ matrix.initWorkingSet(workingSet);
+ matrix.createLayers(treeView);
+ thisPart.setLabel(workingSet.getLabel());
+ }
+ }
+
+ public void setDirty() {
+ this.dirty.setDirty(true);
+ }
+
+ public WorkingSet getWorkingSet() {
+ return workingSet;
+ }
+
+ private File getStatePropertiesFile() {
+ return new File(WorkbenchUtility.getBaseLocation(), CHARACTER_MATRIX_STATE_PROPERTIES);
+ }
+
+ public NatTable getNatTable() {
+ return matrix.getNatTable();
+ }
+
+ public ESelectionService getSelectionService() {
+ return selService;
+ }
+
+ @Persist
+ @Override
+ public void save(IProgressMonitor monitor) {
+ CdmStore.getService(IWorkingSetService.class).merge(workingSet, true);
+ conversation.commit();
+ dirty.setDirty(false);
+ }
+
+ @Focus
+ public void setFocus(){
+ if(conversation!=null){
+ conversation.bind();
+ }
+ if(cdmEntitySession != null) {
+ cdmEntitySession.bind();
+ }
+ }
+
+ @PreDestroy
+ public void dispose(){
+ if (conversation != null) {
+ conversation.close();
+ conversation = null;
+ }
+ if(cdmEntitySession != null) {
+ cdmEntitySession.dispose();
+ cdmEntitySession = null;
+ }
+ dirty.setDirty(false);
+ if(matrix.getNatTableState()!=null){
+ try (FileOutputStream tableStateStream =
+ new FileOutputStream(getStatePropertiesFile())) {
+ matrix.getNatTableState().store(tableStateStream, null);
+ } catch (IOException ioe) {
+ ioe.printStackTrace();
+ }
+ }
+ }
+
+ @Override
+ public void update(CdmDataChangeMap arg0) {
+ }
+
+ @Override
+ public ConversationHolder getConversationHolder() {
+ return conversation;
+ }
+
+ @Override
+ public void changed(Object element) {
+ setDirty();
+ matrix.getNatTable().refresh();
+ }
+
+ @Override
+ public void forceDirty() {
+ setDirty();
+ }
+
+ @Override
+ public ICdmEntitySession getCdmEntitySession() {
+ return cdmEntitySession;
+ }
+
+ @Override
+ public Collection<WorkingSet> getRootEntities() {
+ return Collections.singleton(this.workingSet);
+ }
+
+ @Override
+ public Map<Object, List<String>> getPropertyPathsMap() {
+ Map<Object, List<String>> propertyMap = new HashMap<>();
+ propertyMap.put(SpecimenOrObservationBase.class,WS_PROPERTY_PATH);
+ return propertyMap;
+ }
+
+}