Project

General

Profile

« Previous | Next » 

Revision 4633f830

Added by Katja Luther almost 9 years ago

make the order of the taxon nodes editable

View differences:

eu.etaxonomy.taxeditor.navigation/plugin.xml
247 247
               visible="true">
248 248
         </separator>
249 249
         <command
250
               commandId="org.eclipse.ui.edit.delete"
250
               commandId="eu.etaxonomy.taxeditor.navigation.command.delete"
251 251
               label="%command.label.10"
252 252
               style="push">
253 253
            <visibleWhen
......
352 352
               visible="true">
353 353
         </separator>
354 354
         <command
355
               commandId="org.eclipse.ui.edit.delete"
355
               commandId="eu.etaxonomy.taxeditor.navigation.key.polytomous.command.delete"
356 356
               label="%command.label.19"
357 357
               style="push">
358 358
         </command>
......
426 426
            id="eu.etaxonomy.taxeditor.navigation.navigator.handler.OpenFixClassificationHierarchyHandler"
427 427
            name="%command.name.10">
428 428
      </command>
429
      <command
430
            defaultHandler="eu.etaxonomy.taxeditor.navigation.navigator.handler.DeleteHandler"
431
            id="eu.etaxonomy.taxeditor.navigation.command.delete"
432
            name="delete">
433
      </command>
429 434
   </extension>
430 435
   <extension
431 436
         point="org.eclipse.ui.handlers">
432 437
      <handler
433 438
            class="eu.etaxonomy.taxeditor.navigation.navigator.handler.DeleteHandler"
434
            commandId="org.eclipse.ui.edit.delete">
439
            commandId="eu.etaxonomy.taxeditor.navigation.navigator.command.delete">
435 440
         <activeWhen>
436 441
            <with
437 442
                  variable="activePartId">
......
443 448
      </handler>
444 449
      <handler
445 450
            class="eu.etaxonomy.taxeditor.navigation.key.polytomous.handler.DeleteHandler"
446
            commandId="org.eclipse.ui.edit.delete">
451
            commandId="eu.etaxonomy.taxeditor.navigation.key.polytomous.command.delete">
447 452
         <activeWhen>
448 453
            <with
449 454
                  variable="activePartId">
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java
11 11
package eu.etaxonomy.taxeditor.navigation.navigator;
12 12

  
13 13
import java.util.ArrayList;
14
import java.util.Comparator;
14 15
import java.util.HashSet;
15 16
import java.util.List;
16 17
import java.util.Observable;
......
31 32
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
32 33
import eu.etaxonomy.cdm.api.service.IClassificationService;
33 34
import eu.etaxonomy.cdm.model.common.CdmBase;
35
import eu.etaxonomy.cdm.model.taxon.TaxonComparator;
34 36
import eu.etaxonomy.cdm.model.taxon.TaxonComparatorSearch;
37
import eu.etaxonomy.cdm.model.taxon.TaxonNaturalComparator;
35 38
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
36 39
import eu.etaxonomy.taxeditor.model.DataChangeBridge;
37 40
import eu.etaxonomy.taxeditor.model.IDataChangeBehavior;
38 41
import eu.etaxonomy.taxeditor.model.MessagingUtils;
39 42
import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
40 43
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
44
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
41 45
import eu.etaxonomy.taxeditor.store.CdmStore;
42 46
import eu.etaxonomy.taxeditor.store.LoginManager;
43 47

  
......
76 80
	/** {@inheritDoc} */
77 81
	@Override
