KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > genimen > djeneric > tools > specifier > menusystem > MenuExtensionAction


1 /*
2  * Copyright (c) 2001-2005 by Genimen BV (www.genimen.com) All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, is permitted provided that the following conditions are met: -
6  * Redistributions of source code must retain the above copyright notice, this
7  * list of conditions and the following disclaimer. - Redistributions in binary
8  * form must reproduce the above copyright notice, this list of conditions and
9  * the following disclaimer in the documentation and/or other materials
10  * provided with the distribution. - All advertising materials mentioning
11  * features or use of this software must display the following acknowledgment:
12  * "This product includes Djeneric." - Products derived from this software may
13  * not be called "Djeneric" nor may "Djeneric" appear in their names without
14  * prior written permission of Genimen BV. - Redistributions of any form
15  * whatsoever must retain the following acknowledgment: "This product includes
16  * Djeneric."
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL GENIMEN BV, DJENERIC.ORG, OR CONTRIBUTORS
22  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28  * POSSIBILITY OF SUCH DAMAGE.
29  */

30
31 package com.genimen.djeneric.tools.specifier.menusystem;
32
33 import java.awt.event.ActionEvent JavaDoc;
34 import java.awt.event.ActionListener JavaDoc;
35
36 import com.genimen.djeneric.repository.DjObject;
37 import com.genimen.djeneric.tools.specifier.interfaces.DjenericEditorEnvironment;
38 import com.genimen.djeneric.tools.specifier.interfaces.MenuExtension;
39
40 public class MenuExtensionAction implements ActionListener JavaDoc
41 {
42   DjObject[] _sels = null;
43   MenuExtension _ext;
44   DjenericEditorEnvironment _env;
45   String JavaDoc _extentName = null;
46
47   /**
48    * This action is for a specific (sub)set of the selected objects; without taking a look
49    * at the selected objects when the actionPerformed is fired
50    * @param sels
51    * @param ext
52    * @param env
53    */

54   public MenuExtensionAction(DjObject[] sels, MenuExtension ext, DjenericEditorEnvironment env)
55   {
56     _sels = sels;
57     _ext = ext;
58     _env = env;
59   }
60
61   /**
62    * This action works only for the (currently) in the environment selected objects of a given type
63    * at the time the actionPerformed is fired. If the type is null all selected objects will
64    * be passed to the extension
65    * @param ext
66    * @param env
67    * @param type
68    */

69   public MenuExtensionAction(MenuExtension ext, DjenericEditorEnvironment env, String JavaDoc type)
70   {
71     _ext = ext;
72     _env = env;
73   }
74
75   public void actionPerformed(ActionEvent JavaDoc e)
76   {
77     try
78     {
79       if (_sels != null) _ext.execute(_sels);
80       else
81       {
82         _ext.execute(_env.getSelectedObjects(_extentName));
83       }
84     }
85     catch (Throwable JavaDoc t)
86     {
87       _env.setStatusMessage(t);
88     }
89   }
90 }
Popular Tags