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.