annotate dwtx/jface/action/IAction.d @ 90:7ffeace6c47f

Update 3.4M7 to 3.4
author Frank Benoit <benoit@tionex.de>
date Sun, 06 Jul 2008 23:30:07 +0200
parents 46a6e0e6ccd4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 /*******************************************************************************
90
7ffeace6c47f Update 3.4M7 to 3.4
Frank Benoit <benoit@tionex.de>
parents: 70
diff changeset
2 * Copyright (c) 2000, 2008 IBM Corporation and others.
4
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 * All rights reserved. This program and the accompanying materials
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 * are made available under the terms of the Eclipse Public License v1.0
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 * which accompanies this distribution, and is available at
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 * http://www.eclipse.org/legal/epl-v10.html
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8 * Contributors:
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9 * IBM Corporation - initial API and implementation
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 * Port to the D programming language:
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11 * Frank Benoit <benoit@tionex.de>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 *******************************************************************************/
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13 module dwtx.jface.action.IAction;
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
15 import dwtx.jface.action.IMenuCreator;
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
16
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
17 import dwt.events.HelpListener;
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
18 import dwt.widgets.Event;
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
19 import dwtx.core.commands.IHandlerAttributes;
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
20 import dwtx.jface.resource.ImageDescriptor;
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21 import dwtx.jface.util.IPropertyChangeListener;
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23 import dwt.dwthelper.utils;
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
24
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
25 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26 * An action represents the non-UI side of a command which can be triggered
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
27 * by the end user. Actions are typically associated with buttons, menu items,
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
28 * and items in tool bars. The controls for a command are built by some container,
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
29 * which furnished the context where these controls appear and configures
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
30 * them with data from properties declared by the action. When the end user
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
31 * triggers the command via its control, the action's <code>run</code>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
32 * method is invoked to do the real work.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
33 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
34 * Actions support a predefined set of properties (and possibly others as well).
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35 * Clients of an action may register property change listeners so that they get
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36 * notified whenever the value of a property changes.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 * Clients should subclass the abstract base class <code>Action</code> to define
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40 * concrete actions rather than implementing <code>IAction</code> from scratch.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
41 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
42 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43 * This interface exists only to define the API for actions.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44 * It is not intended to be implemented by clients.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47 * @see Action
90
7ffeace6c47f Update 3.4M7 to 3.4
Frank Benoit <benoit@tionex.de>
parents: 70
diff changeset
48 * @noimplement This interface is not intended to be implemented by clients.
4
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 public interface IAction {
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53 * Action style constant (value <code>0</code>) indicating action style
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54 * is not specified yet. By default, the action will assume a push button
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55 * style. If <code>setChecked</code> is called, then the style will change
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56 * to a check box, or if <code>setMenuCreator</code> is called, then the
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57 * style will change to a drop down menu.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
58 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
59 * @since 2.1
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60 */
16
e0f0aaf75edd PopupDialog, bindings and actions
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
61 public static const int AS_UNSPECIFIED = 0x00;
4
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
62
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
63 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
64 * Action style constant (value <code>1</code>) indicating action is
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
65 * a simple push button.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66 */
16
e0f0aaf75edd PopupDialog, bindings and actions
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
67 public static const int AS_PUSH_BUTTON = 0x01;
4
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
69 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70 * Action style constant (value <code>2</code>) indicating action is
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71 * a check box (or a toggle button).
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
72 */
16
e0f0aaf75edd PopupDialog, bindings and actions
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
73 public static const int AS_CHECK_BOX = 0x02;
4
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
74
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
76 * Action style constant (value <code>4</code>) indicating action is
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
77 * a drop down menu.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
78 */
16
e0f0aaf75edd PopupDialog, bindings and actions
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
79 public static const int AS_DROP_DOWN_MENU = 0x04;
4
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
80
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
81 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
82 * Action style constant (value <code>8</code>) indicating action is
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
83 * a radio button.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
84 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
85 * @since 2.1
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
86 */
16
e0f0aaf75edd PopupDialog, bindings and actions
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
87 public static const int AS_RADIO_BUTTON = 0x08;
4
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
88
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
89 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
90 * Property name of an action's text (value <code>"text"</code>).
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
91 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
92 public static const String TEXT = "text"; //$NON-NLS-1$
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
93
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
94 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
95 * Property name of an action's enabled state
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
96 * (value <code>"enabled"</code>).
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
97 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
98 public static const String ENABLED = "enabled"; //$NON-NLS-1$
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
99
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
100 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
101 * Property name of an action's image (value <code>"image"</code>).
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
102 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
103 public static const String IMAGE = "image"; //$NON-NLS-1$
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
104
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
105 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
106 * Property name of an action's tooltip text (value <code>"toolTipText"</code>).
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
107 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
108 public static const String TOOL_TIP_TEXT = "toolTipText"; //$NON-NLS-1$
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
109
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
110 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
111 * Property name of an action's description (value <code>"description"</code>).
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
112 * Typically the description is shown as a (longer) help text in the status line.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
113 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
114 public static const String DESCRIPTION = "description"; //$NON-NLS-1$
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
115
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
116 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
117 * Property name of an action's checked status (value
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
118 * <code>"checked"</code>). Applicable when the style is
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
119 * <code>AS_CHECK_BOX</code> or <code>AS_RADIO_BUTTON</code>.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
120 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
121 public static const String CHECKED = "checked"; //$NON-NLS-1$
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
122
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
123 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
124 * Property name of an action's success/fail result
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
125 * (value <code>"result"</code>). The values are
70
46a6e0e6ccd4 Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
126 * <code>Boolean.TRUE</code> if running the action succeeded and
46a6e0e6ccd4 Merge with d-fied sources of 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
127 * <code>Boolean.FALSE</code> if running the action failed or did not
4
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
128 * complete.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
129 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
130 * Not all actions report whether they succeed or fail. This property
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
131 * is provided for use by actions that may be invoked by clients that can
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
132 * take advantage of this information when present (for example, actions
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
133 * used in cheat sheets). Clients should always assume that running the
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
134 * action succeeded in the absence of notification to the contrary.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
135 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
136 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
137 * @since 3.0
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
138 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
139 public static const String RESULT = "result"; //$NON-NLS-1$
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
140
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
141 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
142 * Property name of an action's handler. Some actions delegate some or all
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
143 * of their behaviour or state to another object. In this case, if the
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
144 * object to which behaviour has been delegated changes, then a property
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
145 * change event should be sent with this name.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
146 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
147 * This is used to support backward compatibility of actions within the
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
148 * commands framework.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
149 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
150 * @since 3.1
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
151 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
152 public static const String HANDLED = IHandlerAttributes.ATTRIBUTE_HANDLED;
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
153
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
154 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
155 * Adds a property change listener to this action.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
156 * Has no effect if an identical listener is already registered.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
157 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
158 * @param listener a property change listener
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
159 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
160 public void addPropertyChangeListener(IPropertyChangeListener listener);
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
161
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
162 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
163 * Returns the accelerator keycode for this action.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
164 * The result is the bit-wise OR of zero or more modifier masks
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
165 * and a key, as explained in <code>MenuItem.getAccelerator</code>.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
166 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
167 * @return the accelerator keycode
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
168 * @see dwt.widgets.MenuItem#getAccelerator()
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
169 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
170 public int getAccelerator();
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
171
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
172 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
173 * Returns the action definition id of this action.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
174 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
175 * @return the action definition id of this action, or
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
176 * <code>null</code> if none
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
177 * @since 2.0
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
178 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
179 public String getActionDefinitionId();
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
180
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
181 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
182 * Returns the action's description if it has one.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
183 * Otherwise it returns <code>getToolTipText()</code>.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
184 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
185 * @return a description for the action; may be <code>null</code>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
186 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
187 public String getDescription();
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
188
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
189 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
190 * Returns the disabled image for this action as an image descriptor.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
191 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
192 * This method is associated with the <code>IMAGE</code> property;
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
193 * property change events are reported when its value changes.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
194 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
195 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
196 * @return the image, or <code>null</code> if this action has no image
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
197 * @see #IMAGE
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
198 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
199 public ImageDescriptor getDisabledImageDescriptor();
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
200
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
201 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
202 * Returns a help listener for this action.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
203 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
204 * @return a help listener for this action
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
205 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
206 public HelpListener getHelpListener();
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
207
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
208 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
209 * Returns the hover image for this action as an image descriptor.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
210 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
211 * Hover images will be used on platforms that support changing the image
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
212 * when the user hovers over the item. This method is associated with
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
213 * the <code>IMAGE</code> property;
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
214 * property change events are reported when its value changes.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
215 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
216 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
217 * @return the image, or <code>null</code> if this action has no image
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
218 * @see #IMAGE
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
219 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
220 public ImageDescriptor getHoverImageDescriptor();
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
221
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
222 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
223 * Returns a unique identifier for this action, or <code>null</code> if it has
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
224 * none.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
225 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
226 * @return the action id, or <code>null</code> if none
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
227 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
228 public String getId();
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
229
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
230 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
231 * Returns the image for this action as an image descriptor.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
232 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
233 * This method is associated with the <code>IMAGE</code> property;
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
234 * property change events are reported when its value changes.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
235 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
236 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
237 * @return the image, or <code>null</code> if this action has no image
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
238 * @see #IMAGE
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
239 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
240 public ImageDescriptor getImageDescriptor();
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
241
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
242 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
243 * Returns the menu creator for this action.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
244 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
245 * @return the menu creator, or <code>null</code> if none
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
246 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
247 public IMenuCreator getMenuCreator();
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
248
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
249 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
250 * Return this action's style.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
251 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
252 * @return one of <code>AS_PUSH_BUTTON</code>, <code>AS_CHECK_BOX</code>,
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
253 * <code>AS_RADIO_BUTTON</code> and <code>AS_DROP_DOWN_MENU</code>.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
254 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
255 public int getStyle();
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
256
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
257 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
258 * Returns the text for this action.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
259 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
260 * This method is associated with the <code>TEXT</code> property;
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
261 * property change events are reported when its value changes.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
262 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
263 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
264 * @return the text, or <code>null</code> if none
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
265 * @see #TEXT
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
266 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
267 public String getText();
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
268
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
269 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
270 * Returns the tool tip text for this action.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
271 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
272 * This method is associated with the <code>TOOL_TIP_TEXT</code> property;
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
273 * property change events are reported when its value changes.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
274 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
275 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
276 * @return the tool tip text, or <code>null</code> if none
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
277 * @see #TOOL_TIP_TEXT
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
278 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
279 public String getToolTipText();
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
280
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
281 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
282 * Returns the checked status of this action. Applicable only if the style is
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
283 * <code>AS_CHECK_BOX</code> or <code>AS_RADIO_BUTTON</code>.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
284 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
285 * This method is associated with the <code>CHECKED</code> property;
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
286 * property change events are reported when its value changes.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
287 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
288 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
289 * @return the checked status
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
290 * @see #CHECKED
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
291 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
292 public bool isChecked();
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
293
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
294 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
295 * Returns whether this action is enabled.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
296 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
297 * This method is associated with the <code>ENABLED</code> property;
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
298 * property change events are reported when its value changes.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
299 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
300 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
301 * @return <code>true</code> if enabled, and
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
302 * <code>false</code> if disabled
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
303 * @see #ENABLED
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
304 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
305 public bool isEnabled();
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
306
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
307 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
308 * Returns whether this action is handled. In the default case, this is
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
309 * always <code>true</code>. However, if the action delegates some of its
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
310 * behaviour to some other object, then this method should answer whether
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
311 * such an object is currently available.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
312 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
313 * @return <code>true</code> if all of the action's behaviour is
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
314 * available; <code>false</code> otherwise.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
315 * @since 3.1
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
316 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
317 public bool isHandled();
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
318
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
319 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
320 * Removes the given listener from this action.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
321 * Has no effect if an identical listener is not registered.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
322 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
323 * @param listener a property change listener
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
324 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
325 public void removePropertyChangeListener(IPropertyChangeListener listener);
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
326
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
327 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
328 * Runs this action.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
329 * Each action implementation must define the steps needed to carry out this action.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
330 * The default implementation of this method in <code>Action</code>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
331 * does nothing.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
332 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
333 public void run();
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
334
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
335 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
336 * Runs this action, passing the triggering DWT event.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
337 * As of 2.0, <code>ActionContributionItem</code> calls this method
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
338 * instead of <code>run()</code>.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
339 * The default implementation of this method in <code>Action</code>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
340 * simply calls <code>run()</code> for backwards compatibility.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
341 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
342 * @param event the DWT event which triggered this action being run
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
343 * @since 2.0
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
344 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
345 public void runWithEvent(Event event);
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
346
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
347 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
348 * Sets the action definition id of this action.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
349 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
350 * @param id the action definition id
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
351 * @since 2.0
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
352 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
353 public void setActionDefinitionId(String id);
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
354
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
355 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
356 * Sets the checked status of this action. Applicable for the styles
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
357 * <code>AS_CHECK_BOX</code> or <code>AS_RADIO_BUTTON</code>.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
358 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
359 * Fires a property change event for the <code>CHECKED</code> property
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
360 * if the checked status actually changes as a consequence.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
361 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
362 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
363 * @param checked the new checked status
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
364 * @see #CHECKED
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
365 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
366 public void setChecked(bool checked);
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
367
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
368 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
369 * Sets this action's description.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
370 * Typically the description is shown as a (longer) help text in the status line.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
371 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
372 * Fires a property change event for the <code>DESCRIPTION</code> property
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
373 * if the description actually changes as a consequence.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
374 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
375 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
376 * @param text the description, or <code>null</code> to clear the description
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
377 * @see #DESCRIPTION
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
378 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
379 public void setDescription(String text);
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
380
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
381 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
382 * Sets the disabled image for this action, as an image descriptor.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
383 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
384 * Disabled images will be used on platforms that support changing the image
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
385 * when the item is disabled.Fires a property change event for
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
386 * the <code>IMAGE</code> property
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
387 * if the image actually changes as a consequence.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
388 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
389 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
390 * @param newImage the image, or <code>null</code> if this
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
391 * action should not have an image
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
392 * @see #IMAGE
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
393 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
394 public void setDisabledImageDescriptor(ImageDescriptor newImage);
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
395
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
396 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
397 * Sets the enabled state of this action.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
398 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
399 * When an action is in the enabled state, the control associated with
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
400 * it is active; triggering it will end up inkoking this action's
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
401 * <code>run</code> method.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
402 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
403 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
404 * Fires a property change event for the <code>ENABLED</code> property
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
405 * if the enabled state actually changes as a consequence.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
406 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
407 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
408 * @param enabled <code>true</code> to enable, and
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
409 * <code>false</code> to disable
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
410 * @see #ENABLED
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
411 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
412 public void setEnabled(bool enabled);
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
413
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
414 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
415 * Sets a help listener for this action.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
416 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
417 * @param listener a help listener for this action
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
418 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
419 public void setHelpListener(HelpListener listener);
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
420
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
421 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
422 * Sets the hover image for this action, as an image descriptor.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
423 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
424 * Hover images will be used on platforms that support changing the image
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
425 * when the user hovers over the item.Fires a property change event for
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
426 * the <code>IMAGE</code> property
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
427 * if the image actually changes as a consequence.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
428 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
429 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
430 * @param newImage the image, or <code>null</code> if this
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
431 * action should not have an image
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
432 * @see #IMAGE
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
433 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
434 public void setHoverImageDescriptor(ImageDescriptor newImage);
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
435
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
436 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
437 * Sets the unique identifier for this action. This is used to identify actions
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
438 * when added to a contribution manager.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
439 * It should be set when the action is created. It should not be modified once
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
440 * the action is part of an action contribution item.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
441 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
442 * @param id the action id
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
443 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
444 * @see ActionContributionItem
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
445 * @see IContributionItem#getId
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
446 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
447 public void setId(String id);
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
448
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
449 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
450 * Sets the image for this action, as an image descriptor.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
451 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
452 * Fires a property change event for the <code>IMAGE</code> property
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
453 * if the image actually changes as a consequence.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
454 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
455 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
456 * @param newImage the image, or <code>null</code> if this
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
457 * action should not have an image
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
458 * @see #IMAGE
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
459 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
460 public void setImageDescriptor(ImageDescriptor newImage);
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
461
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
462 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
463 * Sets the menu creator for this action. Applicable for style
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
464 * <code>AS_DROP_DOWN_MENU</code>.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
465 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
466 * @param creator the menu creator, or <code>null</code> if none
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
467 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
468 public void setMenuCreator(IMenuCreator creator);
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
469
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
470 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
471 * Sets the text for this action.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
472 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
473 * An accelerator specification may follow the actual text, separated from it by
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
474 * an '@' or a '\t' character. An accelerator specification consists of zero or more
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
475 * modifier tokens followed by a key code token. The tokens are separated by a '+' character.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
476 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
477 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
478 * Fires a property change event for the <code>TEXT</code> property
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
479 * if the text actually changes as a consequence.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
480 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
481 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
482 * @param text the text, or <code>null</code> if none
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
483 * @see #TEXT
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
484 * @see Action#findModifier
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
485 * @see Action#findKeyCode
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
486 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
487 public void setText(String text);
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
488
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
489 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
490 * Sets the tool tip text for this action.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
491 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
492 * Fires a property change event for the <code>TOOL_TIP_TEXT</code> property
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
493 * if the tool tip text actually changes as a consequence.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
494 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
495 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
496 * @param text the tool tip text, or <code>null</code> if none
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
497 * @see #TOOL_TIP_TEXT
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
498 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
499 public void setToolTipText(String text);
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
500
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
501 /**
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
502 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
503 * Sets the accelerator keycode that this action maps to. This is a bitwise OR
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
504 * of zero or more DWT key modifier masks (i.e. DWT.CTRL or DWT.ALT) and a
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
505 * character code. For example, for Ctrl+Z, use <code>DWT.CTRL | 'Z'</code>.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
506 * Use 0 for no accelerator.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
507 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
508 * <p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
509 * This method should no longer be used for actions in the Eclipse workbench.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
510 * <code>IWorkbenchCommandSupport</code> and
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
511 * <code>IWorkbenchContextSupport</code> provide all the functionality
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
512 * required for key bindings. If you set an accelerator using this method, then
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
513 * it will not work in the workbench if it conflicts any existing key binding,
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
514 * or if there is a different key binding defined for this action's definition
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
515 * id. The definition id should be used instead -- referring to the command in
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
516 * the workbench from which the key binding should be retrieved.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
517 * </p>
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
518 *
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
519 * @param keycode
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
520 * the keycode to be accepted.
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
521 */
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
522 public void setAccelerator(int keycode);
c87617952847 some JFace modules
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
523 }