Author: clopes
Date: 2012-03-02 12:09:26 -0800 (Fri, 02 Mar 2012)
New Revision: 28415
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterMainPanel.java
Log:
Fixes #716 - Filters: the backback panel does not refresh after network is
destroyed
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterMainPanel.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterMainPanel.java
2012-03-02 19:15:12 UTC (rev 28414)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterMainPanel.java
2012-03-02 20:09:26 UTC (rev 28415)
@@ -66,8 +66,8 @@
import javax.swing.table.DefaultTableModel;
import org.cytoscape.application.CyApplicationManager;
-import org.cytoscape.application.events.SetCurrentNetworkViewEvent;
-import org.cytoscape.application.events.SetCurrentNetworkViewListener;
+import org.cytoscape.application.events.SetCurrentNetworkEvent;
+import org.cytoscape.application.events.SetCurrentNetworkListener;
import org.cytoscape.event.CyEventHelper;
import org.cytoscape.filter.internal.filters.event.FiltersChangedEvent;
import org.cytoscape.filter.internal.filters.event.FiltersChangedListener;
@@ -103,13 +103,12 @@
import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.model.events.NetworkViewAddedEvent;
import org.cytoscape.view.model.events.NetworkViewAddedListener;
-import org.cytoscape.view.presentation.RenderingEngine;
import org.cytoscape.work.TaskManager;
@SuppressWarnings("serial")
public class FilterMainPanel extends JPanel implements ActionListener,
- ItemListener,
SetCurrentNetworkViewListener, NetworkAddedListener,
+ ItemListener,
SetCurrentNetworkListener, NetworkAddedListener,
NetworkAboutToBeDestroyedListener, SessionLoadedListener, RowsSetListener,
RowsCreatedListener,
NetworkViewAddedListener, FiltersChangedListener {
@@ -150,19 +149,20 @@
private final CyApplicationManager applicationManager;
private final CyNetworkManager networkManager;
private final CyEventHelper eventHelper;
- private final TaskManager taskManager;
+ private final TaskManager<?, ?> taskManager;
- public FilterMainPanel(final QuickFind quickFind, final
FilterModelLocator modelLocator,
+ public FilterMainPanel(final QuickFind quickFind,
+ final FilterModelLocator
modelLocator,
final CyApplicationManager
applicationManager,
final CyNetworkManager networkManager,
final CyEventHelper eventHelper,
- final TaskManager taskManager) {
+ final TaskManager<?, ?> taskManager) {
this.modelLocator = modelLocator;
this.applicationManager = applicationManager;
this.networkManager = networkManager;
this.eventHelper = eventHelper;
this.taskManager = taskManager;
- this.quickFind = quickFind;
+ this.quickFind = quickFind;
modelLocator.addListener(this);
@@ -216,7 +216,7 @@
@Override
public void handleEvent(RowsSetEvent e) {
// Handle selection events
- if (this.applicationManager.getCurrentNetworkView() == null){
+ if (this.applicationManager.getCurrentNetwork() == null){
return;
}
@@ -246,10 +246,11 @@
updateFeedbackTableModel();
}
- public void handleNetworkFocused(final CyNetworkView view) {
+ public void handleNetworkFocused(final CyNetwork net) {
SwingUtilities.invokeLater(new Runnable() {
+ @Override
public void run() {
- if (view == null) {
+ if (net == null) {
return;
}
@@ -260,7 +261,7 @@
//Refresh indices for UI widgets after network
switch
CompositeFilter selectedFilter =
(CompositeFilter) cmbFilters.getSelectedItem();
- selectedFilter.setNetwork(view.getModel());
+ selectedFilter.setNetwork(net);
FilterSettingPanel theSettingPanel=
filter2SettingPanelMap.get(selectedFilter);
if (theSettingPanel != null) {
@@ -270,10 +271,10 @@
}
});
}
-
+
@Override
- public void handleEvent(SetCurrentNetworkViewEvent e) {
- handleNetworkFocused(e.getNetworkView());
+ public void handleEvent(SetCurrentNetworkEvent e) {
+ handleNetworkFocused(e.getNetwork());
}
@Override
@@ -308,23 +309,22 @@
public void updateFeedbackTableModel(){
SwingUtilities.invokeLater(new Runnable() {
+ @Override
public void run() {
- CyNetwork cyNetwork =
applicationManager.getCurrentNetwork();
- CyNetworkView view =
applicationManager.getCurrentNetworkView();
- RenderingEngine<CyNetwork> engine =
applicationManager.getCurrentRenderingEngine();
- if (cyNetwork == null || view == null || engine
== null) {
- return;
+ String netName = null;
+ String nodeCount = null;
+ String edgeCount = null;
+ final CyNetwork net =
applicationManager.getCurrentNetwork();
+
+ if (net != null) {
+ netName =
net.getRow(net).get(CyNetwork.NAME, String.class);
+ nodeCount = net.getNodeCount() + "(" +
net.getDefaultNodeTable().countMatchingRows(CyNetwork.SELECTED, true) + ")";
+ edgeCount = net.getEdgeCount() + "(" +
net.getDefaultEdgeTable().countMatchingRows(CyNetwork.SELECTED, true) + ")";
}
-
- //VisualLexicon lexicon =
engine.getVisualLexicon();
- //String title =
VisualPropertyUtil.get(lexicon, view, "NETWORK_TITLE",
MinimalVisualLexicon.NETWORK, String.class);
-
tblFeedBack.getModel().setValueAt(cyNetwork.getRow(cyNetwork).get("name",
String.class), 0, 0);
-
- String nodeStr = "" + cyNetwork.getNodeCount()
+ "(" +
cyNetwork.getDefaultNodeTable().countMatchingRows(CyNetwork.SELECTED,true) +
")";
- tblFeedBack.getModel().setValueAt(nodeStr, 0,
1);
-
- String edgeStr = "" + cyNetwork.getEdgeCount()
+ "(" +
cyNetwork.getDefaultEdgeTable().countMatchingRows(CyNetwork.SELECTED,true) +
")";
- tblFeedBack.getModel().setValueAt(edgeStr, 0,
2);
+
+ tblFeedBack.getModel().setValueAt(netName, 0,
0);
+ tblFeedBack.getModel().setValueAt(nodeCount, 0,
1);
+ tblFeedBack.getModel().setValueAt(edgeCount, 0,
2);
}});
}
@@ -851,6 +851,7 @@
return cmbAttributes;
}
+ @Override
public void itemStateChanged(ItemEvent e) {
Object source = e.getSource();
@@ -906,6 +907,7 @@
}
}
+ @Override
public void actionPerformed(ActionEvent e) {
Object _actionObject = e.getSource();
@@ -916,8 +918,10 @@
if (_btn == btnApplyFilter) {
CompositeFilter theFilterToApply =
(CompositeFilter) cmbFilters.getSelectedItem();
final CyNetwork currentNetwork =
applicationManager.getCurrentNetwork();
+
if (currentNetwork == null)
return;
+
theFilterToApply.setNetwork(currentNetwork);
FilterUtil.doSelection(theFilterToApply,
applicationManager);
}
@@ -928,6 +932,7 @@
if (cmbAttributes.getSelectedItem() instanceof
String) {
String selectItem = (String)
cmbAttributes.getSelectedItem();
+
if
(selectItem.equalsIgnoreCase(filtersSeparator)
||selectItem.equalsIgnoreCase(attributesSeperator)) {
return;
}
@@ -936,10 +941,9 @@
String attributeType =
cmbAttributes.getSelectedItem().toString().substring(0,4);// "node" or "edge"
String attributeName =
cmbAttributes.getSelectedItem().toString().substring(5);
-
if(CyAttributesUtil.isNullAttribute(applicationManager.getCurrentNetwork(),
attributeType, attributeName)){
+ if
(CyAttributesUtil.isNullAttribute(applicationManager.getCurrentNetwork(),
attributeType, attributeName)){
JOptionPane.showMessageDialog(this,
"All the values for this attribute are NULL!", "Can not create filter",
JOptionPane.ERROR_MESSAGE);
- }
- else {
+ } else {
theSettingPanel.addNewWidget(cmbAttributes.getSelectedItem());
}
}
@@ -1191,7 +1195,6 @@
cmbFilters.setSelectedItem(newFilter);
}
-
private void renameFilter(){
CompositeFilter theFilter =
(CompositeFilter)cmbFilters.getSelectedItem();
String oldFilterName = theFilter.getName();
@@ -1281,6 +1284,7 @@
setOpaque(true);
}
+ @Override
public Component getListCellRendererComponent(JList list,
Object value,
int index,
boolean isSelected, boolean cellHasFocus) {
if (value != null) {
@@ -1314,6 +1318,7 @@
setOpaque(true);
}
+ @Override
public Component getListCellRendererComponent(JList list,
Object value,
int index,
boolean isSelected, boolean cellHasFocus) {
if (value != null) {
@@ -1351,7 +1356,7 @@
}
@Override
- protected String getLabel(Object anObject) {
+ protected String getLabel(Object anObject) {
return (anObject != null) ?
((CompositeFilter)anObject).getLabel() : "";
}
}
--
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.