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.