Author: mes
Date: 2011-06-21 15:40:11 -0700 (Tue, 21 Jun 2011)
New Revision: 25858
Added:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/RowViewTracker.java
Removed:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/SelectRegisterListener.java
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/AbstractNetworkNameListener.java
Modified:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/ShutdownHandler.java
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/SelectEdgeViewUpdater.java
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/SelectNodeViewUpdater.java
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/CytoPanelImp.java
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/ToolBarEnableUpdater.java
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
updated to for event-api changes that rely on payload events instead of
microlisteners
Modified:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/ShutdownHandler.java
===================================================================
---
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/ShutdownHandler.java
2011-06-21 22:40:10 UTC (rev 25857)
+++
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/ShutdownHandler.java
2011-06-21 22:40:11 UTC (rev 25858)
@@ -62,7 +62,7 @@
public void exit(int retVal) {
actuallyShutdown = true;
CytoscapeShutdownEvent ev = new
CytoscapeShutdownEvent(ShutdownHandler.this);
- eh.fireSynchronousEvent( ev );
+ eh.fireEvent( ev );
// TODO figure out a way to do a clean shutdown of the OSGi
container.
if ( ev.actuallyShutdown() )
Copied:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/RowViewTracker.java
(from rev 25627,
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/SelectRegisterListener.java)
===================================================================
---
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/RowViewTracker.java
(rev 0)
+++
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/RowViewTracker.java
2011-06-21 22:40:11 UTC (rev 25858)
@@ -0,0 +1,68 @@
+
+package org.cytoscape.internal.select;
+
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.cytoscape.model.CyEdge;
+import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyRow;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.View;
+import org.cytoscape.view.model.events.AboutToRemoveEdgeViewsEvent;
+import org.cytoscape.view.model.events.AboutToRemoveEdgeViewsListener;
+import org.cytoscape.view.model.events.AboutToRemoveNodeViewsEvent;
+import org.cytoscape.view.model.events.AboutToRemoveNodeViewsListener;
+import org.cytoscape.view.model.events.AddedEdgeViewsEvent;
+import org.cytoscape.view.model.events.AddedEdgeViewsListener;
+import org.cytoscape.view.model.events.AddedNodeViewsEvent;
+import org.cytoscape.view.model.events.AddedNodeViewsListener;
+import org.cytoscape.view.model.events.NetworkViewAddedEvent;
+import org.cytoscape.view.model.events.NetworkViewAddedListener;
+
+class RowViewTracker implements NetworkViewAddedListener,
+ AddedNodeViewsListener, AddedEdgeViewsListener,
+ AboutToRemoveNodeViewsListener, AboutToRemoveEdgeViewsListener {
+
+ private Map<CyRow,View<?>> rowViewMap;
+
+ public RowViewTracker() {
+ rowViewMap = new HashMap<CyRow,View<?>>();
+ }
+
+ public void handleEvent(NetworkViewAddedEvent e) {
+ final CyNetworkView view = e.getNetworkView();
+
+ for ( View<CyNode> nv : view.getNodeViews() )
+ rowViewMap.put( nv.getModel().getCyRow(), nv);
+
+ for ( View<CyEdge> ev : view.getEdgeViews() )
+ rowViewMap.put( ev.getModel().getCyRow(), ev);
+ }
+
+ public void handleEvent(AddedNodeViewsEvent e) {
+ for ( View<CyNode> v : e.getNodeViews())
+ rowViewMap.put( v.getModel().getCyRow(), v );
+ }
+
+ public void handleEvent(AddedEdgeViewsEvent e) {
+ for ( View<CyEdge> v : e.getEdgeViews())
+ rowViewMap.put( v.getModel().getCyRow(), v );
+ }
+
+ public void handleEvent(AboutToRemoveNodeViewsEvent e) {
+ for ( View<CyNode> v : e.getNodeViews())
+ rowViewMap.remove( v.getModel().getCyRow() );
+ }
+
+ public void handleEvent(AboutToRemoveEdgeViewsEvent e) {
+ for ( View<CyEdge> v : e.getEdgeViews())
+ rowViewMap.remove( v.getModel().getCyRow() );
+ }
+
+ public Map<CyRow,View<?>> getRowViewMap() {
+ return Collections.unmodifiableMap(rowViewMap);
+ }
+}
Modified:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/SelectEdgeViewUpdater.java
===================================================================
---
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/SelectEdgeViewUpdater.java
2011-06-21 22:40:10 UTC (rev 25857)
+++
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/SelectEdgeViewUpdater.java
2011-06-21 22:40:11 UTC (rev 25858)
@@ -39,13 +39,12 @@
import static
org.cytoscape.view.presentation.property.MinimalVisualLexicon.EDGE_SELECTED;
import org.cytoscape.application.swing.ViewUpdater;
-import org.cytoscape.model.CyEdge;
-import org.cytoscape.view.model.View;
+import org.cytoscape.model.CyNetwork;
-public class SelectEdgeViewUpdater extends ViewUpdater<CyEdge,Boolean> {
+public class SelectEdgeViewUpdater extends ViewUpdater<Boolean> {
- public SelectEdgeViewUpdater(View<CyEdge> ev) {
- super(ev, EDGE_SELECTED, ev.getModel().getCyRow(), "selected");
+ public SelectEdgeViewUpdater(RowViewTracker tracker) {
+ super(EDGE_SELECTED, CyNetwork.SELECTED,
tracker.getRowViewMap());
}
}
Modified:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/SelectNodeViewUpdater.java
===================================================================
---
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/SelectNodeViewUpdater.java
2011-06-21 22:40:10 UTC (rev 25857)
+++
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/SelectNodeViewUpdater.java
2011-06-21 22:40:11 UTC (rev 25858)
@@ -1,4 +1,3 @@
-
/*
Copyright (c) 2008, The Cytoscape Consortium (www.cytoscape.org)
@@ -39,12 +38,10 @@
import org.cytoscape.application.swing.ViewUpdater;
import org.cytoscape.model.CyNetwork;
-import org.cytoscape.model.CyNode;
-import org.cytoscape.view.model.View;
-public class SelectNodeViewUpdater extends ViewUpdater<CyNode, Boolean> {
+public class SelectNodeViewUpdater extends ViewUpdater<Boolean> {
- public SelectNodeViewUpdater(View<CyNode> nv) {
- super(nv, NODE_SELECTED, nv.getModel().getCyRow(), CyNetwork.SELECTED);
- }
+ public SelectNodeViewUpdater(RowViewTracker tracker) {
+ super(NODE_SELECTED, CyNetwork.SELECTED,
tracker.getRowViewMap());
+ }
}
Deleted:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/SelectRegisterListener.java
===================================================================
---
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/SelectRegisterListener.java
2011-06-21 22:40:10 UTC (rev 25857)
+++
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/select/SelectRegisterListener.java
2011-06-21 22:40:11 UTC (rev 25858)
@@ -1,31 +0,0 @@
-
-package org.cytoscape.internal.select;
-
-
-import org.cytoscape.event.CyEventHelper;
-import org.cytoscape.model.CyEdge;
-import org.cytoscape.model.CyNode;
-import org.cytoscape.model.events.RowSetMicroListener;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.View;
-import org.cytoscape.view.model.events.NetworkViewAddedEvent;
-import org.cytoscape.view.model.events.NetworkViewAddedListener;
-
-public class SelectRegisterListener implements NetworkViewAddedListener {
-
- private CyEventHelper eventHelper;
-
- public SelectRegisterListener(CyEventHelper eventHelper) {
- this.eventHelper = eventHelper;
- }
-
- public void handleEvent(NetworkViewAddedEvent e) {
- final CyNetworkView view = e.getNetworkView();
-
- for ( View<CyNode> nv : view.getNodeViews() )
- eventHelper.addMicroListener( new
SelectNodeViewUpdater(nv), RowSetMicroListener.class, nv.getModel().getCyRow()
);
-
- for ( View<CyEdge> ev : view.getEdgeViews() )
- eventHelper.addMicroListener( new
SelectEdgeViewUpdater(ev), RowSetMicroListener.class, ev.getModel().getCyRow()
);
- }
-}
Deleted:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/AbstractNetworkNameListener.java
===================================================================
---
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/AbstractNetworkNameListener.java
2011-06-21 22:40:10 UTC (rev 25857)
+++
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/AbstractNetworkNameListener.java
2011-06-21 22:40:11 UTC (rev 25858)
@@ -1,48 +0,0 @@
-/*
- File: NetworkNameListener.java
-
- Copyright (c) 2006, 2010, The Cytoscape Consortium (www.cytoscape.org)
-
- This library is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of the License, or
- any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. The software and
- documentation provided hereunder is on an "as is" basis, and the
- Institute for Systems Biology and the Whitehead Institute
- have no obligations to provide maintenance, support,
- updates, enhancements or modifications. In no event shall the
- Institute for Systems Biology and the Whitehead Institute
- be liable to any party for direct, indirect, special,
- incidental or consequential damages, including lost profits, arising
- out of the use of this software and its documentation, even if the
- Institute for Systems Biology and the Whitehead Institute
- have been advised of the possibility of such damage. See
- the GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this library; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-package org.cytoscape.internal.view;
-
-import org.cytoscape.model.CyNetwork;
-import org.cytoscape.model.events.RowSetMicroListener;
-
-
-public abstract class AbstractNetworkNameListener implements
RowSetMicroListener {
- protected final CyNetwork net;
- public AbstractNetworkNameListener(final CyNetwork net) {
- this.net = net;
- }
-
- public void handleRowSet(final String col, final Object newValue, final
Object newRawValue) {
- if ("name".equals(col) && newValue != null)
- updateNetworkName(net, (String)newValue);
- }
-
- public abstract void updateNetworkName(CyNetwork net, String name);
-}
Modified:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/CytoPanelImp.java
===================================================================
---
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/CytoPanelImp.java
2011-06-21 22:40:10 UTC (rev 25857)
+++
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/CytoPanelImp.java
2011-06-21 22:40:11 UTC (rev 25858)
@@ -755,14 +755,14 @@
// determine what event to fire
switch (notificationType) {
case NOTIFICATION_STATE_CHANGE:
- cyEventHelper.fireSynchronousEvent(new
CytoPanelStateChangedEvent(this,this,cytoPanelState));
+ cyEventHelper.fireEvent(new
CytoPanelStateChangedEvent(this,this,cytoPanelState));
break;
case NOTIFICATION_COMPONENT_SELECTED:
int selectedIndex =
tabbedPane.getSelectedIndex();
- cyEventHelper.fireSynchronousEvent(new
CytoPanelComponentSelectedEvent(this,this,selectedIndex));
+ cyEventHelper.fireEvent(new
CytoPanelComponentSelectedEvent(this,this,selectedIndex));
//cytoPanelListener.onComponentSelected(selectedIndex);
break;
Modified:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
===================================================================
---
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
2011-06-21 22:40:10 UTC (rev 25857)
+++
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
2011-06-21 22:40:11 UTC (rev 25858)
@@ -51,7 +51,6 @@
import javax.swing.JSplitPane;
import javax.swing.JTree;
import javax.swing.KeyStroke;
-import javax.swing.SwingUtilities;
import javax.swing.ToolTipManager;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
@@ -60,7 +59,6 @@
import javax.swing.tree.TreePath;
import org.cytoscape.application.swing.CyAction;
-import org.cytoscape.event.CyEventHelper;
import org.cytoscape.internal.task.NetworkCollectionTaskFactoryTunableAction;
import org.cytoscape.internal.task.NetworkTaskFactoryTunableAction;
import
org.cytoscape.internal.task.NetworkViewCollectionTaskFactoryTunableAction;
@@ -68,18 +66,14 @@
import org.cytoscape.internal.task.TaskFactoryTunableAction;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNetworkManager;
-import org.cytoscape.model.CyRow;
import org.cytoscape.model.CyTable;
import org.cytoscape.model.CyTableEntry;
-import org.cytoscape.model.CyTableRowUpdateService;
-import org.cytoscape.model.events.CyTableRowUpdateMicroListener;
import org.cytoscape.model.events.NetworkAboutToBeDestroyedEvent;
import org.cytoscape.model.events.NetworkAboutToBeDestroyedListener;
import org.cytoscape.model.events.NetworkAddedEvent;
import org.cytoscape.model.events.NetworkAddedListener;
-import org.cytoscape.model.events.RowSetMicroListener;
-import org.cytoscape.model.events.RowsFinishedChangingEvent;
-import org.cytoscape.model.events.RowsFinishedChangingListener;
+import org.cytoscape.model.events.RowsSetEvent;
+import org.cytoscape.model.events.RowsSetListener;
import org.cytoscape.session.CyApplicationManager;
import org.cytoscape.session.events.SetCurrentNetworkEvent;
import org.cytoscape.session.events.SetCurrentNetworkListener;
@@ -101,9 +95,10 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class NetworkPanel extends JPanel implements TreeSelectionListener,
SetCurrentNetworkViewListener,
- CyTableRowUpdateMicroListener, SetCurrentNetworkListener,
NetworkAddedListener, NetworkViewAddedListener,
- NetworkAboutToBeDestroyedListener,
NetworkViewAboutToBeDestroyedListener, RowsFinishedChangingListener {
+public class NetworkPanel extends JPanel implements TreeSelectionListener,
+ SetCurrentNetworkViewListener, SetCurrentNetworkListener,
+ NetworkAddedListener, NetworkViewAddedListener,
NetworkAboutToBeDestroyedListener,
+ NetworkViewAboutToBeDestroyedListener, RowsSetListener {
private final static long serialVersionUID = 1213748836763243L;
@@ -133,31 +128,22 @@
private final JPopupMenu popup;
private final Map<TaskFactory, JMenuItem> popupMap;
private final Map<TaskFactory, CyAction> popupActions;
+ private final Map<CyTable, CyNetwork> nameTables;
- private final CyEventHelper eventHelper;
- private final Map<CyNetwork, RowSetMicroListener> nameListeners;
- private final CyTableRowUpdateService tableRowUpdateService;
-
- private final BirdsEyeViewHandler bird;
-
/**
* Constructor for the Network Panel.
*
* @param desktop
*/
- public NetworkPanel(final CyApplicationManager applicationManager,
final CyNetworkManager netmgr,
- final CyNetworkViewManager networkViewManager, final
BirdsEyeViewHandler bird,
- final TaskManager taskManager, final CyEventHelper
eventHelper,
- final CyTableRowUpdateService tableRowUpdateService) {
+ public NetworkPanel(final CyApplicationManager applicationManager,
+ final CyNetworkManager netmgr, final
CyNetworkViewManager networkViewManager,
+ final BirdsEyeViewHandler bird, final TaskManager
taskManager) {
super();
- this.bird = bird;
this.appManager = applicationManager;
this.netmgr = netmgr;
this.networkViewManager = networkViewManager;
this.taskManager = taskManager;
- this.eventHelper = eventHelper;
- this.tableRowUpdateService = tableRowUpdateService;
root = new NetworkTreeNode("Network Root", 0L);
treeTableModel = new NetworkTreeTableModel(this, root);
@@ -168,9 +154,9 @@
popup = new JPopupMenu();
popupMap = new HashMap<TaskFactory, JMenuItem>();
popupActions = new HashMap<TaskFactory, CyAction>();
+ nameTables = new HashMap<CyTable, CyNetwork>();
setNavigator(bird.getBirdsEyeView());
- nameListeners = new HashMap<CyNetwork, RowSetMicroListener>();
/*
* Remove CTR-A for enabling select all function in the main
window.
@@ -249,34 +235,44 @@
}
public void
addNetworkCollectionTaskFactory(NetworkCollectionTaskFactory factory, Map
props) {
- addFactory(factory, new
NetworkCollectionTaskFactoryTunableAction(taskManager, factory, props,
appManager));
+ addFactory(factory, new
NetworkCollectionTaskFactoryTunableAction(taskManager, factory,
+ props, appManager));
}
public void
removeNetworkCollectionTaskFactory(NetworkCollectionTaskFactory factory, Map
props) {
removeFactory(factory);
}
- public void
addNetworkViewCollectionTaskFactory(NetworkViewCollectionTaskFactory factory,
Map props) {
- addFactory(factory, new
NetworkViewCollectionTaskFactoryTunableAction(taskManager, factory, props,
appManager));
+ public void
addNetworkViewCollectionTaskFactory(NetworkViewCollectionTaskFactory factory,
+ Map props) {
+ addFactory(factory, new
NetworkViewCollectionTaskFactoryTunableAction(taskManager, factory,
+ props, appManager));
}
- public void
removeNetworkViewCollectionTaskFactory(NetworkViewCollectionTaskFactory
factory, Map props) {
+ public void
removeNetworkViewCollectionTaskFactory(NetworkViewCollectionTaskFactory factory,
+ Map props) {
removeFactory(factory);
}
- public void addNetworkTaskFactory(NetworkTaskFactory factory,
@SuppressWarnings("rawtypes") Map props) {
- addFactory(factory, new
NetworkTaskFactoryTunableAction(taskManager, factory, props, appManager));
+ public void addNetworkTaskFactory(NetworkTaskFactory factory,
+ @SuppressWarnings("rawtypes") Map props) {
+ addFactory(factory, new
NetworkTaskFactoryTunableAction(taskManager, factory, props,
+ appManager));
}
- public void removeNetworkTaskFactory(NetworkTaskFactory factory,
@SuppressWarnings("rawtypes") Map props) {
+ public void removeNetworkTaskFactory(NetworkTaskFactory factory,
+ @SuppressWarnings("rawtypes") Map props) {
removeFactory(factory);
}
- public void addNetworkViewTaskFactory(NetworkViewTaskFactory factory,
@SuppressWarnings("rawtypes") Map props) {
- addFactory(factory, new
NetworkViewTaskFactoryTunableAction(taskManager, factory, props, appManager));
+ public void addNetworkViewTaskFactory(NetworkViewTaskFactory factory,
+ @SuppressWarnings("rawtypes") Map props) {
+ addFactory(factory, new
NetworkViewTaskFactoryTunableAction(taskManager, factory, props,
+ appManager));
}
- public void removeNetworkViewTaskFactory(NetworkViewTaskFactory
factory, @SuppressWarnings("rawtypes") Map props) {
+ public void removeNetworkViewTaskFactory(NetworkViewTaskFactory factory,
+ @SuppressWarnings("rawtypes") Map props) {
removeFactory(factory);
}
@@ -294,6 +290,9 @@
return treeTable;
}
+ public JPanel getNavigatorPanel() {
+ return navigatorPanel;
+ }
/**
* Remove a network from the panel.
@@ -301,10 +300,6 @@
* @param network_id
*/
public void removeNetwork(final Long network_id) {
- final CyNetwork network = netmgr.getNetwork(network_id);
- tableRowUpdateService.stopTracking(this,
network.getDefaultNodeTable());
- tableRowUpdateService.stopTracking(this,
network.getDefaultEdgeTable());
-
final NetworkTreeNode node = getNetworkNode(network_id);
final Enumeration children = node.children();
final List<NetworkTreeNode> removed_children = new
ArrayList<NetworkTreeNode>();
@@ -333,7 +328,8 @@
if (treeTable.getTree().getSelectionPath() != null) { // user
has
// selected
// something
- treeTableModel.setValueAt(name,
treeTable.getTree().getSelectionPath().getLastPathComponent(), 0);
+ treeTableModel.setValueAt(name,
treeTable.getTree().getSelectionPath()
+ .getLastPathComponent(), 0);
} else { // no selection, means the title has been changed
// programmatically
NetworkTreeNode node =
getNetworkNode(network.getSUID());
@@ -349,9 +345,7 @@
CyNetwork net = nde.getNetwork();
logger.debug("Network about to be destroyed " + net.getSUID());
removeNetwork(net.getSUID());
- final RowSetMicroListener rsml = nameListeners.remove(net);
- if (rsml != null)
- eventHelper.removeMicroListener(rsml,
RowSetMicroListener.class, net.getCyRow().getTable());
+ nameTables.remove(net.getDefaultNetworkTable());
}
public void handleEvent(NetworkAddedEvent e) {
@@ -359,20 +353,25 @@
logger.debug("Got NetworkAddedEvent. Model ID = " +
net.getSUID());
addNetwork(net.getSUID(), -1l);
- RowSetMicroListener rsml = new AbstractNetworkNameListener(net)
{
- public void updateNetworkName(CyNetwork n, String name)
{
- updateTitle(n, name);
- }
- };
- eventHelper.addMicroListener(rsml, RowSetMicroListener.class,
net.getCyRow());
- nameListeners.put(e.getNetwork(), rsml);
+ nameTables.put(net.getDefaultNetworkTable(), net);
}
+
+ @Override
+ public void handleEvent(RowsSetEvent e) {
+ CyNetwork n = nameTables.get( e.getSource() );
+ if ( n == null )
+ return;
+
+ final String title = n.getCyRow().get(CyTableEntry.NAME,
String.class);
+ updateTitle(n, title); // this should updated the UI
regardless...
+ }
@Override
public void handleEvent(SetCurrentNetworkViewEvent e) {
final CyNetworkView view = e.getNetworkView();
if (view == null) {
+ logger.warn("Current network view is set to null.");
return;
}
@@ -397,47 +396,24 @@
}
public void handleEvent(NetworkViewAboutToBeDestroyedEvent nde) {
- logger.debug("Network view about to be destroyed " +
nde.getNetworkView().getModel().getSUID());
+ logger.debug("Network view about to be destroyed "
+ + nde.getNetworkView().getModel().getSUID());
treeTable.getTree().updateUI();
}
public void handleEvent(NetworkViewAddedEvent nde) {
- logger.debug("********** Network view added to NetworkPanel.
View ID: " + nde.getNetworkView().getSUID());
+ logger.debug("Network view added to NetworkPanel: "
+ + nde.getNetworkView().getModel().getSUID());
// Set current network view to the new one.
appManager.setCurrentNetworkView(nde.getNetworkView().getModel().getSUID());
-
- // Update BEV
- bird.addView(appManager.getCurrentRenderingEngine());
- treeTable.getTree().updateUI();
- }
- @Override
- public void handleRowSets(final CyTable table, final List<RowSet>
rowSets) {
- // TODO is this necessary?
- }
-
- @Override
- public void handleRowCreations(final CyTable table, final List<CyRow>
newRows) {
treeTable.getTree().updateUI();
}
- @Override
- public void handleEvent(RowsFinishedChangingEvent e) {
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- treeTable.getTree().updateUI();
- }
- });
- }
-
private void addNetwork(final Long network_id, final Long parent_id) {
// first see if it exists
if (getNetworkNode(network_id) == null) {
- final CyNetwork network = netmgr.getNetwork(network_id);
- tableRowUpdateService.startTracking(this,
network.getDefaultNodeTable());
- tableRowUpdateService.startTracking(this,
network.getDefaultEdgeTable());
NetworkTreeNode dmtn = new
NetworkTreeNode(netmgr.getNetwork(network_id).getCyRow()
.get(CyTableEntry.NAME, String.class),
network_id);
@@ -492,8 +468,7 @@
/**
* This method highlights a network in the NetworkPanel.
*
- * @param e
- * DOCUMENT ME!
+ * @param e DOCUMENT ME!
*/
public void valueChanged(TreeSelectionEvent e) {
// logger.debug("NetworkPanel: valueChanged - " +
@@ -563,7 +538,8 @@
if (row != -1) {
JTree tree = treeTable.getTree();
TreePath treePath =
tree.getPathForRow(row);
- Long networkID = ((NetworkTreeNode)
treePath.getLastPathComponent()).getNetworkID();
+ Long networkID = ((NetworkTreeNode)
treePath.getLastPathComponent())
+ .getNetworkID();
CyNetwork cyNetwork =
netmgr.getNetwork(networkID);
Modified:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
===================================================================
---
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
2011-06-21 22:40:10 UTC (rev 25857)
+++
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
2011-06-21 22:40:11 UTC (rev 25858)
@@ -52,10 +52,11 @@
import javax.swing.event.InternalFrameEvent;
import org.cytoscape.application.swing.CyHelpBroker;
-import org.cytoscape.event.CyEventHelper;
import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyTable;
import org.cytoscape.model.CyTableEntry;
-import org.cytoscape.model.events.RowSetMicroListener;
+import org.cytoscape.model.events.RowsSetEvent;
+import org.cytoscape.model.events.RowsSetListener;
import org.cytoscape.property.CyProperty;
import org.cytoscape.property.session.Cysession;
import org.cytoscape.property.session.Desktop;
@@ -73,13 +74,13 @@
import org.cytoscape.session.events.SetCurrentNetworkViewListener;
import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.model.CyNetworkViewManager;
-import org.cytoscape.view.model.View;
-import org.cytoscape.view.model.VisualProperty;
import org.cytoscape.view.model.events.NetworkViewAboutToBeDestroyedEvent;
import org.cytoscape.view.model.events.NetworkViewAboutToBeDestroyedListener;
import org.cytoscape.view.model.events.NetworkViewAddedEvent;
import org.cytoscape.view.model.events.NetworkViewAddedListener;
-import org.cytoscape.view.model.events.NetworkViewChangeMicroListener;
+import org.cytoscape.view.model.events.NetworkViewChangedEvent;
+import org.cytoscape.view.model.events.NetworkViewChangedListener;
+import org.cytoscape.view.model.events.ViewChangeRecord;
import org.cytoscape.view.presentation.RenderingEngine;
import org.cytoscape.view.presentation.RenderingEngineFactory;
import org.cytoscape.view.presentation.property.MinimalVisualLexicon;
@@ -92,7 +93,7 @@
*/
public class NetworkViewManager extends InternalFrameAdapter implements
NetworkViewAddedListener,
NetworkViewAboutToBeDestroyedListener,
SetCurrentNetworkViewListener, SetCurrentNetworkListener,
- SessionLoadedListener, SessionAboutToBeSavedListener {
+ SessionLoadedListener, SessionAboutToBeSavedListener,
NetworkViewChangedListener, RowsSetListener {
private static final Logger logger =
LoggerFactory.getLogger(NetworkViewManager.class);
@@ -125,10 +126,7 @@
// UI to select presentation.
private static final String DEFAULT_PRESENTATION = "ding";
- private final Map<CyNetworkView, NetworkViewChangeMicroListener>
netViewChangeListeners;
- private final Map<CyNetwork, RowSetMicroListener> nameListeners;
-
- private final CyEventHelper eventHelper;
+ private final Map<CyTable, CyNetwork> nameTables;
private final CyNetworkViewManager networkViewManager;
private final CyApplicationManager applicationManager;
@@ -139,12 +137,10 @@
* DOCUMENT ME!
*/
public NetworkViewManager(CyApplicationManager appMgr,
CyNetworkViewManager netViewMgr,
- CyProperty<Properties> cyProps, CyHelpBroker help,
CyEventHelper eventHelper) {
+ CyProperty<Properties> cyProps, CyHelpBroker help) {
if (appMgr == null)
throw new NullPointerException("CyApplicationManager is
null.");
- if (eventHelper == null)
- throw new NullPointerException("CyEventHelper is
null.");
if (netViewMgr == null)
throw new NullPointerException("CyNetworkViewManager is
null.");
@@ -153,7 +149,6 @@
this.networkViewManager = netViewMgr;
this.applicationManager = appMgr;
this.props = cyProps.getProperties();
- this.eventHelper = eventHelper;
this.desktopPane = new JDesktopPane();
@@ -165,8 +160,7 @@
iFrameMap = new HashMap<JInternalFrame, Long>();
currentPresentationContainerID = null;
- netViewChangeListeners = new HashMap<CyNetworkView,
NetworkViewChangeMicroListener>();
- nameListeners = new HashMap<CyNetwork, RowSetMicroListener>();
+ nameTables = new HashMap<CyTable, CyNetwork>();
}
/**
@@ -327,15 +321,8 @@
}
presentationContainerMap.remove(view.getModel().getSUID());
+ nameTables.remove(view.getModel().getDefaultNetworkTable());
- NetworkViewChangeMicroListener nvcml =
netViewChangeListeners.remove(view);
- if (nvcml != null)
- eventHelper.removeMicroListener(nvcml,
NetworkViewChangeMicroListener.class, view);
-
- RowSetMicroListener rsml =
nameListeners.remove(view.getModel());
- if (rsml != null)
- eventHelper.removeMicroListener(rsml,
RowSetMicroListener.class, view.getModel().getCyRow().getTable());
-
logger.debug("Network View Model removed.");
}
@@ -427,36 +414,37 @@
iframe.setVisible(true);
iframe.addInternalFrameListener(this);
- NetworkViewChangeMicroListener nvcml = new
NetworkViewChangeMicroListener() {
- @Override
- public void networkVisualPropertySet(View<CyNetwork>
target, VisualProperty<?> vp, Object value) {
- Long id = target.getModel().getSUID();
-
- if
(vp.equals(MinimalVisualLexicon.NETWORK_WIDTH)) {
- int w = ((Double) value).intValue();
- int h = iframe.getSize().height;
- updateNetworkSize(id, w, h);
- } else if
(vp.equals(MinimalVisualLexicon.NETWORK_HEIGHT)) {
- int w = iframe.getSize().width;
- int h = ((Double) value).intValue();
- updateNetworkSize(id, w, h);
- }
+ nameTables.put(view.getModel().getDefaultNetworkTable(),
view.getModel());
+ }
+
+ @Override
+ public void handleEvent(RowsSetEvent e) {
+ CyNetwork n = nameTables.get( e.getSource() );
+ if ( n == null )
+ return;
+
+ final String title = n.getCyRow().get(CyTableEntry.NAME,
String.class);
+ updateNetworkTitle(n.getSUID(), title);
+ }
+
+ @Override
+ public void handleEvent(NetworkViewChangedEvent e) {
+ for ( ViewChangeRecord<CyNetwork> record :
e.getPayloadCollection()) {
+ Long id = record.getView().getModel().getSUID();
+ JInternalFrame iframe =
presentationContainerMap.get(id);
+ if ( iframe == null )
+ return;
+
+ if
(record.getVisualProperty().equals(MinimalVisualLexicon.NETWORK_WIDTH)) {
+ int w = ((Double) record.getValue()).intValue();
+ int h = iframe.getSize().height;
+ updateNetworkSize(id, w, h);
+ } else if
(record.getVisualProperty().equals(MinimalVisualLexicon.NETWORK_HEIGHT)) {
+ int w = iframe.getSize().width;
+ int h = ((Double) record.getValue()).intValue();
+ updateNetworkSize(id, w, h);
}
- };
-
- eventHelper.addMicroListener(nvcml,
NetworkViewChangeMicroListener.class, view);
- netViewChangeListeners.put(view, nvcml);
-
- RowSetMicroListener rsml = new
AbstractNetworkNameListener(view.getModel()) {
- @Override
- public void updateNetworkName(CyNetwork net, String
name) {
- final String title =
net.getCyRow().get(CyTableEntry.NAME, String.class);
- updateNetworkTitle(net.getSUID(), title);
- }
- };
-
- eventHelper.addMicroListener(rsml, RowSetMicroListener.class,
view.getModel().getCyRow());
- nameListeners.put(view.getModel(), rsml);
+ }
}
@Override
Modified:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/ToolBarEnableUpdater.java
===================================================================
---
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/ToolBarEnableUpdater.java
2011-06-21 22:40:10 UTC (rev 25857)
+++
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/ToolBarEnableUpdater.java
2011-06-21 22:40:11 UTC (rev 25858)
@@ -39,8 +39,8 @@
import org.cytoscape.model.events.NetworkAddedListener;
import org.cytoscape.model.events.NetworkDestroyedEvent;
import org.cytoscape.model.events.NetworkDestroyedListener;
-import org.cytoscape.model.events.RowsFinishedChangingEvent;
-import org.cytoscape.model.events.RowsFinishedChangingListener;
+import org.cytoscape.model.events.RowsSetEvent;
+import org.cytoscape.model.events.RowsSetListener;
import org.cytoscape.session.events.SetCurrentNetworkEvent;
import org.cytoscape.session.events.SetCurrentNetworkListener;
import org.cytoscape.session.events.SetCurrentNetworkViewEvent;
@@ -56,51 +56,57 @@
* selected, but since toolbars are always visible, we need to listen for the
* actual events. This is less than ideal.
*/
-class ToolBarEnableUpdater implements NetworkAddedListener,
NetworkDestroyedListener, NetworkViewAddedListener,
- NetworkViewDestroyedListener, SetCurrentNetworkListener,
SetCurrentNetworkViewListener,
- RowsFinishedChangingListener {
+class ToolBarEnableUpdater implements NetworkAddedListener,
NetworkDestroyedListener,
+ NetworkViewAddedListener, NetworkViewDestroyedListener,
SetCurrentNetworkListener,
+ SetCurrentNetworkViewListener, RowsSetListener {
- private final CytoscapeToolBar toolbar;
+ private final CytoscapeToolBar toolbar;
- public ToolBarEnableUpdater(final CytoscapeToolBar toolbar) {
- this.toolbar = toolbar;
- }
+ public ToolBarEnableUpdater(final CytoscapeToolBar toolbar) {
+ this.toolbar = toolbar;
+ }
- public void handleEvent(SetCurrentNetworkEvent e) {
- updateToolbar();
- }
+ @Override
+ public void handleEvent(SetCurrentNetworkEvent e) {
+ updateToolbar();
+ }
- public void handleEvent(SetCurrentNetworkViewEvent e) {
- updateToolbar();
- }
+ @Override
+ public void handleEvent(SetCurrentNetworkViewEvent e) {
+ updateToolbar();
+ }
- public void handleEvent(NetworkAddedEvent e) {
- updateToolbar();
- }
+ @Override
+ public void handleEvent(NetworkAddedEvent e) {
+ updateToolbar();
+ }
- public void handleEvent(NetworkViewAddedEvent e) {
- updateToolbar();
- }
+ @Override
+ public void handleEvent(NetworkViewAddedEvent e) {
+ updateToolbar();
+ }
- public void handleEvent(NetworkDestroyedEvent e) {
- updateToolbar();
- }
+ @Override
+ public void handleEvent(NetworkDestroyedEvent e) {
+ updateToolbar();
+ }
- public void handleEvent(NetworkViewDestroyedEvent e) {
- updateToolbar();
- }
+ @Override
+ public void handleEvent(NetworkViewDestroyedEvent e) {
+ updateToolbar();
+ }
- /**
- * This is mainly for listening to node/edge selection events.
- */
- @Override
- public void handleEvent(RowsFinishedChangingEvent e) {
- updateToolbar();
- }
+ /**
+ * This is mainly for listening to node/edge selection events.
+ */
+ @Override
+ public void handleEvent(RowsSetEvent e) {
+ updateToolbar();
+ }
- private void updateToolbar() {
- for (CyAction action : toolbar.getAllToolBarActions())
- action.updateEnableState();
- }
+ private void updateToolbar() {
+ for (CyAction action : toolbar.getAllToolBarActions())
+ action.updateEnableState();
+ }
}
Modified:
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
---
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2011-06-21 22:40:10 UTC (rev 25857)
+++
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2011-06-21 22:40:11 UTC (rev 25858)
@@ -30,9 +30,6 @@
<osgi:reference id="taskManagerServiceRef"
interface="org.cytoscape.work.swing.GUITaskManager" />
- <osgi:reference id="cyTableRowUpdateServiceRef"
- interface="org.cytoscape.model.CyTableRowUpdateService" />
-
<!-- Rendering Engine factory for main network views -->
<osgi:reference id="dingRenderingEngineFactoryServiceRef"
interface="org.cytoscape.view.presentation.RenderingEngineFactory"
@@ -300,16 +297,19 @@
</osgi:service>
<osgi:service id="networkPanelService" ref="networkPanel"
auto-export="interfaces" />
+
<osgi:service id="networkViewManagerService" ref="networkViewManager"
auto-export="interfaces" />
- <osgi:service id="birdsEyeViewHandlerService" ref="birdsEyeViewHandler"
- auto-export="interfaces" />
+ <osgi:service id="birdsEyeViewHandlerService" ref="birdsEyeViewHandler"
auto-export="interfaces" />
<osgi:service id="undoMonitorSetCurrentNetworkViewListenerService"
ref="undoMonitor"
interface="org.cytoscape.session.events.SetCurrentNetworkViewListener" />
- <osgi:service id="selectRegisterListenerService"
ref="selectRegisterListener"
-
interface="org.cytoscape.view.model.events.NetworkViewAddedListener" />
+ <osgi:service id="rowViewTrackerService" ref="rowViewTracker"
auto-export="interfaces"/>
+
+ <osgi:service id="selectEdgeViewUpdaterService"
ref="selecteEdgeViewUpdater" auto-export="interfaces"/>
+
+ <osgi:service id="selectNodeViewUpdaterService"
ref="selecteNodeViewUpdater" auto-export="interfaces"/>
<osgi:service id="sessionShutdownHandlerService"
ref="sessionShutdownHandler"
interface="org.cytoscape.application.swing.events.CytoscapeShutdownListener" />
Modified:
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
---
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
2011-06-21 22:40:10 UTC (rev 25857)
+++
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
2011-06-21 22:40:11 UTC (rev 25858)
@@ -82,7 +82,6 @@
<constructor-arg ref="cyNetworkViewManagerServiceRef" />
<constructor-arg ref="cytoscapePropertiesServiceRef" />
<constructor-arg ref="cyHelpBroker" />
- <constructor-arg ref="cyEventHelperServiceRef" />
</bean>
<bean name="birdsEyeViewHandler"
class="org.cytoscape.internal.view.BirdsEyeViewHandler">
@@ -97,8 +96,6 @@
<constructor-arg ref="cyNetworkViewManagerServiceRef" />
<constructor-arg ref="birdsEyeViewHandler" />
<constructor-arg ref="guiTaskManagerServiceRef" />
- <constructor-arg ref="cyEventHelperServiceRef" />
- <constructor-arg ref="cyTableRowUpdateServiceRef" />
</bean>
@@ -246,15 +243,21 @@
<constructor-arg ref="undoSupportServiceRef" />
<constructor-arg ref="cytoscapePropertiesServiceRef" />
</bean>
+
+ <bean id="rowViewTracker"
class="org.cytoscape.internal.select.RowViewTracker">
+ </bean>
- <bean id="selectRegisterListener"
class="org.cytoscape.internal.select.SelectRegisterListener">
- <constructor-arg ref="cyEventHelperServiceRef" />
+ <bean id="selecteEdgeViewUpdater"
class="org.cytoscape.internal.select.SelectEdgeViewUpdater">
+ <constructor-arg ref="rowViewTracker" />
</bean>
+ <bean id="selecteNodeViewUpdater"
class="org.cytoscape.internal.select.SelectNodeViewUpdater">
+ <constructor-arg ref="rowViewTracker" />
+ </bean>
+
<bean id="quickStartStartup"
class="org.cytoscape.internal.QuickStartStartup">
<constructor-arg ref="quickStartRef" />
<constructor-arg ref="taskManagerServiceRef" />
</bean>
-
</beans>
--
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.