78 82
	protected IAdaptable getInitialInput() {
79

  
80
		TaxonComparatorSearch comparator = new TaxonComparatorSearch();
83
		Comparator comparator;
84
		if (PreferencesUtil.getSortNodesNaturally()){
85
			comparator = new TaxonNaturalComparator();
86
		} else{
87
			comparator = new TaxonComparatorSearch();
88
		}
81 89
		TaxonNodeComparator viewerComparator = new TaxonNodeComparator(comparator);
82 90
		this.getCommonViewer().setComparator(viewerComparator);
83 91
        setLinkingEnabled(true);
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNodeComparator.java
12 12
import eu.etaxonomy.cdm.model.taxon.Classification;
13 13
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
14 14
import eu.etaxonomy.cdm.model.taxon.TaxonComparatorSearch;
15
import eu.etaxonomy.cdm.model.taxon.TaxonNaturalComparator;
15 16
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
16 17
import eu.etaxonomy.taxeditor.ui.section.supplemental.IdentifiableSourceElement;
17 18

  
18 19
public class TaxonNodeComparator extends ViewerComparator{
19 20

  
20 21
	
21
	public TaxonNodeComparator(TaxonComparatorSearch comparator) {
22
	public TaxonNodeComparator(Comparator<TaxonBase> comparator){
22 23
		super(comparator);
23 24
	}
24 25

  
......
29 30
		if (e1 instanceof Classification && e2 instanceof Classification){
30 31
			return ((Classification)e1).getTitleCache().compareTo(((Classification)e2).getTitleCache());
31 32
		} else{
32
			return this.getComparator().compare(((TaxonNode)e1).getTaxon(),((TaxonNode)e2).getTaxon());
33
			if (this.getComparator() instanceof TaxonNaturalComparator){
34
				return this.getComparator().compare((TaxonNode)e1, (TaxonNode)e2);
35
			}else{
36
				return this.getComparator().compare(((TaxonNode)e1).getTaxon(),((TaxonNode)e2).getTaxon());
37
			}
33 38
		}
34 39
	}
35 40
}
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TreeNodeDropAdapterAssistant.java
19 19
import org.eclipse.core.commands.operations.IUndoContext;
20 20
import org.eclipse.core.runtime.IStatus;
21 21
import org.eclipse.core.runtime.Status;
22
import org.eclipse.jface.dialogs.IconAndMessageDialog;
22 23
import org.eclipse.jface.dialogs.MessageDialog;
23 24
import org.eclipse.jface.util.LocalSelectionTransfer;
24 25
import org.eclipse.jface.viewers.ISelection;
25 26
import org.eclipse.jface.viewers.TreeSelection;
26 27
import org.eclipse.swt.dnd.DropTargetEvent;
27 28
import org.eclipse.swt.dnd.TransferData;
29
import org.eclipse.swt.graphics.Image;
30
import org.eclipse.swt.widgets.Shell;
28 31
import org.eclipse.ui.handlers.HandlerUtil;
29 32
import org.eclipse.ui.navigator.CommonDropAdapter;
30 33
import org.eclipse.ui.navigator.CommonDropAdapterAssistant;
......
39 42
import eu.etaxonomy.taxeditor.navigation.navigator.operation.MoveTaxonOperation;
40 43
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
41 44
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
45
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
42 46
import eu.etaxonomy.taxeditor.store.CdmStore;
43 47

  
44 48
/**
......
65 69
	public IStatus handleDrop(CommonDropAdapter dropAdapter,
66 70
			DropTargetEvent dropTargetEvent, Object target) {
67 71

  
72
		
68 73
		if (target instanceof ITaxonTreeNode) {
69 74
			Set<TaxonNode> taxonNodes = getSelectedTaxa();
70 75
			ITaxonTreeNode targetTreeNode = (ITaxonTreeNode) target;
......
82 87
				}
83 88
            }
84 89
		}
85

  
90
		
86 91
		return Status.CANCEL_STATUS;
87 92
	}
88 93

  
......
171 176
		if(targetITaxonTreeNode instanceof TaxonNode){
172 177

  
173 178
			TaxonNode targetTaxonNode = (TaxonNode) targetITaxonTreeNode;
174

  
175
//			for(TaxonNode taxonNode : taxonNodes){
176
//				if (taxonNode.equals(targetTaxonNode)) {
177
//					return Status.CANCEL_STATUS;
178
//				}
179
//			}
180

  
181
			// Make sure parent taxon does not have unsaved changes
179
		// Make sure parent taxon does not have unsaved changes
182 180
			if (NavigationUtil.isDirty(targetTaxonNode)){
183 181
				MessageDialog.openWarning(NavigationUtil.getShell(), "Unsaved Parent Taxon", "There are unsaved " +
184 182
				"changes in the parent taxon. Pleas save first.");
185 183
				return Status.CANCEL_STATUS;
186 184
			}
187 185

  
188
			
189
			/*if (((TaxonNode) targetITaxonTreeNode).isTopmostNode()) {
190
				MessageDialog.openConfirm(null, "Taxonnode can not be moved", "A taxonnode can not be moved to the classification");
191
			}*/
192

  
193
			// Make sure parentTaxon is not the drop target
194
//			if (!childTaxonNode.isTopmostNode() && childTaxonNode.getParent().equals(targetTaxonNode)){
195
//				return Status.CANCEL_STATUS;
196
//			}
197

  
198
			// Make sure taxon is not being dropped onto itself
199
//			if (childTaxonNode.equals(targetTaxonNode)) {
200
//				return Status.CANCEL_STATUS;
201
//			}
202

  
203

  
204

  
205 186
		}
