Author: bobtarling
Date: 2010-09-26 07:35:44-0700
New Revision: 18781

Modified:
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/LabelledComponent.java
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/RowSelector.java

Log:
Remove the toolbar from RowSelector. It is now managed as the "expansion" in 
LabelledLayout

Modified: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/LabelledComponent.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/LabelledComponent.java?view=diff&pathrev=18781&r1=18780&r2=18781
==============================================================================
--- 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/LabelledComponent.java
      (original)
+++ 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/LabelledComponent.java
      2010-09-26 07:35:44-0700
@@ -39,10 +39,9 @@
 package org.argouml.core.propertypanels.ui;
 
 import java.awt.BorderLayout;
-import java.awt.Color;
 import java.awt.Component;
-import java.awt.Cursor;
 import java.awt.Dimension;
+import java.awt.GridLayout;
 import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;
 import java.util.Set;
@@ -55,10 +54,11 @@
 import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JTree;
-import javax.swing.plaf.TreeUI;
 import javax.swing.plaf.basic.BasicTreeUI;
 import javax.swing.plaf.metal.MetalTreeUI;
 
+import org.tigris.swidgets.FlexiGridLayout;
+
 /**
  * A wrapped label and component pair
  * 
@@ -78,6 +78,7 @@
      */
     private static Icon expandedIcon;
 
+    private JComponent expansion;
     /**
      * The icon to use when the control is collapsed
      */
@@ -130,14 +131,14 @@
             label = new JLabel(name);
             label.setLabelFor(component);
             JPanel labelPanel = new JPanel();
-            labelPanel.setLayout(new BoxLayout(labelPanel, BoxLayout.X_AXIS));
+            labelPanel.setLayout(new FlexiGridLayout(1, 2, 
FlexiGridLayout.ROWCOLPREFERRED));
             labelPanel.add(label);
-            leftPanel = new JPanel();
-            leftPanel.add(labelPanel, BorderLayout.CENTER);
+            leftPanel = new JPanel(new BorderLayout());
+            leftPanel.add(labelPanel, BorderLayout.NORTH);
             add(leftPanel, BorderLayout.WEST);
             if (component instanceof Expandable && ((Expandable) 
component).isExpandable()) {
                 expander = new JLabel();
-               leftPanel.add(expander, BorderLayout.EAST);
+               labelPanel.add(expander);
                addMouseListener(this);
                 setIcon();
                 if (EXPANDED_CONTROLS.contains(getId())) {
@@ -222,12 +223,15 @@
         }
 
         setIcon();
-        if (expandable.getExpansion() != null) {
-            expandable.getExpansion().setVisible(expanded);
+        
+        if (expansion == null) {
+            expansion = expandable.getExpansion();
+            leftPanel.add(expansion, BorderLayout.CENTER);
         }
+        expansion.setVisible(expanded);
 
         // Force the parent to redraw
-        Component c = component.getParent();
+        Component c = component.getParent().getParent();
         if (c != null) {
             c.invalidate();
             c.validate();

Modified: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/RowSelector.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/RowSelector.java?view=diff&pathrev=18781&r1=18780&r2=18781
==============================================================================
--- 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/RowSelector.java
    (original)
+++ 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/RowSelector.java
    2010-09-26 07:35:44-0700
@@ -156,11 +156,6 @@
     private MovedModelElement movedModelElement = new MovedModelElement();
 
     /**
-     * The toolbar of controls for manipulating items in the list
-     */
-    private final JToolBar toolbar;
-
-    /**
      * The delete action that we must enable/disable
      */
     private final DeleteAction deleteAction;
@@ -288,7 +283,6 @@
         if (!expandable && !expanded) {
             jscroll.setVerticalScrollBarPolicy(
                     JScrollPane.VERTICAL_SCROLLBAR_NEVER);
-            toolbar = null;
             deleteAction = null;
             moveUpAction = null;
             moveDownAction = null;
@@ -389,35 +383,22 @@
                     actions.addAll(createActions);
                 }
                 
-                List<Action> navigateActions = new ArrayList<Action>();
                 if (Model.getUmlHelper().isMovable(metaType)) {
                     moveUpAction = new MoveUpAction();
                     moveDownAction = new MoveDownAction();
                     moveTopAction = new MoveTopAction();
                     moveBottomAction = new MoveBottomAction();
-                    navigateActions.add(moveUpAction);
-                    navigateActions.add(moveDownAction);
-                    navigateActions.add(moveTopAction);
-                    navigateActions.add(moveBottomAction);
+                    actions.add(moveUpAction);
+                    actions.add(moveDownAction);
+                    actions.add(moveTopAction);
+                    actions.add(moveBottomAction);
                 } else {
                     moveUpAction = null;
                     moveDownAction = null;
                     moveTopAction = null;
                     moveBottomAction = null;
                 }
-                actions.addAll(navigateActions);
-
-                Object[] actionsArray = actions.toArray();
-                
-                final ToolBarFactory tbf = new ToolBarFactory(actions);
-                toolbar = tbf.createToolBar();
-                toolbar.setRollover(true);
-                toolbar.setOrientation(ToolBar.VERTICAL);
             } else {
-                final ToolBarFactory tbf = new ToolBarFactory(new Object[] {});
-                toolbar = tbf.createToolBar();
-                toolbar.setRollover(true);
-                toolbar.setOrientation(ToolBar.VERTICAL);
                 moveUpAction = null;
                 moveDownAction = null;
                 moveTopAction = null;
@@ -425,16 +406,7 @@
                 deleteAction = null;
             }
 
-            JPanel buttonPanel =
-                new JPanel(new FlexiGridLayout(
-                        2, 1, FlexiGridLayout.ROWCOLPREFERRED));
             this.addMouseListener(this);
-            // TODO: In think this will always be true
-            if (toolbar != null) {
-                toolbar.setVisible(false);
-                buttonPanel.add(toolbar);
-            }
-            add(buttonPanel, BorderLayout.WEST);
 
             if (!Model.getModelManagementHelper().isReadOnly(target)) {
                if (deleteAction != null) {
@@ -481,8 +453,7 @@
         }
         return size;
     }
-
-
+    
     /**
      * @return the preferred size as the height of one row in a JList
      */
@@ -538,7 +509,38 @@
     }
     
     public JComponent getExpansion() {
-       return toolbar;
+       actions.size();
+       ArrayList actions1 = new ArrayList(actions.size() / 2 + actions.size() 
% 2);
+       ArrayList actions2 = new ArrayList(actions.size() / 2);
+       
+       Object[] actionPair = {
+           actions1, actions2
+       };
+       
+       for (int i=0; i < actions.size(); ++i) {
+           if (i % 2 == 0) {
+               actions1.add(actions.get(i));
+           } else {
+               actions2.add(actions.get(i));
+           }
+       }
+       
+        final ToolBarFactory tbf = new ToolBarFactory(actions1);
+        JToolBar toolbar = tbf.createToolBar();
+        toolbar.setRollover(true);
+        final ToolBarFactory tbf2 = new ToolBarFactory(actions2);
+        JToolBar toolbar2 = tbf2.createToolBar();
+        toolbar2.setRollover(true);
+        
+        JComponent expander =
+            new JPanel(new FlexiGridLayout(
+                   2, 1, 0, 0,
+                   FlexiGridLayout.HORIZONTAL,
+                   FlexiGridLayout.EAST));
+        expander.add(toolbar);
+        expander.add(toolbar2);
+        
+        return expander;
     }
     
     public boolean isExpanded() {

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2664772

To unsubscribe from this discussion, e-mail: 
[[email protected]].

Reply via email to