01: /*
02: * Enhydra Java Application Server Project
03: *
04: * The contents of this file are subject to the Enhydra Public License
05: * Version 1.1 (the "License"); you may not use this file except in
06: * compliance with the License. You may obtain a copy of the License on
07: * the Enhydra web site ( http://www.enhydra.org/ ).
08: *
09: * Software distributed under the License is distributed on an "AS IS"
10: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
11: * the License for the specific terms governing rights and limitations
12: * under the License.
13: *
14: * The Initial Developer of the Enhydra Application Server is Lutris
15: * Technologies, Inc. The Enhydra Application Server and portions created
16: * by Lutris Technologies, Inc. are Copyright Lutris Technologies, Inc.
17: * All Rights Reserved.
18: *
19: * Contributor(s):
20: * Paul Mahar
21: *
22: */
23: package org.enhydra.kelp.common.xmlc;
24:
25: // ToolBox imports
26: import org.enhydra.tool.common.ButtonPanel;
27:
28: // Standard imports
29: import java.awt.Window;
30: import java.awt.event.ActionEvent;
31: import java.awt.event.ActionListener;
32: import java.lang.ref.WeakReference;
33:
34: //
35: public class XMLCButtonListener implements ActionListener {
36: private WeakReference ref = null;
37:
38: public XMLCButtonListener(CoreXMLCTool tool) {
39: ref = new WeakReference(tool);
40: }
41:
42: /**
43: * ActionListener implementation.
44: *
45: * @param event
46: * Event that triggered this listener.
47: *
48: */
49: public void actionPerformed(ActionEvent event) {
50: String command = event.getActionCommand();
51:
52: if (command.equals(ButtonPanel.COMMAND_COMPILE)) {
53: getTool().build();
54: } else if (command.equals(ButtonPanel.COMMAND_CLOSE)) {
55: getTool().closeWindow();
56: } else if (command.equals(ButtonPanel.COMMAND_HELP)) {
57: getTool().notifyHelpListeners(event.getSource());
58: } else if (command.equals(ButtonPanel.COMMAND_ABOUT)) {
59: getTool().showAbout();
60: }
61: }
62:
63: private CoreXMLCTool getTool() {
64: return (CoreXMLCTool) ref.get();
65: }
66:
67: }
|