206

  
207
		IUndoContext workspaceUndoContext = NavigationUtil.getWorkbenchUndoContext();
208
		if (workspaceUndoContext == null) {
209
			logger.error("Workspace undo context is null. DND operation cancelled");
210
			return Status.CANCEL_STATUS;
211
		}
212

  
213
		AbstractPostOperation operation = new MoveTaxonOperation
214
				("Move Taxon", workspaceUndoContext, taxonNode, targetITaxonTreeNode, this, taxonNavigator);
215
		NavigationUtil.executeOperation(operation);
187
		if (!PreferencesUtil.getSortNodesNaturally()){
188
			IUndoContext workspaceUndoContext = NavigationUtil.getWorkbenchUndoContext();
189
			if (workspaceUndoContext == null) {
190
				logger.error("Workspace undo context is null. DND operation cancelled");
191
				return Status.CANCEL_STATUS;
192
			}
193
	
194
			AbstractPostOperation operation = new MoveTaxonOperation
195
					("Move Taxon", workspaceUndoContext, taxonNode, targetITaxonTreeNode, this, taxonNavigator, true);
196
			NavigationUtil.executeOperation(operation);
197
			
198
			logger.info("Moved taxa to new parent " + targetITaxonTreeNode);
199
			return Status.OK_STATUS;
200
		}else{
201
			String[] buttonLables = {"Parent", "Predecessor", "Cancel"};
202
			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);
203
			dialog.open();
204
			int returnCode = dialog.getReturnCode();
205
			if (returnCode == 0){
206
				IUndoContext workspaceUndoContext = NavigationUtil.getWorkbenchUndoContext();
207
				if (workspaceUndoContext == null) {
208
					logger.error("Workspace undo context is null. DND operation cancelled");
209
					return Status.CANCEL_STATUS;
210
				}
211
		
212
				AbstractPostOperation operation = new MoveTaxonOperation
213
						("Move Taxon", workspaceUndoContext, taxonNode, targetITaxonTreeNode, this, taxonNavigator, true);
214
				NavigationUtil.executeOperation(operation);
215
				
216
				logger.info("Moved taxa to new parent " + targetITaxonTreeNode);
217
				return Status.OK_STATUS;
218
			}else if (returnCode == 1){
219
				IUndoContext workspaceUndoContext = NavigationUtil.getWorkbenchUndoContext();
220
				if (workspaceUndoContext == null) {
221
					logger.error("Workspace undo context is null. DND operation cancelled");
222
					return Status.CANCEL_STATUS;
223
				}
216 224
		
217
		logger.info("Moved taxa to new parent " + targetITaxonTreeNode);
218
		return Status.OK_STATUS;
225
				AbstractPostOperation operation = new MoveTaxonOperation
226
						("Move Taxon", workspaceUndoContext, taxonNode, targetITaxonTreeNode, this, taxonNavigator, false);
227
				NavigationUtil.executeOperation(operation);
228
				
229
				logger.info("Moved taxa to new parent " + targetITaxonTreeNode);
230
				return Status.OK_STATUS;
231
			} else{
232
				return Status.CANCEL_STATUS;
233
			}
