visible="true">
</separator>
<command
- commandId="org.eclipse.ui.edit.delete"
+ commandId="eu.etaxonomy.taxeditor.navigation.command.delete"
label="%command.label.10"
style="push">
<visibleWhen
visible="true">
</separator>
<command
- commandId="org.eclipse.ui.edit.delete"
+ commandId="eu.etaxonomy.taxeditor.navigation.key.polytomous.command.delete"
label="%command.label.19"
style="push">
</command>
id="eu.etaxonomy.taxeditor.navigation.navigator.handler.OpenFixClassificationHierarchyHandler"
name="%command.name.10">
</command>
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.navigation.navigator.handler.DeleteHandler"
+ id="eu.etaxonomy.taxeditor.navigation.command.delete"
+ name="delete">
+ </command>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="eu.etaxonomy.taxeditor.navigation.navigator.handler.DeleteHandler"
- commandId="org.eclipse.ui.edit.delete">
+ commandId="eu.etaxonomy.taxeditor.navigation.navigator.command.delete">
<activeWhen>
<with
variable="activePartId">
</handler>
<handler
class="eu.etaxonomy.taxeditor.navigation.key.polytomous.handler.DeleteHandler"
- commandId="org.eclipse.ui.edit.delete">
+ commandId="eu.etaxonomy.taxeditor.navigation.key.polytomous.command.delete">
<activeWhen>
<with
variable="activePartId">
package eu.etaxonomy.taxeditor.navigation.navigator;
import java.util.ArrayList;
+import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Observable;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.taxon.TaxonComparator;
import eu.etaxonomy.cdm.model.taxon.TaxonComparatorSearch;
+import eu.etaxonomy.cdm.model.taxon.TaxonNaturalComparator;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.model.DataChangeBridge;
import eu.etaxonomy.taxeditor.model.IDataChangeBehavior;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.store.LoginManager;
/** {@inheritDoc} */
@Override
protected IAdaptable getInitialInput() {
-
- TaxonComparatorSearch comparator = new TaxonComparatorSearch();
+ Comparator comparator;
+ if (PreferencesUtil.getSortNodesNaturally()){
+ comparator = new TaxonNaturalComparator();
+ } else{
+ comparator = new TaxonComparatorSearch();
+ }
TaxonNodeComparator viewerComparator = new TaxonNodeComparator(comparator);
this.getCommonViewer().setComparator(viewerComparator);
setLinkingEnabled(true);
import eu.etaxonomy.cdm.model.taxon.Classification;\r
import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
import eu.etaxonomy.cdm.model.taxon.TaxonComparatorSearch;\r
+import eu.etaxonomy.cdm.model.taxon.TaxonNaturalComparator;\r
import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
import eu.etaxonomy.taxeditor.ui.section.supplemental.IdentifiableSourceElement;\r
\r
public class TaxonNodeComparator extends ViewerComparator{\r
\r
\r
- public TaxonNodeComparator(TaxonComparatorSearch comparator) {\r
+ public TaxonNodeComparator(Comparator<TaxonBase> comparator){\r
super(comparator);\r
}\r
\r
if (e1 instanceof Classification && e2 instanceof Classification){\r
return ((Classification)e1).getTitleCache().compareTo(((Classification)e2).getTitleCache());\r
} else{\r
- return this.getComparator().compare(((TaxonNode)e1).getTaxon(),((TaxonNode)e2).getTaxon());\r
+ if (this.getComparator() instanceof TaxonNaturalComparator){\r
+ return this.getComparator().compare((TaxonNode)e1, (TaxonNode)e2);\r
+ }else{\r
+ return this.getComparator().compare(((TaxonNode)e1).getTaxon(),((TaxonNode)e2).getTaxon());\r
+ }\r
}\r
}\r
}\r
import org.eclipse.core.commands.operations.IUndoContext;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.dialogs.IconAndMessageDialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.util.LocalSelectionTransfer;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.TreeSelection;
import org.eclipse.swt.dnd.DropTargetEvent;
import org.eclipse.swt.dnd.TransferData;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.ui.navigator.CommonDropAdapter;
import org.eclipse.ui.navigator.CommonDropAdapterAssistant;
import eu.etaxonomy.taxeditor.navigation.navigator.operation.MoveTaxonOperation;
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
/**
public IStatus handleDrop(CommonDropAdapter dropAdapter,
DropTargetEvent dropTargetEvent, Object target) {
+
if (target instanceof ITaxonTreeNode) {
Set<TaxonNode> taxonNodes = getSelectedTaxa();
ITaxonTreeNode targetTreeNode = (ITaxonTreeNode) target;
}
}
}
-
+
return Status.CANCEL_STATUS;
}
if(targetITaxonTreeNode instanceof TaxonNode){
TaxonNode targetTaxonNode = (TaxonNode) targetITaxonTreeNode;
-
-// for(TaxonNode taxonNode : taxonNodes){
-// if (taxonNode.equals(targetTaxonNode)) {
-// return Status.CANCEL_STATUS;
-// }
-// }
-
- // Make sure parent taxon does not have unsaved changes
+ // Make sure parent taxon does not have unsaved changes
if (NavigationUtil.isDirty(targetTaxonNode)){
MessageDialog.openWarning(NavigationUtil.getShell(), "Unsaved Parent Taxon", "There are unsaved " +
"changes in the parent taxon. Pleas save first.");
return Status.CANCEL_STATUS;
}
-
- /*if (((TaxonNode) targetITaxonTreeNode).isTopmostNode()) {
- MessageDialog.openConfirm(null, "Taxonnode can not be moved", "A taxonnode can not be moved to the classification");
- }*/
-
- // Make sure parentTaxon is not the drop target
-// if (!childTaxonNode.isTopmostNode() && childTaxonNode.getParent().equals(targetTaxonNode)){
-// return Status.CANCEL_STATUS;
-// }
-
- // Make sure taxon is not being dropped onto itself
-// if (childTaxonNode.equals(targetTaxonNode)) {
-// return Status.CANCEL_STATUS;
-// }
-
-
-
}
-
- IUndoContext workspaceUndoContext = NavigationUtil.getWorkbenchUndoContext();
- if (workspaceUndoContext == null) {
- logger.error("Workspace undo context is null. DND operation cancelled");
- return Status.CANCEL_STATUS;
- }
-
- AbstractPostOperation operation = new MoveTaxonOperation
- ("Move Taxon", workspaceUndoContext, taxonNode, targetITaxonTreeNode, this, taxonNavigator);
- NavigationUtil.executeOperation(operation);
+ if (!PreferencesUtil.getSortNodesNaturally()){
+ IUndoContext workspaceUndoContext = NavigationUtil.getWorkbenchUndoContext();
+ if (workspaceUndoContext == null) {
+ logger.error("Workspace undo context is null. DND operation cancelled");
+ return Status.CANCEL_STATUS;
+ }
+
+ AbstractPostOperation operation = new MoveTaxonOperation
+ ("Move Taxon", workspaceUndoContext, taxonNode, targetITaxonTreeNode, this, taxonNavigator, true);
+ NavigationUtil.executeOperation(operation);
+
+ logger.info("Moved taxa to new parent " + targetITaxonTreeNode);
+ return Status.OK_STATUS;
+ }else{
+ String[] buttonLables = {"Parent", "Predecessor", "Cancel"};
+ MessageDialog dialog = new MessageDialog(null, "Target node", null, "Do you want to use the target node as parent or do you want to move the taxon below the target.", MessageDialog.QUESTION_WITH_CANCEL, buttonLables, 0);
+ dialog.open();
+ int returnCode = dialog.getReturnCode();
+ if (returnCode == 0){
+ IUndoContext workspaceUndoContext = NavigationUtil.getWorkbenchUndoContext();
+ if (workspaceUndoContext == null) {
+ logger.error("Workspace undo context is null. DND operation cancelled");
+ return Status.CANCEL_STATUS;
+ }
+
+ AbstractPostOperation operation = new MoveTaxonOperation
+ ("Move Taxon", workspaceUndoContext, taxonNode, targetITaxonTreeNode, this, taxonNavigator, true);
+ NavigationUtil.executeOperation(operation);
+
+ logger.info("Moved taxa to new parent " + targetITaxonTreeNode);
+ return Status.OK_STATUS;
+ }else if (returnCode == 1){
+ IUndoContext workspaceUndoContext = NavigationUtil.getWorkbenchUndoContext();
+ if (workspaceUndoContext == null) {
+ logger.error("Workspace undo context is null. DND operation cancelled");
+ return Status.CANCEL_STATUS;
+ }
- logger.info("Moved taxa to new parent " + targetITaxonTreeNode);
- return Status.OK_STATUS;
+ AbstractPostOperation operation = new MoveTaxonOperation
+ ("Move Taxon", workspaceUndoContext, taxonNode, targetITaxonTreeNode, this, taxonNavigator, false);
+ NavigationUtil.executeOperation(operation);
+
+ logger.info("Moved taxa to new parent " + targetITaxonTreeNode);
+ return Status.OK_STATUS;
+ } else{
+ return Status.CANCEL_STATUS;
+ }
+
+
+ }
}
/* (non-Javadoc)
import eu.etaxonomy.taxeditor.navigation.navigator.operation.MoveTaxonOperation;
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonNodeSelectionDialog;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonNodeSelectionNaturalOrderDialog;
/**
* <p>MoveTaxonHandler class.</p>
// TaxonNode taxonNode = (TaxonNode) selection.getFirstElement();
if (taxonNode != null){
- parentTaxonNode = TaxonNodeSelectionDialog.select(HandlerUtil.getActiveShell(event), taxonNavigator.getConversationHolder(), "Choose new parent", excludeTaxa, null, null);
-
+ boolean moveToNewParent = true;
+ if (PreferencesUtil.getSortNodesNaturally()){
+ if(!MessageDialog.openQuestion(null, "Target node", "The choosen target node should be the parent?")){
+ moveToNewParent = false;
+ }
+ parentTaxonNode = TaxonNodeSelectionDialog.select(HandlerUtil.getActiveShell(event), taxonNavigator.getConversationHolder(), "Choose the taxon above the moved taxon.", excludeTaxa, null, null);
+ }else{
+ parentTaxonNode = TaxonNodeSelectionDialog.select(HandlerUtil.getActiveShell(event), taxonNavigator.getConversationHolder(), "Choose new parent", excludeTaxa, null, null);
+ }
if(parentTaxonNode != null){
if(NavigationUtil.isDirty(parentTaxonNode)){
MessageDialog.openWarning(HandlerUtil.getActiveShell(event), "Unsaved Parent Taxon", "There are unsaved " +
AbstractPostOperation operation = new MoveTaxonOperation
("Move taxon to new parent", NavigationUtil.getUndoContext(),
- taxonNode, parentTaxonNode, taxonNavigator, taxonNavigator); //$NON-NLS-1$
+ taxonNode, parentTaxonNode, taxonNavigator, taxonNavigator, moveToNewParent); //$NON-NLS-1$
NavigationUtil.executeOperation(operation);
taxonNavigator.refresh();
//private Map<TaxonNode, ITaxonTreeNode> oldParentTreeNodes;
private TaxonNode taxonNode;
-
+ private boolean moveToParentNode;
/**
* <p>Constructor for MoveTaxonOperation.</p>
*
* @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
*/
public MoveTaxonOperation(String label, IUndoContext undoContext,
- TaxonNode taxonNodeToMove, ITaxonTreeNode newParentTreeNode, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled) {
+ TaxonNode taxonNodeToMove, ITaxonTreeNode newParentTreeNode, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled, boolean moveToParentNode) {
super(label, undoContext, postOperationEnabled, conversationEnabled);
this.taxonNode = taxonNodeToMove;
}*/
this.newParentTreeNode = newParentTreeNode;
-
+ this.moveToParentNode = moveToParentNode;
// Save old parent ITaxonTreeNodes for undo
//this.parentNode = taxonNode.getParent();
bind();
monitor.worked(20);
- UpdateResult result = CdmStore.getService(ITaxonNodeService.class).moveTaxonNode(this.taxonNode.getUuid(),newParentTreeNode.getUuid());
+ UpdateResult result = CdmStore.getService(ITaxonNodeService.class).moveTaxonNode(this.taxonNode.getUuid(),newParentTreeNode.getUuid(), moveToParentNode);
// try {
// for (TaxonNode taxonNode : taxonNodes){
// TaxonNode newTaxonNode = newParentTreeNode.addChildNode(taxonNode,
page.name.29 = Editor Profile\r
page.name.30 = Language\r
command.label.clone = Clone\r
-command.label.openInSpecimenEditor = Open in Specimen Editor
\ No newline at end of file
+command.label.openInSpecimenEditor = Open in Specimen Editor\r
+page.name.31 = Order of Taxonnodes\r
+extension.name.0 = Popup Menu Commands\r
+command.name.8 = Clone Datasource\r
+command.name.9 = Open Feature Tree Editor Wizard\r
+command.name.10 = Open Password Wizzard\r
+command.name.11 = Open Distribution Editor Wizard\r
+command.name.12 = Connect\r
+wizard.name.18 = CSV\r
+wizard.name.19 = CSV_NAME\r
+wizard.name.20 = CSV_PRINT\r
+activity.description = DELETE permission dependent ui contributions\r
+activity.name = Delete\r
+activity.description.0 = UPDATE permission dependent ui contributions\r
+activity.name.0 = Update\r
+activity.description.1 = CREATE permission dependent ui contributions\r
+activity.name.1 = Delete\r
+activity.description.2 = ROLE_USER_MANAGER dependent ui contributions\r
+activity.name.2 = UserManagement\r
+activity.description.3 = ROLE_PROJECT_MANAGER dependent ui contributions\r
+activity.name.3 = ProjectManagement\r
+extension-point.name = Cdm Viewer\r
+Bundle-Vendor = EDIT\r
+Bundle-Name = DataStore Bundle\r
+command.name.13 = delete\r
+command.name.14 = delete
\ No newline at end of file
LanguageEditorPreferencePage_EditorHasToRestart=The application has to be restarted, in order to complete the language switch.\nDo you want to restart now?\r
LanguageEditorPreferencePage_PleaseRestart=Please Restart\r
LanguageEditorPreferencePage_RestartRequired=After changing the default language, a restart is required,\nin order for the new settings to take effect.\r
+OrderPreferencePage_NewNavigatorWindowRequired=After changing the order of the taxon nodes, closing and reopen of the taxon navigator is required.\r
+OrderPreferencePage_PleaseReopenNavigator=Please close and reopen the taxon navigator.
\ No newline at end of file
LanguageEditorPreferencePage_ChooseDefaultLanguage=Bitte wählen Sie die Standardsprache für den Taxonomischen Editor aus.\r
LanguageEditorPreferencePage_EditorHasToRestart=Der Anwendung muss neu gestartet werden, um die Sprache zu wechseln.\nWollen Sie jetzt neu starten?\r
LanguageEditorPreferencePage_PleaseRestart=Bitte neu starten\r
-LanguageEditorPreferencePage_RestartRequired=Nach dem Wechsel der Standardsprache ist ein Neustart erforderlich.
\ No newline at end of file
+LanguageEditorPreferencePage_RestartRequired=Nach dem Wechsel der Standardsprache ist ein Neustart erforderlich.\r
+OrderPreferencePage_NewNavigatorWindowRequired=Nach dem Ändern der Taxon Sortierung, ist das Schließen und erneute Öffnen des taxon Navigators erforderlich.
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
- <extension-point id="eu.etaxonomy.taxeditor.store.cdmViewer" name="Cdm Viewer" schema="schema/eu.etaxonomy.taxeditor.store.cdmViewer.exsd"/>
+ <extension-point id="eu.etaxonomy.taxeditor.store.cdmViewer" name="%extension-point.name" schema="schema/eu.etaxonomy.taxeditor.store.cdmViewer.exsd"/>
<extension
point="org.eclipse.ui.preferencePages">
<page
id="eu.etaxonomy.taxeditor.preference.defaultlanguagepditorpreferencePage"
name="%page.name.30">
</page>
+ <page
+ category="eu.etaxonomy.taxeditor.preferences.general"
+ class="eu.etaxonomy.taxeditor.preference.OrderPreferences"
+ id="eu.etaxonomy.taxeditor.preference.OrderPreferencesPage"
+ name="%page.name.31">
+ </page>
</extension>
<extension
point="org.eclipse.ui.views">
visible="true">
</separator>
<command
- commandId="org.eclipse.ui.edit.delete"
+ commandId="eu.etaxonomy.taxeditor.view.datasource.delete"
label="%command.label.9"
style="push">
<visibleWhen>
</command>
</menu>
<command
- commandId="org.eclipse.ui.edit.delete"
+ commandId="eu.etaxonomy.taxeditor.editor.definedTerms.delete"
label="%command.label.14"
style="push">
<visibleWhen
point="org.eclipse.ui.handlers">
<handler
class="eu.etaxonomy.taxeditor.view.datasource.handler.DeleteDataSourceHandler"
- commandId="org.eclipse.ui.edit.delete">
+ commandId="eu.etaxonomy.taxeditor.view.datasource.delete">
<activeWhen>
<with
variable="activePartId">
</handler>
<handler
class="eu.etaxonomy.taxeditor.editor.definedterm.handler.DeleteTermBaseHandler"
- commandId="org.eclipse.ui.edit.delete">
+ commandId="eu.etaxonomy.taxeditor.editor.definedTerms.delete">
<activeWhen>
<with
variable="activePartId">
</handler>
</extension>
<extension
- name="Popup Menu Commands"
+ name="%extension.name.0"
point="org.eclipse.ui.commands">
<command
defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.ChangeConnectionHandler"
<command
defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.CloneDataSourceHandler"
id="eu.etaxonomy.taxeditor.store.datasource.clone"
- name="Clone Datasource">
+ name="%command.name.8">
</command>
<command
defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.CreateDataSourceHandler"
id="eu.etaxonomy.taxeditor.store.datasource.close"
name="%command.name.2">
</command>
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.DeleteDataSourceHandler"
+ id="eu.etaxonomy.taxeditor.view.datasource.delete"
+ name="%command.name.13">
+ </command>
<command
defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.UpdateDataSourceHandler"
id="eu.etaxonomy.taxeditor.store.datasource.update"
</command>
<command
id="eu.etaxonomy.taxeditor.store.open.FeatureTreeEditorWizard"
- name="Open Feature Tree Editor Wizard">
+ name="%command.name.9">
</command>
<command
id="eu.etaxonomy.taxeditor.store.openPasswordWizzard"
- name="Open Password Wizzard">
+ name="%command.name.10">
</command>
<command
id="eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardHandler"
- name="Open Distribution Editor Wizard">
+ name="%command.name.11">
</command>
<command
defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.ChangeConnectionHandler"
id="eu.etaxonomy.taxeditor.datasource.connect"
- name="Connect">
+ name="%command.name.12">
+ </command>
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.editor.definedterm.handler.DeleteTermBaseHandler"
+ id="eu.etaxonomy.taxeditor.editor.definedTerms.delete"
+ name="%command.name.14">
</command>
</extension>
<extension
category="eu.etaxonomy.taxeditor.export.category.cdm"
class="eu.etaxonomy.taxeditor.io.wizard.CsvExportWizard"
id="eu.etaxonomy.taxeditor.io.export.csv"
- name="CSV">
+ name="%wizard.name.18">
</wizard>
<wizard
category="eu.etaxonomy.taxeditor.export.category.cdm"
class="eu.etaxonomy.taxeditor.io.wizard.CsvNameExportWizard"
- id="eu.etaxonomy.taxeditor.io.export.csv"
- name="CSV-Names">
+ id="eu.etaxonomy.taxeditor.io.export.csv_name"
+ name="%wizard.name.19">
+ </wizard>
+ <wizard
+ category="eu.etaxonomy.taxeditor.export.category.cdm"
+ class="eu.etaxonomy.taxeditor.io.wizard.CsvPrintExportWizard"
+ id="eu.etaxonomy.taxeditor.io.export.csv_print"
+ name="%wizard.name.20">
</wizard>
</extension>
<extension
<extension
point="org.eclipse.ui.activities">
<activity
- description="DELETE permission dependent ui contributions"
+ description="%activity.description"
id="eu.etaxonomy.taxeditor.store.activityDelete"
- name="Delete">
+ name="%activity.name">
<enabledWhen>
<reference
definitionId="canDELETE">
pattern="eu\.etaxonomy\.taxeditor\..*/.*.delete">
</activityPatternBinding>
<activity
- description="UPDATE permission dependent ui contributions"
+ description="%activity.description.0"
id="eu.etaxonomy.taxeditor.store.activityUpdate"
- name="Update">
+ name="%activity.name.0">
<enabledWhen>
<reference
definitionId="canUPDATE">
pattern="eu\.etaxonomy\.taxeditor\..*/.*.command\.update\..*">
</activityPatternBinding>
<activity
- description="CREATE permission dependent ui contributions"
+ description="%activity.description.1"
id="eu.etaxonomy.taxeditor.store.activityCreate"
- name="Delete">
+ name="%activity.name.1">
<enabledWhen>
<reference
definitionId="canDELETE">
pattern="eu\.etaxonomy\.taxeditor\..*/.*.command\.create\..*">
</activityPatternBinding>
<activity
- description="ROLE_USER_MANAGER dependent ui contributions"
+ description="%activity.description.2"
id="eu.etaxonomy.taxeditor.store.activityUserManagement"
- name="UserManagement">
+ name="%activity.name.2">
<enabledWhen>
<reference
definitionId="hasROLE_USER_MANAGER">
pattern="eu\.etaxonomy\.taxeditor\..*/bulkeditor\.input\.group">
</activityPatternBinding>
<activity
- description="ROLE_PROJECT_MANAGER dependent ui contributions"
+ description="%activity.description.3"
id="eu.etaxonomy.taxeditor.store.activityProjectManagement"
- name="ProjectManagement">
+ name="%activity.name.3">
<enabledWhen>
<reference
definitionId="hasROLE_PROJECT_MANAGER">
public static String LanguageEditorPreferencePage_EditorHasToRestart;
public static String LanguageEditorPreferencePage_PleaseRestart;
public static String LanguageEditorPreferencePage_RestartRequired;
+ public static String OrderPreferencePage_NewNavigatorWindowRequired;
+ public static String OrderPreferencePage_PleaseReopenNavigator;
public static String CdmDataSourceViewPart_1;
public static String CdmDataSourceViewPart_10;
public static String CdmDataSourceViewPart_11;
/** Constant <code>SORT_RANKS_HIERARCHICHALLY="eu.etaxonomy.taxeditor.menus.sortRanksH"{trunked}</code> */
public static final String SORT_RANKS_HIERARCHICHALLY = "eu.etaxonomy.taxeditor.menus.sortRanksHierarchichally";
-
+ /** Constant <code>SORT_NODES_NATURALL="eu.etaxonomy.taxeditor.menus.sortNodesN"{trunked}</code> */
+ public static final String SORT_NODES_NATURALLY = "eu.etaxonomy.taxeditor.menus.sortNodesNaturally";
+
/**
* Whether multilanguage text fields should be editable in multiple languages.
*/
ctrl.setEnabled(enabled);
}
}
+
+ /**
+ * <p>
+ * getSortRanksNaturally
+ * </p>
+ *
+ * @return a boolean.
+ */
+ public static boolean getSortNodesNaturally() {
+ return getPreferenceStore().getBoolean(SORT_NODES_NATURALLY);
+ }
+
+ /**
+ * <p>
+ * setSortRanksNaturally
+ * </p>
+ *
+ * @param selection
+ * a boolean.
+ */
+ public static void setSortNodesNaturally(boolean selection) {
+ getPreferenceStore().setValue(SORT_NODES_NATURALLY, selection);
+ }
}