Author: kono
Date: 2012-07-11 19:51:18 -0700 (Wed, 11 Jul 2012)
New Revision: 29851
Added:
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/AnalysisResultPanel.java
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/ResultPanel.java
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/ResultPanelFactory.java
Removed:
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/AnalysisDialog.java
Modified:
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/AnalysisExecutor.java
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/AnalyzeNetworkAction.java
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/CyActivator.java
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/LoadNetstatsAction.java
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/data/settings/PluginSettings.java
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/ChartDisplayPanel.java
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/ChartExpandablePanel.java
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/MapParameterDialog.java
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/VisualizeParameterDialog.java
Log:
fixes #1260 Network Analyzer now uses Result CytoPanel.
Modified:
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/AnalysisExecutor.java
===================================================================
---
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/AnalysisExecutor.java
2012-07-12 02:50:26 UTC (rev 29850)
+++
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/AnalysisExecutor.java
2012-07-12 02:51:18 UTC (rev 29851)
@@ -17,6 +17,7 @@
package de.mpg.mpi_inf.bioinf.netanalyzer;
+import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
@@ -26,12 +27,15 @@
import javax.swing.ProgressMonitor;
import javax.swing.Timer;
+import org.cytoscape.application.swing.CySwingApplication;
import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.view.vizmap.VisualMappingManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import de.mpg.mpi_inf.bioinf.netanalyzer.data.Messages;
-import de.mpg.mpi_inf.bioinf.netanalyzer.ui.AnalysisDialog;
+import de.mpg.mpi_inf.bioinf.netanalyzer.ui.AnalysisResultPanel;
+import de.mpg.mpi_inf.bioinf.netanalyzer.ui.ResultPanel;
+import de.mpg.mpi_inf.bioinf.netanalyzer.ui.ResultPanelFactory;
import de.mpg.mpi_inf.bioinf.netanalyzer.ui.VisualStyleBuilder;
/**
@@ -46,7 +50,7 @@
* <li>stops the analyzer if the user presses the "Cancel" button of
* the dialog;</li>
* <li>(optionally) creates an
- * {@link de.mpg.mpi_inf.bioinf.netanalyzer.ui.AnalysisDialog} to display
+ * {@link de.mpg.mpi_inf.bioinf.netanalyzer.ui.AnalysisResultPanel} to display
* results once the analysis completes successfully.</li>
* </ul>
* </p>
@@ -60,6 +64,10 @@
private final CyNetworkViewManager viewManager;
private final VisualMappingManager vmm;
private final VisualStyleBuilder vsBuilder;
+
+ private final ResultPanelFactory resultPanelFactory;
+ private final Window owner;
+ private final CySwingApplication swingApplication;
/**
* Initializes a new instance of <code>AnalysisExecutor</code>.
@@ -78,10 +86,12 @@
* @param aAnalyzer
* <code>NetworkAnalyzer</code> instance to be started.
*/
- public AnalysisExecutor(JFrame aDesktop, NetworkAnalyzer aAnalyzer,
final CyNetworkViewManager viewManager, final VisualStyleBuilder vsBuilder,
+ public AnalysisExecutor(final CySwingApplication swingApplication,
final Window owner, final ResultPanelFactory resultPanelFactory,
NetworkAnalyzer aAnalyzer, final CyNetworkViewManager viewManager, final
VisualStyleBuilder vsBuilder,
final VisualMappingManager vmm) {
- desktop = aDesktop;
+ this.resultPanelFactory = resultPanelFactory;
analyzer = aAnalyzer;
+ this.owner = owner;
+ this.swingApplication = swingApplication;
this.viewManager = viewManager;
this.vmm = vmm;
@@ -90,7 +100,7 @@
listeners = new ArrayList<AnalysisListener>();
showDialog = true;
int maxProgress = analyzer.getMaxProgress();
- monitor = new ProgressMonitor(aDesktop, Messages.DT_ANALYZING,
null, 0, maxProgress);
+ monitor = new ProgressMonitor(owner, Messages.DT_ANALYZING,
null, 0, maxProgress);
monitor.setMillisToDecideToPopup(1500);
timer = new Timer(1000, this);
}
@@ -120,7 +130,7 @@
monitor.close();
if (showDialog) {
try {
- AnalysisDialog d = new
AnalysisDialog(desktop, analyzer.getStats(), analyzer, viewManager, vsBuilder,
vmm);
+ AnalysisResultPanel d = new
AnalysisResultPanel(swingApplication, owner, resultPanelFactory,
analyzer.getStats(), analyzer, viewManager, vsBuilder, vmm);
d.setVisible(true);
} catch (InnerException ex) {
// NetworkAnalyzer internal error
@@ -193,11 +203,6 @@
private Timer timer;
/**
- * Parent (owner) of the dialog(s) displayed.
- */
- private JFrame desktop;
-
- /**
* Flag indicating if an analysis results dialog must be displayed
after the
* analysis is complete.
*/
Modified:
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/AnalyzeNetworkAction.java
===================================================================
---
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/AnalyzeNetworkAction.java
2012-07-12 02:50:26 UTC (rev 29850)
+++
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/AnalyzeNetworkAction.java
2012-07-12 02:51:18 UTC (rev 29851)
@@ -38,6 +38,8 @@
import de.mpg.mpi_inf.bioinf.netanalyzer.data.NetworkInterpretation;
import de.mpg.mpi_inf.bioinf.netanalyzer.data.NetworkStatus;
import de.mpg.mpi_inf.bioinf.netanalyzer.ui.InterpretationDialog;
+import de.mpg.mpi_inf.bioinf.netanalyzer.ui.ResultPanel;
+import de.mpg.mpi_inf.bioinf.netanalyzer.ui.ResultPanelFactory;
import de.mpg.mpi_inf.bioinf.netanalyzer.ui.Utils;
import de.mpg.mpi_inf.bioinf.netanalyzer.ui.VisualStyleBuilder;
@@ -53,17 +55,19 @@
private final CyNetworkViewManager viewManager;
private final VisualMappingManager vmm;
private final VisualStyleBuilder vsBuilder;
+ private final ResultPanelFactory resultPanelFactory;
/**
* Initializes a new instance of <code>AnalyzeNetworkAction</code>.
*/
public AnalyzeNetworkAction(CyApplicationManager
appMgr,CySwingApplication swingApp, final CyNetworkViewManager viewManager,
final VisualStyleBuilder vsBuilder,
final VisualMappingManager vmm, final Map<String,
String> configProps,
- final CyNetworkViewManager networkViewManager) {
+ final CyNetworkViewManager networkViewManager, final
ResultPanelFactory resultPanelFactory) {
super(Messages.AC_ANALYZE,appMgr,swingApp, configProps,
networkViewManager);
this.viewManager = viewManager;
this.vmm = vmm;
this.vsBuilder = vsBuilder;
+ this.resultPanelFactory = resultPanelFactory;
setPreferredMenu(NetworkAnalyzer.PARENT_MENU +
Messages.AC_MENU_ANALYSIS);
}
@@ -116,7 +120,7 @@
} else {
analyzer = new UndirNetworkAnalyzer(aNetwork,
aNodeSet, interpr);
}
- return new AnalysisExecutor(swingApp.getJFrame(),
analyzer, viewManager, vsBuilder, vmm);
+ return new AnalysisExecutor(swingApp,
swingApp.getJFrame(), resultPanelFactory, analyzer, viewManager, vsBuilder,
vmm);
} catch (IllegalArgumentException ex) {
Utils.showInfoBox(swingApp.getJFrame(),Messages.DT_INFO,
Messages.SM_NETWORKEMPTY);
return null;
Modified:
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/CyActivator.java
===================================================================
---
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/CyActivator.java
2012-07-12 02:50:26 UTC (rev 29850)
+++
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/CyActivator.java
2012-07-12 02:51:18 UTC (rev 29851)
@@ -21,6 +21,7 @@
import org.cytoscape.io.read.CyNetworkReaderManager;
import org.cytoscape.model.CyNetworkManager;
import org.cytoscape.service.util.AbstractCyActivator;
+import org.cytoscape.service.util.CyServiceRegistrar;
import org.cytoscape.task.create.NewNetworkSelectedNodesAndEdgesTaskFatory;
import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.view.vizmap.VisualMappingFunctionFactory;
@@ -29,6 +30,8 @@
import org.cytoscape.work.swing.DialogTaskManager;
import org.osgi.framework.BundleContext;
+import de.mpg.mpi_inf.bioinf.netanalyzer.ui.ResultPanel;
+import de.mpg.mpi_inf.bioinf.netanalyzer.ui.ResultPanelFactory;
import de.mpg.mpi_inf.bioinf.netanalyzer.ui.VisualStyleBuilder;
@@ -42,6 +45,7 @@
@Override
public void start(BundleContext bc) {
+ CyServiceRegistrar cyServiceRegistrarServiceRef =
getService(bc,CyServiceRegistrar.class);
CyApplicationManager cyApplicationManagerServiceRef =
getService(bc,CyApplicationManager.class);
CySwingApplication cySwingApplicationServiceRef =
getService(bc,CySwingApplication.class);
CyNetworkManager cyNetworkManagerServiceRef =
getService(bc,CyNetworkManager.class);
@@ -58,6 +62,9 @@
NewNetworkSelectedNodesAndEdgesTaskFatory
newNetworkSelectedNodesEdgesTaskFactoryServiceRef =
getService(bc,NewNetworkSelectedNodesAndEdgesTaskFatory.class);
DialogTaskManager taskManager = getService(bc,
DialogTaskManager.class);
+ final ResultPanelFactory resultPanel = new
ResultPanelFactory(cyServiceRegistrarServiceRef);
+ registerAllServices(bc, resultPanel, new Properties());
+
// FIXME refactor this code
Plugin plugin = new Plugin(cySwingApplicationServiceRef);
@@ -75,9 +82,9 @@
analyzerActionProps.put(IN_TOOL_BAR,"true");
analyzerActionProps.put(TOOLTIP,"Analyze Network");
analyzerActionProps.put(ENABLE_FOR, "network");
- AnalyzeNetworkAction analyzeNetworkAction = new
AnalyzeNetworkAction(cyApplicationManagerServiceRef,cySwingApplicationServiceRef,
viewManagerServiceRef, vsBuilder, vmmServiceRef, analyzerActionProps,
viewManagerServiceRef);
+ AnalyzeNetworkAction analyzeNetworkAction = new
AnalyzeNetworkAction(cyApplicationManagerServiceRef,cySwingApplicationServiceRef,
viewManagerServiceRef, vsBuilder, vmmServiceRef, analyzerActionProps,
viewManagerServiceRef, resultPanel);
- LoadNetstatsAction loadNetstatsAction = new
LoadNetstatsAction(cyApplicationManagerServiceRef,cySwingApplicationServiceRef,
viewManagerServiceRef, vsBuilder, vmmServiceRef);
+ LoadNetstatsAction loadNetstatsAction = new
LoadNetstatsAction(cyApplicationManagerServiceRef,cySwingApplicationServiceRef,
viewManagerServiceRef, vsBuilder, vmmServiceRef, resultPanel);
MapParameterAction mapParameterAction = new
MapParameterAction(cyApplicationManagerServiceRef,cySwingApplicationServiceRef,
viewManagerServiceRef, vsBuilder, vmmServiceRef, analyzeNetworkAction);
AboutAction aboutAction = new
AboutAction(cyApplicationManagerServiceRef,cySwingApplicationServiceRef);
@@ -93,6 +100,8 @@
RemoveSelfLoopsAction removeSelfLoopsAction = new
RemoveSelfLoopsAction(cyApplicationManagerServiceRef,cySwingApplicationServiceRef,cyNetworkManagerServiceRef);
SettingsAction settingsAction = new
SettingsAction(cyApplicationManagerServiceRef,cySwingApplicationServiceRef);
+
+
registerService(bc,analyzeNetworkAction,CyAction.class, new
Properties());
registerService(bc,analyzeSubsetAction,CyAction.class, new
Properties());
registerService(bc,batchAnalysisAction,CyAction.class, new
Properties());
Modified:
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/LoadNetstatsAction.java
===================================================================
---
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/LoadNetstatsAction.java
2012-07-12 02:50:26 UTC (rev 29850)
+++
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/LoadNetstatsAction.java
2012-07-12 02:51:18 UTC (rev 29851)
@@ -18,6 +18,7 @@
package de.mpg.mpi_inf.bioinf.netanalyzer;
import java.awt.Frame;
+import java.awt.Window;
import java.awt.event.ActionEvent;
import java.io.File;
import java.io.IOException;
@@ -34,7 +35,8 @@
import de.mpg.mpi_inf.bioinf.netanalyzer.data.Messages;
import de.mpg.mpi_inf.bioinf.netanalyzer.data.NetworkStats;
import de.mpg.mpi_inf.bioinf.netanalyzer.data.io.StatsSerializer;
-import de.mpg.mpi_inf.bioinf.netanalyzer.ui.AnalysisDialog;
+import de.mpg.mpi_inf.bioinf.netanalyzer.ui.AnalysisResultPanel;
+import de.mpg.mpi_inf.bioinf.netanalyzer.ui.ResultPanelFactory;
import de.mpg.mpi_inf.bioinf.netanalyzer.ui.Utils;
import de.mpg.mpi_inf.bioinf.netanalyzer.ui.VisualStyleBuilder;
@@ -50,16 +52,18 @@
private final CyNetworkViewManager viewManager;
private final VisualMappingManager vmm;
private final VisualStyleBuilder vsBuilder;
+ private final ResultPanelFactory resultPanelFactory;
/**
* Initializes a new instance of <code>LoadNetstatsAction</code>.
*/
public LoadNetstatsAction(CyApplicationManager
appMgr,CySwingApplication swingApp, final CyNetworkViewManager viewManager,
final VisualStyleBuilder vsBuilder,
- final VisualMappingManager vmm) {
+ final VisualMappingManager vmm, final
ResultPanelFactory resultPanelFactory) {
super(Messages.AC_LOAD,appMgr,swingApp);
this.viewManager = viewManager;
this.vmm = vmm;
this.vsBuilder = vsBuilder;
+ this.resultPanelFactory = resultPanelFactory;
setPreferredMenu(NetworkAnalyzer.PARENT_MENU +
Messages.AC_MENU_ANALYSIS);
}
@@ -72,7 +76,7 @@
public void actionPerformed(ActionEvent e) {
try {
final Frame desktop = swingApp.getJFrame();
- final JFileChooser dialog =
AnalysisDialog.netstatsDialog;
+ final JFileChooser dialog =
AnalysisResultPanel.netstatsDialog;
final int openIt = dialog.showOpenDialog(desktop);
if (openIt == JFileChooser.APPROVE_OPTION) {
openNetstats(desktop, dialog.getSelectedFile());
@@ -97,10 +101,10 @@
* @param aFile
* Network statistics file to be open.
*/
- public void openNetstats(Frame owner, File aFile) {
+ public void openNetstats(Window owner, File aFile) {
try {
final NetworkStats stats = StatsSerializer.load(aFile);
- final AnalysisDialog d = new AnalysisDialog(owner,
stats, null, viewManager, vsBuilder, vmm);
+ final AnalysisResultPanel d = new
AnalysisResultPanel(swingApp, owner, resultPanelFactory, stats, null,
viewManager, vsBuilder, vmm);
d.setVisible(true);
} catch (IOException ex) {
// FileNotFoundException, IOException
Modified:
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/data/settings/PluginSettings.java
===================================================================
---
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/data/settings/PluginSettings.java
2012-07-12 02:50:26 UTC (rev 29850)
+++
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/data/settings/PluginSettings.java
2012-07-12 02:51:18 UTC (rev 29851)
@@ -48,7 +48,7 @@
* Checks if expandable chart panels must be used.
*
* @return <code>true</code> if {@link
de.mpg.mpi_inf.bioinf.netanalyzer.ui.ChartExpandablePanel} must be
- * used as building blocks for {@link
de.mpg.mpi_inf.bioinf.netanalyzer.ui.AnalysisDialog};
+ * used as building blocks for {@link
de.mpg.mpi_inf.bioinf.netanalyzer.ui.AnalysisResultPanel};
* <code>false</code> otherwise.
*/
public boolean getExpandable() {
Deleted:
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/AnalysisDialog.java
===================================================================
---
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/AnalysisDialog.java
2012-07-12 02:50:26 UTC (rev 29850)
+++
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/AnalysisDialog.java
2012-07-12 02:51:18 UTC (rev 29851)
@@ -1,342 +0,0 @@
-/*
- * Copyright (c) 2006, 2007, 2008, 2010, Max Planck Institute for Informatics,
Saarbruecken, Germany.
- *
- * This file is part of NetworkAnalyzer.
- *
- * NetworkAnalyzer 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 3 of
the License, or (at your option)
- * any later version.
- *
- * NetworkAnalyzer 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.
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 NetworkAnalyzer. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-
-package de.mpg.mpi_inf.bioinf.netanalyzer.ui;
-
-import java.awt.Container;
-import java.awt.FlowLayout;
-import java.awt.Frame;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.WindowEvent;
-import java.awt.event.WindowListener;
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.Constructor;
-
-import javax.swing.BorderFactory;
-import javax.swing.Box;
-import javax.swing.BoxLayout;
-import javax.swing.JButton;
-import javax.swing.JComponent;
-import javax.swing.JDialog;
-import javax.swing.JFileChooser;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JTabbedPane;
-
-import org.cytoscape.model.CyNetwork;
-import org.cytoscape.view.model.CyNetworkViewManager;
-import org.cytoscape.view.vizmap.VisualMappingManager;
-
-import de.mpg.mpi_inf.bioinf.netanalyzer.CyNetworkUtils;
-import de.mpg.mpi_inf.bioinf.netanalyzer.InnerException;
-import de.mpg.mpi_inf.bioinf.netanalyzer.NetworkAnalyzer;
-import de.mpg.mpi_inf.bioinf.netanalyzer.Plugin;
-import de.mpg.mpi_inf.bioinf.netanalyzer.data.ComplexParam;
-import de.mpg.mpi_inf.bioinf.netanalyzer.data.Decorators;
-import de.mpg.mpi_inf.bioinf.netanalyzer.data.Messages;
-import de.mpg.mpi_inf.bioinf.netanalyzer.data.NetworkStats;
-import de.mpg.mpi_inf.bioinf.netanalyzer.data.io.SettingsSerializer;
-import de.mpg.mpi_inf.bioinf.netanalyzer.data.io.StatsSerializer;
-import de.mpg.mpi_inf.bioinf.netanalyzer.data.settings.PluginSettings;
-import de.mpg.mpi_inf.bioinf.netanalyzer.dec.Decorator;
-
-/**
- * Dialog presenting results of network analysis.
- *
- * @author Yassen Assenov
- */
-public class AnalysisDialog extends JDialog implements ActionListener,
WindowListener {
-
- private final CyNetworkViewManager viewManager;
- private final VisualMappingManager vmm;
- private final VisualStyleBuilder vsBuilder;
-
- /**
- * Dialog window for choosing a filename when saving and loading
.netstats files.
- */
- public static JFileChooser netstatsDialog = new JFileChooser();
-
- static {
-
netstatsDialog.addChoosableFileFilter(SupportedExtensions.netStatsFilter);
- }
-
- private final Frame aOwner;
-
- /**
- * Initializes a new instance of <code>AnalysisDialog</code>.
- * <p>
- * The dialog created is non-modal and has a title "Network
Analysis - [name]", where [name] is
- * the name of the network, as saved in the <code>aStats</code>
parameter. The constructor creates and
- * lays out all the controls of the dialog. It also positions the
window according to its parent, so no
- * subsequent calls to <code>pack</code> or
<code>setLocation(...)</code> are necessary.
- * </p>
- *
- * @param aOwner
- * The <code>Frame</code> from which this dialog is
displayed.
- * @param aStats
- * Network statistics to be visualized.
- * @param aAnalyzer
- * Analyzer class that performed the topological analysis.
Set this to <code>null</code> if the
- * results were loaded from a file rather than just computed.
- */
- public AnalysisDialog(Frame aOwner, NetworkStats aStats,
NetworkAnalyzer aAnalyzer, final CyNetworkViewManager viewManager, final
VisualStyleBuilder vsBuilder,
- final VisualMappingManager vmm) {
- super(aOwner, Messages.DT_ANALYSIS + aStats.getTitle(), false);
- this.aOwner = aOwner;
- this.viewManager = viewManager;
- this.vmm = vmm;
- this.vsBuilder = vsBuilder;
-
- stats = aStats;
- boolean paramMapping = false;
- if (aAnalyzer != null) {
- final PluginSettings s =
SettingsSerializer.getPluginSettings();
- paramMapping = aAnalyzer.isGlobal() &&
(s.getUseNodeAttributes() || s.getUseEdgeAttributes());
- saved = false;
- } else {
- saved = true;
- }
- initControls(paramMapping);
- addWindowListener(this);
-
- pack();
- setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
- setResizable(false);
- setLocationRelativeTo(aOwner);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
- */
- public void actionPerformed(ActionEvent e) {
- final Object src = e.getSource();
- if (src == saveButton) {
- saveNetstats();
- } else if (src == visualizeButton) {
- visualizeParameter();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
java.awt.event.WindowListener#windowActivated(java.awt.event.WindowEvent)
- */
- public void windowActivated(WindowEvent e) {
- // Event is not processed
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
java.awt.event.WindowListener#windowDeactivated(java.awt.event.WindowEvent)
- */
- public void windowDeactivated(WindowEvent e) {
- // Event is not processed
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
java.awt.event.WindowListener#windowOpened(java.awt.event.WindowEvent)
- */
- public void windowOpened(WindowEvent e) {
- // Event is not processed
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
java.awt.event.WindowListener#windowClosing(java.awt.event.WindowEvent)
- */
- public void windowClosing(WindowEvent e) {
- if (!saved) {
- int choice = JOptionPane.showConfirmDialog(this,
Messages.SM_CLOSEWARN, Messages.DT_CLOSEWARN,
- JOptionPane.YES_NO_OPTION,
JOptionPane.WARNING_MESSAGE);
- if (choice == JOptionPane.NO_OPTION) {
- return;
- }
- }
- setVisible(false);
- dispose();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
java.awt.event.WindowListener#windowClosed(java.awt.event.WindowEvent)
- */
- public void windowClosed(WindowEvent e) {
- // Event is not processed
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
java.awt.event.WindowListener#windowIconified(java.awt.event.WindowEvent)
- */
- public void windowIconified(WindowEvent e) {
- // Event is not processed
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
java.awt.event.WindowListener#windowDeiconified(java.awt.event.WindowEvent)
- */
- public void windowDeiconified(WindowEvent e) {
- // Event is not processed
- }
-
- /**
- * Creates and lays out the controls inside this dialog.
- * <p>
- * This method is called upon initialization only.
- * </p>
- */
- private void initControls(boolean enableParameterMapping) {
- final boolean useExpandable =
SettingsSerializer.getPluginSettings().getExpandable();
- final Container contentPane = getContentPane();
- contentPane.setLayout(new BoxLayout(contentPane,
BoxLayout.Y_AXIS));
- final JTabbedPane tabs = useExpandable ? null : new
JTabbedPane();
-
- final JComponent simpleStatsPanel = new SimpleStatsPanel(stats);
- if (useExpandable) {
-
simpleStatsPanel.setBorder(BorderFactory.createTitledBorder(Messages.DI_SIMPLEPARAMS));
- contentPane.add(simpleStatsPanel);
- } else {
- contentPane.add(tabs);
- tabs.addTab(Messages.DI_SIMPLEPARAMS, simpleStatsPanel);
- }
-
- final String[] complexNames = stats.getComputedComplex();
- for (int i = 0; i < complexNames.length; ++i) {
- final String id = complexNames[i];
- final ComplexParam cp = stats.getComplex(id);
- final String typeName = cp.getClass().getSimpleName();
- try {
- final Class<?> visClass =
Plugin.getVisualizerClass(typeName);
- final Constructor<?> con =
visClass.getConstructors()[0];
- final Object[] conParams = new Object[] { cp,
SettingsSerializer.getDefault(id) };
- ComplexParamVisualizer v =
(ComplexParamVisualizer) con.newInstance(conParams);
- final Decorator[] decs = Decorators.get(id);
- if (useExpandable) {
- contentPane.add(new
ChartExpandablePanel(this, id, v, (i == 0), decs));
- } else {
- tabs.addTab(v.getTitle(), new
ChartDisplayPanel(this, id, v, decs));
- }
- } catch (Exception ex) {
- throw new InnerException(ex);
- }
- }
-
- contentPane.add(Box.createVerticalStrut(Utils.BORDER_SIZE));
- saveButton = new JButton(Messages.DI_SAVESTATISTICS);
- saveButton.addActionListener(this);
- visualizeButton = new JButton(Messages.DI_VISUALIZEPARAMETER);
- visualizeButton.setEnabled(false);
- visualizeButton.addActionListener(this);
- visualizeButton.setEnabled(enableParameterMapping);
- JPanel buttonPane = new JPanel(new
FlowLayout(FlowLayout.CENTER, Utils.BORDER_SIZE, 0));
- Utils.equalizeSize(saveButton, visualizeButton);
- buttonPane.add(saveButton);
- buttonPane.add(Box.createHorizontalStrut(Utils.BORDER_SIZE *
2));
- buttonPane.add(visualizeButton);
- contentPane.add(buttonPane);
- contentPane.add(Box.createVerticalStrut(Utils.BORDER_SIZE));
- }
-
- /**
- * Displays a dialog prompting to save the network analysis in a
<code>.netstats</code> file.
- */
- private void saveNetstats() {
- int saveIt = netstatsDialog.showSaveDialog(this);
- if (saveIt == JFileChooser.APPROVE_OPTION) {
- try {
- String fileName =
netstatsDialog.getSelectedFile().getAbsolutePath();
- Utils.removeSelectedFile(netstatsDialog);
- if
(!SupportedExtensions.netStatsFilter.hasExtension(fileName)) {
- fileName =
SupportedExtensions.netStatsFilter.appendExtension(fileName);
- }
- if (Utils.canSave(new File(fileName), this)) {
- StatsSerializer.save(stats, fileName);
- saved = true;
- }
- } catch (IOException ex) {
- // Could not save file
- Utils.showErrorBox(this, Messages.DT_IOERROR,
Messages.SM_OERROR);
- } catch (SecurityException ex) {
- // Could not save file - security manager has
denied access
- Utils.showErrorBox(this, Messages.DT_SECERROR,
Messages.SM_SECERROR2);
- }
- } else if (saveIt == JFileChooser.ERROR_OPTION) {
- Utils.showErrorBox(this, Messages.DT_GUIERROR,
Messages.SM_GUIERROR);
- }
- }
-
- /**
- * Opens the "Map Parameters to Visual Styles" dialog when
the "Map Parameters to Visual
- * Styles" button is activated.
- */
- private void visualizeParameter() {
- CyNetwork network = stats.getNetwork();
- if (network != null) {
- final String[][] nodeAttr =
CyNetworkUtils.getComputedNodeAttributes(network);
- final String[][] edgeAttr =
CyNetworkUtils.getComputedEdgeAttributes(network);
- if ((nodeAttr[0].length > 0) || (nodeAttr[1].length >
0) || (edgeAttr[0].length > 0)
- || (edgeAttr[1].length > 0)) {
- final MapParameterDialog d = new
MapParameterDialog(aOwner, network, viewManager, vsBuilder, vmm,
- nodeAttr, edgeAttr);
- d.setVisible(true);
- return;
- }
- }
- // Could not locate network - display an error message to the
user
- Utils.showErrorBox(this, Messages.DT_WRONGDATA,
Messages.SM_VISUALIZEERROR);
- visualizeButton.setEnabled(false);
- }
-
- /**
- * Unique ID for this version of this class. It is used in
serialization.
- */
- private static final long serialVersionUID = 5759174742857183439L;
-
- /**
- * Flag indicating if the network analysis results were successfully
saved to a file.
- */
- private boolean saved;
-
- /**
- * "Save Statistics" button.
- */
- private JButton saveButton;
-
- /**
- * "Visualize Parameters" button.
- */
- private JButton visualizeButton;
-
- /**
- * Network parameters instance displayed in this dialog.
- */
- private NetworkStats stats;
-
-}
Copied:
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/AnalysisResultPanel.java
(from rev 29752,
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/AnalysisDialog.java)
===================================================================
---
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/AnalysisResultPanel.java
(rev 0)
+++
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/AnalysisResultPanel.java
2012-07-12 02:51:18 UTC (rev 29851)
@@ -0,0 +1,329 @@
+/*
+ * Copyright (c) 2006, 2007, 2008, 2010, Max Planck Institute for Informatics,
Saarbruecken, Germany.
+ *
+ * This file is part of NetworkAnalyzer.
+ *
+ * NetworkAnalyzer 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 3 of
the License, or (at your option)
+ * any later version.
+ *
+ * NetworkAnalyzer 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.
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 NetworkAnalyzer. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+package de.mpg.mpi_inf.bioinf.netanalyzer.ui;
+
+import java.awt.Component;
+import java.awt.FlowLayout;
+import java.awt.Frame;
+import java.awt.Window;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowEvent;
+import java.awt.event.WindowListener;
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.Constructor;
+
+import javax.swing.BorderFactory;
+import javax.swing.Box;
+import javax.swing.BoxLayout;
+import javax.swing.JButton;
+import javax.swing.JComponent;
+import javax.swing.JFileChooser;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JTabbedPane;
+
+import org.cytoscape.application.swing.CySwingApplication;
+import org.cytoscape.application.swing.CytoPanel;
+import org.cytoscape.application.swing.CytoPanelName;
+import org.cytoscape.application.swing.CytoPanelState;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.service.util.CyServiceRegistrar;
+import org.cytoscape.view.model.CyNetworkViewManager;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+
+import de.mpg.mpi_inf.bioinf.netanalyzer.CyNetworkUtils;
+import de.mpg.mpi_inf.bioinf.netanalyzer.InnerException;
+import de.mpg.mpi_inf.bioinf.netanalyzer.NetworkAnalyzer;
+import de.mpg.mpi_inf.bioinf.netanalyzer.Plugin;
+import de.mpg.mpi_inf.bioinf.netanalyzer.data.ComplexParam;
+import de.mpg.mpi_inf.bioinf.netanalyzer.data.Decorators;
+import de.mpg.mpi_inf.bioinf.netanalyzer.data.Messages;
+import de.mpg.mpi_inf.bioinf.netanalyzer.data.NetworkStats;
+import de.mpg.mpi_inf.bioinf.netanalyzer.data.io.SettingsSerializer;
+import de.mpg.mpi_inf.bioinf.netanalyzer.data.io.StatsSerializer;
+import de.mpg.mpi_inf.bioinf.netanalyzer.data.settings.PluginSettings;
+import de.mpg.mpi_inf.bioinf.netanalyzer.dec.Decorator;
+
+/**
+ * Dialog presenting results of network analysis.
+ *
+ * @author Yassen Assenov
+ */
+public class AnalysisResultPanel extends JPanel implements ActionListener {
+
+ private ResultPanel resultPanel;
+ private final ResultPanelFactory resultPanelFactory;
+
+ private final CyNetworkViewManager viewManager;
+ private final VisualMappingManager vmm;
+ private final VisualStyleBuilder vsBuilder;
+
+ /**
+ * Dialog window for choosing a filename when saving and loading
.netstats files.
+ */
+ public static JFileChooser netstatsDialog = new JFileChooser();
+
+ static {
+
netstatsDialog.addChoosableFileFilter(SupportedExtensions.netStatsFilter);
+ }
+
+ private final Window aOwner;
+
+ private CySwingApplication swingApplication;
+
+ /**
+ * Initializes a new instance of <code>AnalysisDialog</code>.
+ * <p>
+ * The dialog created is non-modal and has a title "Network
Analysis - [name]", where [name] is
+ * the name of the network, as saved in the <code>aStats</code>
parameter. The constructor creates and
+ * lays out all the controls of the dialog. It also positions the
window according to its parent, so no
+ * subsequent calls to <code>pack</code> or
<code>setLocation(...)</code> are necessary.
+ * </p>
+ *
+ * @param aOwner
+ * The <code>Frame</code> from which this dialog is
displayed.
+ * @param aStats
+ * Network statistics to be visualized.
+ * @param aAnalyzer
+ * Analyzer class that performed the topological analysis.
Set this to <code>null</code> if the
+ * results were loaded from a file rather than just computed.
+ */
+ public AnalysisResultPanel(final CySwingApplication swingApplication,
Window aOwner, final ResultPanelFactory panelFactory, NetworkStats aStats,
NetworkAnalyzer aAnalyzer,
+ final CyNetworkViewManager viewManager, final
VisualStyleBuilder vsBuilder, final VisualMappingManager vmm) {
+ this.aOwner = aOwner;
+ this.viewManager = viewManager;
+ this.vmm = vmm;
+ this.vsBuilder = vsBuilder;
+ this.swingApplication = swingApplication;
+ this.resultPanelFactory =panelFactory;
+
+ this.stats = aStats;
+ boolean paramMapping = false;
+ if (aAnalyzer != null) {
+ final PluginSettings s =
SettingsSerializer.getPluginSettings();
+ paramMapping = aAnalyzer.isGlobal() &&
(s.getUseNodeAttributes() || s.getUseEdgeAttributes());
+ saved = false;
+ } else {
+ saved = true;
+ }
+ initControls(paramMapping);
+ final CyNetwork network = stats.getNetwork();
+ final String networkTitle =
network.getRow(network).get(CyNetwork.NAME, String.class);
+ resultPanel = panelFactory.registerPanel(this, "Network
Statistics of " + networkTitle);
+
+ final CytoPanel cytoPanel =
swingApplication.getCytoPanel(CytoPanelName.EAST);
+
+ int panelCount = cytoPanel.getCytoPanelComponentCount();
+ for(int i=0; i<panelCount; i++) {
+ Component panel = cytoPanel.getComponentAt(i);
+ if(panel.equals(resultPanel)) {
+ cytoPanel.setSelectedIndex(i);
+ break;
+ }
+ }
+
+ final CytoPanelState curState = cytoPanel.getState();
+ if (curState == CytoPanelState.HIDE)
+ cytoPanel.setState(CytoPanelState.FLOAT);
+ }
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ final Object src = e.getSource();
+ if (src == saveButton) {
+ saveNetstats();
+ } else if (src == visualizeButton) {
+ visualizeParameter();
+ }
+ }
+
+
+ public void panelClosing() {
+ if (!saved) {
+ int choice = JOptionPane.showConfirmDialog(this,
Messages.SM_CLOSEWARN, Messages.DT_CLOSEWARN,
+ JOptionPane.YES_NO_OPTION,
JOptionPane.WARNING_MESSAGE);
+ if (choice == JOptionPane.NO_OPTION)
+ return;
+ }
+
+ // Close this panel
+
+ final CytoPanel cytoPanel =
swingApplication.getCytoPanel(CytoPanelName.EAST);
+ int panelCount = cytoPanel.getCytoPanelComponentCount();
+ for(int i=0; i<panelCount; i++) {
+ Component panel = cytoPanel.getComponentAt(i);
+ if(panel.equals(resultPanel)) {
+ resultPanelFactory.removePanel(resultPanel);
+ resultPanel = null;
+ break;
+ }
+ }
+// dispose();
+ }
+
+
+
+ /**
+ * Creates and lays out the controls inside this dialog.
+ * <p>
+ * This method is called upon initialization only.
+ * </p>
+ */
+ private void initControls(boolean enableParameterMapping) {
+ final boolean useExpandable =
SettingsSerializer.getPluginSettings().getExpandable();
+ this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
+ final JTabbedPane tabs = useExpandable ? null : new
JTabbedPane();
+
+ final JComponent simpleStatsPanel = new SimpleStatsPanel(stats);
+ if (useExpandable) {
+
simpleStatsPanel.setBorder(BorderFactory.createTitledBorder(Messages.DI_SIMPLEPARAMS));
+ this.add(simpleStatsPanel);
+ } else {
+ this.add(tabs);
+ tabs.addTab(Messages.DI_SIMPLEPARAMS, simpleStatsPanel);
+ }
+
+ final String[] complexNames = stats.getComputedComplex();
+ for (int i = 0; i < complexNames.length; ++i) {
+ final String id = complexNames[i];
+ final ComplexParam cp = stats.getComplex(id);
+ final String typeName = cp.getClass().getSimpleName();
+ try {
+ final Class<?> visClass =
Plugin.getVisualizerClass(typeName);
+ final Constructor<?> con =
visClass.getConstructors()[0];
+ final Object[] conParams = new Object[] { cp,
SettingsSerializer.getDefault(id) };
+ ComplexParamVisualizer v =
(ComplexParamVisualizer) con.newInstance(conParams);
+ final Decorator[] decs = Decorators.get(id);
+ if (useExpandable) {
+ this.add(new ChartExpandablePanel(this,
id, v, (i == 0), decs));
+ } else {
+ tabs.addTab(v.getTitle(), new
ChartDisplayPanel(this, id, v, decs));
+ }
+ } catch (Exception ex) {
+ throw new InnerException(ex);
+ }
+ }
+
+ this.add(Box.createVerticalStrut(Utils.BORDER_SIZE));
+ saveButton = new JButton(Messages.DI_SAVESTATISTICS);
+ saveButton.addActionListener(this);
+ visualizeButton = new JButton(Messages.DI_VISUALIZEPARAMETER);
+ visualizeButton.setEnabled(false);
+ visualizeButton.addActionListener(this);
+ visualizeButton.setEnabled(enableParameterMapping);
+
+ closeButton = new JButton("Close Tab");
+ closeButton.addActionListener(new ActionListener() {
+
+ @Override
+ public void actionPerformed(ActionEvent arg0) {
+ panelClosing();
+ }
+ });
+
+ JPanel buttonPane = new JPanel(new
FlowLayout(FlowLayout.CENTER, Utils.BORDER_SIZE, 0));
+ Utils.equalizeSize(saveButton, visualizeButton);
+ buttonPane.add(saveButton);
+ buttonPane.add(Box.createHorizontalStrut(Utils.BORDER_SIZE *
2));
+ buttonPane.add(visualizeButton);
+ buttonPane.add(closeButton);
+ this.add(buttonPane);
+ this.add(Box.createVerticalStrut(Utils.BORDER_SIZE));
+
+
+ }
+
+ /**
+ * Displays a dialog prompting to save the network analysis in a
<code>.netstats</code> file.
+ */
+ private void saveNetstats() {
+ int saveIt = netstatsDialog.showSaveDialog(this);
+ if (saveIt == JFileChooser.APPROVE_OPTION) {
+ try {
+ String fileName =
netstatsDialog.getSelectedFile().getAbsolutePath();
+ Utils.removeSelectedFile(netstatsDialog);
+ if
(!SupportedExtensions.netStatsFilter.hasExtension(fileName)) {
+ fileName =
SupportedExtensions.netStatsFilter.appendExtension(fileName);
+ }
+ if (Utils.canSave(new File(fileName), this)) {
+ StatsSerializer.save(stats, fileName);
+ saved = true;
+ }
+ } catch (IOException ex) {
+ // Could not save file
+ Utils.showErrorBox(this, Messages.DT_IOERROR,
Messages.SM_OERROR);
+ } catch (SecurityException ex) {
+ // Could not save file - security manager has
denied access
+ Utils.showErrorBox(this, Messages.DT_SECERROR,
Messages.SM_SECERROR2);
+ }
+ } else if (saveIt == JFileChooser.ERROR_OPTION) {
+ Utils.showErrorBox(this, Messages.DT_GUIERROR,
Messages.SM_GUIERROR);
+ }
+ }
+
+ /**
+ * Opens the "Map Parameters to Visual Styles" dialog when
the "Map Parameters to Visual
+ * Styles" button is activated.
+ */
+ private void visualizeParameter() {
+ CyNetwork network = stats.getNetwork();
+ if (network != null) {
+ final String[][] nodeAttr =
CyNetworkUtils.getComputedNodeAttributes(network);
+ final String[][] edgeAttr =
CyNetworkUtils.getComputedEdgeAttributes(network);
+ if ((nodeAttr[0].length > 0) || (nodeAttr[1].length >
0) || (edgeAttr[0].length > 0)
+ || (edgeAttr[1].length > 0)) {
+ final MapParameterDialog d = new
MapParameterDialog(aOwner, network, viewManager, vsBuilder, vmm,
+ nodeAttr, edgeAttr);
+ d.setVisible(true);
+ return;
+ }
+ }
+ // Could not locate network - display an error message to the
user
+ Utils.showErrorBox(this, Messages.DT_WRONGDATA,
Messages.SM_VISUALIZEERROR);
+ visualizeButton.setEnabled(false);
+ }
+
+ /**
+ * Unique ID for this version of this class. It is used in
serialization.
+ */
+ private static final long serialVersionUID = 5759174742857183439L;
+
+ /**
+ * Flag indicating if the network analysis results were successfully
saved to a file.
+ */
+ private boolean saved;
+
+ /**
+ * "Save Statistics" button.
+ */
+ private JButton saveButton;
+
+ /**
+ * "Visualize Parameters" button.
+ */
+ private JButton visualizeButton;
+
+ /**
+ * Network parameters instance displayed in this dialog.
+ */
+ private NetworkStats stats;
+
+ private JButton closeButton;
+}
Modified:
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/ChartDisplayPanel.java
===================================================================
---
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/ChartDisplayPanel.java
2012-07-12 02:50:26 UTC (rev 29850)
+++
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/ChartDisplayPanel.java
2012-07-12 02:51:18 UTC (rev 29851)
@@ -17,6 +17,7 @@
package de.mpg.mpi_inf.bioinf.netanalyzer.ui;
+import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -30,6 +31,7 @@
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
+import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
@@ -73,7 +75,7 @@
* @param aVisualizer
* Visualizer of the complex parameter to be displayed.
*/
- public ChartDisplayPanel(JDialog aOwner, String aID,
ComplexParamVisualizer aVisualizer) {
+ public ChartDisplayPanel(Container aOwner, String aID,
ComplexParamVisualizer aVisualizer) {
this(aOwner, aID, aVisualizer, null);
}
@@ -89,7 +91,7 @@
* @param aDecorators
* Decorator instances for the complex parameter visualized.
*/
- public ChartDisplayPanel(JDialog aOwner, String aID,
ComplexParamVisualizer aVisualizer,
+ public ChartDisplayPanel(Container aOwner, String aID,
ComplexParamVisualizer aVisualizer,
Decorator[] aDecorators) {
super();
visualizer = aVisualizer;
@@ -97,7 +99,7 @@
decorators = aDecorators;
originalParam = aVisualizer.getComplexParam();
chart = aVisualizer.createControl();
- ownerDialog = aOwner;
+ //ownerDialog = aOwner;
initControls();
}
Modified:
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/ChartExpandablePanel.java
===================================================================
---
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/ChartExpandablePanel.java
2012-07-12 02:50:26 UTC (rev 29850)
+++
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/ChartExpandablePanel.java
2012-07-12 02:51:18 UTC (rev 29851)
@@ -26,6 +26,7 @@
import java.awt.event.MouseMotionListener;
import javax.swing.BorderFactory;
+import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.border.TitledBorder;
@@ -54,7 +55,7 @@
* @param aID ID of complex parameter to be displayed.
* @param aVisualizer Visualizer of the complex parameter to be
displayed.
*/
- public ChartExpandablePanel(JDialog aOwner, String aID,
ComplexParamVisualizer aVisualizer) {
+ public ChartExpandablePanel(JComponent aOwner, String aID,
ComplexParamVisualizer aVisualizer) {
this(aOwner, aID, aVisualizer, true, null);
}
@@ -66,7 +67,7 @@
* @param aVisualizer Visualizer of the complex parameter to be
displayed.
* @param aExpanded Flag indicating if the panel must be initially
expanded or hidden.
*/
- public ChartExpandablePanel(JDialog aOwner, String aID,
ComplexParamVisualizer aVisualizer, boolean aExpanded) {
+ public ChartExpandablePanel(JComponent aOwner, String aID,
ComplexParamVisualizer aVisualizer, boolean aExpanded) {
this(aOwner, aID, aVisualizer, aExpanded, null);
}
@@ -79,7 +80,7 @@
* @param aExpanded Flag indicating if the panel must be initially
expanded or hidden.
* @param aDecorators Decorator instances for the complex parameter
visualized.
*/
- public ChartExpandablePanel(JDialog aOwner, String aID,
ComplexParamVisualizer aVisualizer, boolean aExpanded,
+ public ChartExpandablePanel(JComponent aOwner, String aID,
ComplexParamVisualizer aVisualizer, boolean aExpanded,
Decorator[] aDecorators) {
super(aOwner, aID, aVisualizer, aDecorators);
Modified:
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/MapParameterDialog.java
===================================================================
---
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/MapParameterDialog.java
2012-07-12 02:50:26 UTC (rev 29850)
+++
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/MapParameterDialog.java
2012-07-12 02:51:18 UTC (rev 29851)
@@ -22,6 +22,7 @@
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.GridLayout;
+import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Collection;
@@ -78,7 +79,7 @@
* @throws NullPointerException
* If <code>aNetwork</code> is <code>null</code>.
*/
- public MapParameterDialog(Frame aOwner, CyNetwork aNetwork, final
CyNetworkViewManager viewManager, final VisualStyleBuilder vsBuilder,
+ public MapParameterDialog(Window aOwner, CyNetwork aNetwork, final
CyNetworkViewManager viewManager, final VisualStyleBuilder vsBuilder,
final VisualMappingManager vmm, String[][] aNodeAttr,
String[][] aEdgeAttr) {
super(aOwner, Messages.DT_MAPPARAM, true, aNetwork, aNodeAttr,
aEdgeAttr);
Added:
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/ResultPanel.java
===================================================================
---
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/ResultPanel.java
(rev 0)
+++
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/ResultPanel.java
2012-07-12 02:51:18 UTC (rev 29851)
@@ -0,0 +1,51 @@
+package de.mpg.mpi_inf.bioinf.netanalyzer.ui;
+
+import java.awt.Component;
+import java.awt.Dimension;
+
+import javax.swing.Icon;
+import javax.swing.JPanel;
+
+import org.cytoscape.application.swing.CytoPanelComponent;
+import org.cytoscape.application.swing.CytoPanelName;
+
+public class ResultPanel extends JPanel implements CytoPanelComponent {
+
+ private static final Dimension DEF_PANEL_SIZE = new Dimension(650, 530);
+
+ private final String panelTitle;
+
+ public ResultPanel(final String panelTitle) {
+ this.setPreferredSize(DEF_PANEL_SIZE);
+ this.setSize(DEF_PANEL_SIZE);
+ this.setMinimumSize(DEF_PANEL_SIZE);
+
+ this.panelTitle = panelTitle;
+ }
+ /**
+ *
+ */
+ private static final long serialVersionUID = -7824516315016600756L;
+
+ @Override
+ public Component getComponent() {
+ return this;
+ }
+
+ @Override
+ public CytoPanelName getCytoPanelName() {
+ return CytoPanelName.EAST;
+ }
+
+ @Override
+ public String getTitle() {
+ return panelTitle;
+ }
+
+ @Override
+ public Icon getIcon() {
+ return null;
+ }
+
+
+}
Added:
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/ResultPanelFactory.java
===================================================================
---
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/ResultPanelFactory.java
(rev 0)
+++
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/ResultPanelFactory.java
2012-07-12 02:51:18 UTC (rev 29851)
@@ -0,0 +1,30 @@
+package de.mpg.mpi_inf.bioinf.netanalyzer.ui;
+
+import java.awt.Component;
+import java.util.Properties;
+
+import org.cytoscape.service.util.CyServiceRegistrar;
+
+public class ResultPanelFactory {
+
+ private final CyServiceRegistrar registrar;
+
+ public ResultPanelFactory(final CyServiceRegistrar registrar) {
+ this.registrar = registrar;
+ }
+
+ public ResultPanel registerPanel(final Component panel, final String
panelTitle) {
+ final ResultPanel resPanel = new ResultPanel(panelTitle);
+ resPanel.add(panel);
+ registrar.registerAllServices(resPanel, new Properties());
+
+ return resPanel;
+ }
+
+ public void removePanel(ResultPanel panel) {
+ if(panel != null) {
+ registrar.unregisterAllServices(panel);
+ }
+ }
+
+}
Modified:
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/VisualizeParameterDialog.java
===================================================================
---
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/VisualizeParameterDialog.java
2012-07-12 02:50:26 UTC (rev 29850)
+++
core3/impl/trunk/network-analyzer-impl/src/main/java/de/mpg/mpi_inf/bioinf/netanalyzer/ui/VisualizeParameterDialog.java
2012-07-12 02:51:18 UTC (rev 29851)
@@ -17,7 +17,9 @@
package de.mpg.mpi_inf.bioinf.netanalyzer.ui;
+import java.awt.Dialog;
import java.awt.Frame;
+import java.awt.Window;
import javax.swing.JDialog;
@@ -50,9 +52,9 @@
* first column contains all NetworkAnalyzer attributes, and
the second one other
* attributes.
*/
- protected VisualizeParameterDialog(Frame aOwner, String aName, boolean
modal,
+ protected VisualizeParameterDialog(Window aOwner, String aName, boolean
modal,
CyNetwork aNetwork, String[][] aNodeAttr, String[][]
aEdgeAttr) {
- super(aOwner, aName, modal);
+ super(aOwner, aName, Dialog.ModalityType.APPLICATION_MODAL);
network = aNetwork;
nodeAttr = aNodeAttr;
edgeAttr = aEdgeAttr;
--
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.