1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package de.jaret.util.ui.timebars.swt.util.actions;
21
22 import java.util.HashMap;
23 import java.util.Map;
24
25 import org.eclipse.jface.action.Action;
26
27 import de.jaret.util.ui.timebars.TimeBarViewerDelegate;
28 import de.jaret.util.ui.timebars.swt.TimeBarViewer;
29
30
31
32
33
34
35
36 public class JaretTimeBarsActionFactory {
37 public static final String ACTION_SCALETOWEEK = ScaleWeekAction.class.getCanonicalName();
38 public static final String ACTION_SCALETOMONTH = ScaleMonthAction.class.getCanonicalName();
39 public static final String ACTION_SCALETOYEAR = ScaleYearAction.class.getCanonicalName();
40 public static final String ACTION_CENTERSCALE = CenterScaleAction.class.getCanonicalName();
41 public static final String ACTION_EXPANDALL = ExpandAllAction.class.getCanonicalName();
42 public static final String ACTION_COLLAPSEALL = CollapseAllAction.class.getCanonicalName();
43 public static final String ACTION_EXPANDNODE = ExpandNodeAction.class.getCanonicalName();
44 public static final String ACTION_COLLAPSENODE = CollapseNodeAction.class.getCanonicalName();
45
46 private final TimeBarViewer _viewer;
47 private final TimeBarViewerDelegate _delegate;
48 private Map<String, Action> _actionMap;
49
50 public JaretTimeBarsActionFactory(TimeBarViewer viewer, TimeBarViewerDelegate delegate) {
51 _viewer = viewer;
52 _delegate = delegate;
53 }
54
55
56
57
58
59
60
61 public Action createStdAction(String name) {
62 if (_actionMap == null) {
63 _actionMap = new HashMap<String, Action>();
64 }
65 Action result = _actionMap.get(name);
66 if (result != null) {
67 return result;
68 }
69 if (name.equals(ACTION_SCALETOWEEK)) {
70 result = new ScaleWeekAction(_viewer, _delegate);
71 } else if (name.equals(ACTION_SCALETOMONTH)) {
72 result = new ScaleMonthAction(_viewer, _delegate);
73 } else if (name.equals(ACTION_SCALETOYEAR)) {
74 result = new ScaleYearAction(_viewer, _delegate);
75 } else if (name.equals(ACTION_CENTERSCALE)) {
76 result = new CenterScaleAction(_viewer, _delegate);
77 } else if (name.equals(ACTION_COLLAPSEALL)) {
78 result = new CollapseAllAction(_viewer, _delegate);
79 } else if (name.equals(ACTION_EXPANDALL)) {
80 result = new ExpandAllAction(_viewer, _delegate);
81 } else if (name.equals(ACTION_COLLAPSENODE)) {
82 result = new CollapseNodeAction(_viewer, _delegate);
83 } else if (name.equals(ACTION_EXPANDNODE)) {
84 result = new ExpandNodeAction(_viewer, _delegate);
85 }
86 if (result != null) {
87 _actionMap.put(name, result);
88 }
89 return result;
90 }
91
92 }