Disallowed dropping of GroupedComposites into concept relations group and dragging...
authorp.ciardelli <p.ciardelli@localhost>
Fri, 20 Mar 2009 09:53:52 +0000 (09:53 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Fri, 20 Mar 2009 09:53:52 +0000 (09:53 +0000)
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/GroupComposite.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/ConceptGroupComposite.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/HomotypicalGroupComposite.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/MisappliedGroupComposite.java

index 5a2f4f4f3a5b0657e20fb0136a60790292fbec14..742d114b797170025d63be2e712adaaa21c63a89 100644 (file)
@@ -27,6 +27,7 @@ import org.eclipse.ui.forms.widgets.TableWrapLayout;
 import eu.etaxonomy.taxeditor.ITaxEditorConstants;\r
 import eu.etaxonomy.taxeditor.TaxEditorPlugin;\r
 import eu.etaxonomy.taxeditor.actions.WidgetTransfer;\r
+import eu.etaxonomy.taxeditor.editor.name.ConceptComposite;\r
 \r
 /**\r
  * @author p.ciardelli\r
@@ -77,7 +78,7 @@ public class GroupComposite extends Composite {
                                                if (composite.getDragSource() != null) {\r
                                                        \r
                                                        // Make sure composite is not being dropped onto its current parent\r
-                                                       if ( ! composite.getParent().equals(GroupComposite.this)) {\r
+                                                       if ( isDroppable(composite) && ! composite.getParent().equals(GroupComposite.this)) {\r
                                                                \r
                                                                // Change parent at end of drag event\r
                                                                composite.getDragSource().addListener(DND.DragEnd, new Listener() {\r
@@ -99,6 +100,16 @@ public class GroupComposite extends Composite {
                }\r
        }\r
        \r
+       /**\r
+        * Checks whether a GroupedComposite is allowed to be dropped on this.\r
+        * \r
+        * @param composite\r
+        * @return\r
+        */\r
+       protected boolean isDroppable(GroupedComposite composite) {\r
+               return true;\r
+       }\r
+\r
        public void dispose() {\r
                \r
                if (target != null) {\r
index 584127fb593ff1e98b2c3ffca32754a20259f2b5..f69f1f391f9547e25afa91972e2582b825796752 100644 (file)
@@ -14,6 +14,7 @@ import org.eclipse.swt.widgets.Composite;
 \r
 import eu.etaxonomy.cdm.model.taxon.Taxon;\r
 import eu.etaxonomy.taxeditor.editor.GroupComposite;\r
+import eu.etaxonomy.taxeditor.editor.GroupedComposite;\r
 \r
 /**\r
  * @author p.ciardelli\r
@@ -36,4 +37,11 @@ public class ConceptGroupComposite extends GroupComposite {
        public Taxon getTaxon() {\r
                return taxon;\r
        }\r
+       \r
+       /* (non-Javadoc)\r
+        * @see eu.etaxonomy.taxeditor.editor.GroupComposite#isDroppable(eu.etaxonomy.taxeditor.editor.GroupedComposite)\r
+        */\r
+       protected boolean isDroppable(GroupedComposite composite) {\r
+               return false;\r
+       }\r
 }\r
index 2e1be4b95ccceee6e540cfcb72f7774392ff675e..d1a93964d92d012e32a35dbfa069230e33cc8464 100644 (file)
@@ -15,6 +15,7 @@ import org.eclipse.swt.widgets.Composite;
 import eu.etaxonomy.cdm.model.name.HomotypicalGroup;\r
 import eu.etaxonomy.cdm.model.taxon.Taxon;\r
 import eu.etaxonomy.taxeditor.editor.GroupComposite;\r
+import eu.etaxonomy.taxeditor.editor.GroupedComposite;\r
 \r
 /**\r
  * @author p.ciardelli\r
@@ -44,4 +45,14 @@ public class HomotypicalGroupComposite extends GroupComposite {
        public HomotypicalGroup getGroup() {\r
                return group;\r
        }\r
+       \r
+       /* (non-Javadoc)\r
+        * @see eu.etaxonomy.taxeditor.editor.GroupComposite#isDroppable(eu.etaxonomy.taxeditor.editor.GroupedComposite)\r
+        */\r
+       protected boolean isDroppable(GroupedComposite composite) {\r
+               if (composite instanceof ConceptComposite) {\r
+                       return false;\r
+               }\r
+               return true;\r
+       }\r
 }\r
index 396e56e6ceb9ae1bc600698527a9435ef4ff2ef6..3766dbcc9463af6e4c6db5b1f5a442fc72b10de0 100644 (file)
@@ -14,6 +14,7 @@ import org.eclipse.swt.widgets.Composite;
 \r
 import eu.etaxonomy.cdm.model.taxon.Taxon;\r
 import eu.etaxonomy.taxeditor.editor.GroupComposite;\r
+import eu.etaxonomy.taxeditor.editor.GroupedComposite;\r
 \r
 /**\r
  * @author p.ciardelli\r
@@ -35,4 +36,14 @@ public class MisappliedGroupComposite extends GroupComposite {
        public Taxon getTaxon() {\r
                return taxon;\r
        }\r
+       \r
+       /* (non-Javadoc)\r
+        * @see eu.etaxonomy.taxeditor.editor.GroupComposite#isDroppable(eu.etaxonomy.taxeditor.editor.GroupedComposite)\r
+        */\r
+       protected boolean isDroppable(GroupedComposite composite) {\r
+               if (composite instanceof ConceptComposite) {\r
+                       return false;\r
+               }\r
+               return true;\r
+       }\r
 }\r