Author: penyaskito
Date: 2008-08-21 16:04:40-0700
New Revision: 15601

Modified:
   
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/SelectionNodeClarifiers2.java

Log:
Issue 5338: Disallow toolbelt buttons if we aren't in Select mode. Patch 
provided by Bob Tarling.

Modified: 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/SelectionNodeClarifiers2.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/SelectionNodeClarifiers2.java?view=diff&rev=15601&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/SelectionNodeClarifiers2.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/SelectionNodeClarifiers2.java&r1=15600&r2=15601
==============================================================================
--- 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/SelectionNodeClarifiers2.java
  (original)
+++ 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/SelectionNodeClarifiers2.java
  2008-08-21 16:04:40-0700
@@ -32,9 +32,15 @@
 import org.apache.log4j.Logger;
 import org.tigris.gef.base.Editor;
 import org.tigris.gef.base.Globals;
+import org.tigris.gef.base.LayerDiagram;
+import org.tigris.gef.base.LayerPerspective;
+import org.tigris.gef.base.Mode;
+import org.tigris.gef.base.ModeCreate;
 import org.tigris.gef.base.ModeCreateEdgeAndNode;
 import org.tigris.gef.base.ModeManager;
 import org.tigris.gef.base.ModeModify;
+import org.tigris.gef.base.ModePlace;
+import org.tigris.gef.base.ModeSelect;
 import org.tigris.gef.base.SelectionButtons;
 import org.tigris.gef.base.SelectionManager;
 import org.tigris.gef.graph.MutableGraphModel;
@@ -94,39 +100,51 @@
      */
     @Override
     public void paint(Graphics g) {
-        ((Clarifiable) getContent()).paintClarifiers(g);
+        final Mode topMode = Globals.curEditor().getModeManager().top();
+        if (!(topMode instanceof ModePlace)) {
+            // If the user has selected ModePlace either by a diagram
+            // tool or AddToDiagram then we don't want to show the
+            // clarifiers.
+            ((Clarifiable) getContent()).paintClarifiers(g);
+        }
         super.paint(g);
     }
 
     /*
      * @see org.tigris.gef.base.SelectionButtons#paintButtons(Graphics)
      */
-    public void paintButtons(Graphics g) {
-        Icon[] icons = getIcons();
-        if (icons == null) {
-            return;
-        }
-        int cx = getContent().getX();
-        int cy = getContent().getY();
-        int cw = getContent().getWidth();
-        int ch = getContent().getHeight();
-        
-        if (icons[0] != null) {
-            paintButtonAbove(icons[0], g, cx + cw / 2, cy - OFFSET, TOP);
-        }
-        if (icons[1] != null) {
-            paintButtonBelow(icons[1], g, cx + cw / 2, cy + ch + OFFSET, 
-                    BOTTOM);
-        }
-        if (icons[2] != null) {
-            paintButtonLeft(icons[2], g, cx - OFFSET, cy + ch / 2, LEFT);
-        }
-        if (icons[3] != null) {
-            paintButtonRight(icons[3], g, cx + cw + OFFSET, cy + ch / 2,
-                    RIGHT);
-        }
-        if (icons[4] != null) {
-            paintButtonLeft(icons[4], g, cx - OFFSET, cy + ch, LOWER_LEFT);
+    public final void paintButtons(Graphics g) {
+        final Mode topMode = Globals.curEditor().getModeManager().top();
+        if (!(topMode instanceof ModePlace)) {
+            // If the user has selected ModePlace either by a diagram
+            // tool or AddToDiagram then we don't want to show the
+            // toolbelt items.
+            Icon[] icons = getIcons();
+            if (icons == null) {
+                return;
+            }
+            int cx = getContent().getX();
+            int cy = getContent().getY();
+            int cw = getContent().getWidth();
+            int ch = getContent().getHeight();
+            
+            if (icons[0] != null) {
+                paintButtonAbove(icons[0], g, cx + cw / 2, cy - OFFSET, TOP);
+            }
+            if (icons[1] != null) {
+                paintButtonBelow(icons[1], g, cx + cw / 2, cy + ch + OFFSET, 
+                        BOTTOM);
+            }
+            if (icons[2] != null) {
+                paintButtonLeft(icons[2], g, cx - OFFSET, cy + ch / 2, LEFT);
+            }
+            if (icons[3] != null) {
+                paintButtonRight(icons[3], g, cx + cw + OFFSET, cy + ch / 2,
+                        RIGHT);
+            }
+            if (icons[4] != null) {
+                paintButtonLeft(icons[4], g, cx - OFFSET, cy + ch, LOWER_LEFT);
+            }
         }
     }
 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to