Author: kono
Date: 2011-10-05 13:56:51 -0700 (Wed, 05 Oct 2011)
New Revision: 27070
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/GlobalTableBrowser.java
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/TableChooser.java
Log:
fixes #412 First version of Multiple-tab Table Browser.
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
===================================================================
---
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
2011-10-05 20:44:40 UTC (rev 27069)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
2011-10-05 20:56:51 UTC (rev 27070)
@@ -19,7 +19,6 @@
import javax.swing.table.TableRowSorter;
import org.cytoscape.application.CyApplicationManager;
-import org.cytoscape.application.events.SetCurrentNetworkListener;
import org.cytoscape.application.swing.CytoPanelComponent;
import org.cytoscape.application.swing.CytoPanelName;
import org.cytoscape.equations.EquationCompiler;
@@ -27,23 +26,22 @@
import org.cytoscape.model.CyNetworkTableManager;
import org.cytoscape.model.CyTable;
import org.cytoscape.model.CyTableManager;
-import org.cytoscape.model.events.NetworkAddedListener;
-import org.cytoscape.model.events.TableAboutToBeDeletedListener;
-import org.cytoscape.model.events.TableAddedListener;
import org.cytoscape.service.util.CyServiceRegistrar;
import org.cytoscape.task.TableTaskFactory;
import org.cytoscape.util.swing.OpenBrowser;
import org.cytoscape.work.swing.GUITaskManager;
-public abstract class AbstractTableBrowser extends JPanel implements
CytoPanelComponent, ActionListener, TableAboutToBeDeletedListener,
- SetCurrentNetworkListener, TableAddedListener,
NetworkAddedListener {
-
+/**
+ * Base class for all Table Browsers.
+ *
+ */
+public abstract class AbstractTableBrowser extends JPanel implements
CytoPanelComponent, ActionListener {
+
private static final long serialVersionUID = 1968196123280466989L;
// Color theme for table browser.
- static final Color GLOBAL_TABLE_COLOR = new Color(0x1E, 0x90, 0xFF);
- static final Color GLOBAL_TABLE_BACKGROUND_COLOR = new Color(0x87,
0xCE, 0xFA, 50);
+
static final Color NETWORK_COLOR = new Color(0xA5, 0x2A, 0x2A);
static final Color SELECTED_ITEM_BACKGROUND_COLOR = new Color(0xA0,
0xA0, 0xA0, 80);
@@ -59,8 +57,6 @@
protected final Map<CyTable, TableMetadata> tableToMetadataMap;
protected final CyApplicationManager applicationManager;
protected final CyNetworkManager networkManager;
-
-
// Tab title for the CytoPanel
private final String tabTitle;
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
===================================================================
---
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
2011-10-05 20:44:40 UTC (rev 27069)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
2011-10-05 20:56:51 UTC (rev 27070)
@@ -8,6 +8,7 @@
import org.cytoscape.application.CyApplicationManager;
import org.cytoscape.application.events.SetCurrentNetworkEvent;
+import org.cytoscape.application.events.SetCurrentNetworkListener;
import org.cytoscape.equations.EquationCompiler;
import org.cytoscape.model.CyEdge;
import org.cytoscape.model.CyNetwork;
@@ -16,15 +17,16 @@
import org.cytoscape.model.CyNode;
import org.cytoscape.model.CyTableEntry;
import org.cytoscape.model.CyTableManager;
+import org.cytoscape.model.events.NetworkAboutToBeDestroyedEvent;
+import org.cytoscape.model.events.NetworkAboutToBeDestroyedListener;
import org.cytoscape.model.events.NetworkAddedEvent;
-import org.cytoscape.model.events.TableAboutToBeDeletedEvent;
-import org.cytoscape.model.events.TableAddedEvent;
+import org.cytoscape.model.events.NetworkAddedListener;
import org.cytoscape.service.util.CyServiceRegistrar;
import org.cytoscape.task.TableTaskFactory;
import org.cytoscape.util.swing.OpenBrowser;
import org.cytoscape.work.swing.GUITaskManager;
-public class DefaultTableBrowser extends AbstractTableBrowser {
+public class DefaultTableBrowser extends AbstractTableBrowser implements
SetCurrentNetworkListener, NetworkAddedListener,
NetworkAboutToBeDestroyedListener {
private static final long serialVersionUID = 627394119637512735L;
@@ -38,7 +40,7 @@
CyApplicationManager applicationManager) {
super(tabTitle, tableManager, networkTableManager,
serviceRegistrar, compiler, openBrowser, networkManager,
deleteTableTaskFactoryService,
guiTaskManagerServiceRef, popupMenuHelper, applicationManager);
- // TODO Auto-generated constructor stub
+
this.objType = objType;
networkChooser = new JComboBox();
@@ -55,18 +57,6 @@
final CyNetwork network = (CyNetwork)
networkChooser.getSelectedItem();
if (network == null || currentNetwork == network)
return;
-
-// if (browserTableModel != null)
-//
serviceRegistrar.unregisterAllServices(browserTableModel);
-//
-// if (objType == CyNode.class)
-// currentTable = network.getDefaultNodeTable();
-// else if (objType == CyEdge.class)
-// currentTable = network.getDefaultEdgeTable();
-// else
-// currentTable = network.getDefaultNetworkTable();
-
- //showSelectedTable();
applicationManager.setCurrentNetwork(network.getSUID());
}
@@ -90,25 +80,17 @@
}
-
@Override
public void handleEvent(NetworkAddedEvent e) {
- CyNetwork network = e.getNetwork();
- System.out.println("Adding New Network: " + network);
+ final CyNetwork network = e.getNetwork();
this.networkChooser.addItem(network);
this.networkChooser.setSelectedItem(network);
}
@Override
- public void handleEvent(TableAboutToBeDeletedEvent e) {
- // TODO Auto-generated method stub
-
+ public void handleEvent(NetworkAboutToBeDestroyedEvent e) {
+ final CyNetwork network = e.getNetwork();
+ this.networkChooser.removeItem(network);
}
- @Override
- public void handleEvent(TableAddedEvent e) {
- // TODO Auto-generated method stub
-
- }
-
}
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/GlobalTableBrowser.java
===================================================================
---
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/GlobalTableBrowser.java
2011-10-05 20:44:40 UTC (rev 27069)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/GlobalTableBrowser.java
2011-10-05 20:56:51 UTC (rev 27070)
@@ -1,14 +1,15 @@
package org.cytoscape.browser.internal;
import java.awt.BorderLayout;
+import java.awt.Color;
import java.awt.Dimension;
+import java.awt.Font;
import java.awt.event.ActionEvent;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.cytoscape.application.CyApplicationManager;
-import org.cytoscape.application.events.SetCurrentNetworkEvent;
import org.cytoscape.browser.internal.TableChooser.GlobalTableComboBoxModel;
import org.cytoscape.equations.EquationCompiler;
import org.cytoscape.model.CyEdge;
@@ -19,23 +20,27 @@
import org.cytoscape.model.CyTable;
import org.cytoscape.model.CyTableEntry;
import org.cytoscape.model.CyTableManager;
-import org.cytoscape.model.events.NetworkAddedEvent;
import org.cytoscape.model.events.TableAboutToBeDeletedEvent;
+import org.cytoscape.model.events.TableAboutToBeDeletedListener;
import org.cytoscape.model.events.TableAddedEvent;
+import org.cytoscape.model.events.TableAddedListener;
import org.cytoscape.service.util.CyServiceRegistrar;
import org.cytoscape.task.TableTaskFactory;
import org.cytoscape.util.swing.OpenBrowser;
import org.cytoscape.work.swing.GUITaskManager;
-public class GlobalTableBrowser extends AbstractTableBrowser {
+public class GlobalTableBrowser extends AbstractTableBrowser implements
TableAboutToBeDeletedListener, TableAddedListener {
private static final long serialVersionUID = 2269984225983802421L;
private static final Class<?>[] OBJECT_TYPES = {CyNode.class,
CyEdge.class, CyNetwork.class};
+ static final Color GLOBAL_TABLE_COLOR = new Color(0x1E, 0x90, 0xFF);
+ static final Color GLOBAL_TABLE_ENTRY_COLOR = new Color(0x1E, 0x90,
0xFF, 150);
+ static final Color GLOBAL_TABLE_BACKGROUND_COLOR = new Color(0x87,
0xCE, 0xFA, 50);
+ static final Font GLOBAL_FONT = new Font("SansSerif", Font.BOLD, 12);
private final TableChooser tableChooser;
-
public GlobalTableBrowser(String tabTitle, CyTableManager tableManager,
CyNetworkTableManager networkTableManager,
CyServiceRegistrar serviceRegistrar, EquationCompiler
compiler, OpenBrowser openBrowser,
@@ -44,13 +49,18 @@
CyApplicationManager applicationManager) {
super(tabTitle, tableManager, networkTableManager,
serviceRegistrar, compiler, openBrowser, networkManager,
deleteTableTaskFactoryService,
guiTaskManagerServiceRef, popupMenuHelper, applicationManager);
- // TODO Auto-generated constructor stub
tableChooser = new TableChooser();
tableChooser.addActionListener(this);
tableChooser.setSize(new Dimension(100, 20));
- browserTable.setForeground(GLOBAL_TABLE_COLOR);
- this.attributeBrowserToolBar = new
AttributeBrowserToolBar(serviceRegistrar, compiler,
+ tableChooser.setFont(GLOBAL_FONT);
+ tableChooser.setForeground(GLOBAL_TABLE_COLOR);
+ tableChooser.setToolTipText("\"Global Tables\" are data tables
not associated with specific networks.");
+
+ browserTable.setForeground(GLOBAL_TABLE_ENTRY_COLOR);
+ browserTable.setEnabled(false);
+
+ attributeBrowserToolBar = new
AttributeBrowserToolBar(serviceRegistrar, compiler,
deleteTableTaskFactoryService,
guiTaskManagerServiceRef, tableChooser);
add(attributeBrowserToolBar, BorderLayout.NORTH);
@@ -77,38 +87,7 @@
comboBoxModel.removeItem(cyTable);
tableToMetadataMap.remove(cyTable);
}
-
- @Override
- public void handleEvent(final SetCurrentNetworkEvent e) {
- final GlobalTableComboBoxModel comboBoxModel =
(GlobalTableComboBoxModel)tableChooser.getModel();
- final CyNetwork currentNetwork = e.getNetwork();
- if (currentTable == null) {
- return;
-
//comboBoxModel.addAndSetSelectedItem(currentNetwork.getDefaultNodeTable());
- } else {
- Class<? extends CyTableEntry> tableType = null;
- // Determine which table type we're currently
displaying:
- for (Class<? extends CyTableEntry> type : new Class[] {
CyNetwork.class, CyNode.class, CyEdge.class }) {
- final Map<String, CyTable> tables =
networkTableManager.getTables(currentNetwork, type);
- for (final CyTable table : tables.values()) {
- if (currentTable.getSUID() ==
table.getSUID()) {
- tableType = type;
- break;
- }
- }
- }
-
- final CyTable tableToSelect;
- if (tableType == CyEdge.class)
- tableToSelect =
currentNetwork.getDefaultEdgeTable();
- else if (tableType == CyNetwork.class)
- tableToSelect =
currentNetwork.getDefaultNetworkTable();
- else
- tableToSelect =
currentNetwork.getDefaultNodeTable();
- comboBoxModel.addAndSetSelectedItem(tableToSelect);
- }
- }
/**
* Switch to new table when it is registered to the table manager.
@@ -121,10 +100,8 @@
final GlobalTableComboBoxModel comboBoxModel =
(GlobalTableComboBoxModel)tableChooser.getModel();
final CyTable newTable = e.getTable();
- if(isGlobalTable(newTable)) {
+ if(isGlobalTable(newTable))
comboBoxModel.addAndSetSelectedItem(newTable);
- System.out.println("New Table Added!!");
- }
}
@@ -145,11 +122,4 @@
return true;
}
-
- @Override
- public void handleEvent(NetworkAddedEvent e) {
- // TODO Auto-generated method stub
-
- }
-
}
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/TableChooser.java
===================================================================
---
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/TableChooser.java
2011-10-05 20:44:40 UTC (rev 27069)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/TableChooser.java
2011-10-05 20:56:51 UTC (rev 27070)
@@ -1,7 +1,6 @@
package org.cytoscape.browser.internal;
-import static
org.cytoscape.browser.internal.AbstractTableBrowser.GLOBAL_TABLE_COLOR;
-import static
org.cytoscape.browser.internal.AbstractTableBrowser.NETWORK_COLOR;
+import static org.cytoscape.browser.internal.GlobalTableBrowser.*;
import static
org.cytoscape.browser.internal.AbstractTableBrowser.SELECTED_ITEM_BACKGROUND_COLOR;
import java.awt.Color;
@@ -33,14 +32,12 @@
private final Map<CyTable, String> tableToStringMap;
- private static final Font GLOBAL_FONT = new Font("Serif", Font.BOLD,
12);
+
TableChooser() {
tableToStringMap = new HashMap<CyTable, String>();
setModel(new GlobalTableComboBoxModel(tableToStringMap));
setRenderer(new TableChooserCellRenderer(tableToStringMap));
- this.setForeground(GLOBAL_TABLE_COLOR);
- this.setFont(GLOBAL_FONT);
}
final class GlobalTableComboBoxModel extends DefaultComboBoxModel {
@@ -130,6 +127,8 @@
final boolean cellHasFocus) // does the cell
have focus
{
final CyTable table = (CyTable) value;
+ this.setFont(GLOBAL_FONT);
+
if (tableToStringMap.containsKey(table))
setText(tableToStringMap.get(table));
else
--
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.