234
			
235
			
236
		}
219 237
	}
220 238

  
221 239
	/* (non-Javadoc)
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/MoveTaxonHandler.java
41 41
import eu.etaxonomy.taxeditor.navigation.navigator.operation.MoveTaxonOperation;
42 42
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
43 43
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
44
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
44 45
import eu.etaxonomy.taxeditor.store.CdmStore;
45 46
import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonNodeSelectionDialog;
47
import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonNodeSelectionNaturalOrderDialog;
46 48

  
47 49
/**
48 50
 * <p>MoveTaxonHandler class.</p>
......
87 89
		
88 90
//		TaxonNode taxonNode = (TaxonNode) selection.getFirstElement();
89 91
		if (taxonNode != null){
90
			parentTaxonNode = TaxonNodeSelectionDialog.select(HandlerUtil.getActiveShell(event), taxonNavigator.getConversationHolder(), "Choose new parent", excludeTaxa, null, null);
91
			
92
			boolean moveToNewParent = true; 
93
			if (PreferencesUtil.getSortNodesNaturally()){
94
				if(!MessageDialog.openQuestion(null, "Target node", "The choosen target node should be the parent?")){
95
					moveToNewParent = false;
96
				}
97
				parentTaxonNode = TaxonNodeSelectionDialog.select(HandlerUtil.getActiveShell(event), taxonNavigator.getConversationHolder(), "Choose the taxon above the moved taxon.", excludeTaxa, null, null);
98
			}else{
99
				parentTaxonNode = TaxonNodeSelectionDialog.select(HandlerUtil.getActiveShell(event), taxonNavigator.getConversationHolder(), "Choose new parent", excludeTaxa, null, null);
100
			}
92 101
			if(parentTaxonNode != null){
93 102
				if(NavigationUtil.isDirty(parentTaxonNode)){
94 103
					MessageDialog.openWarning(HandlerUtil.getActiveShell(event), "Unsaved Parent Taxon", "There are unsaved " +
......
98 107
				
99 108
				AbstractPostOperation operation = new MoveTaxonOperation
100 109
						("Move taxon to new parent", NavigationUtil.getUndoContext(),
101
								taxonNode, parentTaxonNode, taxonNavigator, taxonNavigator); //$NON-NLS-1$
110
								taxonNode, parentTaxonNode, taxonNavigator, taxonNavigator, moveToNewParent); //$NON-NLS-1$
102 111
				NavigationUtil.executeOperation(operation);
103 112
				taxonNavigator.refresh();
104 113
			
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/MoveTaxonOperation.java
53 53
	//private Map<TaxonNode, ITaxonTreeNode> oldParentTreeNodes;
54 54

  
55 55
	private TaxonNode taxonNode;
56

  
56
	private boolean moveToParentNode;
57 57
	/**
58 58
	 * <p>Constructor for MoveTaxonOperation.</p>
59 59
	 *
......
65 65
	 * @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
66 66
	 */
67 67
	public MoveTaxonOperation(String label, IUndoContext undoContext,
68
			TaxonNode taxonNodeToMove, ITaxonTreeNode newParentTreeNode, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled) {
68
			TaxonNode taxonNodeToMove, ITaxonTreeNode newParentTreeNode, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled, boolean moveToParentNode) {
69 69
		super(label, undoContext, postOperationEnabled, conversationEnabled);
70 70
		
71 71
		this.taxonNode = taxonNodeToMove;
......
74 74
		}*/
