01: /*
02: * Copyright (c) 2000, Jacob Smullyan.
03: *
04: * This is part of SkunkDAV, a WebDAV client. See http://skunkdav.sourceforge.net/
05: * for the latest version.
06: *
07: * SkunkDAV is free software; you can redistribute it and/or
08: * modify it under the terms of the GNU General Public License as published
09: * by the Free Software Foundation; either version 2, or (at your option)
10: * any later version.
11: *
12: * SkunkDAV 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: * General Public License for more details.
16: *
17: * You should have received a copy of the GNU General Public License
18: * along with SkunkDAV; see the file COPYING. If not, write to the Free
19: * Software Foundation, 59 Temple Place - Suite 330, Boston, MA
20: * 02111-1307, USA.
21: */
22:
23: package org.skunk.dav.client.gui.action;
24:
25: import java.awt.Component;
26: import java.awt.Window;
27: import java.awt.event.ActionEvent;
28: import javax.swing.AbstractAction;
29: import javax.swing.SwingUtilities;
30: import org.skunk.dav.client.gui.Explorer;
31: import org.skunk.trace.Debug;
32:
33: public class CloseAction extends AbstractAction {
34: private Explorer explorer;
35:
36: public CloseAction(Explorer explorer) {
37: this .explorer = explorer;
38: }
39:
40: public void actionPerformed(ActionEvent ae) {
41: if (Explorer.getExplorerCount() == 1) {
42: new ExitAction().actionPerformed(ae);
43: } else {
44: Component comp = SwingUtilities.getRoot(explorer);
45: if (comp instanceof Window) {
46: comp.setVisible(false);
47: ((Window) comp).dispose();
48: } else {
49: //explorer is embedded in something else
50: Debug
51: .trace(this , Debug.DP2,
52: "close called on disembodied explorer: "
53: + comp);
54: }
55: }
56: }
57: }
58:
59: /* $Log: CloseAction.java,v $
60: /* Revision 1.6 2000/12/19 22:36:05 smulloni
61: /* adjustments to preamble.
62: /*
63: /* Revision 1.5 2000/12/03 23:53:26 smulloni
64: /* added license and copyright preamble to java files.
65: /*
66: /* Revision 1.4 2000/11/10 22:40:08 smullyan
67: /* added icon to table for resource type; fixes to copy and move; disabling of
68: /* menu items that are inappropriate.
69: /*
70: /* Revision 1.3 2000/11/09 23:35:01 smullyan
71: /* log added to every Java file, with the help of python. Lock stealing
72: /* implemented, and treatment of locks made more robust.
73: /* */
|