svn commit: r18275 - branches/BRANCH_0_30_x: . src/argouml-app src/argouml-app/tests/org/argouml/profile src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: linus
Date: 2010-04-17 08:31:50-0700
New Revision: 18275

Modified:
   branches/BRANCH_0_30_x/   (props changed)
   branches/BRANCH_0_30_x/src/argouml-app/   (props changed)
   branches/BRANCH_0_30_x/src/argouml-app/tests/org/argouml/profile/   (props changed)
   branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml
   branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/RowSelector.java

Log:
Merging rev 18217 from trunk for Issue 6058.

Modified: branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml?view=diff&pathrev=18275&r1=18274&r2=18275
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml	(original)
+++ branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml	2010-04-17 08:31:50-0700
@@ -3033,10 +3033,12 @@
     <singlerow name="entry" type="org.omg.uml.behavioralelements.commonbehavior.CallAction,org.omg.uml.behavioralelements.commonbehavior.CreateAction,org.omg.uml.behavioralelements.commonbehavior.DestroyAction,org.omg.uml.behavioralelements.commonbehavior.ReturnAction,org.omg.uml.behavioralelements.commonbehavior.SendAction,org.omg.uml.behavioralelements.commonbehavior.TerminateAction,org.omg.uml.behavioralelements.commonbehavior.UninterpretedAction,org.omg.uml.behavioralelements.commonbehavior.ActionSequence" />
     <singlerow name="exit" type="org.omg.uml.behavioralelements.commonbehavior.CallAction,org.omg.uml.behavioralelements.commonbehavior.CreateAction,org.omg.uml.behavioralelements.commonbehavior.DestroyAction,org.omg.uml.behavioralelements.commonbehavior.ReturnAction,org.omg.uml.behavioralelements.commonbehavior.SendAction,org.omg.uml.behavioralelements.commonbehavior.TerminateAction,org.omg.uml.behavioralelements.commonbehavior.UninterpretedAction,org.omg.uml.behavioralelements.commonbehavior.ActionSequence" />
     <singlerow name="doActivity" type="org.omg.uml.behavioralelements.commonbehavior.CallAction,org.omg.uml.behavioralelements.commonbehavior.CreateAction,org.omg.uml.behavioralelements.commonbehavior.DestroyAction,org.omg.uml.behavioralelements.commonbehavior.ReturnAction,org.omg.uml.behavioralelements.commonbehavior.SendAction,org.omg.uml.behavioralelements.commonbehavior.TerminateAction,org.omg.uml.behavioralelements.commonbehavior.UninterpretedAction,org.omg.uml.behavioralelements.commonbehavior.ActionSequence" label="label.do-activity" />
+    <separator />
     <list name="deferrableEvent" type="org.omg.uml.behavioralelements.statemachines.CallEvent,org.omg.uml.behavioralelements.statemachines.ChangeEvent,org.omg.uml.behavioralelements.statemachines.SignalEvent,org.omg.uml.behavioralelements.statemachines.TimeEvent" label="label.deferrable" />
+    <list name="internalTransition" type="Transition" label="label.internal-transitions" />
+    <separator />
     <list name="outgoing" type="Transition" />
     <list name="incoming" type="Transition" />    
-    <list name="internalTransition" type="Transition" label="label.internal-transitions" />
     
     <debug />
     <attribute name="visibility" type="VisibilityKind" />

Modified: branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/RowSelector.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/RowSelector.java?view=diff&pathrev=18275&r1=18274&r2=18275
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/RowSelector.java	(original)
+++ branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/RowSelector.java	2010-04-17 08:31:50-0700
@@ -254,7 +254,7 @@
         List metaTypes = null;
         final Action addAction;
         List<Action> newActions = null;
-        List<Command> additionalCommands = null;
+        List<Command> additionalNewCommands = null;
         
         if (model instanceof UMLModelElementListModel) {
             // Temporary until SimpleListModel is used for all
@@ -268,7 +268,7 @@
             target = ((org.argouml.core.propertypanels.ui.SimpleListModel) model).getUmlElement();
             metaType = ((org.argouml.core.propertypanels.ui.SimpleListModel) model).getMetaType();
             metaTypes = ((org.argouml.core.propertypanels.ui.SimpleListModel) model).getMetaTypes();
-            additionalCommands = ((org.argouml.core.propertypanels.ui.SimpleListModel) model).getAdditionalCommands();
+            additionalNewCommands = ((org.argouml.core.propertypanels.ui.SimpleListModel) model).getAdditionalCommands();
             scroll = new ScrollListImpl(model, 1);
             readonly = Model.getModelManagementHelper().isReadOnly(target);
         } else {
@@ -347,8 +347,8 @@
                     actions.addAll(newActions);
                 }
                 
-                if (additionalCommands != null && !additionalCommands.isEmpty()) {
-                	for (Command cmd : additionalCommands) {
+                if (additionalNewCommands != null && !additionalNewCommands.isEmpty()) {
+                	for (Command cmd : additionalNewCommands) {
                 		if (cmd instanceof IconIdentifiable && cmd instanceof Named) {
                             actions.add(new CommandAction(cmd, ((Named)cmd).getName(), ((IconIdentifiable)cmd).getIcon()));
                 		} else {
@@ -373,7 +373,7 @@
         	// TODO: Lets build this into a separate buildToolbar method
         		
                 // Create actions and expander if we have multiple rows
-                final ArrayList<Action> actions = new ArrayList<Action>(6);
+                final ArrayList actions = new ArrayList(6);
                 
                 // Create add and remove buttons if needed first
                 if (addAction != null) {
@@ -388,6 +388,7 @@
                 }
 
                 // then any new buttons
+                List<Action> createActions = new ArrayList<Action>();
                 for (Object meta : metaTypes) {
                     if (Model.getUmlFactory().isContainmentValid(meta, target)) {
                         final String label =
@@ -396,36 +397,46 @@
                                 meta,
                                 target,
                                 label);
-                        actions.add(createAction);
+                        createActions.add(createAction);
                     }
                 }
 
-                if (additionalCommands != null && !additionalCommands.isEmpty()) {
-                	for (Command cmd : additionalCommands) {
+                if (additionalNewCommands != null && !additionalNewCommands.isEmpty()) {
+                	for (Command cmd : additionalNewCommands) {
                 		if (cmd instanceof IconIdentifiable && cmd instanceof Named) {
-                            actions.add(new CommandAction(cmd, ((Named)cmd).getName(), ((IconIdentifiable)cmd).getIcon()));
+                            createActions.add(new CommandAction(cmd, ((Named)cmd).getName(), ((IconIdentifiable)cmd).getIcon()));
                 		} else {
-                            actions.add(new CommandAction(cmd));
+                			createActions.add(new CommandAction(cmd));
                 		}
                 	}
                 }
                 
+                if (createActions.size() > 2) {
+                	actions.add(createActions.toArray());
+                } else {
+                    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();
-                    actions.add(moveUpAction);
-                    actions.add(moveDownAction);
-                    actions.add(moveTopAction);
-                    actions.add(moveBottomAction);
+                    navigateActions.add(moveUpAction);
+                    navigateActions.add(moveDownAction);
+                    navigateActions.add(moveTopAction);
+                    navigateActions.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);

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

To unsubscribe from this discussion, e-mail: [[email protected]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.