75 75
		
76 76
		this.newParentTreeNode = newParentTreeNode;
77

  
77
		this.moveToParentNode = moveToParentNode;
78 78
		// Save old parent ITaxonTreeNodes for undo
79 79
		
80 80
		//this.parentNode = taxonNode.getParent();
......
90 90
		bind();
91 91
		monitor.worked(20);
92 92

  
93
		UpdateResult result = CdmStore.getService(ITaxonNodeService.class).moveTaxonNode(this.taxonNode.getUuid(),newParentTreeNode.getUuid());
93
		UpdateResult result = CdmStore.getService(ITaxonNodeService.class).moveTaxonNode(this.taxonNode.getUuid(),newParentTreeNode.getUuid(), moveToParentNode);
94 94
//		try {
95 95
//			for (TaxonNode taxonNode : taxonNodes){
96 96
//				TaxonNode newTaxonNode = newParentTreeNode.addChildNode(taxonNode,
eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle.properties
130 130
page.name.29 = Editor Profile
131 131
page.name.30 = Language
132 132
command.label.clone = Clone
133
command.label.openInSpecimenEditor = Open in Specimen Editor
133
command.label.openInSpecimenEditor = Open in Specimen Editor
134
page.name.31 = Order of Taxonnodes
135
extension.name.0 = Popup Menu Commands
136
command.name.8 = Clone Datasource
137
command.name.9 = Open Feature Tree Editor Wizard
138
command.name.10 = Open Password Wizzard
139
command.name.11 = Open Distribution Editor Wizard
140
command.name.12 = Connect
141
wizard.name.18 = CSV
142
wizard.name.19 = CSV_NAME
143
wizard.name.20 = CSV_PRINT
144
activity.description = DELETE permission dependent ui contributions
145
activity.name = Delete
146
activity.description.0 = UPDATE permission dependent ui contributions
147
activity.name.0 = Update
148
activity.description.1 = CREATE permission dependent ui contributions
149
activity.name.1 = Delete
150
activity.description.2 = ROLE_USER_MANAGER dependent ui contributions
151
activity.name.2 = UserManagement
152
activity.description.3 = ROLE_PROJECT_MANAGER dependent ui contributions
153
activity.name.3 = ProjectManagement
154
extension-point.name = Cdm Viewer
155
Bundle-Vendor = EDIT
156
Bundle-Name = DataStore Bundle
157
command.name.13 = delete
158
command.name.14 = delete
eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties
14 14
LanguageEditorPreferencePage_EditorHasToRestart=The application has to be restarted, in order to complete the language switch.\nDo you want to restart now?
15 15
LanguageEditorPreferencePage_PleaseRestart=Please Restart
16 16
LanguageEditorPreferencePage_RestartRequired=After changing the default language, a restart is required,\nin order for the new settings to take effect.
17
OrderPreferencePage_NewNavigatorWindowRequired=After changing the order of the taxon nodes, closing and reopen of the taxon navigator is required.
18
OrderPreferencePage_PleaseReopenNavigator=Please close and reopen the taxon navigator.
eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties
13 13
LanguageEditorPreferencePage_ChooseDefaultLanguage=Bitte w?hlen Sie die Standardsprache f?r den Taxonomischen Editor aus.
14 14
LanguageEditorPreferencePage_EditorHasToRestart=Der Anwendung muss neu gestartet werden, um die Sprache zu wechseln.\nWollen Sie jetzt neu starten?
15 15
LanguageEditorPreferencePage_PleaseRestart=Bitte neu starten
16
LanguageEditorPreferencePage_RestartRequired=Nach dem Wechsel der Standardsprache ist ein Neustart erforderlich.
16
LanguageEditorPreferencePage_RestartRequired=Nach dem Wechsel der Standardsprache ist ein Neustart erforderlich.
17
OrderPreferencePage_NewNavigatorWindowRequired=Nach dem ?ndern der Taxon Sortierung, ist das Schlie?en und erneute ?ffnen des taxon Navigators erforderlich.
eu.etaxonomy.taxeditor.store/plugin.xml
1 1
<?xml version="1.0" encoding="UTF-8"?>
2 2
<?eclipse version="3.2"?>
3 3
<plugin>
4
   <extension-point id="eu.etaxonomy.taxeditor.store.cdmViewer" name="Cdm Viewer" schema="schema/eu.etaxonomy.taxeditor.store.cdmViewer.exsd"/>
