Author: kono
Date: 2011-07-07 17:02:23 -0700 (Thu, 07 Jul 2011)
New Revision: 26113
Modified:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/AbstractNetworkFromSelectionTask.java
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTask.java
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTaskFactory.java
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/layout/ApplyPreferredLayoutTask.java
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
fixes #317 Grid layout will be applied to new network view.
Modified:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/AbstractNetworkFromSelectionTask.java
===================================================================
---
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/AbstractNetworkFromSelectionTask.java
2011-07-07 22:58:19 UTC (rev 26112)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/AbstractNetworkFromSelectionTask.java
2011-07-08 00:02:23 UTC (rev 26113)
@@ -105,7 +105,7 @@
if (curView == null) {
// Create view for the new network.
final CreateNetworkViewTask createViewTask = new
CreateNetworkViewTask(newNet, viewFactory,
- networkViewManager);
+ networkViewManager, null);
insertTasksAfterCurrentTask(createViewTask);
appManager.setCurrentNetworkView(newNet.getSUID());
Modified:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTask.java
===================================================================
---
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTask.java
2011-07-07 22:58:19 UTC (rev 26112)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTask.java
2011-07-08 00:02:23 UTC (rev 26113)
@@ -32,6 +32,8 @@
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyTableEntry;
import org.cytoscape.task.AbstractNetworkTask;
+import org.cytoscape.task.internal.layout.ApplyPreferredLayoutTask;
+import org.cytoscape.view.layout.CyLayoutAlgorithmManager;
import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.model.CyNetworkViewFactory;
import org.cytoscape.view.model.CyNetworkViewManager;
@@ -41,12 +43,16 @@
private final CyNetworkViewManager networkViewManager;
private final CyNetworkViewFactory viewFactory;
+
+ private final CyLayoutAlgorithmManager layouts;
public CreateNetworkViewTask(final CyNetwork networkModel, final
CyNetworkViewFactory viewFactory,
- final CyNetworkViewManager networkViewManager) {
+ final CyNetworkViewManager networkViewManager,
+ final CyLayoutAlgorithmManager layouts) {
super(networkModel);
this.viewFactory = viewFactory;
this.networkViewManager = networkViewManager;
+ this.layouts = layouts;
}
public void run(TaskMonitor taskMonitor) throws Exception {
@@ -58,11 +64,15 @@
// large network.
final CyNetworkView view =
viewFactory.getNetworkView(network, false);
networkViewManager.addNetworkView(view);
+
+ // Apply layout only when it is necessary.
+ if(layouts != null)
+ this.insertTasksAfterCurrentTask(new
ApplyPreferredLayoutTask(view, layouts));
} catch (Exception e) {
throw new Exception("Could not create network view for
network: "
+
network.getCyRow().get(CyTableEntry.NAME, String.class), e);
}
-
+
taskMonitor.setProgress(1.0);
taskMonitor.setStatusMessage("Network view successfully create
for: "
+ network.getCyRow().get(CyTableEntry.NAME,
String.class));
Modified:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTaskFactory.java
===================================================================
---
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTaskFactory.java
2011-07-07 22:58:19 UTC (rev 26112)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/CreateNetworkViewTaskFactory.java
2011-07-08 00:02:23 UTC (rev 26113)
@@ -29,24 +29,28 @@
*/
package org.cytoscape.task.internal.creation;
+import org.cytoscape.task.AbstractNetworkTaskFactory;
+import org.cytoscape.view.layout.CyLayoutAlgorithmManager;
import org.cytoscape.view.model.CyNetworkViewFactory;
+import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.work.TaskIterator;
-import org.cytoscape.task.AbstractNetworkTaskFactory;
-import org.cytoscape.view.model.CyNetworkViewManager;
-
public class CreateNetworkViewTaskFactory extends AbstractNetworkTaskFactory {
private final CyNetworkViewManager networkViewManager;
private final CyNetworkViewFactory viewFactory;
- CreateNetworkViewTaskFactory(final CyNetworkViewFactory viewFactory,
final CyNetworkViewManager networkViewManager) {
+ private final CyLayoutAlgorithmManager layouts;
+
+ CreateNetworkViewTaskFactory(final CyNetworkViewFactory viewFactory,
final CyNetworkViewManager networkViewManager,
+ final CyLayoutAlgorithmManager layouts) {
super();
this.viewFactory = viewFactory;
this.networkViewManager = networkViewManager;
+ this.layouts = layouts;
}
public TaskIterator getTaskIterator() {
- return new TaskIterator(new CreateNetworkViewTask(network,
viewFactory, networkViewManager));
+ return new TaskIterator(new CreateNetworkViewTask(network,
viewFactory, networkViewManager, layouts));
}
}
Modified:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/layout/ApplyPreferredLayoutTask.java
===================================================================
---
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/layout/ApplyPreferredLayoutTask.java
2011-07-07 22:58:19 UTC (rev 26112)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/layout/ApplyPreferredLayoutTask.java
2011-07-08 00:02:23 UTC (rev 26113)
@@ -39,7 +39,7 @@
private static final String DEF_LAYOUT = "force-directed";
- private final Properties props;
+ private Properties props;
private final CyLayoutAlgorithmManager layouts;
public ApplyPreferredLayoutTask(CyNetworkView v,
CyLayoutAlgorithmManager layouts, Properties props) {
@@ -47,9 +47,18 @@
this.layouts = layouts;
this.props = props;
}
+
+ public ApplyPreferredLayoutTask(final CyNetworkView v, final
CyLayoutAlgorithmManager layouts) {
+ super(v);
+ this.layouts = layouts;
+ }
public void run(TaskMonitor tm) {
- final String pref =
props.getProperty("preferredLayoutAlgorithm", DEF_LAYOUT);
+
+ String pref = CyLayoutAlgorithmManager.DEFAULT_LAYOUT_NAME;
+ if(props != null)
+ pref = props.getProperty("preferredLayoutAlgorithm",
DEF_LAYOUT);
+
final CyLayoutAlgorithm layout = layouts.getLayout(pref);
if (layout != null) {
Modified:
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
---
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
2011-07-07 22:58:19 UTC (rev 26112)
+++
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
2011-07-08 00:02:23 UTC (rev 26113)
@@ -299,6 +299,7 @@
class="org.cytoscape.task.internal.creation.CreateNetworkViewTaskFactory">
<constructor-arg ref="cyNetworkViewFactoryServiceRef" />
<constructor-arg ref="cyNetworkViewManagerServiceRef" />
+ <constructor-arg ref="cyLayoutsServiceRef" />
</bean>
<bean id="exportNetworkImageTaskFactory"
--
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.