1 package org.ximtec.igesture.tool.view.admin.panel;
2
3 import javax.swing.tree.TreePath;
4
5 import org.sigtec.util.Constant;
6 import org.ximtec.igesture.core.DefaultDescriptor;
7 import org.ximtec.igesture.core.GestureClass;
8 import org.ximtec.igesture.tool.core.Controller;
9 import org.ximtec.igesture.tool.explorer.ExplorerTreeController;
10 import org.ximtec.igesture.tool.util.TitleFactory;
11 import org.ximtec.igesture.tool.view.AbstractPanel;
12
13 public abstract class DefaultDescriptorPanel<T extends DefaultDescriptor> extends AbstractPanel {
14
15 private T descriptor;
16
17 public DefaultDescriptorPanel(Controller controller, T descriptor) {
18 super(controller);
19 this.descriptor = descriptor;
20 }
21
22
23
24
25 protected void initTitle() {
26
27 StringBuilder sb = new StringBuilder();
28
29 if (getController() instanceof ExplorerTreeController) {
30 try {
31 ExplorerTreeController ec = (ExplorerTreeController) getController();
32 sb.append(descriptor.getName());
33 sb.append(Constant.COLON_BLANK);
34
35 TreePath treePath = ec.getExplorerTree().getSelectionPath();
36 GestureClass gc = (GestureClass) treePath.getParentPath().getLastPathComponent();
37
38 sb.append(gc.getName());
39 } catch (Exception e) {
40 sb.append(descriptor.getName());
41 }
42 } else {
43 sb.append(descriptor.getName());
44 }
45
46 setTitle(TitleFactory.createStaticTitle(sb.toString()));
47 }
48
49
50
51
52
53 protected T getDescriptor(){
54 return descriptor;
55 }
56
57 }