Author: clopes
Date: 2012-11-07 13:44:53 -0800 (Wed, 07 Nov 2012)
New Revision: 30756
Added:
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/task/MCODECloseAllResultsTask.java
Modified:
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/task/MCODECloseTask.java
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/task/MCODECloseTaskFactory.java
Log:
Just refactored MCODECloseTask to use tunable instead of Swing's confirmation
dialog
Copied:
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/task/MCODECloseAllResultsTask.java
(from rev 30741,
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/task/MCODECloseTask.java)
===================================================================
---
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/task/MCODECloseAllResultsTask.java
(rev 0)
+++
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/task/MCODECloseAllResultsTask.java
2012-11-07 21:44:53 UTC (rev 30756)
@@ -0,0 +1,58 @@
+package org.cytoscape.mcode.internal.task;
+
+import java.util.Collection;
+
+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.mcode.internal.util.MCODEUtil;
+import org.cytoscape.mcode.internal.view.MCODEResultsPanel;
+import org.cytoscape.work.ProvidesTitle;
+import org.cytoscape.work.Task;
+import org.cytoscape.work.TaskMonitor;
+import org.cytoscape.work.Tunable;
+
+/**
+ * Closes the result panels.
+ */
+public class MCODECloseAllResultsTask implements Task {
+
+ @Tunable(description = "<html>You are about to close the MCODE app.<br
/>Do you want to continue?</html>", params="ForceSetDirectly=true")
+ public boolean close = true;
+
+ private final CySwingApplication swingApplication;
+ private final MCODEUtil mcodeUtil;
+
+ public MCODECloseAllResultsTask(final CySwingApplication
swingApplication,
+ final
MCODEUtil mcodeUtil) {
+ this.swingApplication = swingApplication;
+ this.mcodeUtil = mcodeUtil;
+ }
+
+ @ProvidesTitle
+ public String getTitle() {
+ return "Close MCODE";
+ }
+
+ @Override
+ public void run(final TaskMonitor taskMonitor) throws Exception {
+ if (close) {
+ final Collection<MCODEResultsPanel> resultPanels =
mcodeUtil.getResultPanels();
+
+ for (MCODEResultsPanel panel : resultPanels) {
+ panel.discard(false);
+ }
+
+ CytoPanel cytoPanel =
swingApplication.getCytoPanel(CytoPanelName.WEST);
+
+ if (cytoPanel.getCytoPanelComponentCount() == 0)
+ cytoPanel.setState(CytoPanelState.HIDE);
+ }
+ }
+
+ @Override
+ public void cancel() {
+ // Do nothing
+ }
+}
Modified:
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/task/MCODECloseTask.java
===================================================================
---
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/task/MCODECloseTask.java
2012-11-07 20:59:13 UTC (rev 30755)
+++
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/task/MCODECloseTask.java
2012-11-07 21:44:53 UTC (rev 30756)
@@ -1,76 +1,39 @@
package org.cytoscape.mcode.internal.task;
-import java.util.Collection;
-
-import javax.swing.JOptionPane;
-
-import org.cytoscape.application.swing.CySwingApplication;
-import org.cytoscape.application.swing.CytoPanel;
import org.cytoscape.application.swing.CytoPanelComponent;
-import org.cytoscape.application.swing.CytoPanelName;
-import org.cytoscape.application.swing.CytoPanelState;
import org.cytoscape.mcode.internal.util.MCODEUtil;
import org.cytoscape.mcode.internal.view.MCODEMainPanel;
-import org.cytoscape.mcode.internal.view.MCODEResultsPanel;
import org.cytoscape.service.util.CyServiceRegistrar;
import org.cytoscape.work.Task;
import org.cytoscape.work.TaskMonitor;
/**
- * Closes the app panels.
+ * Closes the main MCODE panel.
*/
public class MCODECloseTask implements Task {
- private final CySwingApplication swingApplication;
+ private final MCODECloseAllResultsTask closeAllResultsTask;
private final CyServiceRegistrar registrar;
private final MCODEUtil mcodeUtil;
- public MCODECloseTask(final CySwingApplication swingApplication,
+ public MCODECloseTask(final MCODECloseAllResultsTask
closeAllResultsTask,
final CyServiceRegistrar
registrar,
- final MCODEUtil mcodeUtil) {
- this.swingApplication = swingApplication;
+ final MCODEUtil mcodeUtil) {
+ this.closeAllResultsTask = closeAllResultsTask;
this.registrar = registrar;
this.mcodeUtil = mcodeUtil;
}
@Override
public void run(final TaskMonitor taskMonitor) throws Exception {
- if (mcodeUtil.isOpened()) {
- int result = JOptionPane.YES_OPTION;
- Collection<MCODEResultsPanel> resultPanels =
mcodeUtil.getResultPanels();
+ if (closeAllResultsTask == null || closeAllResultsTask.close) {
+ MCODEMainPanel mainPanel = mcodeUtil.getMainPanel();
- if (resultPanels.size() > 0) {
- String message = "You are about to close the
MCODE app.\nDo you wish to continue?";
- result =
JOptionPane.showOptionDialog(swingApplication.getJFrame(),
-
new Object[] { message },
-
"Close MCODE",
-
JOptionPane.YES_NO_OPTION,
-
JOptionPane.QUESTION_MESSAGE,
-
null,
-
null,
-
null);
- if (result == JOptionPane.YES_OPTION) {
- for (MCODEResultsPanel panel :
resultPanels) {
- panel.discard(false);
- }
-
- CytoPanel cytoPanel =
swingApplication.getCytoPanel(CytoPanelName.WEST);
-
- if
(cytoPanel.getCytoPanelComponentCount() == 0) {
-
cytoPanel.setState(CytoPanelState.HIDE);
- }
- }
+ if (mainPanel != null) {
+ registrar.unregisterService(mainPanel,
CytoPanelComponent.class);
}
- if (result == JOptionPane.YES_OPTION) {
- MCODEMainPanel mainPanel =
mcodeUtil.getMainPanel();
-
- if (mainPanel != null) {
- registrar.unregisterService(mainPanel,
CytoPanelComponent.class);
- }
-
- mcodeUtil.reset();
- }
+ mcodeUtil.reset();
}
}
Modified:
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/task/MCODECloseTaskFactory.java
===================================================================
---
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/task/MCODECloseTaskFactory.java
2012-11-07 20:59:13 UTC (rev 30755)
+++
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/task/MCODECloseTaskFactory.java
2012-11-07 21:44:53 UTC (rev 30756)
@@ -1,5 +1,6 @@
package org.cytoscape.mcode.internal.task;
+import java.util.Collection;
import java.util.Set;
import org.cytoscape.application.swing.CySwingApplication;
@@ -28,7 +29,16 @@
@Override
public TaskIterator createTaskIterator() {
- return new TaskIterator(new MCODECloseTask(swingApplication,
registrar, mcodeUtil));
+ final TaskIterator taskIterator = new TaskIterator();
+ final Collection<MCODEResultsPanel> resultPanels =
mcodeUtil.getResultPanels();
+ final MCODECloseAllResultsTask closeResultsTask = new
MCODECloseAllResultsTask(swingApplication, mcodeUtil);
+
+ if (resultPanels.size() > 0)
+ taskIterator.append(closeResultsTask);
+
+ taskIterator.append(new MCODECloseTask(closeResultsTask,
registrar, mcodeUtil));
+
+ return taskIterator;
}
@Override
--
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.