View Javadoc

1   /*
2    * @(#)$Id: ActionHandler.java 689 2009-07-22 00:10:27Z bsigner $
3    *
4    * Author		:	Michele Croci, mcroci@gmail.com
5    *
6    * Purpose		:   Provides access to available actions. Each action is
7    *                  instantiated only once.
8    *
9    * -----------------------------------------------------------------------
10   *
11   * Revision Information:
12   *
13   * Date				Who			Reason
14   *
15   * Nov 22, 2007	    crocimi		Initial Release
16   * Jun 26, 2008     bsigner     Cleanup
17   *
18   * -----------------------------------------------------------------------
19   *
20   * Copyright 1999-2009 ETH Zurich. All Rights Reserved.
21   *
22   * This software is the proprietary information of ETH Zurich.
23   * Use is subject to license terms.
24   * 
25   */
26  
27  
28  package org.ximtec.igesture.geco.gui.action;
29  
30  import javax.swing.Action;
31  
32  import org.ximtec.igesture.geco.gui.MainView;
33  
34  
35  /**
36   * Provides access to available actions. Each action is instantiated only once.
37   * @version 0.9, Nov 22, 2007
38   * @author Michele Croci, mcroci@gmail.com
39   * @author Beat Signer, signer@inf.ethz.ch
40   */
41  public class ActionHandler {
42  
43     private MainView view;
44  
45     private AboutAction aboutAction;
46     private AddMappingAction addMappingAction;
47     private EditMappingAction editMappingAction;
48     private ExitApplicationAction exitApplicationAction;
49     private LoadGestureSetAction loadGestureSetAction;
50     private MinimizeAction minimizeAction;
51     private NewProjectAction newProjectAction;
52     private OpenProjectAction openGestureMapAction;
53     private OptionsAction optionsAction;
54     private RemoveMappingAction removeMappingAction;
55     private SaveProjectAction saveProjectAction;
56     private SaveProjectAsAction saveProjectAsAction;
57  
58  
59     public ActionHandler(MainView view) {
60        this.view = view;
61     } // GecoActionHandler
62  
63  
64     public Action getAboutAction() {
65        if (aboutAction == null) {
66           aboutAction = new AboutAction();
67        }
68  
69        return aboutAction;
70     } // getAboutAction
71  
72  
73     public Action getAddMappingAction() {
74        if (addMappingAction == null) {
75           addMappingAction = new AddMappingAction(view);
76        }
77  
78        return addMappingAction;
79     } // getAddMappingAction
80  
81  
82     public Action getEditMappingAction() {
83        if (editMappingAction == null) {
84           editMappingAction = new EditMappingAction(view);
85        }
86  
87        return editMappingAction;
88     } // getEditMappingAction
89  
90  
91     public Action getExitApplicationAction() {
92        if (exitApplicationAction == null) {
93           exitApplicationAction = new ExitApplicationAction(view);
94        }
95  
96        return exitApplicationAction;
97     } // getExitApplicationAction
98  
99  
100    public Action getLoadGestureSetAction() {
101       if (loadGestureSetAction == null) {
102          loadGestureSetAction = new LoadGestureSetAction(view);
103       }
104 
105       return loadGestureSetAction;
106    } // getLoadGestureSetAction
107 
108 
109    public Action getMinimizeAction() {
110       if (minimizeAction == null) {
111          minimizeAction = new MinimizeAction(view);
112       }
113 
114       return minimizeAction;
115    } // getMinimizeAction
116 
117 
118    public Action getNewProjectAction() {
119       if (newProjectAction == null) {
120          newProjectAction = new NewProjectAction(view);
121       }
122 
123       return newProjectAction;
124    } // getNewProjectAction
125 
126 
127    public Action getOpenProjectAction() {
128       if (openGestureMapAction == null) {
129          openGestureMapAction = new OpenProjectAction(view);
130       }
131 
132       return openGestureMapAction;
133    } // getOpenProjectAction
134 
135 
136    public Action getOptionsAction() {
137       if (optionsAction == null) {
138          optionsAction = new OptionsAction(view);
139       }
140 
141       return optionsAction;
142    } // getOptionsAction
143 
144 
145    public Action getRemoveMappingAction() {
146       if (removeMappingAction == null) {
147          removeMappingAction = new RemoveMappingAction(view);
148       }
149 
150       return removeMappingAction;
151    } // getRemoveMappingAction
152 
153 
154    public Action getSaveProjectAction() {
155       if (saveProjectAction == null) {
156          saveProjectAction = new SaveProjectAction(view);
157       }
158 
159       return saveProjectAction;
160    } // getSaveProjectAction
161 
162 
163    public Action getSaveProjectAsAction() {
164       if (saveProjectAsAction == null) {
165          saveProjectAsAction = new SaveProjectAsAction(view);
166       }
167 
168       return saveProjectAsAction;
169    } // getSaveProjectAsAction
170 
171 }