1
2
3
4
5
6 package net.kwfgrid.gwui;
7
8 import net.kwfgrid.gwui.graphview.WorkflowGraphView;
9 import net.kwfgrid.gwui.graphview.WorkflowGraphAnalyzer;
10 import net.kwfgrid.gwui.graphview.LayoutFactory;
11 import net.kwfgrid.gworkflowdl.protocol.structure.ProtocolWorkflow;
12
13 import org.glassbox.graphview.GGraphPane;
14 import org.glassbox.gui.*;
15 import org.glassbox.executor.Executor;
16
17 import javax.swing.JComponent;
18
19 import org.apache.log4j.Logger;
20
21 public class WorkflowGraphManager extends AbstractMember implements VisibleMember {
22 public static final String IDENTIFIER = "kwfgrid.WorkflowGraphManager";
23
24 private static final Logger logger = Logger.getLogger(WorkflowGraphManager.class);
25
26 private WorkflowGraphView _view;
27
28 public WorkflowGraphManager(WorkflowGraphAnalyzer analyzer, LayoutFactory layoutfactory) {
29 _view = new WorkflowGraphView(analyzer, layoutfactory);
30 }
31
32 public GGraphPane getGraphPane() {
33 return _view.getGraphPane();
34 }
35
36
37
38
39
40 public JComponent getView() {
41 return _view.getView();
42 }
43
44
45
46
47
48 public void groupPropertyChanged(String name, Object oldvalue, Object newvalue) {
49 logger.debug("groupPropertyChanged("+name+", "+oldvalue+", "+newvalue+")");
50
51 if (name.equals(VisibleGroup.MODAL_MEMBER_KEY)) {
52 getView().setEnabled(newvalue==null);
53 } else if (name.equals(WorkflowGroup.ACTIVE_WORKFLOW_DOCUMENT_KEY)) {
54 _view.setWorkflow((ProtocolWorkflow)newvalue);
55 }
56
57 logger.debug("groupPropertyChanged.exit");
58 }
59
60 public String getIdentifier() {
61 return IDENTIFIER;
62 }
63
64 /***
65 Set the group of this member.
66 @exception IllegalArgumentException If <code>g</code> is not null and not an instance of <code>WorkflowGroup</code>.
67 */
68 public void setGroup(Group g) {
69 super.setGroup(g);
70
71 if (g!=null) {
72 _view.setWorkflow((ProtocolWorkflow)g.getProperty(WorkflowGroup.ACTIVE_WORKFLOW_DOCUMENT_KEY));
73 }
74 }
75 }