Author: ruschein
Date: 2011-01-25 13:18:50 -0800 (Tue, 25 Jan 2011)
New Revision: 23609

Modified:
   
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
   
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableChooser.java
   
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
Improved names for table selection ComboBox.

Modified: 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
===================================================================
--- 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
       2011-01-25 19:40:49 UTC (rev 23608)
+++ 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
       2011-01-25 21:18:50 UTC (rev 23609)
@@ -17,6 +17,7 @@
 import org.cytoscape.browser.ui.AttributeBrowserToolBar;
 import org.cytoscape.equations.EqnCompiler;
 import org.cytoscape.event.CyEventHelper;
+import org.cytoscape.model.CyNetworkManager;
 import org.cytoscape.model.CyTable;
 import org.cytoscape.model.CyTableManager;
 import org.cytoscape.model.CyTableRowUpdateService;
@@ -46,7 +47,7 @@
 
        TableBrowser(final CyTableManager tableManager, final 
CyServiceRegistrar serviceRegistrar,
                     final CyEventHelper eventHelper, final EqnCompiler 
compiler,
-                    final OpenBrowser openBrowser,
+                    final OpenBrowser openBrowser, final CyNetworkManager 
networkManager,
                     final CyTableRowUpdateService tableRowUpdateService)
        {
                this.tableManager = tableManager;
@@ -60,7 +61,7 @@
 
                browserTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
 
-               tableChooser = new TableChooser(tableManager);
+               tableChooser = new TableChooser(tableManager, networkManager);
                tableChooser.addActionListener(this);
                add(tableChooser, BorderLayout.SOUTH);
                browserTable.getTableHeader().setBackground(Color.LIGHT_GRAY);

Modified: 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableChooser.java
===================================================================
--- 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableChooser.java
       2011-01-25 19:40:49 UTC (rev 23608)
+++ 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableChooser.java
       2011-01-25 21:18:50 UTC (rev 23609)
@@ -6,7 +6,9 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 import javax.swing.DefaultComboBoxModel;
@@ -15,14 +17,20 @@
 import javax.swing.JComboBox;
 import javax.swing.ListCellRenderer;
 
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNetworkManager;
 import org.cytoscape.model.CyTable;
+import org.cytoscape.model.CyTableEntry;
 import org.cytoscape.model.CyTableManager;
 
 
 public class TableChooser extends JComboBox {
-       TableChooser(final CyTableManager tableManager) {
-               super(new MyComboBoxModel(tableManager));
-               setRenderer(new MyCellRenderer());
+       private final Map<CyTable, String> tableToStringMap;
+
+       TableChooser(final CyTableManager tableManager, final CyNetworkManager 
networkManager) {
+               tableToStringMap = new HashMap<CyTable, String>();
+               setModel(new MyComboBoxModel(tableManager, networkManager, 
tableToStringMap));
+               setRenderer(new MyCellRenderer(tableToStringMap));
        }
 }
 
@@ -30,18 +38,40 @@
 class MyComboBoxModel extends DefaultComboBoxModel {
        final static Comparator<CyTable> tableComparator = new 
TableComparator();
        private final CyTableManager tableManager;
+       private final CyNetworkManager networkManager;
+       private final Map<CyTable, String> tableToStringMap;
        private List<CyTable> tables;
        private Set<CyTable> oldSet;
 
-       MyComboBoxModel(final CyTableManager tableManager) {
-               this.tableManager = tableManager;
+       MyComboBoxModel(final CyTableManager tableManager, final 
CyNetworkManager networkManager,
+                       final Map<CyTable, String> tableToStringMap)
+       {
+               this.tableManager     = tableManager;
+               this.networkManager   = networkManager;
+               this.tableToStringMap = tableToStringMap;
+
                oldSet = tableManager.getAllTables(/* includePrivate = */ 
false);
                tables = new ArrayList<CyTable>(oldSet.size());
                for (final CyTable table : oldSet)
                        tables.add(table);
                Collections.sort(tables, tableComparator);
+               updateTableToStringMap();
        }
 
+       private void updateTableToStringMap() {
+               tableToStringMap.clear();
+
+               final Set<CyNetwork> networks = networkManager.getNetworkSet();
+               for (final CyNetwork network : networks) {
+                       final CyTable networkTable = 
network.getDefaultNetworkTable();
+                       final String networkName =
+                               
networkTable.getAllRows().get(0).get(CyTableEntry.NAME, String.class);
+                       tableToStringMap.put(networkTable, networkName + " 
(network)");
+                       tableToStringMap.put(network.getDefaultNodeTable(), 
networkName + " (nodes)");
+                       tableToStringMap.put(network.getDefaultEdgeTable(), 
networkName + " (edges)");
+               }
+       }
+
        public int getSize() {
                final Set<CyTable> tableSet = tableManager.getAllTables(/* 
includePrivate = */ false);
                if (!tableSet.equals(oldSet)) {
@@ -51,6 +81,7 @@
                        for (final CyTable table : tableSet)
                                tables.add(table);
                        Collections.sort(tables, tableComparator);
+                       updateTableToStringMap();
                }
 
                return tables.size();
@@ -67,6 +98,7 @@
                        oldSet.clear();
                        for (final CyTable table : tables)
                                oldSet.add(table);
+                       updateTableToStringMap();
                        fireContentsChanged(this, 0, oldSet.size() - 1);
                }
                setSelectedItem(newTable);
@@ -82,9 +114,12 @@
 
 
 class MyCellRenderer extends JLabel implements ListCellRenderer {
-       // This is the only method defined by ListCellRenderer.
-       // We just reconfigure the JLabel each time we're called.
+       private final Map<CyTable, String> tableToStringMap;
 
+       MyCellRenderer(final Map<CyTable, String> tableToStringMap) {
+               this.tableToStringMap = tableToStringMap;
+       }
+
        public Component getListCellRendererComponent(final JList list,         
     // the list
                                                      final Object value,       
     // value to display
                                                      final int index,          
     // cell index
@@ -92,7 +127,10 @@
                                                      final boolean 
cellHasFocus)    // does the cell have focus
        {
                final CyTable table = (CyTable)value;
-               setText(table == null ? "" : table.getTitle());
+               if (tableToStringMap.containsKey(table))
+                       setText(tableToStringMap.get(table));
+               else
+                       setText(table == null ? "" : table.getTitle());
 
                if (isSelected) {
                        setBackground(list.getSelectionBackground());

Modified: 
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
--- 
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   2011-01-25 19:40:49 UTC (rev 23608)
+++ 
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   2011-01-25 21:18:50 UTC (rev 23609)
@@ -12,6 +12,7 @@
        <osgi:reference id="compilerServiceRef" 
interface="org.cytoscape.equations.EqnCompiler" />
        <osgi:reference id="openBrowserServiceRef" 
interface="org.cytoscape.util.swing.OpenBrowser" />
        <osgi:reference id="cyTableRowUpdateServiceRef" 
interface="org.cytoscape.model.CyTableRowUpdateService" />
+        <osgi:reference id="cyNetworkManagerServiceRef" 
interface="org.cytoscape.model.CyNetworkManager" />
 
        <!-- listeners -->
        <osgi:service id="tableBrowserCytoPanelComponentService" 
ref="tableBrowser">

Modified: 
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
--- 
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
        2011-01-25 19:40:49 UTC (rev 23608)
+++ 
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
        2011-01-25 21:18:50 UTC (rev 23609)
@@ -31,6 +31,7 @@
                <constructor-arg ref="cyEventHelperServiceRef" />
                <constructor-arg ref="compilerServiceRef" />
                <constructor-arg ref="openBrowserServiceRef" />
+               <constructor-arg ref="cyNetworkManagerServiceRef" />
                <constructor-arg ref="cyTableRowUpdateServiceRef" />
        </bean>
 </beans>

-- 
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