Author: ruschein
Date: 2011-02-15 15:58:40 -0800 (Tue, 15 Feb 2011)
New Revision: 24138

Modified:
   
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/BrowserTable.java
   
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/BrowserTableModel.java
   
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/MyTableHeaderRenderer.java
Log:
Added support for popup menus.

Modified: 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/BrowserTable.java
===================================================================
--- 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/BrowserTable.java
       2011-02-15 23:52:14 UTC (rev 24137)
+++ 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/BrowserTable.java
       2011-02-15 23:58:40 UTC (rev 24138)
@@ -111,7 +111,6 @@
 
                
setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
 
-               final TableModel tableModel = getModel();
                final BrowserTable table = this;
 
                //
@@ -126,6 +125,7 @@
                                        if (column == 0)
                                                return;
 
+                                       final BrowserTableModel tableModel = 
(BrowserTableModel)table.getModel();
                                        // Make sure the column and row we're 
clicking on actually exists!
                                        if (column >= 
tableModel.getColumnCount() || row >= tableModel.getRowCount())
                                                return;
@@ -139,23 +139,14 @@
                                            || (isMacPlatform() && 
e.isControlDown()))
                                        {
                                                final CyColumn cyColumn =
-                                                       
((BrowserTableModel)tableModel).getColumn(column);
+                                                       
tableModel.getColumn(column);
                                                final Object primaryKeyValue =
-                                                       
((ValidatedObjectAndEditString)((BrowserTableModel)tableModel).getValueAt(row, 
0))
+                                                       
((ValidatedObjectAndEditString)tableModel.getValueAt(row, 0))
                                                        .getValidatedObject();
                                                
popupMenuHelper.createTableCellMenu(cyColumn,
                                                                                
    primaryKeyValue,
                                                                                
    table, e.getX(),
                                                                                
    e.getY());
-                                               /*
-                                               if (objectAndEditString != 
null) {
-                                                       
rightClickPopupMenu.remove(rightClickPopupMenu.getComponentCount() - 1);
-                                                       final Object 
validatedObject = objectAndEditString.getValidatedObject();
-                                                       if (validatedObject != 
null)
-                                                               
rightClickPopupMenu.add(new HyperLinkOut(validatedObject.toString(), 
linkoutProps, openBrowser));
-                                                       
rightClickPopupMenu.show(e.getComponent(), e.getX(), e.getY());
-                                               }
-                                               */
                                        } else if 
(SwingUtilities.isLeftMouseButton(e) && (getSelectedRows().length != 0)) {
                                                
                                                showListContents(e);
@@ -447,128 +438,6 @@
                                }
                        });
 
