From: n.hoffmann Date: Wed, 20 Apr 2011 14:57:25 +0000 (+0000) Subject: Finalizing PolytomousKeyListEditor X-Git-Tag: rcp.ss-first-working-version~105 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/74b6cbef08db4f8e57e61028f203f5b7b76db0d0 Finalizing PolytomousKeyListEditor --- diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/KeyEditor.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/KeyEditor.java index 046f70205..e303e0ff6 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/KeyEditor.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/KeyEditor.java @@ -175,9 +175,9 @@ public class KeyEditor extends FormEditor implements IConversationEnabled, conversation.registerForDataStoreChanges(this); try { - addPage(0, new PolytomousKeyListEditor(), input); + addPage(0, new PolytomousKeyListEditor(this), input); setPageText(0, "List"); - addPage(1, new PolytomousKeyGraphEditor(), input); + addPage(1, new PolytomousKeyGraphEditor(this), input); setPageText(1, "Graph"); } catch (PartInitException e) { EditorUtil.error(getClass(), e); diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyGraphEditor.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyGraphEditor.java index 0bdd36251..6eaddbfb1 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyGraphEditor.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyGraphEditor.java @@ -9,6 +9,7 @@ import org.eclipse.jface.viewers.IContentProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.description.PolytomousKey; import eu.etaxonomy.taxeditor.editor.key.AbstractGraphKeyEditor; +import eu.etaxonomy.taxeditor.editor.key.KeyEditor; /** * @author n.hoffmann @@ -19,6 +20,14 @@ public class PolytomousKeyGraphEditor extends IPolytomousKeyEditorPage { public static final String ID = "eu.etaxonomy.taxeditor.editor.key.polytomous.graph"; + private final KeyEditor editor; + + /** + * @param keyEditor + */ + public PolytomousKeyGraphEditor(KeyEditor editor) { + this.editor = editor; + } @Override public ConversationHolder getConversationHolder() { diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyListEditor.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyListEditor.java index a5482753c..324aad4ed 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyListEditor.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyListEditor.java @@ -43,6 +43,7 @@ import eu.etaxonomy.cdm.model.description.PolytomousKeyNode; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; import eu.etaxonomy.taxeditor.editor.EditorUtil; +import eu.etaxonomy.taxeditor.editor.key.KeyEditor; import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider; /** @@ -119,6 +120,12 @@ public class PolytomousKeyListEditor extends EditorPart implements private TableViewer viewer; + private final KeyEditor editor; + + public PolytomousKeyListEditor(KeyEditor editor) { + this.editor = editor; + } + /* * (non-Javadoc) * @@ -304,6 +311,9 @@ public class PolytomousKeyListEditor extends EditorPart implements @Override public boolean postOperation(CdmBase objectAffectedByOperation) { viewer.refresh(); + + editor.changed(objectAffectedByOperation); + if (objectAffectedByOperation != null) { viewer.setSelection(new StructuredSelection( objectAffectedByOperation), true); @@ -318,8 +328,7 @@ public class PolytomousKeyListEditor extends EditorPart implements */ @Override public boolean onComplete() { - // TODO Auto-generated method stub - return false; + return true; } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/handler/DeleteNodeHandler.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/handler/DeleteNodeHandler.java index 2926c7d1a..d9e42c575 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/handler/DeleteNodeHandler.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/handler/DeleteNodeHandler.java @@ -56,12 +56,14 @@ public class DeleteNodeHandler extends AbstractHandler { String label = event.getCommand().getName(); IUndoContext undoContext = EditorUtil.getUndoContext(); - PolytomousKeyNode keyNode = (PolytomousKeyNode) selection - .getFirstElement(); + for (Object element : selection.toArray()) { + PolytomousKeyNode keyNode = (PolytomousKeyNode) element; + + AbstractPostOperation operation = new DeleteNodeOperation( + label, undoContext, keyNode, editorPage); + EditorUtil.executeOperation(operation); + } - AbstractPostOperation operation = new DeleteNodeOperation( - label, undoContext, keyNode, editorPage); - EditorUtil.executeOperation(operation); } catch (NotDefinedException e) { EditorUtil.warn(getClass(), "Command name not set."); }