Author: jm
Date: 2012-09-04 14:05:40 -0700 (Tue, 04 Sep 2012)
New Revision: 30311

Modified:
   
core3/api/trunk/work-swing-api/src/main/java/org/cytoscape/work/swing/PanelTaskManager.java
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/layout/ui/LayoutSettingsDialog.java
   
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/task/JPanelTaskManager.java
Log:
Fixes #1259: Added API to PanelTaskManager that allows us to validate and write 
back tunables.

Modified: 
core3/api/trunk/work-swing-api/src/main/java/org/cytoscape/work/swing/PanelTaskManager.java
===================================================================
--- 
core3/api/trunk/work-swing-api/src/main/java/org/cytoscape/work/swing/PanelTaskManager.java
 2012-09-01 01:36:46 UTC (rev 30310)
+++ 
core3/api/trunk/work-swing-api/src/main/java/org/cytoscape/work/swing/PanelTaskManager.java
 2012-09-04 21:05:40 UTC (rev 30311)
@@ -1,13 +1,8 @@
-
-
 package org.cytoscape.work.swing;
 
 
-import java.awt.Window;
-
 import javax.swing.JPanel;
 
-import org.cytoscape.work.TaskFactory;
 import org.cytoscape.work.TaskManager;
 
 
@@ -18,4 +13,13 @@
  * @CyAPI.Api.Interface
  */
 public interface PanelTaskManager extends TaskManager<JPanel,JPanel> {
+       /**
+        * Validates any pending changes to the tunables in the given context
+        * object.  Any valid pending changes are written back to the context
+        * object.  Returns true if all tunable values in the context object are
+        * valid.
+        * @param tunableContext the object whose tunables should be validated.
+        * @return true if all tunable values in the context object are valid.
+        */
+       boolean validateAndApplyTunables(Object tunableContext);
 }

Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/layout/ui/LayoutSettingsDialog.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/layout/ui/LayoutSettingsDialog.java
    2012-09-01 01:36:46 UTC (rev 30310)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/layout/ui/LayoutSettingsDialog.java
    2012-09-04 21:05:40 UTC (rev 30311)
@@ -157,7 +157,10 @@
                if (command.equals("done"))
                        setVisible(false);
                else if (command.equals("execute")) {
-                       taskManager.execute(currentAction.createTaskIterator());
+                       Object context = 
currentLayout.getDefaultLayoutContext();
+                       if (taskManager.validateAndApplyTunables(context)) {
+                               
taskManager.execute(currentAction.createTaskIterator());
+                       }
                } else {
                        // OK, initialize and display
                        if (isVisible()) {

Modified: 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/task/JPanelTaskManager.java
===================================================================
--- 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/task/JPanelTaskManager.java
 2012-09-01 01:36:46 UTC (rev 30310)
+++ 
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/task/JPanelTaskManager.java
 2012-09-04 21:05:40 UTC (rev 30311)
@@ -43,6 +43,11 @@
        }
 
        @Override
+       public boolean validateAndApplyTunables(Object tunableContext) {
+               return panelTunableMutator.validateAndWriteBack(tunableContext);
+       }
+       
+       @Override
        public void setExecutionContext(final JPanel tunablePanel) {
                panelTunableMutator.setConfigurationContext(tunablePanel);
        }

-- 
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.

Reply via email to