-/*
-               copyMenuItem.addActionListener(new 
java.awt.event.ActionListener() {
-                               public void 
actionPerformed(java.awt.event.ActionEvent e) {
-                                       copyToClipBoard();
-                               }
-                       });
-
-               copyToCurrentSelectionMenuItem.addActionListener(new 
java.awt.event.ActionListener() {
-                               public void 
actionPerformed(java.awt.event.ActionEvent e) {
-                                       copyToCurrentSelection();
-                               }
-                       });
-
-               copyFormulaToCurrentSelectionMenuItem.addActionListener(new 
java.awt.event.ActionListener() {
-                               public void actionPerformed(final ActionEvent 
e) {
-                                       copyFormulaToCurrentSelection();
-                               }
-                       });
-
-               copyToEntireAttributeMenuItem.addActionListener(new 
java.awt.event.ActionListener() {
-                               public void actionPerformed(final ActionEvent 
e) {
-                                       copyToEntireAttribute();
-                               }
-                       });
-
-               copyFormulaToEntireAttributeMenuItem.addActionListener(new 
java.awt.event.ActionListener() {
-                               public void actionPerformed(final ActionEvent 
e) {
-                                       copyFormulaToEntireAttribute();
-                               }
-                       });
-
-               exportCellsMenuItem.addActionListener(new 
java.awt.event.ActionListener() {
-                               public void actionPerformed(final ActionEvent 
e) {
-                                       export(false);
-                               }
-                       });
-
-               exportTableMenuItem.addActionListener(new 
java.awt.event.ActionListener() {
-                               public void actionPerformed(final ActionEvent 
e) {
-                                       export(true);
-                               }
-                       });
-
-               selectAllMenuItem.addActionListener(new 
java.awt.event.ActionListener() {
-                               public void actionPerformed(final ActionEvent 
e) {
-                                       selectAll();
-                               }
-                       });
-
-               newSelectionMenuItem.addActionListener(new 
java.awt.event.ActionListener() {
-                               public void actionPerformed(final ActionEvent 
e) {
-                                       final int idLocation = getIdColumn();
-                                       final Map<String, GraphObject> 
selectedMap = paintNodesAndEdges(idLocation);
-                                       final CyNetwork curNet = 
Cytoscape.getCurrentNetwork();
-
-                                       final List<GraphObject> 
nonSelectedObjects = new ArrayList<GraphObject>();
-
-                                       GraphObject fromMap;
-
-                                       if (objectType == NODES) {
-                                               for (Object curNode : 
curNet.getSelectedNodes()) {
-                                                       fromMap = 
selectedMap.get(((Node) curNode).getIdentifier());
-
-                                                       if (fromMap == null) {
-                                                               
nonSelectedObjects.add((GraphObject) curNode);
-                                                       }
-                                               }
-
-                                               resetObjectColor(idLocation);
-                                               
curNet.setSelectedNodeState(nonSelectedObjects, false);
-                                       } else {
-                                               for (Object curEdge : 
curNet.getSelectedEdges()) {
-                                                       fromMap = 
selectedMap.get(((Edge) curEdge).getIdentifier());
-
-                                                       if (fromMap == null) {
-                                                               
nonSelectedObjects.add((GraphObject) curEdge);
-                                                       }
-                                               }
-
-                                               resetObjectColor(idLocation);
-                                               
curNet.setSelectedEdgeState(nonSelectedObjects, false);
-                                       }
-
-                                       if (Cytoscape.getCurrentNetworkView() 
!= Cytoscape.getNullNetworkView()) {
-                                               
Cytoscape.getCurrentNetworkView().updateView();
-                                       }
-                               }
-                       });
-
-               coloringMenuItem.addActionListener(new 
java.awt.event.ActionListener() {
-                               public void 
actionPerformed(java.awt.event.ActionEvent e) {
-                                       if (Cytoscape.getCurrentNetworkView() 
!= Cytoscape.getNullNetworkView()) {
-                                               if 
(coloringMenuItem.isSelected() == true) {
-                                                       setNewRenderer(true);
-                                               } else {
-                                                       setNewRenderer(false);
-                                               }
-                                       }
-                               }
-                       });
-
-               exportMenu.add(exportCellsMenuItem);
-               exportMenu.add(exportTableMenuItem);
-
-               if (objectType != NETWORK)
-                       rightClickPopupMenu.add(newSelectionMenuItem);
-
-               rightClickPopupMenu.add(openFormulaBuilderMenuItem);
-               rightClickPopupMenu.add(copyMenuItem);
-               rightClickPopupMenu.add(copyToCurrentSelectionMenuItem);
-               rightClickPopupMenu.add(copyFormulaToCurrentSelectionMenuItem);
-               rightClickPopupMenu.add(copyToEntireAttributeMenuItem);
-               rightClickPopupMenu.add(copyFormulaToEntireAttributeMenuItem);
-               rightClickPopupMenu.add(selectAllMenuItem);
-               rightClickPopupMenu.add(exportMenu);
-
-               if (objectType != NETWORK) {
-                       rightClickPopupMenu.addSeparator();
-                       rightClickPopupMenu.add(coloringMenuItem);
-               }
-*/
-
                return rightClickPopupMenu;
        }
 
@@ -609,7 +478,7 @@
        }
 
        @Override
