Author: pwang
Date: 2008-09-09 12:15:37 -0700 (Tue, 09 Sep 2008)
New Revision: 14864
Modified:
csplugins/trunk/ucsd/pwang/SessionForWebPlugin/src/SessionForWebPlugin/SessionForWebPlugin.java
Log:
Add a new menuItem -- Session for CellCircuits web site
Modified:
csplugins/trunk/ucsd/pwang/SessionForWebPlugin/src/SessionForWebPlugin/SessionForWebPlugin.java
===================================================================
---
csplugins/trunk/ucsd/pwang/SessionForWebPlugin/src/SessionForWebPlugin/SessionForWebPlugin.java
2008-09-09 18:33:18 UTC (rev 14863)
+++
csplugins/trunk/ucsd/pwang/SessionForWebPlugin/src/SessionForWebPlugin/SessionForWebPlugin.java
2008-09-09 19:15:37 UTC (rev 14864)
@@ -15,12 +15,15 @@
import cytoscape.CyNetwork;
import cytoscape.plugin.CytoscapePlugin;
import ding.view.DGraphView;
+import cytoscape.data.CyAttributes;
+
public class SessionForWebPlugin extends CytoscapePlugin
{
public SessionForWebPlugin()
{
JMenuItem webMenuItem = new JMenuItem("Session for Web...");
+ JMenuItem webMenuItem2 = new JMenuItem("Session for
CellCircuits web site...");
ActionListener webActionListener = new ActionListener()
{
public void actionPerformed(ActionEvent e)
@@ -37,8 +40,29 @@
setupDialog();
}
};
+
+ ActionListener webActionListener2 = new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ // check that we have at least 1 network loaded
+ if (Cytoscape.getNetworkSet().size() == 0)
+ {
+
JOptionPane.showMessageDialog(Cytoscape.getDesktop(),
+ "There needs to be at least one
network loaded\n" +
+ "before the session can be
exported.", "Session for CellCircuits web site",
+ JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+ setupDialog2();
+ }
+ };
+
webMenuItem.addActionListener(webActionListener);
+ webMenuItem2.addActionListener(webActionListener2);
+
getExportMenu().add(webMenuItem);
+ getExportMenu().add(webMenuItem2);
}
private JMenu getExportMenu()
@@ -65,6 +89,16 @@
dialog.setVisible(true);
}
+
+ private void setupDialog2()
+ {
+ SessionExporterDialog2 dialog2 = new
SessionExporterDialog2(Cytoscape.getDesktop());
+ dialog2.addActionListener(new ExportListener2(dialog2));
+ dialog2.setUpdateNetworksTableListener(new
UpdateListener2(dialog2));
+ dialog2.setVisible(true);
+ }
+
+
private class UpdateListener implements ActionListener
{
private SessionExporterDialog dialog;
@@ -77,30 +111,71 @@
public void actionPerformed(ActionEvent e)
{
Map<String,String> networkTitleToIDMap =
networkTitleToIDMap();
+ Map<String,String> networkTitleToSpeciesMap =
networkTitleToSpeciesMap();
TreeModel model =
Cytoscape.getDesktop().getNetworkPanel().getTreeTable().getTree().getModel();
SessionExporterSettings settings = dialog.getSettings();
System.gc();
- search(networkTitleToIDMap, settings, model,
model.getRoot());
+ search(networkTitleToIDMap, networkTitleToSpeciesMap,
settings, model, model.getRoot());
}
- private void search(Map<String,String> networkTitleToIDMap,
SessionExporterSettings settings, TreeModel model, Object network)
+ private void search(Map<String,String> networkTitleToIDMap,
Map<String,String> networkTitleToSpeciesMap, SessionExporterSettings settings,
TreeModel model, Object network)
{
if (network != model.getRoot())
{
String networkTitle = network.toString();
String networkID =
networkTitleToIDMap.get(networkTitle);
+ String species =
networkTitleToSpeciesMap.get(networkTitle);
DGraphView networkView = (DGraphView)
(Cytoscape.getNetworkView(networkID));
Dimension imageSize =
GraphViewToImage.getImageDimensions(networkView, settings);
if (imageSize == null)
dialog.addNetwork(networkID,
networkTitle, 0, 0, false);
else
- dialog.addNetwork(networkID,
networkTitle, (int) imageSize.getWidth(), (int) imageSize.getHeight(), true);
+ dialog.addNetwork(networkID,
networkTitle, (int) imageSize.getWidth(), (int) imageSize.getHeight(), true);
}
for (int i = 0; i < model.getChildCount(network); i++)
- search(networkTitleToIDMap, settings, model,
model.getChild(network, i));
+ search(networkTitleToIDMap,
networkTitleToSpeciesMap, settings, model, model.getChild(network, i));
}
}
+ private class UpdateListener2 implements ActionListener
+ {
+ private SessionExporterDialog2 dialog;
+
+ public UpdateListener2(SessionExporterDialog2 dialog)
+ {
+ this.dialog = dialog;
+ }
+
+ public void actionPerformed(ActionEvent e)
+ {
+ Map<String,String> networkTitleToIDMap =
networkTitleToIDMap();
+ Map<String,String> networkTitleToSpeciesMap =
networkTitleToSpeciesMap();
+ TreeModel model =
Cytoscape.getDesktop().getNetworkPanel().getTreeTable().getTree().getModel();
+ SessionExporterSettings settings = dialog.getSettings();
+ System.gc();
+ search(networkTitleToIDMap, networkTitleToSpeciesMap,
settings, model, model.getRoot());
+ }
+
+ private void search(Map<String,String> networkTitleToIDMap,
Map<String,String> networkTitleToSpeciesMap, SessionExporterSettings settings,
TreeModel model, Object network)
+ {
+ if (network != model.getRoot())
+ {
+ String networkTitle = network.toString();
+ String networkID =
networkTitleToIDMap.get(networkTitle);
+ String species =
networkTitleToSpeciesMap.get(networkTitle);
+ DGraphView networkView = (DGraphView)
(Cytoscape.getNetworkView(networkID));
+ Dimension imageSize =
GraphViewToImage.getImageDimensions(networkView, settings);
+ if (imageSize == null)
+ dialog.addNetwork(networkID,
networkTitle, 0, 0, false);
+ else
+ dialog.addNetwork(networkID,
networkTitle, (int) imageSize.getWidth(), (int) imageSize.getHeight(), true);
+ }
+ for (int i = 0; i < model.getChildCount(network); i++)
+ search(networkTitleToIDMap,
networkTitleToSpeciesMap, settings, model, model.getChild(network, i));
+ }
+ }
+
+
private class ExportListener implements ActionListener
{
private SessionExporterDialog dialog;
@@ -123,6 +198,29 @@
}
}
+ private class ExportListener2 implements ActionListener
+ {
+ private SessionExporterDialog2 dialog;
+
+ public ExportListener2(SessionExporterDialog2 dialog)
+ {
+ this.dialog = dialog;
+ }
+
+ public void actionPerformed(ActionEvent e)
+ {
+ SessionExporterSettings settings = dialog.getSettings();
+ Bundle bundle = BundleChooser.chooseBundle(settings);
+ if (bundle != null)
+ {
+ dialog.setVisible(false);
+ HTMLSessionExporter exporter = new
HTMLSessionExporter();
+ exporter.export(settings, bundle);
+ }
+ }
+ }
+
+
public static Map<String,String> networkTitleToIDMap()
{
Map<String,String> map = new HashMap<String,String>();
@@ -136,4 +234,24 @@
}
return map;
}
+
+ public static Map<String,String> networkTitleToSpeciesMap()
+ {
+ Map<String,String> map = new HashMap<String,String>();
+ CyAttributes cyNetworkAttrs = Cytoscape.getNetworkAttributes();
+ Iterator iterator = Cytoscape.getNetworkSet().iterator();
+ while (iterator.hasNext())
+ {
+ CyNetwork network = (CyNetwork) iterator.next();
+ String networkID = network.getIdentifier();
+ String networkTitle = network.getTitle();
+ String species =
cyNetworkAttrs.getStringAttribute(networkID, "species");
+ if (species == null) {
+ species = "Saccharomyces cerevisiae";
+ }
+ map.put(networkTitle, species);
+ }
+ return map;
+ }
+
}
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---