01: /*
02: * Copyright 2001-2006 C:1 Financial Services GmbH
03: *
04: * This software is free software; you can redistribute it and/or
05: * modify it under the terms of the GNU Lesser General Public
06: * License Version 2.1, as published by the Free Software Foundation.
07: *
08: * This software is distributed in the hope that it will be useful,
09: * but WITHOUT ANY WARRANTY; without even the implied warranty of
10: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11: * Lesser General Public License for more details.
12: *
13: * You should have received a copy of the GNU Lesser General Public
14: * License along with this library; if not, write to the Free Software
15: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
16: */
17:
18: package de.finix.contelligent.client.gui.explorer;
19:
20: import java.awt.event.ActionEvent;
21: import java.awt.event.KeyEvent;
22:
23: import javax.swing.AbstractAction;
24: import javax.swing.Action;
25: import javax.swing.KeyStroke;
26: import javax.swing.tree.DefaultMutableTreeNode;
27:
28: import de.finix.contelligent.client.base.ComponentReference;
29: import de.finix.contelligent.client.gui.ContelligentAction;
30: import de.finix.contelligent.client.gui.directory.NodeNavigation;
31: import de.finix.contelligent.client.gui.directory.ProgressIndicator;
32:
33: public class RenderComponentAction extends AbstractAction implements
34: ContelligentAction {
35: /**
36: *
37: */
38: private final ExplorerEditor editor;
39:
40: public RenderComponentAction(ExplorerEditor editor) {
41: super ("render_component_action");
42: this .editor = editor;
43: putValue(TYPE, PUSH_ACTION);
44: putValue(ACTION_TYPE, FILE_ACTION);
45: putValue(ACTION_GROUP, FILE_COMPONENT_GROUP);
46: putValue(ACTION_POS, FILE_COMPONENT_DISPLAY);
47: putValue(MENU_TARGET, MENU);
48: putValue(BUTTON_TARGET, NO_BUTTON);
49: putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(
50: KeyEvent.VK_ENTER, 0));
51: }
52:
53: public void actionPerformed(ActionEvent e) {
54: DefaultMutableTreeNode node = (DefaultMutableTreeNode) this .editor.tree
55: .getLastSelectedPathComponent();
56: if (node == null)
57: return;
58: if (node.getUserObject() instanceof ProgressIndicator) {
59: return;
60: }
61: if (node.getUserObject() instanceof NodeNavigation) {
62: this .editor.navigate(node);
63: return;
64: }
65: if (node.getUserObject() instanceof ComponentReference) {
66: if (this.editor.guiContainer != null
67: && !this.editor.getView().isEditInProgress()) {
68: this.editor.guiContainer.renderSelectedComponent();
69: }
70: }
71: }
72: }
|