Author: jm
Date: 2012-01-10 12:20:58 -0800 (Tue, 10 Jan 2012)
New Revision: 27965

Modified:
   
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/submenu/SubmenuListener.java
   
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/submenu/SubmenuTunableHandlerImpl.java
Log:
Fixes #566: Fixed the way submenus are dynamically created

Modified: 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/submenu/SubmenuListener.java
===================================================================
--- 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/submenu/SubmenuListener.java
        2012-01-10 20:11:25 UTC (rev 27964)
+++ 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/submenu/SubmenuListener.java
        2012-01-10 20:20:58 UTC (rev 27965)
@@ -65,8 +65,10 @@
                JMenu parentMenu = (JMenu)(e.getSource());
                lastMenuItem = stm.buildConfiguration(tf);
                if ( lastMenuItem != null ) {
-                       if ( lastMenuItem instanceof JMenu )
+                       String title = lastMenuItem.getText(); 
+                       if (title == null || title.isEmpty()) {
                                lastMenuItem.setText(menuName);
+                       }
                        lastMenuItem.setEnabled(enableState);
                        parentMenu.add( lastMenuItem );
                }

Modified: 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/submenu/SubmenuTunableHandlerImpl.java
===================================================================
--- 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/submenu/SubmenuTunableHandlerImpl.java
      2012-01-10 20:11:25 UTC (rev 27964)
+++ 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/submenu/SubmenuTunableHandlerImpl.java
      2012-01-10 20:20:58 UTC (rev 27965)
@@ -11,7 +11,6 @@
 import javax.swing.JMenu;
 import java.util.List; 
 import java.util.Collections; 
-import java.util.ArrayList; 
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 
@@ -25,7 +24,6 @@
        
        private DialogTaskManager dtm; 
        private TaskFactory tf;
-       private static final String TEMP_TITLE = "Temporary Title"; 
        private static final Logger logger = 
LoggerFactory.getLogger(SubmenuTunableHandlerImpl.class);
 
        public SubmenuTunableHandlerImpl(final Field field, final Object 
instance, final Tunable tunable) {
@@ -51,16 +49,14 @@
                        menuTitles = 
((ListSingleSelection<String>)o).getPossibleValues();
 
                if ( menuTitles.size() <= 0 ) {
-                       // no list means no menu
-                       menuItem = null; 
+                       menuItem = new SubmenuItem(null,this,dtm,tf);           
                } else if ( menuTitles.size() == 1 ) {
                        // assume the lone entry in the list is the title
                        menuItem = new 
SubmenuItem(menuTitles.get(0),this,dtm,tf);              
                } else {
-                       // The temporary title will be replaced
-                       menuItem = new JMenu(TEMP_TITLE);
+                       menuItem = new JMenu((String) null);
                        for ( String title : menuTitles )
-                               ((JMenu)menuItem).add(new 
SubmenuItem(title,this,dtm,tf));              
+                               ((JMenu)menuItem).add(new 
SubmenuItem(title,this,dtm,tf));
                }
 
                } catch (Exception e) { e.printStackTrace(); }

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to