4
   <extension-point id="eu.etaxonomy.taxeditor.store.cdmViewer" name="%extension-point.name" schema="schema/eu.etaxonomy.taxeditor.store.cdmViewer.exsd"/>
5 5
   <extension
6 6
         point="org.eclipse.ui.preferencePages">
7 7
      <page
......
206 206
            id="eu.etaxonomy.taxeditor.preference.defaultlanguagepditorpreferencePage"
207 207
            name="%page.name.30">
208 208
      </page>
209
      <page
210
            category="eu.etaxonomy.taxeditor.preferences.general"
211
            class="eu.etaxonomy.taxeditor.preference.OrderPreferences"
212
            id="eu.etaxonomy.taxeditor.preference.OrderPreferencesPage"
213
            name="%page.name.31">
214
      </page>
209 215
   </extension>
210 216
   <extension
211 217
         point="org.eclipse.ui.views">
......
437 443
               visible="true">
438 444
         </separator>
439 445
         <command
440
               commandId="org.eclipse.ui.edit.delete"
446
               commandId="eu.etaxonomy.taxeditor.view.datasource.delete"
441 447
               label="%command.label.9"
442 448
               style="push">
443 449
               <visibleWhen>
......
516 522
            </command>
517 523
         </menu>
518 524
         <command
519
               commandId="org.eclipse.ui.edit.delete"
525
               commandId="eu.etaxonomy.taxeditor.editor.definedTerms.delete"
520 526
               label="%command.label.14"
521 527
               style="push">
522 528
            <visibleWhen
......
550 556
         point="org.eclipse.ui.handlers">
551 557
      <handler
552 558
            class="eu.etaxonomy.taxeditor.view.datasource.handler.DeleteDataSourceHandler"
553
            commandId="org.eclipse.ui.edit.delete">
559
            commandId="eu.etaxonomy.taxeditor.view.datasource.delete">
554 560
         <activeWhen>
555 561
            <with
556 562
                  variable="activePartId">
......
562 568
      </handler>
563 569
      <handler
564 570
            class="eu.etaxonomy.taxeditor.editor.definedterm.handler.DeleteTermBaseHandler"
565
            commandId="org.eclipse.ui.edit.delete">
571
            commandId="eu.etaxonomy.taxeditor.editor.definedTerms.delete">
566 572
         <activeWhen>
567 573
            <with
568 574
                  variable="activePartId">
......
608 614
      </handler>
609 615
   </extension>
610 616
   <extension
611
         name="Popup Menu Commands"
617
         name="%extension.name.0"
612 618
         point="org.eclipse.ui.commands">
613 619
      <command
614 620
            defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.ChangeConnectionHandler"
......
623 629
      <command
624 630
            defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.CloneDataSourceHandler"
625 631
            id="eu.etaxonomy.taxeditor.store.datasource.clone"
626
            name="Clone Datasource">
632
            name="%command.name.8">
627 633
      </command>
628 634
      <command
629 635
            defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.CreateDataSourceHandler"
......
635 641
            id="eu.etaxonomy.taxeditor.store.datasource.close"
636 642
            name="%command.name.2">
