KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > fractal > explorer > menu > FixComponentNameAction


1 /*====================================================================
2  
3  Objectweb Browser Framework
4  Copyright (C) 2000-2004 INRIA & USTL - LIFL - GOAL
5  Contact: openccm@objectweb.org
6  
7  This library is free software; you can redistribute it and/or
8  modify it under the terms of the GNU Lesser General Public
9  License as published by the Free Software Foundation; either
10  version 2.1 of the License, or any later version.
11  
12  This library is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  Lesser General Public License for more details.
16  
17  You should have received a copy of the GNU Lesser General Public
18  License along with this library; if not, write to the Free Software
19  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20  USA
21  
22  Initial developer(s): Jerome Moroy.
23  Contributor(s): ______________________________________.
24  
25  ---------------------------------------------------------------------
26  $Id: FixComponentNameAction.java,v 1.3 2004/11/15 16:44:24 moroy Exp $
27  ====================================================================*/

28
29 package org.objectweb.fractal.explorer.menu;
30
31 import org.objectweb.fractal.api.control.NameController;
32 import org.objectweb.util.explorer.api.MenuItem;
33 import org.objectweb.util.explorer.api.MenuItemTreeView;
34 import org.objectweb.util.explorer.api.Tree;
35 import org.objectweb.util.explorer.api.TreeView;
36 import org.objectweb.util.explorer.swing.gui.api.DialogAction;
37 import org.objectweb.util.explorer.swing.gui.api.DialogBox;
38 import org.objectweb.util.explorer.swing.gui.lib.DefaultDialogBox;
39 import org.objectweb.util.explorer.swing.gui.lib.LabelBox;
40
41 /**
42  * This action allows to rename a component.
43  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jerome Moroy</a>
44  * @version 0.1
45  */

46 public class FixComponentNameAction
47   implements MenuItem,
48              DialogAction
49 {
50     //==================================================================
51
//
52
// Internal states.
53
//
54
//==================================================================
55

56     /** The label box. */
57     protected LabelBox nameBox_;
58     
59     /** The associated name controller. */
60     protected NameController nameController_;
61     
62     /** The defined tree. */
63     protected Tree tree_;
64     
65     /** The old name. */
66     protected String JavaDoc oldName_;
67     
68     //==================================================================
69
//
70
// No constructor.
71
//
72
//==================================================================
73

74     //==================================================================
75
//
76
// Internal methods.
77
//
78
//==================================================================
79

80     /**
81      * Creates a box containing all the box to specify all the params.
82      */

83     protected void createBox(DialogBox dialogBox) {
84         oldName_ = nameController_.getFcName();
85         nameBox_ = new LabelBox("Name", oldName_);
86         dialogBox.addElementBox(nameBox_);
87     }
88     
89     /**
90      * Provides the name controller of the given component.
91      */

92     protected NameController getNameController(MenuItemTreeView e) {
93         return (NameController)e.getSelectedObject();
94     }
95     
96     //==================================================================
97
//
98
// Public methods for ExtendedActionListener interface.
99
//
100
//==================================================================
101

102     public void actionPerformed(MenuItemTreeView e) throws Exception JavaDoc {
103         tree_ = e.getTree();
104         nameController_ = getNameController(e);
105         DialogBox dialog = new DefaultDialogBox("Rename a component");
106         createBox(dialog);
107         dialog.setValidateAction(this);
108         dialog.show();
109     }
110     
111     /**
112      * @see org.objectweb.util.browser.api.MenuItem#getStatus(org.objectweb.util.browser.api.TreeView)
113      */

114     public int getStatus(TreeView treeView) {
115         return MenuItem.ENABLED_STATUS;
116     }
117     
118     //==================================================================
119
//
120
// Public methods for DialogAction interface.
121
//
122
//==================================================================
123

124     /**
125      * Executes an action.
126      */

127     public void executeAction() throws Exception JavaDoc {
128         String JavaDoc name = nameBox_.getLabel();
129         nameController_.setFcName(name);
130     }
131     
132 }
Popular Tags