From: Patric Plitzner
ID="eu.etaxonomy.taxeditor.editor.descripti"{trunked}
*/
- public static final String ID = "eu.etaxonomy.taxeditor.editor.description.createDescriptionElement";
+ public static final String ID = "eu.etaxonomy.taxeditor.editor.view.descriptive.command.createDescriptionElement";
private final DescriptionBase> description;
private final Feature feature;
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteTaxonDescriptionOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteTaxonDescriptionOperation.java
index 5324d4e40..5a6cebd41 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteTaxonDescriptionOperation.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteTaxonDescriptionOperation.java
@@ -9,6 +9,9 @@
package eu.etaxonomy.taxeditor.editor.view.descriptive.operation;
+import java.util.ArrayList;
+import java.util.List;
+
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.operations.IUndoContext;
import org.eclipse.core.runtime.IAdaptable;
@@ -59,7 +62,10 @@ public class DeleteTaxonDescriptionOperation extends AbstractPostTaxonOperation
monitor.worked(20);
if (description != null){
- CdmStore.getService(IDescriptionService.class).deleteDescription(description);
+ ListMoveTaxonHandler class.
@@ -87,8 +89,15 @@ public class MoveTaxonHandler extends AbstractHandler implements IPostOperationE // 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 " + @@ -98,7 +107,7 @@ public class MoveTaxonHandler extends AbstractHandler implements IPostOperationE 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(); diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/MoveTaxonOperation.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/MoveTaxonOperation.java index 16011b6cb..bd2b57db5 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/MoveTaxonOperation.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/MoveTaxonOperation.java @@ -53,7 +53,7 @@ public class MoveTaxonOperation extends AbstractPersistentPostOperation { //private MapConstructor for MoveTaxonOperation.
* @@ -65,7 +65,7 @@ public class MoveTaxonOperation extends AbstractPersistentPostOperation { * @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; @@ -74,7 +74,7 @@ public class MoveTaxonOperation extends AbstractPersistentPostOperation { }*/ this.newParentTreeNode = newParentTreeNode; - + this.moveToParentNode = moveToParentNode; // Save old parent ITaxonTreeNodes for undo //this.parentNode = taxonNode.getParent(); @@ -90,7 +90,7 @@ public class MoveTaxonOperation extends AbstractPersistentPostOperation { 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, diff --git a/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle.properties b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle.properties index d2e8b5c5c..a13d96793 100644 --- a/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle.properties +++ b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle.properties @@ -33,10 +33,10 @@ view.name.2 = Reporting view.name.3 = Supplemental Data view.name.4 = Details view.name.5 = Use Records -view.name.6 = Derivate Search +view.name.6 = Derivative Search editor.name = Defined Term Editor menu.label = Show View -command.label = Derivate Search +command.label = Derivative Search command.label.0 = Details command.label.1 = Supplemental command.label.2 = Datasource @@ -130,4 +130,29 @@ page.name.28 = Checklist Editor page.name.29 = Editor Profile page.name.30 = Language command.label.clone = Clone -command.label.openInSpecimenEditor = Open in Specimen Editor \ No newline at end of file +command.label.openInSpecimenEditor = Open in Specimen Editor +page.name.31 = Order of Taxonnodes +extension.name.0 = Popup Menu Commands +command.name.8 = Clone Datasource +command.name.9 = Open Feature Tree Editor Wizard +command.name.10 = Open Password Wizzard +command.name.11 = Open Distribution Editor Wizard +command.name.12 = Connect +wizard.name.18 = CSV +wizard.name.19 = CSV_NAME +wizard.name.20 = CSV_PRINT +activity.description = DELETE permission dependent ui contributions +activity.name = Delete +activity.description.0 = UPDATE permission dependent ui contributions +activity.name.0 = Update +activity.description.1 = CREATE permission dependent ui contributions +activity.name.1 = Delete +activity.description.2 = ROLE_USER_MANAGER dependent ui contributions +activity.name.2 = UserManagement +activity.description.3 = ROLE_PROJECT_MANAGER dependent ui contributions +activity.name.3 = ProjectManagement +extension-point.name = Cdm Viewer +Bundle-Vendor = EDIT +Bundle-Name = DataStore Bundle +command.name.13 = delete +command.name.14 = delete \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties index bad7e8f54..9d02cb1d2 100644 --- a/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties +++ b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties @@ -14,3 +14,5 @@ LanguageEditorPreferencePage_ChooseDefaultLanguage=Please choose your default la LanguageEditorPreferencePage_EditorHasToRestart=The application has to be restarted, in order to complete the language switch.\nDo you want to restart now? LanguageEditorPreferencePage_PleaseRestart=Please Restart LanguageEditorPreferencePage_RestartRequired=After changing the default language, a restart is required,\nin order for the new settings to take effect. +OrderPreferencePage_NewNavigatorWindowRequired=After changing the order of the taxon nodes, closing and reopen of the taxon navigator is required. +OrderPreferencePage_PleaseReopenNavigator=Please close and reopen the taxon navigator. \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties index fcbc5af1d..3c18fec10 100644 --- a/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties +++ b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties @@ -13,4 +13,5 @@ CdmDataSourceViewPart_9=Verf\u00FCgbar LanguageEditorPreferencePage_ChooseDefaultLanguage=Bitte wählen Sie die Standardsprache für den Taxonomischen Editor aus. LanguageEditorPreferencePage_EditorHasToRestart=Der Anwendung muss neu gestartet werden, um die Sprache zu wechseln.\nWollen Sie jetzt neu starten? LanguageEditorPreferencePage_PleaseRestart=Bitte neu starten -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. +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 diff --git a/eu.etaxonomy.taxeditor.store/plugin.xml b/eu.etaxonomy.taxeditor.store/plugin.xml index 5bfa3d750..37c33cdfe 100644 --- a/eu.etaxonomy.taxeditor.store/plugin.xml +++ b/eu.etaxonomy.taxeditor.store/plugin.xml @@ -1,7 +1,7 @@SORT_RANKS_HIERARCHICHALLY="eu.etaxonomy.taxeditor.menus.sortRanksH"{trunked}
*/
public static final String SORT_RANKS_HIERARCHICHALLY = "eu.etaxonomy.taxeditor.menus.sortRanksHierarchichally";
-
+ /** Constant SORT_NODES_NATURALL="eu.etaxonomy.taxeditor.menus.sortNodesN"{trunked}
*/
+ public static final String SORT_NODES_NATURALLY = "eu.etaxonomy.taxeditor.menus.sortNodesNaturally";
+
/**
* Whether multilanguage text fields should be editable in multiple languages.
*/
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/OrderPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/OrderPreferences.java
new file mode 100644
index 000000000..3e434a9d5
--- /dev/null
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/OrderPreferences.java
@@ -0,0 +1,86 @@
+package eu.etaxonomy.taxeditor.preference;
+
+import java.io.IOException;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.PlatformUI;
+
+import eu.etaxonomy.taxeditor.Messages;
+
+public class OrderPreferences extends PreferencePage implements IWorkbenchPreferencePage {
+
+
+ boolean isNaturalOrderActivated;
+ boolean isSelectionChanged = false;
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors
+ * ()
+ */
+ @Override
+ protected Control createContents(Composite parent) {
+
+ Composite composite = new Composite(parent, SWT.NULL);
+ composite.setLayout(new GridLayout());
+ final Label description = new Label(parent, SWT.NONE);
+ description.setText(Messages.OrderPreferencePage_NewNavigatorWindowRequired);
+ isNaturalOrderActivated = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SORT_NODES_NATURALLY);
+ final Button activateCheckButton = new Button(composite, SWT.CHECK);
+ activateCheckButton.setText("Enable Natural Order");
+ activateCheckButton.setSelection(isNaturalOrderActivated);
+ activateCheckButton.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ if(isNaturalOrderActivated != activateCheckButton.getSelection()) {
+ isNaturalOrderActivated = activateCheckButton.getSelection();
+ PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SORT_NODES_NATURALLY, isNaturalOrderActivated);
+ isSelectionChanged = true;
+ }else{
+ isSelectionChanged = false;
+ }
+
+ }
+ });
+
+
+
+ return composite;
+ }
+
+
+ @Override
+ public void init(IWorkbench workbench) {
+ // TODO Auto-generated method stub
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performOk()
+ */
+ @Override
+ public boolean performOk() {
+ if(isSelectionChanged){
+ MessageDialog.openInformation(getShell(), null, Messages.OrderPreferencePage_PleaseReopenNavigator);
+ return super.performOk();
+ }
+ return true;
+ }
+
+
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencePropertyTester.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencePropertyTester.java
index 62c31c919..5b1a935da 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencePropertyTester.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencePropertyTester.java
@@ -12,8 +12,6 @@ package eu.etaxonomy.taxeditor.preference;
import org.eclipse.core.expressions.PropertyTester;
-import eu.etaxonomy.taxeditor.store.CdmStore;
-
/**
* @author n.hoffmann
* @created Jan 26, 2011
@@ -26,25 +24,15 @@ public class PreferencePropertyTester extends PropertyTester {
private static final String SHOW_CHECKLIST_EDITOR = "isChecklistEditorEnabled";
- private static final String EDITOR_IS_CONNECTED_TO_DB = "isCdmStoreConnected";
-
- /* (non-Javadoc)
- * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
- */
@Override
public boolean test(Object receiver, String property, Object[] args,
Object expectedValue) {
-
if(SHOW_EXPERIMENTAL_FEATURES.equals(property)){
return isShowExperimentalFeatures();
}
if(SHOW_CHECKLIST_EDITOR.equals(property)){
return isChecklistEditorEnabled();
}
- if(EDITOR_IS_CONNECTED_TO_DB.equals(property)){
- return isCdmStoreConnected();
- }
-
return false;
}
@@ -59,8 +47,4 @@ public class PreferencePropertyTester extends PropertyTester {
return PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE);
}
- private boolean isCdmStoreConnected(){
- boolean active = CdmStore.isActive();
- return active;
- }
}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java
index bbca40e5a..83e6756fc 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java
@@ -751,4 +751,27 @@ public class PreferencesUtil implements IPreferenceKeys {
ctrl.setEnabled(enabled);
}
}
+
+ /**
+ * + * getSortRanksNaturally + *
+ * + * @return a boolean. + */ + public static boolean getSortNodesNaturally() { + return getPreferenceStore().getBoolean(SORT_NODES_NATURALLY); + } + + /** + *+ * setSortRanksNaturally + *
+ * + * @param selection + * a boolean. + */ + public static void setSortNodesNaturally(boolean selection) { + getPreferenceStore().setValue(SORT_NODES_NATURALLY, selection); + } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/SearchManager.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/SearchManager.java index 1f24d4521..e9968f0b3 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/SearchManager.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/SearchManager.java @@ -138,9 +138,10 @@ public class SearchManager { * @param configurator a {@link eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator} object. * @return a {@link java.util.List} object. */ - public ListonComplete
- * - * @return a boolean. - */ @Override public boolean onComplete() { return true; diff --git a/eu.etaxonomy.taxeditor.test/.classpath b/eu.etaxonomy.taxeditor.test/.classpath index 4deb39a8f..12d3a7cdd 100644 --- a/eu.etaxonomy.taxeditor.test/.classpath +++ b/eu.etaxonomy.taxeditor.test/.classpath @@ -1,8 +1,8 @@ - -