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.