-       public void mouseClicked(MouseEvent event) {
+       public void mouseClicked(final MouseEvent event) {
                final int cursorType = getTableHeader().getCursor().getType();
                if (event.getButton() == MouseEvent.BUTTON3) {
                        final int column = 
getColumnModel().getColumnIndexAtX(event.getX());
@@ -623,8 +492,8 @@
                        if (column == 0)
                                return;
 
-//                     mouseX = event.getX();
-                       rightClickHeaderPopupMenu.show(event.getComponent(), 
event.getX(), event.getY());
+                       final CyColumn cyColumn = tableModel.getColumn(column);
+                       popupMenuHelper.createColumnHeaderMenu(cyColumn, this, 
event.getX(), event.getY());
                }
        }
 

Modified: 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/BrowserTableModel.java
===================================================================
--- 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/BrowserTableModel.java
  2011-02-15 23:52:14 UTC (rev 24137)
+++ 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/BrowserTableModel.java
  2011-02-15 23:58:40 UTC (rev 24138)
@@ -28,12 +28,14 @@
 import org.cytoscape.model.events.ColumnCreatedListener;
 import org.cytoscape.model.events.ColumnDeletedEvent;
 import org.cytoscape.model.events.ColumnDeletedListener;
+import org.cytoscape.model.events.ColumnNameChangedEvent;
+import org.cytoscape.model.events.ColumnNameChangedListener;
 import org.cytoscape.model.events.CyTableRowUpdateMicroListener;
 import org.cytoscape.service.util.CyServiceRegistrar;
 
 
 public final class BrowserTableModel extends AbstractTableModel
-       implements ColumnCreatedListener, ColumnDeletedListener, 
CyTableRowUpdateMicroListener
+       implements ColumnCreatedListener, ColumnDeletedListener, 
ColumnNameChangedListener, CyTableRowUpdateMicroListener
 {
        private static final int EOF = -1;
        private static final int MAX_INITIALLY_VSIBLE_ATTRS = 10;
@@ -272,6 +274,17 @@
        }
 
        @Override
+       public void handleEvent(final ColumnNameChangedEvent e) {
+               if (e.getSource() != attrs)
+                       return;
+
+               final String newColumnName = e.getNewColumnName();
+               renameColumnName(e.getOldColumnName(), newColumnName);
+               final int column = mapColumnNameToColumnIndex(newColumnName);
+               
table.getColumnModel().getColumn(column).setHeaderValue(newColumnName);
+       }
+
+       @Override
        public void handleRowCreations(final CyTable table, final List<CyRow> 
newRows) {
                fireTableDataChanged();
        }
@@ -288,6 +301,17 @@
                return mapColumnIndexToColumnName(column);
        }
 
+       private void renameColumnName(final String oldName, final String 
newName) {
+               for (final AttrNameAndVisibility nameAndVisibility : 
attrNamesAndVisibilities) {
+                       if (nameAndVisibility.getName().equals(oldName)) {
+                               nameAndVisibility.setName(newName);
+                               return;
+                       }
+               }
+
+               throw new IllegalStateException("We should *never* get here!");
+       }
+
        private int mapColumnNameToColumnIndex(final String columnName) {
                final String primaryKey = attrs.getPrimaryKey().getName();
                if (columnName.equals(primaryKey))
@@ -806,8 +830,8 @@
 }
 
 
-class AttrNameAndVisibility {
-       private final String attrName;
+final class AttrNameAndVisibility {
+       private String attrName;
        private boolean isVisible;
 
        AttrNameAndVisibility(final String attrName, final boolean isVisible) {
@@ -819,6 +843,10 @@
                return attrName;
        }
 
+       void setName(final String newAttrName) {
+               attrName = newAttrName;
+       }
+
        void setVisibility(final boolean isVisible) {
                this.isVisible = isVisible;
        }

Modified: 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/MyTableHeaderRenderer.java
===================================================================
--- 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/MyTableHeaderRenderer.java
      2011-02-15 23:52:14 UTC (rev 24137)
+++ 
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/MyTableHeaderRenderer.java
      2011-02-15 23:58:40 UTC (rev 24138)
@@ -59,7 +59,7 @@
                BrowserTableModel model = (BrowserTableModel)table.getModel();
                CyColumn col = 
model.getAttributes().getColumn(value.toString());
                
-        String toolTip = col.getType().getName();
+               String toolTip = col.getType().getName();
                if(col.isVirtual()){
                        this.setForeground(Color.cyan);
                        this.setBackground(Color.red);

-- 
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