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.

Reply via email to