Author: ruschein
Date: 2010-12-07 14:53:00 -0800 (Tue, 07 Dec 2010)
New Revision: 23119
Added:
core3/table-browser-impl/branches/experiment1/src/main/java/org/cytoscape/browser/internal/BrowserTable.java
core3/table-browser-impl/branches/experiment1/src/main/java/org/cytoscape/browser/internal/TableChooser.java
Log:
Added missing files.
Added:
core3/table-browser-impl/branches/experiment1/src/main/java/org/cytoscape/browser/internal/BrowserTable.java
===================================================================
---
core3/table-browser-impl/branches/experiment1/src/main/java/org/cytoscape/browser/internal/BrowserTable.java
(rev 0)
+++
core3/table-browser-impl/branches/experiment1/src/main/java/org/cytoscape/browser/internal/BrowserTable.java
2010-12-07 22:53:00 UTC (rev 23119)
@@ -0,0 +1,8 @@
+package org.cytoscape.browser.internal;
+
+
+import javax.swing.JTable;
+
+
+public class BrowserTable extends JTable {
+}
Added:
core3/table-browser-impl/branches/experiment1/src/main/java/org/cytoscape/browser/internal/TableChooser.java
===================================================================
---
core3/table-browser-impl/branches/experiment1/src/main/java/org/cytoscape/browser/internal/TableChooser.java
(rev 0)
+++
core3/table-browser-impl/branches/experiment1/src/main/java/org/cytoscape/browser/internal/TableChooser.java
2010-12-07 22:53:00 UTC (rev 23119)
@@ -0,0 +1,87 @@
+package org.cytoscape.browser.internal;
+
+
+import java.awt.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JComboBox;
+import javax.swing.ListCellRenderer;
+
+import org.cytoscape.model.CyTable;
+import org.cytoscape.model.CyTableManager;
+
+
+public class TableChooser extends JComboBox {
+ TableChooser(final CyTableManager tableManager) {
+ super(new MyComboBoxModel(tableManager));
+ setRenderer(new MyCellRenderer());
+ }
+}
+
+
+class MyComboBoxModel extends DefaultComboBoxModel {
+ private final CyTableManager tableManager;
+ private List<CyTable> tables;
+ private Set<CyTable> oldSet;
+
+ MyComboBoxModel(final CyTableManager tableManager) {
+ this.tableManager = tableManager;
+ oldSet = tableManager.getAllTables(/* includePrivate = */
false);
+ tables = new ArrayList<CyTable>(oldSet.size());
+ for (final CyTable table : oldSet)
+ tables.add(table);
+ }
+
+ 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);
+ }
+
+ return tables.size();
+ }
+
+ public Object getElementAt(int index) {
+ return tables.get(index);
+ }
+}
+
+
+class MyCellRenderer extends JLabel implements ListCellRenderer {
+ // This is the only method defined by ListCellRenderer.
+ // We just reconfigure the JLabel each time we're called.
+
+ 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;
+ setText(table == null ? "" : table.getTitle());
+
+ if (isSelected) {
+ setBackground(list.getSelectionBackground());
+ setForeground(list.getSelectionForeground());
+ } else {
+ setBackground(list.getBackground());
+ setForeground(list.getForeground());
+ }
+
+ setEnabled(list.isEnabled());
+ setFont(list.getFont());
+ setOpaque(true);
+
+ 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.