1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.uruma.viewer;
17
18 import org.eclipse.jface.viewers.DoubleClickEvent;
19 import org.eclipse.jface.viewers.IDoubleClickListener;
20 import org.eclipse.jface.viewers.IStructuredSelection;
21 import org.eclipse.jface.viewers.TreeViewer;
22 import org.eclipse.swt.widgets.Composite;
23 import org.eclipse.swt.widgets.Tree;
24
25
26
27
28
29
30 public class UrumaTreeViewer extends TreeViewer implements IDoubleClickListener {
31
32
33
34
35
36
37
38 public UrumaTreeViewer(final Composite parent) {
39 super(parent);
40 init();
41 }
42
43
44
45
46
47
48
49
50
51 public UrumaTreeViewer(final Composite parent, final int style) {
52 super(parent, style);
53 init();
54 }
55
56
57
58
59
60
61
62 public UrumaTreeViewer(final Tree tree) {
63 super(tree);
64 init();
65 }
66
67 protected void init() {
68 addDoubleClickListener(this);
69 }
70
71
72
73
74 public void doubleClick(final DoubleClickEvent event) {
75 IStructuredSelection selection = (IStructuredSelection) event
76 .getSelection();
77 Object selected = selection.getFirstElement();
78
79
80 boolean expandedState = getExpandedState(selected);
81 setExpandedState(selected, !expandedState);
82 }
83 }