637 643
      </command>
644
      <command
645
            defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.DeleteDataSourceHandler"
646
            id="eu.etaxonomy.taxeditor.view.datasource.delete"
647
            name="%command.name.13">
648
      </command>
638 649
      <command
639 650
            defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.UpdateDataSourceHandler"
640 651
            id="eu.etaxonomy.taxeditor.store.datasource.update"
......
666 677
      </command>
667 678
      <command
668 679
         id="eu.etaxonomy.taxeditor.store.open.FeatureTreeEditorWizard"
669
         name="Open Feature Tree Editor Wizard">
680
         name="%command.name.9">
670 681
   	  </command>
671 682
      <command
672 683
            id="eu.etaxonomy.taxeditor.store.openPasswordWizzard"
673
            name="Open Password Wizzard">
684
            name="%command.name.10">
674 685
      </command>
675 686
      <command
676 687
            id="eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardHandler"
677
            name="Open Distribution Editor Wizard">
688
            name="%command.name.11">
678 689
      </command>
679 690
      <command
680 691
            defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.ChangeConnectionHandler"
681 692
            id="eu.etaxonomy.taxeditor.datasource.connect"
682
            name="Connect">
693
            name="%command.name.12">
694
      </command>
695
      <command
696
            defaultHandler="eu.etaxonomy.taxeditor.editor.definedterm.handler.DeleteTermBaseHandler"
697
            id="eu.etaxonomy.taxeditor.editor.definedTerms.delete"
698
            name="%command.name.14">
683 699
      </command>
684 700
   </extension>
685 701
   <extension
......
775 791
            category="eu.etaxonomy.taxeditor.export.category.cdm"
776 792
            class="eu.etaxonomy.taxeditor.io.wizard.CsvExportWizard"
777 793
            id="eu.etaxonomy.taxeditor.io.export.csv"
778
            name="CSV">
794
            name="%wizard.name.18">
779 795
      </wizard>
780 796
      <wizard
781 797
            category="eu.etaxonomy.taxeditor.export.category.cdm"
782 798
            class="eu.etaxonomy.taxeditor.io.wizard.CsvNameExportWizard"
783
            id="eu.etaxonomy.taxeditor.io.export.csv"
784
            name="CSV-Names">
799
            id="eu.etaxonomy.taxeditor.io.export.csv_name"
800
            name="%wizard.name.19">
801
      </wizard>
802
      <wizard
803
            category="eu.etaxonomy.taxeditor.export.category.cdm"
804
            class="eu.etaxonomy.taxeditor.io.wizard.CsvPrintExportWizard"
805
            id="eu.etaxonomy.taxeditor.io.export.csv_print"
806
            name="%wizard.name.20">
785 807
      </wizard>
786 808
   </extension>
787 809
   <extension
......
1190 1212
<extension
1191 1213
      point="org.eclipse.ui.activities">
1192 1214
   <activity
1193
         description="DELETE permission dependent ui contributions"
1215
         description="%activity.description"
1194 1216
         id="eu.etaxonomy.taxeditor.store.activityDelete"
1195
         name="Delete">
1217
         name="%activity.name">
1196 1218
      <enabledWhen>
1197 1219
         <reference
1198 1220
               definitionId="canDELETE">
......
1204 1226
         pattern="eu\.etaxonomy\.taxeditor\..*/.*.delete">
1205 1227
   </activityPatternBinding>
1206 1228
   <activity
1207
         description="UPDATE permission dependent ui contributions"
1229
         description="%activity.description.0"
1208 1230
         id="eu.etaxonomy.taxeditor.store.activityUpdate"
1209
         name="Update">
1231
         name="%activity.name.0">
1210 1232
      <enabledWhen>
1211 1233
         <reference
1212 1234
               definitionId="canUPDATE">
......
1218 1240
         pattern="eu\.etaxonomy\.taxeditor\..*/.*.command\.update\..*">
