Revision: 18104
Author:   bvanhalderen
Date:     2009-05-14 16:48:09 +0200 (Thu, 14 May 2009)
Log Message:
-----------
HREPTWO-2503, HREPTWO-2507: reorder, show information not as buttons and 
provide method to request size

Modified Paths:
--------------
    
hippo-ecm/trunk/addon/workflow/src/main/java/org/hippoecm/addon/workflow/MenuHierarchy.java

Modified: 
hippo-ecm/trunk/addon/workflow/src/main/java/org/hippoecm/addon/workflow/MenuHierarchy.java
===================================================================
--- 
hippo-ecm/trunk/addon/workflow/src/main/java/org/hippoecm/addon/workflow/MenuHierarchy.java
 2009-05-14 14:48:07 UTC (rev 18103)
+++ 
hippo-ecm/trunk/addon/workflow/src/main/java/org/hippoecm/addon/workflow/MenuHierarchy.java
 2009-05-14 14:48:09 UTC (rev 18104)
@@ -54,7 +54,7 @@
                     continue;
                 }
                 if(action.getId().equals("info")) {
-                    put(action);
+                    // processed in second round
                 } else if(action.getId().equals("edit")) {
                     put(action);
                 } else if(action.getId().equals("delete")) {
@@ -86,6 +86,18 @@
                 put(action);
             }
         }
+        if(submenus.containsKey("default")) {
+            MenuHierarchy submenu = submenus.get("default");
+            put(new ActionDescription("spacer"));
+            for(ActionDescription action : submenu.items) {
+                if(!action.isVisible()) {
+                    continue;
+                }
+                if(action.getId().equals("info")) {
+                    put(action);
+                }
+            }
+        }
     }
 
     public void flatten() {
@@ -106,16 +118,33 @@
         List<Component> list = new LinkedList<Component>();
         if (context instanceof MenuBar) {
             for (ActionDescription item : items) {
-                list.add(new MenuAction("item", item));
+                if (!(item.getId().equals("info") || 
item.getId().equals("spacer"))) {
+                    list.add(new MenuAction("item", item));
+                }
             }
-             for (Map.Entry<String, MenuHierarchy> submenu : 
submenus.entrySet()) {
+            for (Map.Entry<String, MenuHierarchy> submenu : 
submenus.entrySet()) {
                 list.add(new MenuButton("item", submenu.getKey(), 
submenu.getValue()));
             }
-       } else {
             for (ActionDescription item : items) {
+                if (item.getId().equals("info")) {
+                    list.add(new MenuLabel("item", item));
+                } else if(item.getId().equals("spacer")) {
+                    list.add(new MenuSpacer("item"));
+                }
+            }
+        } else {
+            for (ActionDescription item : items) {
                 list.add(new MenuItem("item", item));
             }
         }
         return list;
     }
+
+    int size(MenuComponent context) {
+        if (context instanceof MenuBar) {
+            return items.size() + submenus.size();
+        } else {
+            return items.size();
+        }
+    }
 }

_______________________________________________
Hippocms-svn mailing list
[email protected]
http://lists.hippo.nl/mailman/listinfo/hippocms-svn

Reply via email to