Author: kono
Date: 2011-10-05 11:49:43 -0700 (Wed, 05 Oct 2011)
New Revision: 27066
Added:
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
Removed:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AttributeBrowserToolBar.java
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/CyActivator.java
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/TableChooser.java
Log:
Multiple tabs added for each table categories: node, edge, network, and global.
Copied:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
(from rev 26915,
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/TableBrowser.java)
===================================================================
---
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
(rev 0)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
2011-10-05 18:49:43 UTC (rev 27066)
@@ -0,0 +1,157 @@
+package org.cytoscape.browser.internal;
+
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.event.ActionListener;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Properties;
+
+import javax.swing.Icon;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+import javax.swing.table.TableColumn;
+import javax.swing.table.TableColumnModel;
+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;
+import org.cytoscape.model.CyNetworkManager;
+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 {
+
+ 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);
+
+ protected final CyNetworkTableManager networkTableManager;
+ protected final CyServiceRegistrar serviceRegistrar;
+ private final EquationCompiler compiler;
+
+ protected final BrowserTable browserTable;
+ protected AttributeBrowserToolBar attributeBrowserToolBar;
+
+ protected BrowserTableModel browserTableModel;
+ protected CyTable currentTable;
+ protected final Map<CyTable, TableMetadata> tableToMetadataMap;
+ protected final CyApplicationManager applicationManager;
+ protected final CyNetworkManager networkManager;
+
+
+
+ // Tab title for the CytoPanel
+ private final String tabTitle;
+
+ AbstractTableBrowser(final String tabTitle,
+ final CyTableManager tableManager, final
CyNetworkTableManager networkTableManager,
+ final CyServiceRegistrar serviceRegistrar, final
EquationCompiler compiler, final OpenBrowser openBrowser,
+ final CyNetworkManager networkManager, final
TableTaskFactory deleteTableTaskFactoryService,
+ final GUITaskManager guiTaskManagerServiceRef, final
PopupMenuHelper popupMenuHelper,
+ final CyApplicationManager applicationManager) {
+ this.networkTableManager = networkTableManager;
+ this.serviceRegistrar = serviceRegistrar;
+ this.compiler = compiler;
+ this.tabTitle = tabTitle;
+ this.networkManager = networkManager;
+
+ this.tableToMetadataMap = new HashMap<CyTable, TableMetadata>();
+ this.applicationManager = applicationManager;
+
+ this.browserTable = new BrowserTable(openBrowser, compiler,
popupMenuHelper);
+
+ this.setLayout(new BorderLayout());
+
+ browserTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+ browserTable.getTableHeader().setBackground(Color.LIGHT_GRAY);
+ add(new JScrollPane(browserTable), BorderLayout.CENTER);
+ }
+
+ /**
+ * Returns the Component to be added to the CytoPanel.
+ * @return The Component to be added to the CytoPanel.
+ */
+ public Component getComponent() { return this; }
+
+ /**
+ * Returns the name of the CytoPanel that this component should be
added to.
+ * @return the name of the CytoPanel that this component should be
added to.
+ */
+ public CytoPanelName getCytoPanelName() {
+ return CytoPanelName.SOUTH;
+ }
+
+ /**
+ * Returns the title of the tab within the CytoPanel for this component.
+ * @return the title of the tab within the CytoPanel for this component.
+ */
+ public String getTitle() { return tabTitle; }
+
+ /**
+ * @return null
+ */
+ public Icon getIcon() { return null; }
+
+
+ void showSelectedTable() {
+ browserTableModel = new BrowserTableModel(browserTable,
currentTable, compiler);
+ serviceRegistrar.registerAllServices(browserTableModel, new
Properties());
+ browserTable.setUpdateComparators(false);
+ browserTable.setModel(browserTableModel);
+ final TableRowSorter rowSorter = new
TableRowSorter(browserTableModel);
+ browserTable.setRowSorter(rowSorter);
+ updateColumnComparators(rowSorter);
+ browserTable.setUpdateComparators(true);
+ attributeBrowserToolBar.setBrowserTableModel(browserTableModel);
+ final TableMetadata tableMetadata =
tableToMetadataMap.get(currentTable);
+ if (tableMetadata != null) {
+ final JTable jTable = browserTableModel.getTable();
+ final TableColumnModel columnModel =
jTable.getColumnModel();
+ final Iterator<ColumnDescriptor> columnDescIter =
+ tableMetadata.getColumnDescriptors();
+ while (columnDescIter.hasNext()) {
+ final ColumnDescriptor desc =
columnDescIter.next();
+ final int savedColumnIndex =
desc.getColumnIndex();
+ final TableColumn tableColumn =
columnModel.getColumn(savedColumnIndex);
+
tableColumn.setPreferredWidth(desc.getColumnWidth());
+ final int currentColumnIndex =
+ jTable.convertColumnIndexToView(
+
browserTableModel.mapColumnNameToColumnIndex(desc.getColumnName()));
+ if (currentColumnIndex != savedColumnIndex)
+ jTable.moveColumn(currentColumnIndex,
savedColumnIndex);
+ }
+ }
+
+ applicationManager.setCurrentTable(currentTable);
+ }
+
+ void updateColumnComparators(final TableRowSorter rowSorter) {
+ for (int column = 0; column <
browserTableModel.getColumnCount(); ++column)
+ rowSorter.setComparator(
+ column,
+ new ValidatedObjectAndEditStringComparator(
+
browserTableModel.getColumn(column).getType()));
+ }
+}
\ No newline at end of file
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AttributeBrowserToolBar.java
===================================================================
---
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AttributeBrowserToolBar.java
2011-10-05 17:17:15 UTC (rev 27065)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AttributeBrowserToolBar.java
2011-10-05 18:49:43 UTC (rev 27066)
@@ -32,18 +32,18 @@
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
-
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
+import java.util.HashMap;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
+import javax.swing.GroupLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
+import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JMenuItem;
@@ -53,24 +53,15 @@
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JToolBar;
+import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.ListSelectionModel;
import javax.swing.SwingUtilities;
import javax.swing.event.PopupMenuEvent;
import javax.swing.event.PopupMenuListener;
-import javax.swing.GroupLayout;
-import javax.swing.GroupLayout.Alignment;
-import javax.swing.LayoutStyle;
-import javax.swing.LayoutStyle.ComponentPlacement;
-
-import java.util.HashMap;
-
-import org.cytoscape.browser.internal.AttributeListModel;
-import org.cytoscape.browser.internal.BrowserTableModel;
import org.cytoscape.equations.EquationCompiler;
import org.cytoscape.model.CyColumn;
import org.cytoscape.model.CyTable;
-import org.cytoscape.model.CyTableManager;
import org.cytoscape.service.util.CyServiceRegistrar;
import org.cytoscape.task.TableTaskFactory;
import org.cytoscape.util.swing.CheckBoxJList;
@@ -81,7 +72,6 @@
private static final long serialVersionUID = -508393701912596399L;
private BrowserTableModel browserTableModel = null;
- private String attributeType = null;
/**
* GUI components
@@ -108,8 +98,8 @@
private JButton deleteTableButton = null;
private JButton selectAllAttributesButton = null;
private JButton unselectAllAttributesButton = null;
- private JButton matrixButton = null;
- private JButton importButton = null;
+
+ private final JComboBox tableChooser;
private AttributeListModel attrListModel;
private final EquationCompiler compiler;
@@ -117,13 +107,11 @@
private final TableTaskFactory deleteTableTaskFactoryService;
private final GUITaskManager guiTaskManagerServiceRef;
- public AttributeBrowserToolBar(final CyServiceRegistrar
serviceRegistrar,
- final EquationCompiler compiler, final
- TableTaskFactory
deleteTableTaskFactoryService,
- GUITaskManager guiTaskManagerServiceRef)
- {
+ public AttributeBrowserToolBar(final CyServiceRegistrar
serviceRegistrar, final EquationCompiler compiler,
+ final TableTaskFactory deleteTableTaskFactoryService,
GUITaskManager guiTaskManagerServiceRef, final JComboBox tableChooser) {
this.compiler = compiler;
- //this.tableManager = tableManager;
+
+ this.tableChooser = tableChooser;
this.deleteTableTaskFactoryService =
deleteTableTaskFactoryService;
this.guiTaskManagerServiceRef = guiTaskManagerServiceRef;
this.attrListModel = new AttributeListModel(null);
@@ -446,10 +434,10 @@
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(getDeleteTableButton())
.addPreferredGap(ComponentPlacement.RELATED)
-
.addComponent(getFunctionBuilderButton(),
-
GroupLayout.PREFERRED_SIZE,
- 28,
-
GroupLayout.PREFERRED_SIZE)));
+
.addComponent(getFunctionBuilderButton(), GroupLayout.PREFERRED_SIZE, 28,
+
GroupLayout.PREFERRED_SIZE)
+
.addPreferredGap(ComponentPlacement.RELATED)
+
.addComponent(this.tableChooser)));
buttonBarLayout.setVerticalGroup(buttonBarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(selectButton,
javax.swing.GroupLayout.Alignment.CENTER,
@@ -477,6 +465,10 @@
javax.swing.GroupLayout.Alignment.CENTER,
javax.swing.GroupLayout.DEFAULT_SIZE,
27,
Short.MAX_VALUE)
+
.addComponent(this.tableChooser,
+
javax.swing.GroupLayout.Alignment.CENTER,
+
javax.swing.GroupLayout.DEFAULT_SIZE,
+ 27,
Short.MAX_VALUE)
.addGroup(buttonBarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(formulaBuilderButton,
javax.swing.GroupLayout.PREFERRED_SIZE,
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/CyActivator.java
2011-10-05 17:17:15 UTC (rev 27065)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/CyActivator.java
2011-10-05 18:49:43 UTC (rev 27066)
@@ -1,7 +1,3 @@
-
-
-
-
package org.cytoscape.browser.internal;
import org.cytoscape.util.swing.OpenBrowser;
@@ -10,11 +6,14 @@
import org.cytoscape.application.CyApplicationManager;
import org.cytoscape.service.util.CyServiceRegistrar;
import org.cytoscape.task.TableTaskFactory;
+import org.cytoscape.model.CyEdge;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNode;
import org.cytoscape.model.CyTableManager;
import org.cytoscape.model.CyNetworkTableManager;
import org.cytoscape.work.swing.GUITaskManager;
-import org.cytoscape.browser.internal.TableBrowser;
+import org.cytoscape.browser.internal.AbstractTableBrowser;
import org.cytoscape.browser.internal.PopupMenuHelper;
@@ -27,8 +26,6 @@
import java.util.Properties;
-
-
public class CyActivator extends AbstractCyActivator {
public CyActivator() {
super();
@@ -48,10 +45,19 @@
CyNetworkTableManager cyNetworkTableManagerServiceRef =
getService(bc,CyNetworkTableManager.class);
PopupMenuHelper popupMenuHelper = new
PopupMenuHelper(guiTaskManagerServiceRef);
- TableBrowser tableBrowser = new
TableBrowser(cyTableManagerServiceRef,cyNetworkTableManagerServiceRef,cyServiceRegistrarServiceRef,compilerServiceRef,openBrowserServiceRef,cyNetworkManagerServiceRef,deleteTableTaskFactoryService,guiTaskManagerServiceRef,popupMenuHelper,cyApplicationManagerServiceRef);
- registerAllServices(bc,tableBrowser, new Properties());
+ AbstractTableBrowser nodeTableBrowser = new
DefaultTableBrowser("Node Table", CyNode.class,
cyTableManagerServiceRef,cyNetworkTableManagerServiceRef,cyServiceRegistrarServiceRef,compilerServiceRef,openBrowserServiceRef,cyNetworkManagerServiceRef,deleteTableTaskFactoryService,guiTaskManagerServiceRef,popupMenuHelper,cyApplicationManagerServiceRef);
+ AbstractTableBrowser edgeTableBrowser = new
DefaultTableBrowser("Edge Table", CyEdge.class,
cyTableManagerServiceRef,cyNetworkTableManagerServiceRef,cyServiceRegistrarServiceRef,compilerServiceRef,openBrowserServiceRef,cyNetworkManagerServiceRef,deleteTableTaskFactoryService,guiTaskManagerServiceRef,popupMenuHelper,cyApplicationManagerServiceRef);
+ AbstractTableBrowser networkTableBrowser = new
DefaultTableBrowser("Network Table", CyNetwork.class,
cyTableManagerServiceRef,cyNetworkTableManagerServiceRef,cyServiceRegistrarServiceRef,compilerServiceRef,openBrowserServiceRef,cyNetworkManagerServiceRef,deleteTableTaskFactoryService,guiTaskManagerServiceRef,popupMenuHelper,cyApplicationManagerServiceRef);
+
+ AbstractTableBrowser globalTableBrowser = new
GlobalTableBrowser("Global Table",
cyTableManagerServiceRef,cyNetworkTableManagerServiceRef,cyServiceRegistrarServiceRef,compilerServiceRef,openBrowserServiceRef,cyNetworkManagerServiceRef,deleteTableTaskFactoryService,guiTaskManagerServiceRef,popupMenuHelper,cyApplicationManagerServiceRef);
+
+ registerAllServices(bc,nodeTableBrowser, new Properties());
+ registerAllServices(bc,edgeTableBrowser, new Properties());
+ registerAllServices(bc,networkTableBrowser, new Properties());
+ registerAllServices(bc,globalTableBrowser, new Properties());
+
registerServiceListener(bc,popupMenuHelper,"addTableColumnTaskFactory","removeTableColumnTaskFactory",TableColumnTaskFactory.class);
registerServiceListener(bc,popupMenuHelper,"addTableCellTaskFactory","removeTableCellTaskFactory",TableCellTaskFactory.class);
Added:
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
(rev 0)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
2011-10-05 18:49:43 UTC (rev 27066)
@@ -0,0 +1,114 @@
+package org.cytoscape.browser.internal;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+
+import javax.swing.JComboBox;
+
+import org.cytoscape.application.CyApplicationManager;
+import org.cytoscape.application.events.SetCurrentNetworkEvent;
+import org.cytoscape.equations.EquationCompiler;
+import org.cytoscape.model.CyEdge;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.model.CyNetworkTableManager;
+import org.cytoscape.model.CyNode;
+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.TableAddedEvent;
+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 {
+
+ private static final long serialVersionUID = 627394119637512735L;
+
+ private final JComboBox networkChooser;
+ private final Class<? extends CyTableEntry> objType;
+
+ public DefaultTableBrowser(String tabTitle, Class<? extends
CyTableEntry> objType, CyTableManager tableManager,
+ CyNetworkTableManager networkTableManager,
CyServiceRegistrar serviceRegistrar, EquationCompiler compiler,
+ OpenBrowser openBrowser, CyNetworkManager
networkManager, TableTaskFactory deleteTableTaskFactoryService,
+ GUITaskManager guiTaskManagerServiceRef,
PopupMenuHelper popupMenuHelper,
+ 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();
+ networkChooser.addActionListener(this);
+ networkChooser.setSize(new Dimension(100, 20));
+ this.attributeBrowserToolBar = new
AttributeBrowserToolBar(serviceRegistrar, compiler,
+ deleteTableTaskFactoryService,
guiTaskManagerServiceRef, networkChooser);
+
+ add(attributeBrowserToolBar, BorderLayout.NORTH);
+ }
+
+ public void actionPerformed(final ActionEvent e) {
+ final CyNetwork currentNetwork =
this.applicationManager.getCurrentNetwork();
+ 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());
+ }
+
+ @Override
+ public void handleEvent(final SetCurrentNetworkEvent e) {
+ final CyNetwork currentNetwork = e.getNetwork();
+
+ if (browserTableModel != null)
+
serviceRegistrar.unregisterAllServices(browserTableModel);
+
+ if (objType == CyNode.class)
+ currentTable = currentNetwork.getDefaultNodeTable();
+ else if (objType == CyEdge.class)
+ currentTable = currentNetwork.getDefaultEdgeTable();
+ else
+ currentTable = currentNetwork.getDefaultNetworkTable();
+ networkChooser.setSelectedItem(currentNetwork);
+ showSelectedTable();
+ return;
+ }
+
+
+
+ @Override
+ public void handleEvent(NetworkAddedEvent e) {
+ CyNetwork network = e.getNetwork();
+ System.out.println("Adding New Network: " + network);
+ this.networkChooser.addItem(network);
+ this.networkChooser.setSelectedItem(network);
+ }
+
+ @Override
+ public void handleEvent(TableAboutToBeDeletedEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void handleEvent(TableAddedEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Added:
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
(rev 0)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/GlobalTableBrowser.java
2011-10-05 18:49:43 UTC (rev 27066)
@@ -0,0 +1,155 @@
+package org.cytoscape.browser.internal;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+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;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.model.CyNetworkTableManager;
+import org.cytoscape.model.CyNode;
+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.TableAddedEvent;
+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 {
+
+ private static final long serialVersionUID = 2269984225983802421L;
+
+ private static final Class<?>[] OBJECT_TYPES = {CyNode.class,
CyEdge.class, CyNetwork.class};
+
+
+ private final TableChooser tableChooser;
+
+
+ public GlobalTableBrowser(String tabTitle, CyTableManager tableManager,
CyNetworkTableManager networkTableManager,
+ CyServiceRegistrar serviceRegistrar, EquationCompiler
compiler, OpenBrowser openBrowser,
+ CyNetworkManager networkManager, TableTaskFactory
deleteTableTaskFactoryService,
+ GUITaskManager guiTaskManagerServiceRef,
PopupMenuHelper popupMenuHelper,
+ 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,
+ deleteTableTaskFactoryService,
guiTaskManagerServiceRef, tableChooser);
+
+ add(attributeBrowserToolBar, BorderLayout.NORTH);
+ }
+
+ public void actionPerformed(final ActionEvent e) {
+
+ final CyTable table = (CyTable) tableChooser.getSelectedItem();
+ if (table == currentTable || table == null)
+ return;
+
+ if (browserTableModel != null)
+
serviceRegistrar.unregisterAllServices(browserTableModel);
+
+ currentTable = table;
+
+ showSelectedTable();
+ }
+
+ @Override
+ public void handleEvent(final TableAboutToBeDeletedEvent e) {
+ final CyTable cyTable = e.getTable();
+ final GlobalTableComboBoxModel comboBoxModel =
(GlobalTableComboBoxModel) tableChooser.getModel();
+ 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.
+ *
+ * Note: This combo box only displays Global Table.
+ */
+ @Override
+ public void handleEvent(TableAddedEvent e) {
+
+ final GlobalTableComboBoxModel comboBoxModel =
(GlobalTableComboBoxModel)tableChooser.getModel();
+ final CyTable newTable = e.getTable();
+
+ if(isGlobalTable(newTable)) {
+ comboBoxModel.addAndSetSelectedItem(newTable);
+ System.out.println("New Table Added!!");
+ }
+ }
+
+
+ private boolean isGlobalTable(final CyTable table) {
+
+ final Set<CyTable> nonGlobalTables = new HashSet<CyTable>();
+ final Set<CyNetwork> networks =
this.networkManager.getNetworkSet();
+ for(CyNetwork network: networks) {
+ for(Class<?> type:OBJECT_TYPES) {
+ final Map<String, CyTable> objTables =
this.networkTableManager.getTables(network, (Class<? extends CyTableEntry>)
type);
+ nonGlobalTables.addAll(objTables.values());
+ }
+ }
+
+ if(nonGlobalTables.contains(table))
+ return false;
+ else
+ return true;
+
+ }
+
+ @Override
+ public void handleEvent(NetworkAddedEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Deleted:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
===================================================================
---
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
2011-10-05 17:17:15 UTC (rev 27065)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
2011-10-05 18:49:43 UTC (rev 27066)
@@ -1,220 +0,0 @@
-package org.cytoscape.browser.internal;
-
-
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.swing.Icon;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JTable;
-import javax.swing.table.TableColumn;
-import javax.swing.table.TableColumnModel;
-import javax.swing.table.TableRowSorter;
-
-import org.cytoscape.application.CyApplicationManager;
-import org.cytoscape.application.events.SetCurrentNetworkEvent;
-import org.cytoscape.application.events.SetCurrentNetworkListener;
-import org.cytoscape.application.swing.CytoPanelComponent;
-import org.cytoscape.application.swing.CytoPanelName;
-import org.cytoscape.equations.EquationCompiler;
-import org.cytoscape.model.CyEdge;
-import org.cytoscape.model.CyNetwork;
-import org.cytoscape.model.CyNetworkManager;
-import org.cytoscape.model.CyNetworkTableManager;
-import org.cytoscape.model.CyNode;
-import org.cytoscape.model.CyTable;
-import org.cytoscape.model.CyTableEntry;
-import org.cytoscape.model.CyTableManager;
-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 TableBrowser extends JPanel implements CytoPanelComponent,
ActionListener, TableAboutToBeDeletedListener,
- SetCurrentNetworkListener, TableAddedListener {
-
- private static final long serialVersionUID = 1968196123280466989L;
-
- private final CyNetworkTableManager networkTableManager;
- private final CyServiceRegistrar serviceRegistrar;
- private final EquationCompiler compiler;
- private final BrowserTable browserTable;
- private final AttributeBrowserToolBar attributeBrowserToolBar;
- private final TableChooser tableChooser;
- private BrowserTableModel browserTableModel;
- private CyTable currentTable;
- private final TableTaskFactory deleteTableTaskFactoryService;
- private final GUITaskManager guiTaskManagerServiceRef;
- private final Map<CyTable, TableMetadata> tableToMetadataMap;
- private final CyApplicationManager applicationManager;
-
- TableBrowser(final CyTableManager tableManager,
- final CyNetworkTableManager networkTableManager,
- final CyServiceRegistrar serviceRegistrar,
- final EquationCompiler compiler, final OpenBrowser
openBrowser,
- final CyNetworkManager networkManager,
- final TableTaskFactory deleteTableTaskFactoryService,
- final GUITaskManager guiTaskManagerServiceRef,
- final PopupMenuHelper popupMenuHelper,
- final CyApplicationManager applicationManager)
- {
- this.networkTableManager = networkTableManager;
- this.serviceRegistrar = serviceRegistrar;
- this.compiler = compiler;
-
- this.deleteTableTaskFactoryService =
deleteTableTaskFactoryService;
- this.guiTaskManagerServiceRef = guiTaskManagerServiceRef;
- this.tableToMetadataMap = new HashMap<CyTable, TableMetadata>();
- this.applicationManager = applicationManager;
-
- this.browserTable = new BrowserTable(openBrowser, compiler,
popupMenuHelper);
- this.attributeBrowserToolBar = new
AttributeBrowserToolBar(serviceRegistrar, compiler,
- this.deleteTableTaskFactoryService,
this.guiTaskManagerServiceRef);
- this.setLayout(new BorderLayout());
-
- browserTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
-
- tableChooser = new TableChooser(tableManager, networkManager);
- tableChooser.addActionListener(this);
- add(tableChooser, BorderLayout.SOUTH);
- browserTable.getTableHeader().setBackground(Color.LIGHT_GRAY);
- add(new JScrollPane(browserTable), BorderLayout.CENTER);
- add(attributeBrowserToolBar, BorderLayout.NORTH);
- }
-
- /**
- * Returns the Component to be added to the CytoPanel.
- * @return The Component to be added to the CytoPanel.
- */
- public Component getComponent() { return this; }
-
- /**
- * Returns the name of the CytoPanel that this component should be
added to.
- * @return the name of the CytoPanel that this component should be
added to.
- */
- public CytoPanelName getCytoPanelName() {
- return CytoPanelName.SOUTH;
- }
-
- /**
- * Returns the title of the tab within the CytoPanel for this component.
- * @return the title of the tab within the CytoPanel for this component.
- */
- public String getTitle() { return "Attribute Browser"; }
-
- /**
- * @return null
- */
- public Icon getIcon() { return null; }
-
- public void actionPerformed(final ActionEvent e) {
- final CyTable table = (CyTable)tableChooser.getSelectedItem();
- if (table == currentTable || table == null)
- return;
-
- if (browserTableModel != null) {
-
serviceRegistrar.unregisterAllServices(browserTableModel);
- }
-
- currentTable = table;
- browserTableModel = new BrowserTableModel(browserTable, table,
compiler);
- serviceRegistrar.registerAllServices(browserTableModel, new
Properties());
- browserTable.setUpdateComparators(false);
- browserTable.setModel(browserTableModel);
- final TableRowSorter rowSorter = new
TableRowSorter(browserTableModel);
- browserTable.setRowSorter(rowSorter);
- updateColumnComparators(rowSorter);
- browserTable.setUpdateComparators(true);
- attributeBrowserToolBar.setBrowserTableModel(browserTableModel);
- final TableMetadata tableMetadata =
tableToMetadataMap.get(currentTable);
- if (tableMetadata != null) {
- final JTable jTable = browserTableModel.getTable();
- final TableColumnModel columnModel =
jTable.getColumnModel();
- final Iterator<ColumnDescriptor> columnDescIter =
- tableMetadata.getColumnDescriptors();
- while (columnDescIter.hasNext()) {
- final ColumnDescriptor desc =
columnDescIter.next();
- final int savedColumnIndex =
desc.getColumnIndex();
- final TableColumn tableColumn =
columnModel.getColumn(savedColumnIndex);
-
tableColumn.setPreferredWidth(desc.getColumnWidth());
- final int currentColumnIndex =
- jTable.convertColumnIndexToView(
-
browserTableModel.mapColumnNameToColumnIndex(desc.getColumnName()));
- if (currentColumnIndex != savedColumnIndex)
- jTable.moveColumn(currentColumnIndex,
savedColumnIndex);
- }
- }
-
- applicationManager.setCurrentTable(currentTable);
- }
-
- public void updateColumnComparators(final TableRowSorter rowSorter) {
- for (int column = 0; column <
browserTableModel.getColumnCount(); ++column)
- rowSorter.setComparator(
- column,
- new ValidatedObjectAndEditStringComparator(
-
browserTableModel.getColumn(column).getType()));
- }
-
- @Override
- public void handleEvent(final TableAboutToBeDeletedEvent e) {
- final CyTable cyTable = e.getTable();
- final MyComboBoxModel comboBoxModel =
(MyComboBoxModel)tableChooser.getModel();
- comboBoxModel.removeItem(cyTable);
- tableToMetadataMap.remove(cyTable);
- }
-
- @Override
- public void handleEvent(final SetCurrentNetworkEvent e) {
- final MyComboBoxModel comboBoxModel =
(MyComboBoxModel)tableChooser.getModel();
- final CyNetwork currentNetwork = e.getNetwork();
-
- if (currentTable == null) {
-
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.
- */
- @Override
- public void handleEvent(TableAddedEvent e) {
- final MyComboBoxModel comboBoxModel =
(MyComboBoxModel)tableChooser.getModel();
- final CyTable newTable = e.getTable();
- comboBoxModel.addAndSetSelectedItem(newTable);
- }
-}
\ No newline at end of file
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 17:17:15 UTC (rev 27065)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/TableChooser.java
2011-10-05 18:49:43 UTC (rev 27066)
@@ -1,14 +1,18 @@
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.AbstractTableBrowser.SELECTED_ITEM_BACKGROUND_COLOR;
+import java.awt.Color;
import java.awt.Component;
+import java.awt.Font;
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;
import javax.swing.JComboBox;
@@ -17,165 +21,133 @@
import javax.swing.ListCellRenderer;
import javax.swing.SwingUtilities;
-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;
-
+/**
+ * Combo Box to choose tables to be displayed.
+ *
+ */
public class TableChooser extends JComboBox {
-
+
private static final long serialVersionUID = 5141179419574773453L;
-
+
private final Map<CyTable, String> tableToStringMap;
+
+ private static final Font GLOBAL_FONT = new Font("Serif", Font.BOLD,
12);
- TableChooser(final CyTableManager tableManager, final CyNetworkManager
networkManager) {
+ TableChooser() {
tableToStringMap = new HashMap<CyTable, String>();
- setModel(new MyComboBoxModel(tableManager, networkManager,
tableToStringMap));
- setRenderer(new MyCellRenderer(tableToStringMap));
+ setModel(new GlobalTableComboBoxModel(tableToStringMap));
+ setRenderer(new TableChooserCellRenderer(tableToStringMap));
+ this.setForeground(GLOBAL_TABLE_COLOR);
+ this.setFont(GLOBAL_FONT);
}
-}
+ final class GlobalTableComboBoxModel extends DefaultComboBoxModel {
-final class MyComboBoxModel extends DefaultComboBoxModel {
-
- private static final long serialVersionUID = -5435833047656563358L;
-
- private 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;
+ private static final long serialVersionUID =
-5435833047656563358L;
- MyComboBoxModel(final CyTableManager tableManager, final
CyNetworkManager networkManager,
- final Map<CyTable, String> tableToStringMap)
- {
- this.tableManager = tableManager;
- this.networkManager = networkManager;
- this.tableToStringMap = tableToStringMap;
+ private final Comparator<CyTable> tableComparator = new
TableComparator();
+ private final Map<CyTable, String> tableToStringMap;
+ private final List<CyTable> tables;
- oldSet = tableManager.getAllTables(/* includePrivate = */
false);
- tables = new ArrayList<CyTable>(oldSet);
- Collections.sort(tables, tableComparator);
- updateTableToStringMap();
- }
+ GlobalTableComboBoxModel(final Map<CyTable, String>
tableToStringMap) {
+ this.tableToStringMap = tableToStringMap;
+ tables = new ArrayList<CyTable>();
+ }
- private void updateTableToStringMap() {
- tableToStringMap.clear();
+ private void updateTableToStringMap() {
+ tableToStringMap.clear();
+ for (final CyTable table : tables)
+ tableToStringMap.put(table, "Global Table: " +
table.getTitle());
+ }
- 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)");
+ @Override
+ public int getSize() {
+ return tables.size();
}
- }
- public int getSize() {
- final Set<CyTable> tableSet = tableManager.getAllTables(/*
includePrivate = */ false);
- if (!tableSet.equals(oldSet)) {
- oldSet = tableSet;
- fireContentsChanged(this, 0, tableSet.size() - 1);
- tables = new ArrayList<CyTable>(tableSet.size());
- for (final CyTable table : tableSet)
- tables.add(table);
- Collections.sort(tables, tableComparator);
- updateTableToStringMap();
+
+ @Override
+ public Object getElementAt(int index) {
+ return tables.get(index);
}
- return tables.size();
- }
+ public void addAndSetSelectedItem(final CyTable newTable) {
+ if (!tables.contains(newTable)) {
+ tables.add(newTable);
+ Collections.sort(tables, tableComparator);
+ updateTableToStringMap();
+ fireContentsChanged(this, 0, tables.size() - 1);
+ }
- public Object getElementAt(int index) {
- return tables.get(index);
- }
-
- public void addAndSetSelectedItem(final CyTable newTable) {
- if (!tables.contains(newTable)) {
- tables.add(newTable);
- Collections.sort(tables, tableComparator);
- oldSet.clear();
- for (final CyTable table : tables)
- oldSet.add(table);
- updateTableToStringMap();
- fireContentsChanged(this, 0, oldSet.size() - 1);
+ // This is necessary to avoid deadlock!
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run() {
+ setSelectedItem(newTable);
+ }
+ });
}
-
- // This is necessary to avoid deadlock!
- SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- setSelectedItem(newTable);
+
+
+ public void removeItem(CyTable deletedTable) {
+
+ if (tables.contains(deletedTable)) {
+ tables.remove(deletedTable);
+ if (tables.size() != 0)
+ Collections.sort(tables,
tableComparator);
}
- });
- }
-
- public void removeItem(CyTable deletedTable){
-
- if (tables.contains(deletedTable)) {
- tables.remove(deletedTable);
-
- oldSet.clear();
- if (tables.size() != 0){
- Collections.sort(tables, tableComparator);
- for (final CyTable table : tables)
- oldSet.add(table);
+
+ if (tables.size() == 0) {
+ setSelectedItem(null);
+ } else {
+ setSelectedItem(tables.get(0));
}
}
+ }
- if (tables.size() == 0){
- setSelectedItem(null);
+ private static final class TableComparator implements
Comparator<CyTable> {
+ public int compare(final CyTable table1, final CyTable table2) {
+ return table1.getTitle().compareTo(table2.getTitle());
}
- else {
- setSelectedItem(tables.get(0));
- }
}
-}
-final class TableComparator implements Comparator<CyTable> {
- public int compare(final CyTable table1, final CyTable table2) {
- return table1.getTitle().compareTo(table2.getTitle());
- }
-}
+ private final class TableChooserCellRenderer extends JLabel implements
ListCellRenderer {
+ private static final long serialVersionUID =
8732696308031936737L;
-class MyCellRenderer extends JLabel implements ListCellRenderer {
- private final Map<CyTable, String> tableToStringMap;
+ private final Map<CyTable, String> tableToStringMap;
- MyCellRenderer(final Map<CyTable, String> tableToStringMap) {
- this.tableToStringMap = tableToStringMap;
- }
+ TableChooserCellRenderer(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
- final boolean isSelected,
// is the cell selected
- final boolean
cellHasFocus) // does the cell have focus
- {
- final CyTable table = (CyTable)value;
- if (tableToStringMap.containsKey(table))
- setText(tableToStringMap.get(table));
- else
- setText(table == null ? "" : table.getTitle());
+ public Component getListCellRendererComponent(final JList list,
// the
+
// list
+ final Object value, // value to display
+ final int index, // cell index
+ final boolean isSelected, // is the cell
selected
+ final boolean cellHasFocus) // does the cell
have focus
+ {
+ final CyTable table = (CyTable) value;
+ if (tableToStringMap.containsKey(table))
+ setText(tableToStringMap.get(table));
+ else
+ setText(table == null ? "" : table.getTitle());
- if (isSelected) {
- setBackground(list.getSelectionBackground());
- setForeground(list.getSelectionForeground());
- } else {
- setBackground(list.getBackground());
- setForeground(list.getForeground());
- }
+ if (isSelected) {
+ setBackground(SELECTED_ITEM_BACKGROUND_COLOR);
+ setForeground(GLOBAL_TABLE_COLOR);
+ } else {
+ setBackground(Color.WHITE);
+ setForeground(GLOBAL_TABLE_COLOR);
+ }
- setEnabled(list.isEnabled());
- setFont(list.getFont());
- setOpaque(true);
+ setEnabled(list.isEnabled());
+ setFont(list.getFont());
+ setOpaque(true);
- return this;
+ return this;
+ }
}
}
\ No newline at end of file
--
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.