1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 package org.ximtec.igesture.tool.util;
27
28 import java.util.ArrayList;
29 import java.util.List;
30
31 import org.sigtec.graphix.widget.BasicAction;
32 import org.sigtec.util.Constant;
33 import org.ximtec.igesture.configuration.Configuration;
34 import org.ximtec.igesture.core.GestureClass;
35 import org.ximtec.igesture.core.GestureSample;
36 import org.ximtec.igesture.core.GestureSet;
37 import org.ximtec.igesture.core.SampleDescriptor;
38 import org.ximtec.igesture.core.SampleDescriptor3D;
39 import org.ximtec.igesture.core.TestClass;
40 import org.ximtec.igesture.core.TestSet;
41 import org.ximtec.igesture.core.TextDescriptor;
42 import org.ximtec.igesture.core.composite.CompositeDescriptor;
43 import org.ximtec.igesture.tool.GestureConstants;
44 import org.ximtec.igesture.tool.core.Controller;
45 import org.ximtec.igesture.tool.explorer.NodeInfoImpl;
46 import org.ximtec.igesture.tool.explorer.SeparatorAction;
47 import org.ximtec.igesture.tool.explorer.core.NodeInfo;
48 import org.ximtec.igesture.tool.view.admin.action.AddCompositeDescriptorAction;
49 import org.ximtec.igesture.tool.view.admin.action.AddGestureClassAction;
50 import org.ximtec.igesture.tool.view.admin.action.AddGestureSetAction;
51 import org.ximtec.igesture.tool.view.admin.action.AddSampleDescriptor3DAction;
52 import org.ximtec.igesture.tool.view.admin.action.AddSampleDescriptorAction;
53 import org.ximtec.igesture.tool.view.admin.action.AddTextDescriptorAction;
54 import org.ximtec.igesture.tool.view.admin.action.CreateTestSetStructureAction;
55 import org.ximtec.igesture.tool.view.admin.action.ExportGestureSetAction;
56 import org.ximtec.igesture.tool.view.admin.action.ExportPDFGestureSetAction;
57 import org.ximtec.igesture.tool.view.admin.action.ImportGestureSetAction;
58 import org.ximtec.igesture.tool.view.admin.action.RemoveDescriptorAction;
59 import org.ximtec.igesture.tool.view.admin.action.RemoveGestureClassAction;
60 import org.ximtec.igesture.tool.view.admin.action.RemoveGestureSetAction;
61 import org.ximtec.igesture.tool.view.admin.panel.CompositeDescriptorPanel;
62 import org.ximtec.igesture.tool.view.admin.panel.DefaultPanel;
63 import org.ximtec.igesture.tool.view.admin.panel.GestureClassPanel;
64 import org.ximtec.igesture.tool.view.admin.panel.GestureSetPanel;
65 import org.ximtec.igesture.tool.view.admin.panel.GestureSetsPanel;
66 import org.ximtec.igesture.tool.view.admin.panel.SampleDescriptor3DPanel;
67 import org.ximtec.igesture.tool.view.admin.panel.SampleDescriptorPanel;
68 import org.ximtec.igesture.tool.view.admin.panel.TextDescriptorPanel;
69 import org.ximtec.igesture.tool.view.admin.wrapper.GestureSetList;
70 import org.ximtec.igesture.tool.view.testbench.action.AddConfigurationAction;
71 import org.ximtec.igesture.tool.view.testbench.action.ExportConfigurationAction;
72 import org.ximtec.igesture.tool.view.testbench.action.RemoveConfigurationAction;
73 import org.ximtec.igesture.tool.view.testbench.panel.AlgorithmListPanel;
74 import org.ximtec.igesture.tool.view.testbench.panel.AlgorithmWrapperPanel;
75 import org.ximtec.igesture.tool.view.testbench.panel.ConfigurationPanel;
76 import org.ximtec.igesture.tool.view.testbench.wrapper.AlgorithmList;
77 import org.ximtec.igesture.tool.view.testbench.wrapper.AlgorithmWrapper;
78 import org.ximtec.igesture.tool.view.testset.action.AddTestClassAction;
79 import org.ximtec.igesture.tool.view.testset.action.ConvertGestureSetAction;
80 import org.ximtec.igesture.tool.view.testset.action.DeleteTestClassAction;
81 import org.ximtec.igesture.tool.view.testset.action.DeleteTestSetAction;
82 import org.ximtec.igesture.tool.view.testset.action.ExportTestSetAction;
83 import org.ximtec.igesture.tool.view.testset.action.ImportTestSetAction;
84 import org.ximtec.igesture.tool.view.testset.action.NewTestSetAction;
85 import org.ximtec.igesture.tool.view.testset.panel.TestClassPanel;
86 import org.ximtec.igesture.tool.view.testset.panel.TestSetPanel;
87 import org.ximtec.igesture.tool.view.testset.panel.TestSetsPanel;
88 import org.ximtec.igesture.tool.view.testset.wrapper.TestSetList;
89
90
91
92
93
94
95
96 public class NodeInfoFactory {
97
98 public static List<NodeInfo> createAdminNodeInfo(Controller controller) {
99 List<NodeInfo> nodeInfos = new ArrayList<NodeInfo>();
100
101 List<Class<? extends BasicAction>> rootActions = new ArrayList<Class<? extends BasicAction>>();
102 rootActions.add(AddGestureSetAction.class);
103 rootActions.add(ImportGestureSetAction.class);
104
105 List<Class<? extends BasicAction>> setActions = new ArrayList<Class<? extends BasicAction>>();
106 setActions.add(AddGestureClassAction.class);
107 setActions.add(SeparatorAction.class);
108 setActions.add(RemoveGestureSetAction.class);
109 setActions.add(ExportGestureSetAction.class);
110 setActions.add(SeparatorAction.class);
111 setActions.add(ExportPDFGestureSetAction.class);
112 setActions.add(CreateTestSetStructureAction.class);
113
114 List<Class<? extends BasicAction>> classActions = new ArrayList<Class<? extends BasicAction>>();
115 classActions.add(AddSampleDescriptorAction.class);
116 classActions.add(AddSampleDescriptor3DAction.class);
117 classActions.add(AddCompositeDescriptorAction.class);
118 classActions.add(AddTextDescriptorAction.class);
119 classActions.add(SeparatorAction.class);
120 classActions.add(RemoveGestureClassAction.class);
121
122 List<Class<? extends BasicAction>> descriptorActions = new ArrayList<Class<? extends BasicAction>>();
123 descriptorActions.add(RemoveDescriptorAction.class);
124
125 nodeInfos = new ArrayList<NodeInfo>();
126 nodeInfos.add(new NodeInfoImpl(controller, GestureSetList.class, "name", "sets", GestureSetsPanel.class,
127 rootActions, GestureConstants.NODE_ICON_GESTURE_SET_LIST));
128 nodeInfos.add(new NodeInfoImpl(controller, GestureSet.class, "name", "gestureClasses", GestureSetPanel.class,
129 setActions, GestureConstants.NODE_ICON_GESTURE_SET));
130 nodeInfos.add(new NodeInfoImpl(controller, GestureClass.class, "name", "descriptors", GestureClassPanel.class,
131 classActions, GestureConstants.NODE_ICON_GESTURE_CLASS));
132 nodeInfos.add(new NodeInfoImpl(controller, SampleDescriptor.class, "name", null, SampleDescriptorPanel.class,
133 descriptorActions, GestureConstants.NODE_ICON_GESTURE_SAMPLE_DESCRIPTOR));
134 nodeInfos.add(new NodeInfoImpl(controller, SampleDescriptor3D.class, "name", null, SampleDescriptor3DPanel.class,
135 descriptorActions, GestureConstants.NODE_ICON_GESTURE_SAMPLE_DESCRIPTOR));
136 nodeInfos.add(new NodeInfoImpl(controller, CompositeDescriptor.class, "name", null, CompositeDescriptorPanel.class,
137 descriptorActions, GestureConstants.NODE_ICON_GESTURE_SAMPLE_DESCRIPTOR));
138 nodeInfos.add(new NodeInfoImpl(controller, TextDescriptor.class, "name", null, TextDescriptorPanel.class,
139 descriptorActions, GestureConstants.NODE_ICON_GESTURE_TEXT_DESCRIPTOR));
140 nodeInfos
141 .add(new NodeInfoImpl(controller, GestureSample.class, "name", null, DefaultPanel.class, null, GestureConstants.NODE_ICON_GESTURE_SAMPLE));
142 nodeInfos.add(new NodeInfoImpl(controller, String.class, Constant.EMPTY_STRING, null, DefaultPanel.class, null,
143 null));
144
145 return nodeInfos;
146 }
147
148 public static List<NodeInfo> createTestBenchNodeInfo(Controller controller) {
149
150 List<Class<? extends BasicAction>> algorithmListActions = new ArrayList<Class<? extends BasicAction>>();
151 List<NodeInfo> nodeInfos = new ArrayList<NodeInfo>();
152
153 List<Class<? extends BasicAction>> algorithmWrapperActions = new ArrayList<Class<? extends BasicAction>>();
154 algorithmWrapperActions.add(AddConfigurationAction.class);
155
156 List<Class<? extends BasicAction>> configurationActions = new ArrayList<Class<? extends BasicAction>>();
157 configurationActions.add(ExportConfigurationAction.class);
158 configurationActions.add(SeparatorAction.class);
159 configurationActions.add(RemoveConfigurationAction.class);
160
161 nodeInfos = new ArrayList<NodeInfo>();
162 nodeInfos.add(new NodeInfoImpl(controller, AlgorithmList.class, "name", "algorithms", AlgorithmListPanel.class,
163 algorithmListActions, GestureConstants.NODE_ICON_ALGORITHM_LIST));
164
165 nodeInfos.add(new NodeInfoImpl(controller, AlgorithmWrapper.class, "name", "configurations",
166 AlgorithmWrapperPanel.class, algorithmWrapperActions, GestureConstants.NODE_ICON_ALGORITHM));
167
168 nodeInfos.add(new NodeInfoImpl(controller, Configuration.class, "name", null, ConfigurationPanel.class,
169 configurationActions, GestureConstants.NODE_ICON_CONFIGURATION));
170
171 return nodeInfos;
172
173 }
174
175 public static List<NodeInfo> createTestSetNodeInfo(Controller controller) {
176 List<NodeInfo> nodeInfos = new ArrayList<NodeInfo>();
177
178 List<Class<? extends BasicAction>> rootActions = new ArrayList<Class<? extends BasicAction>>();
179 rootActions.add(ImportTestSetAction.class);
180 rootActions.add(NewTestSetAction.class);
181 rootActions.add(ConvertGestureSetAction.class);
182
183 List<Class<? extends BasicAction>> setActions = new ArrayList<Class<? extends BasicAction>>();
184 setActions.add(AddTestClassAction.class);
185 setActions.add(DeleteTestSetAction.class);
186 setActions.add(SeparatorAction.class);
187 setActions.add(ExportTestSetAction.class);
188
189
190 List<Class<? extends BasicAction>> classActions = new ArrayList<Class<? extends BasicAction>>();
191 classActions.add(DeleteTestClassAction.class);
192
193
194 nodeInfos = new ArrayList<NodeInfo>();
195
196 nodeInfos.add(new NodeInfoImpl(controller, TestSetList.class, "name", TestSetList.PROPERTY_SETS,
197 TestSetsPanel.class, rootActions, GestureConstants.NODE_ICON_TEST_SET_LIST));
198
199 nodeInfos.add(new NodeInfoImpl(controller, TestSet.class, "name", "testClasses", TestSetPanel.class, setActions,
200 GestureConstants.NODE_ICON_TEST_SET));
201
202 nodeInfos.add(new NodeInfoImpl(controller, TestClass.class, "name", null, TestClassPanel.class, classActions,
203 GestureConstants.NODE_ICON_TEST_CLASS));
204
205 return nodeInfos;
206 }
207
208 }