1219 1241
   </activityPatternBinding>
1220 1242
   <activity
1221
         description="CREATE permission dependent ui contributions"
1243
         description="%activity.description.1"
1222 1244
         id="eu.etaxonomy.taxeditor.store.activityCreate"
1223
         name="Delete">
1245
         name="%activity.name.1">
1224 1246
      <enabledWhen>
1225 1247
         <reference
1226 1248
               definitionId="canDELETE">
......
1232 1254
         pattern="eu\.etaxonomy\.taxeditor\..*/.*.command\.create\..*">
1233 1255
   </activityPatternBinding>
1234 1256
   <activity
1235
         description="ROLE_USER_MANAGER dependent ui contributions"
1257
         description="%activity.description.2"
1236 1258
         id="eu.etaxonomy.taxeditor.store.activityUserManagement"
1237
         name="UserManagement">
1259
         name="%activity.name.2">
1238 1260
      <enabledWhen>
1239 1261
         <reference
1240 1262
               definitionId="hasROLE_USER_MANAGER">
......
1250 1272
         pattern="eu\.etaxonomy\.taxeditor\..*/bulkeditor\.input\.group">
1251 1273
   </activityPatternBinding>
1252 1274
   <activity
1253
         description="ROLE_PROJECT_MANAGER dependent ui contributions"
1275
         description="%activity.description.3"
1254 1276
         id="eu.etaxonomy.taxeditor.store.activityProjectManagement"
1255
         name="ProjectManagement">
1277
         name="%activity.name.3">
1256 1278
      <enabledWhen>
1257 1279
         <reference
1258 1280
               definitionId="hasROLE_PROJECT_MANAGER">
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/Messages.java
22 22
    public static String LanguageEditorPreferencePage_EditorHasToRestart;
23 23
    public static String LanguageEditorPreferencePage_PleaseRestart;
24 24
    public static String LanguageEditorPreferencePage_RestartRequired;
25
    public static String OrderPreferencePage_NewNavigatorWindowRequired;
26
    public static String OrderPreferencePage_PleaseReopenNavigator;
25 27
    public static String CdmDataSourceViewPart_1;
26 28
    public static String CdmDataSourceViewPart_10;
27 29
    public static String CdmDataSourceViewPart_11;
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java
89 89

  
90 90
	/** Constant <code>SORT_RANKS_HIERARCHICHALLY="eu.etaxonomy.taxeditor.menus.sortRanksH"{trunked}</code> */
91 91
	public static final String SORT_RANKS_HIERARCHICHALLY = "eu.etaxonomy.taxeditor.menus.sortRanksHierarchichally";
92

  
92
	/** Constant <code>SORT_NODES_NATURALL="eu.etaxonomy.taxeditor.menus.sortNodesN"{trunked}</code> */
93
	public static final String SORT_NODES_NATURALLY = "eu.etaxonomy.taxeditor.menus.sortNodesNaturally";
94
	
93 95
	/**
94 96
	 * Whether multilanguage text fields should be editable in multiple languages.
95 97
	 */
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java
751 751
            ctrl.setEnabled(enabled);
752 752
        }
753 753
    }
754
    
755
    /**
756
	 * <p>
757
	 * getSortRanksNaturally
758
	 * </p>
759
	 *
760
	 * @return a boolean.
761
	 */
762
	public static boolean getSortNodesNaturally() {
763
		return getPreferenceStore().getBoolean(SORT_NODES_NATURALLY);
764
	}
765
	
766
	/**
767
	 * <p>
768
	 * setSortRanksNaturally
769
	 * </p>
770
	 *
771
	 * @param selection
772
	 *            a boolean.
773
	 */
774
	public static void setSortNodesNaturally(boolean selection) {
775
		getPreferenceStore().setValue(SORT_NODES_NATURALLY, selection);
776
	}
754 777
}

Also available in: Unified diff