01: //The contents of this file are subject to the Mozilla Public License Version 1.1
02: //(the "License"); you may not use this file except in compliance with the
03: //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
04: //
05: //Software distributed under the License is distributed on an "AS IS" basis,
06: //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
07: //for the specific language governing rights and
08: //limitations under the License.
09: //
10: //The Original Code is "The Columba Project"
11: //
12: //The Initial Developers of the Original Code are Frederik Dietz and Timo Stich.
13: //Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
14: //
15: //All Rights Reserved.
16:
17: package org.columba.core.gui.globalactions;
18:
19: import java.awt.event.ActionEvent;
20: import java.awt.event.KeyEvent;
21:
22: import javax.swing.KeyStroke;
23:
24: import org.columba.api.gui.frame.IFrameMediator;
25: import org.columba.core.command.TaskManager;
26: import org.columba.core.command.TaskManagerEvent;
27: import org.columba.core.command.TaskManagerListener;
28: import org.columba.core.gui.action.AbstractColumbaAction;
29: import org.columba.core.resourceloader.GlobalResourceLoader;
30: import org.columba.core.resourceloader.IconKeys;
31: import org.columba.core.resourceloader.ImageLoader;
32:
33: public class CancelAction extends AbstractColumbaAction implements
34: TaskManagerListener {
35:
36: public CancelAction(IFrameMediator controller) {
37: super (controller, GlobalResourceLoader.getString(null, null,
38: "menu_file_cancel"));
39:
40: // small icon for JMenuItem
41: putValue(SMALL_ICON, ImageLoader.getSmallIcon(IconKeys.CANCEL));
42:
43: // big icon for JToolBar
44: putValue(LARGE_ICON, ImageLoader.getIcon(IconKeys.CANCEL));
45:
46: putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(
47: KeyEvent.VK_CANCEL, 0));
48:
49: // set JavaHelp topic ID
50: // setTopicID("cancel");
51:
52: setEnabled(TaskManager.getInstance().count() > 0);
53: TaskManager.getInstance().addTaskManagerListener(this );
54: }
55:
56: /*
57: * (non-Javadoc)
58: *
59: * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
60: */
61: public void actionPerformed(ActionEvent evt) {
62: getFrameMediator().fireTaskStatusChanged();
63: }
64:
65: public void workerAdded(TaskManagerEvent e) {
66: javax.swing.SwingUtilities.invokeLater(new Runnable() {
67: public void run() {
68: setEnabled(TaskManager.getInstance().count() > 0);
69: }
70: });
71:
72: }
73:
74: public void workerRemoved(TaskManagerEvent e) {
75: setEnabled(TaskManager.getInstance().count() > 0);
76: }
77: }
|