FILE COMPARISON
Produced: 2/18/2011 1:20:49 AM
   
Mode:  All Lines  
   
Left file: C:\Documents and Settings\krollins\My Documents\Admin\OpenSource\eRCP\eSWT\eSWT-1.2.orig\org.eclipse.ercp.swt.core.common\Eclipse-SWT-common\org\eclipse\swt\SWT.java  
Right file: C:\Documents and Settings\krollins\My Documents\Admin\OpenSource\eRCP\eSWT\eSWT-1.2.today\org.eclipse.ercp.swt.core.common\Eclipse-SWT-common\org\eclipse\swt\SWT.java  
1 /******************************************************************************* = 1 /*******************************************************************************
2 * Copyright (c) 2000, 2005 IBM Corporation and others.   2 * Copyright (c) 2000, 2005 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials   3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0   4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at   5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html   6 * http://www.eclipse.org/legal/epl-v10.html
7 *   7 *
8 * Contributors:   8 * Contributors:
9 *     IBM Corporation - initial API and implementation   9 *     IBM Corporation - initial API and implementation
10 *         Lynne Kues (IBM Corp) - modified to reflect eSWT API subset   10 *         Lynne Kues (IBM Corp) - modified to reflect eSWT API subset
11 *******************************************************************************/   11 *******************************************************************************/
    <> 12  
      13 /*******************************************************************************
      14 * Additions/modifications to this source file by Oracle America, Inc. 2011
      15 *******************************************************************************/
      16  
12 package org.eclipse.swt; = 17 package org.eclipse.swt;
13     18  
14     19  
15 import org.eclipse.swt.internal.*;   20 import org.eclipse.swt.internal.*;
16     21  
17 /**   22 /**
18 * This class provides access to a small number of SWT system-wide   23 * This class provides access to a small number of SWT system-wide
19 * methods, and in addition defines the public constants provided   24 * methods, and in addition defines the public constants provided
20 * by SWT.   25 * by SWT.
21 * <p>   26 * <p>
22 * By defining constants like UP and DOWN in a single class, SWT   27 * By defining constants like UP and DOWN in a single class, SWT
23 * can share common names and concepts at the same time minimizing   28 * can share common names and concepts at the same time minimizing
24 * the number of classes, names and constants for the application   29 * the number of classes, names and constants for the application
25 * programmer.   30 * programmer.
26 * </p><p>   31 * </p><p>
27 * Note that some of the constants provided by this class represent   32 * Note that some of the constants provided by this class represent
28 * optional, appearance related aspects of widgets which are available   33 * optional, appearance related aspects of widgets which are available
29 * either only on some window systems, or for a differing set of   34 * either only on some window systems, or for a differing set of
30 * widgets on each window system. These constants are marked   35 * widgets on each window system. These constants are marked
31 * as <em>HINT</em>s. The set of widgets which support a particular   36 * as <em>HINT</em>s. The set of widgets which support a particular
32 * <em>HINT</em> may change from release to release, although we typically   37 * <em>HINT</em> may change from release to release, although we typically
33 * will not withdraw support for a <em>HINT</em> once it is made available.   38 * will not withdraw support for a <em>HINT</em> once it is made available.
34 * </p>   39 * </p>
35 */   40 */
36   41
37 /* NOTE:   42 /* NOTE:
38 *   Good javadoc coding style is to put the values of static final   43 *   Good javadoc coding style is to put the values of static final
39 *   constants in the comments. This reinforces the fact that   44 *   constants in the comments. This reinforces the fact that
40 *   consumers are allowed to rely on the value (and they must   45 *   consumers are allowed to rely on the value (and they must
41 *   since the values are compiled inline in their code). We   46 *   since the values are compiled inline in their code). We
42 *   can <em>not</em> change the values of these constants between   47 *   can <em>not</em> change the values of these constants between
43 *   releases.   48 *   releases.
44 */   49 */
45 public class SWT {   50 public class SWT {
46           51        
47         /* Widget Event Constants */   52         /* Widget Event Constants */
48           53        
49         /**   54         /**
50          * The null event type (value is 0).   55          * The null event type (value is 0).
51          *   56          *
52          * @since 3.0   57          * @since 3.0
53          */   58          */
54         public static final int None = 0;   59         public static final int None = 0;
55           60        
56         /**   61         /**
57          * The key down event type (value is 1).   62          * The key down event type (value is 1).
58          */   63          */
59         public static final int KeyDown = 1;   64         public static final int KeyDown = 1;
60           65        
61         /**   66         /**
62          * The key up event type (value is 2).   67          * The key up event type (value is 2).
63          */   68          */
64         public static final int KeyUp = 2;   69         public static final int KeyUp = 2;
65           70        
66         /**   71         /**
67          * The mouse down event type (value is 3)   72          * The mouse down event type (value is 3)
68          */   73          */
69         public static final int MouseDown = 3;   74         public static final int MouseDown = 3;
70           75        
71         /**   76         /**
72          * The mouse up event type (value is 4).   77          * The mouse up event type (value is 4).
73          */   78          */
74         public static final int MouseUp = 4;   79         public static final int MouseUp = 4;
75           80        
76         /**   81         /**
77          * The mouse move event type (value is 5).   82          * The mouse move event type (value is 5).
78          */   83          */
79         public static final int MouseMove = 5;   84         public static final int MouseMove = 5;
80           85        
81         /**   86         /**
82          * The mouse enter event type (value is 6).   87          * The mouse enter event type (value is 6).
83          */   88          */
84         public static final int MouseEnter = 6;           89         public static final int MouseEnter = 6;        
85           90        
86         /**   91         /**
87          * The mouse exit event type (value is 7).   92          * The mouse exit event type (value is 7).
88          */   93          */
89         public static final int MouseExit = 7;   94         public static final int MouseExit = 7;
90           95        
91         /**   96         /**
92          * The mouse double click event type (value is 8).   97          * The mouse double click event type (value is 8).
93          */   98          */
94         public static final int MouseDoubleClick = 8;     99         public static final int MouseDoubleClick = 8;  
95           100        
96         /**   101         /**
97          * The paint event type (value is 9).   102          * The paint event type (value is 9).
98          */   103          */
99         public static final int Paint = 9;        104         public static final int Paint = 9;     
100           105        
101         /**   106         /**
102          * The move event type (value is 10).   107          * The move event type (value is 10).
103          */   108          */
104         public static final int Move = 10;   109         public static final int Move = 10;
105           110        
106         /**   111         /**
107          * The resize event type (value is 11).   112          * The resize event type (value is 11).
108          */   113          */
109         public static final int Resize = 11;   114         public static final int Resize = 11;
110           115        
111         /**   116         /**
112          * The dispose event type (value is 12).   117          * The dispose event type (value is 12).
113          */   118          */
114         public static final int Dispose = 12;   119         public static final int Dispose = 12;
115           120        
116         /**   121         /**
117          * The selection event type (value is 13).   122          * The selection event type (value is 13).
118          * <p>   123          * <p>
119          * This event is sent when selection occurs.   124          * This event is sent when selection occurs.
120          * For example, selection occurs in a List when the user selects   125          * For example, selection occurs in a List when the user selects
121          * an item or items with the keyboard or mouse.  On some platforms,   126          * an item or items with the keyboard or mouse.  On some platforms,
122          * the event occurs when a mouse button or key is pressed.  On others,   127          * the event occurs when a mouse button or key is pressed.  On others,
123          * it happens when the mouse or key is released.  The exact key or   128          * it happens when the mouse or key is released.  The exact key or
124          * mouse gesture that causes this event is platform specific.   129          * mouse gesture that causes this event is platform specific.
125          * </p>   130          * </p>
126          */   131          */
127         public static final int Selection = 13;   132         public static final int Selection = 13;
128           133        
129         /**   134         /**
130          * The default selection event type (value is 14).   135          * The default selection event type (value is 14).
131          * <p>   136          * <p>
132          * This event is sent when default selection occurs.   137          * This event is sent when default selection occurs.
133          * For example, on some platforms default selection occurs in a List   138          * For example, on some platforms default selection occurs in a List
134          * when the user double-clicks an item or types return in a Text.   139          * when the user double-clicks an item or types return in a Text.
135          * On some platforms, the event occurs when a mouse button or key is   140          * On some platforms, the event occurs when a mouse button or key is
136          * pressed.  On others, it happens when the mouse or key is released.   141          * pressed.  On others, it happens when the mouse or key is released.
137          * The exact key or mouse gesture that causes this event is platform   142          * The exact key or mouse gesture that causes this event is platform
138          * specific.   143          * specific.
139          * </p>   144          * </p>
140          */   145          */
141         public static final int DefaultSelection = 14;   146         public static final int DefaultSelection = 14;
142           147        
143         /**   148         /**
144          * The focus in event type (value is 15).   149          * The focus in event type (value is 15).
145          */   150          */
146         public static final int FocusIn = 15;   151         public static final int FocusIn = 15;
147           152        
148         /**   153         /**
149          * The focus out event type (value is 16).   154          * The focus out event type (value is 16).
150          */   155          */
151         public static final int FocusOut = 16;   156         public static final int FocusOut = 16;
152           157        
153         /**   158         /**
154          * The expand event type (value is 17).   159          * The expand event type (value is 17).
155          */   160          */
156         public static final int Expand = 17;   161         public static final int Expand = 17;
157           162        
158         /**   163         /**
159          * The collapse event type (value is 18).   164          * The collapse event type (value is 18).
160          */   165          */
161         public static final int Collapse = 18;   166         public static final int Collapse = 18;
162           167        
163         /**   168         /**
164          * The iconify event type (value is 19).   169          * The iconify event type (value is 19).
165          */   170          */
166         public static final int Iconify = 19;   171         public static final int Iconify = 19;
167           172        
168         /**   173         /**
169          * The de-iconify event type (value is 20).   174          * The de-iconify event type (value is 20).
170          */   175          */
171         public static final int Deiconify = 20;   176         public static final int Deiconify = 20;
172           177        
173         /**   178         /**
174          * The close event type (value is 21).   179          * The close event type (value is 21).
175          */   180          */
176         public static final int Close = 21;   181         public static final int Close = 21;
177           182        
178         /**   183         /**
179          * The show event type (value is 22).   184          * The show event type (value is 22).
180          */   185          */
181         public static final int Show = 22;   186         public static final int Show = 22;
182           187        
183         /**   188         /**
184          * The hide event type (value is 23).   189          * The hide event type (value is 23).
185          */   190          */
186         public static final int Hide = 23;   191         public static final int Hide = 23;
187           192        
188         /**   193         /**
189          * The modify event type (value is 24).   194          * The modify event type (value is 24).
190          */   195          */
191         public static final int Modify = 24;   196         public static final int Modify = 24;
192           197        
193         /**   198         /**
194          * The verify event type (value is 25).   199          * The verify event type (value is 25).
195          */   200          */
196         public static final int Verify = 25;   201         public static final int Verify = 25;
197           202        
198         /**   203         /**
199          * The activate event type (value is 26).   204          * The activate event type (value is 26).
200          */   205          */
201         public static final int Activate = 26;   206         public static final int Activate = 26;
202           207        
203         /**   208         /**
204          * The deactivate event type (value is 27).   209          * The deactivate event type (value is 27).
205          */   210          */
206         public static final int Deactivate = 27;          211         public static final int Deactivate = 27;       
207           212        
208         /**   213         /**
209          * The traverse event type (value is 31).   214          * The traverse event type (value is 31).
210          */   215          */
211         public static final int Traverse = 31;   216         public static final int Traverse = 31;
212     217  
213         /**   218         /**
214          * The hardware key down event type (value is 33).   219          * The hardware key down event type (value is 33).
215          */   220          */
216         public static final int HardKeyDown = 33;   221         public static final int HardKeyDown = 33;
217           222        
218         /**   223         /**
219          * The hardware key up event type (value is 34).   224          * The hardware key up event type (value is 34).
220          */   225          */
221         public static final int HardKeyUp = 34;   226         public static final int HardKeyUp = 34;
222     227  
223         /**   228         /**
224          * The menu detect event type (value is 35).   229          * The menu detect event type (value is 35).
225          *   230          *
226          * @since 3.0   231          * @since 3.0
227          */   232          */
228         public static final int MenuDetect = 35;   233         public static final int MenuDetect = 35;
229           234        
230         /**   235         /**
231          * The set data event type (value is 36).   236          * The set data event type (value is 36).
232          *   237          *
233          * @since 3.0   238          * @since 3.0
234          */   239          */
235         public static final int SetData = 36;   240         public static final int SetData = 36;
236     241  
237         /**   242         /**
238          * The settings changed event type (value is 39).   243          * The settings changed event type (value is 39).
239          * <p>   244          * <p>
240          * The settings changed event is sent when an operating system   245          * The settings changed event is sent when an operating system
241          * property, such as a system font or color, has been changed.   246          * property, such as a system font or color, has been changed.
242          * The event occurs after the property has been changed, but   247          * The event occurs after the property has been changed, but
243          * before any widget is redrawn.  Applications that cache operating   248          * before any widget is redrawn.  Applications that cache operating
244          * system properties can use this event to update their caches.   249          * system properties can use this event to update their caches.
245          * A specific property change can be detected by querying the   250          * A specific property change can be detected by querying the
246          * new value of a property and comparing it with the equivalent   251          * new value of a property and comparing it with the equivalent
247          * cached value.  The operating system automatically redraws and   252          * cached value.  The operating system automatically redraws and
248          * lays out all widgets after this event is sent.   253          * lays out all widgets after this event is sent.
249          * </p>   254          * </p>
250          *   255          *
251          * @see org.eclipse.swt.widgets.Display#addListener   256          * @see org.eclipse.swt.widgets.Display#addListener
252          * @see org.eclipse.swt.widgets.Event   257          * @see org.eclipse.swt.widgets.Event
253          *   258          *
254          * @since 1.1   259          * @since 1.1
255          */   260          */
256         public static final int Settings = 39;   261         public static final int Settings = 39;
257           262        
258         /* Event Details */   263         /* Event Details */
259           264        
260         /**   265         /**
261          * A constant known to be zero (0), used in operations which   266          * A constant known to be zero (0), used in operations which
262          * take bit flags to indicate that "no bits are set".   267          * take bit flags to indicate that "no bits are set".
263          */   268          */
264         public static final int NONE = 0;   269         public static final int NONE = 0;
265           270        
266         /**   271         /**
267          * Indicates that a user-interface component is being dragged,   272          * Indicates that a user-interface component is being dragged,
268          * for example dragging the thumb of a scroll bar (value is 1).   273          * for example dragging the thumb of a scroll bar (value is 1).
269          */   274          */
270         public static final int DRAG = 1;         275         public static final int DRAG = 1;      
271           276        
272         /**   277         /**
273          * A constant known to be zero (0), used in operations which   278          * A constant known to be zero (0), used in operations which
274          * take pointers to indicate a null argument.   279          * take pointers to indicate a null argument.
275          */   280          */
276         public static final int NULL = 0;   281         public static final int NULL = 0;
277           282        
278         /**   283         /**
279          * Indicates that a default should be used (value is -1).   284          * Indicates that a default should be used (value is -1).
280          */   285          */
281         public static final int DEFAULT = -1;   286         public static final int DEFAULT = -1;
282     287  
283         /**   288         /**
284          * Style constant for menu bar behavior (value is 1&lt;&lt;1).   289          * Style constant for menu bar behavior (value is 1&lt;&lt;1).
285          * <p><b>Used By:</b><ul>   290          * <p><b>Used By:</b><ul>
286          * <li><code>Menu</code></li>   291          * <li><code>Menu</code></li>
287          * </ul></p>   292          * </ul></p>
288          */   293          */
289         public static final int BAR = 1 << 1;   294         public static final int BAR = 1 << 1;
290     295  
291         /**   296         /**
292          * Style constant for drop down menu/list behavior (value is 1&lt;&lt;2).   297          * Style constant for drop down menu/list behavior (value is 1&lt;&lt;2).
293          * <p><b>Used By:</b><ul>   298          * <p><b>Used By:</b><ul>
294          * <li><code>Menu</code></li>   299          * <li><code>Menu</code></li>
295          * <li><code>Combo</code></li>   300          * <li><code>Combo</code></li>
296          * </ul></p>   301          * </ul></p>
297          */   302          */
298         public static final int DROP_DOWN = 1 << 2;   303         public static final int DROP_DOWN = 1 << 2;
299     304  
300         /**   305         /**
301          * Style constant for pop up menu behavior (value is 1&lt;&lt;3).   306          * Style constant for pop up menu behavior (value is 1&lt;&lt;3).
302          * <p><b>Used By:</b><ul>   307          * <p><b>Used By:</b><ul>
303          * <li><code>Menu</code></li>   308          * <li><code>Menu</code></li>
304          * </ul></p>   309          * </ul></p>
305          */   310          */
306         public static final int POP_UP = 1 << 3;   311         public static final int POP_UP = 1 << 3;
307     312  
308         /**   313         /**
309          * Style constant for line separator behavior (value is 1&lt;&lt;1).   314          * Style constant for line separator behavior (value is 1&lt;&lt;1).
310          * <p><b>Used By:</b><ul>   315          * <p><b>Used By:</b><ul>
311          * <li><code>Label</code></li>   316          * <li><code>Label</code></li>
312          * <li><code>MenuItem</code></li>   317          * <li><code>MenuItem</code></li>
313          * </ul></p>   318          * </ul></p>
314          */   319          */
315         public static final int SEPARATOR = 1 << 1;   320         public static final int SEPARATOR = 1 << 1;
316     321  
317         /**   322         /**
318          * Style constant for toggle button behavior (value is 1&lt;&lt;1).   323          * Style constant for toggle button behavior (value is 1&lt;&lt;1).
319          * <p><b>Used By:</b><ul>   324          * <p><b>Used By:</b><ul>
320          * <li><code>Button</code></li>   325          * <li><code>Button</code></li>
321          * </ul></p>   326          * </ul></p>
322          */   327          */
323         public static final int TOGGLE = 1 << 1;   328         public static final int TOGGLE = 1 << 1;
324     329  
325         /**   330         /**
326          * Style constant for push button behavior (value is 1&lt;&lt;3).   331          * Style constant for push button behavior (value is 1&lt;&lt;3).
327          * <p><b>Used By:</b><ul>   332          * <p><b>Used By:</b><ul>
328          * <li><code>Button</code></li>   333          * <li><code>Button</code></li>
329          * <li><code>MenuItem</code></li>   334          * <li><code>MenuItem</code></li>
330          * </ul></p>   335          * </ul></p>
331          */   336          */
332         public static final int PUSH = 1 << 3;   337         public static final int PUSH = 1 << 3;
333     338  
334         /**   339         /**
335          * Style constant for radio button behavior (value is 1&lt;&lt;4).   340          * Style constant for radio button behavior (value is 1&lt;&lt;4).
336          * <p><b>Used By:</b><ul>   341          * <p><b>Used By:</b><ul>
337          * <li><code>Button</code></li>   342          * <li><code>Button</code></li>
338          * <li><code>MenuItem</code></li>   343          * <li><code>MenuItem</code></li>
339          * </ul></p>   344          * </ul></p>
340          */   345          */
341         public static final int RADIO = 1 << 4;   346         public static final int RADIO = 1 << 4;
342     347  
343         /**   348         /**
344          * Style constant for check box behavior (value is 1&lt;&lt;5).   349          * Style constant for check box behavior (value is 1&lt;&lt;5).
345          * <p><b>Used By:</b><ul>   350          * <p><b>Used By:</b><ul>
346          * <li><code>Button</code></li>   351          * <li><code>Button</code></li>
347          * <li><code>MenuItem</code></li>   352          * <li><code>MenuItem</code></li>
348          * <li><code>Table</code></li>   353          * <li><code>Table</code></li>
349          * <li><code>Tree</code></li>   354          * <li><code>Tree</code></li>
350          * </ul></p>   355          * </ul></p>
351          */   356          */
352         public static final int CHECK = 1 << 5;   357         public static final int CHECK = 1 << 5;
353     358  
354         /**   359         /**
355          * Style constant for cascade behavior (value is 1&lt;&lt;6).   360          * Style constant for cascade behavior (value is 1&lt;&lt;6).
356          * <p><b>Used By:</b><ul>   361          * <p><b>Used By:</b><ul>
357          * <li><code>MenuItem</code></li>   362          * <li><code>MenuItem</code></li>
358          * </ul></p>   363          * </ul></p>
359          */   364          */
360         public static final int CASCADE = 1 << 6;   365         public static final int CASCADE = 1 << 6;
361     366  
362         /**   367         /**
363          * Style constant for multi-selection behavior in lists   368          * Style constant for multi-selection behavior in lists
364          * and multiple line support on text fields (value is 1&lt;&lt;1).   369          * and multiple line support on text fields (value is 1&lt;&lt;1).
365          * <p><b>Used By:</b><ul>   370          * <p><b>Used By:</b><ul>
366          * <li><code>Text</code></li>   371          * <li><code>Text</code></li>
367          * <li><code>List</code></li>   372          * <li><code>List</code></li>
368          * <li><code>FileDialog</code></li>   373          * <li><code>FileDialog</code></li>
369          * </ul></p>   374          * </ul></p>
370          */   375          */
371         public static final int MULTI = 1 << 1;   376         public static final int MULTI = 1 << 1;
372     377  
373         /**   378         /**
374          * Style constant for single selection behavior in lists   379          * Style constant for single selection behavior in lists
375          * and single line support on text fields (value is 1&lt;&lt;2).   380          * and single line support on text fields (value is 1&lt;&lt;2).
376          * <p><b>Used By:</b><ul>   381          * <p><b>Used By:</b><ul>
377          * <li><code>Text</code></li>   382          * <li><code>Text</code></li>
378          * <li><code>List</code></li>   383          * <li><code>List</code></li>
379          * <li><code>Table</code></li>   384          * <li><code>Table</code></li>
380          * <li><code>Tree</code></li>   385          * <li><code>Tree</code></li>
381          * </ul></p>   386          * </ul></p>
382          */   387          */
383         public static final int SINGLE = 1 << 2;   388         public static final int SINGLE = 1 << 2;
384     389  
385         /**   390         /**
386          * Style constant for read-only behavior (value is 1&lt;&lt;3).   391          * Style constant for read-only behavior (value is 1&lt;&lt;3).
387          * <p><b>Used By:</b><ul>   392          * <p><b>Used By:</b><ul>
388          * <li><code>Combo</code></li>   393          * <li><code>Combo</code></li>
389          * <li><code>Text</code></li>   394          * <li><code>Text</code></li>
390          * </ul></p>   395          * </ul></p>
391          */   396          */
392         public static final int READ_ONLY = 1 << 3;   397         public static final int READ_ONLY = 1 << 3;
393     398  
394         /**   399         /**
395          * Style constant for automatic line wrap behavior (value is 1&lt;&lt;6).   400          * Style constant for automatic line wrap behavior (value is 1&lt;&lt;6).
396          * <p><b>Used By:</b><ul>   401          * <p><b>Used By:</b><ul>
397          * <li><code>Label</code></li>   402          * <li><code>Label</code></li>
398          * <li><code>Text</code></li>   403          * <li><code>Text</code></li>
399          * </ul></p>   404          * </ul></p>
400          */   405          */
401         public static final int WRAP = 1 << 6;   406         public static final int WRAP = 1 << 6;
402     407  
403         /**   408         /**
404          * Style constant for password behavior (value is 1&lt;&lt;22).   409          * Style constant for password behavior (value is 1&lt;&lt;22).
405          * <p><b>Used By:</b><ul>   410          * <p><b>Used By:</b><ul>
406          * <li><code>Text</code></li>   411          * <li><code>Text</code></li>
407          * </ul></p>   412          * </ul></p>
408          *   413          *
409          * @since 3.0   414          * @since 3.0
410          */   415          */
411         public static final int PASSWORD = 1 << 22;   416         public static final int PASSWORD = 1 << 22;
412           417        
413         /**   418         /**
414          * Style constant for shadow in behavior (value is 1&lt;&lt;2).   419          * Style constant for shadow in behavior (value is 1&lt;&lt;2).
415          * <br>Note that this is a <em>HINT</em>.   420          * <br>Note that this is a <em>HINT</em>.
416          * <p><b>Used By:</b><ul>   421          * <p><b>Used By:</b><ul>
417          * <li><code>Label</code></li>   422          * <li><code>Label</code></li>
418          * </ul></p>   423          * </ul></p>
419          */   424          */
420         public static final int SHADOW_IN = 1 << 2;   425         public static final int SHADOW_IN = 1 << 2;
421     426  
422         /**   427         /**
423          * Style constant for shadow out behavior (value is 1&lt;&lt;3).   428          * Style constant for shadow out behavior (value is 1&lt;&lt;3).
424          * <br>Note that this is a <em>HINT</em>.   429          * <br>Note that this is a <em>HINT</em>.
425          * <p><b>Used By:</b><ul>   430          * <p><b>Used By:</b><ul>
426          * <li><code>Label</code></li>   431          * <li><code>Label</code></li>
427          * </ul></p>   432          * </ul></p>
428          */   433          */
429         public static final int SHADOW_OUT = 1 << 3;   434         public static final int SHADOW_OUT = 1 << 3;
430     435  
431         /**   436         /**
432          * Style constant for no shadow behavior (value is 1&lt;&lt;5).   437          * Style constant for no shadow behavior (value is 1&lt;&lt;5).
433          * <br>Note that this is a <em>HINT</em>.   438          * <br>Note that this is a <em>HINT</em>.
434          * <p><b>Used By:</b><ul>   439          * <p><b>Used By:</b><ul>
435          * <li><code>Label</code></li>   440          * <li><code>Label</code></li>
436          * </ul></p>   441          * </ul></p>
437          */   442          */
438         public static final int SHADOW_NONE = 1 << 5;   443         public static final int SHADOW_NONE = 1 << 5;
439     444  
440         /**   445         /**
441          * Style constant for progress bar behavior (value is 1&lt;&lt;1).   446          * Style constant for progress bar behavior (value is 1&lt;&lt;1).
442          * <p><b>Used By:</b><ul>   447          * <p><b>Used By:</b><ul>
443          * <li><code>ProgressBar</code></li>   448          * <li><code>ProgressBar</code></li>
444          * </ul></p>   449          * </ul></p>
445          */   450          */
446         public static final int INDETERMINATE = 1 << 1;   451         public static final int INDETERMINATE = 1 << 1;
447     452  
448         /**   453         /**
449          * Style constant to ensure no trimmings are used (value is 1&lt;&lt;3).   454          * Style constant to ensure no trimmings are used (value is 1&lt;&lt;3).
450          * <br>Note that this overrides all other trim styles.   455          * <br>Note that this overrides all other trim styles.
451          * <p><b>Used By:</b><ul>   456          * <p><b>Used By:</b><ul>
452          * <li><code>Decorations</code> and subclasses</li>   457          * <li><code>Decorations</code> and subclasses</li>
453          * </ul></p>   458          * </ul></p>
454          */   459          */
455         public static final int NO_TRIM = 1 << 3;   460         public static final int NO_TRIM = 1 << 3;
456           461        
457         /**   462         /**
458          * Style constant for resize box trim (value is 1&lt;&lt;4).   463          * Style constant for resize box trim (value is 1&lt;&lt;4).
459          * <p><b>Used By:</b><ul>   464          * <p><b>Used By:</b><ul>
460          * <li><code>Decorations</code> and subclasses</li>   465          * <li><code>Decorations</code> and subclasses</li>
461          * </ul></p>   466          * </ul></p>
462          */   467          */
463         public static final int RESIZE = 1 << 4;   468         public static final int RESIZE = 1 << 4;
464     469  
465         /**   470         /**
466          * Style constant for title area trim (value is 1&lt;&lt;5).   471          * Style constant for title area trim (value is 1&lt;&lt;5).
467          * <p><b>Used By:</b><ul>   472          * <p><b>Used By:</b><ul>
468          * <li><code>Decorations</code> and subclasses</li>   473          * <li><code>Decorations</code> and subclasses</li>
469          * </ul></p>   474          * </ul></p>
470          */   475          */
471         public static final int TITLE = 1 << 5;   476         public static final int TITLE = 1 << 5;
472     477  
473         /**   478         /**
474          * Style constant for close box trim (value is 1&lt;&lt;6,   479          * Style constant for close box trim (value is 1&lt;&lt;6,
475          * since we do not distinguish between CLOSE style and MENU style).   480          * since we do not distinguish between CLOSE style and MENU style).
476          * <p><b>Used By:</b><ul>   481          * <p><b>Used By:</b><ul>
477          * <li><code>Decorations</code> and subclasses</li>   482          * <li><code>Decorations</code> and subclasses</li>
478          * </ul></p>   483          * </ul></p>
479          */   484          */
480         public static final int CLOSE = 1 << 6;   485         public static final int CLOSE = 1 << 6;
481     486  
482         /**   487         /**
483          * Style constant for shell menu trim (value is 1&lt;&lt;6,   488          * Style constant for shell menu trim (value is 1&lt;&lt;6,
484          * since we do not distinguish between CLOSE style and MENU style).   489          * since we do not distinguish between CLOSE style and MENU style).
485          * <p><b>Used By:</b><ul>   490          * <p><b>Used By:</b><ul>
486          * <li><code>Decorations</code> and subclasses</li>   491          * <li><code>Decorations</code> and subclasses</li>
487          * </ul></p>   492          * </ul></p>
488          */   493          */
489         public static final int MENU = CLOSE;   494         public static final int MENU = CLOSE;
490     495  
491         /**   496         /**
492          * Style constant for minimize box trim (value is 1&lt;&lt;7).   497          * Style constant for minimize box trim (value is 1&lt;&lt;7).
493          * <p><b>Used By:</b><ul>   498          * <p><b>Used By:</b><ul>
494          * <li><code>Decorations</code> and subclasses</li>   499          * <li><code>Decorations</code> and subclasses</li>
495          * </ul></p>   500          * </ul></p>
496          */   501          */
497         public static final int MIN = 1 << 7;   502         public static final int MIN = 1 << 7;
498     503  
499         /**   504         /**
500          * Style constant for maximize box trim (value is 1&lt;&lt;10).   505          * Style constant for maximize box trim (value is 1&lt;&lt;10).
501          * <p><b>Used By:</b><ul>   506          * <p><b>Used By:</b><ul>
502          * <li><code>Decorations</code> and subclasses</li>   507          * <li><code>Decorations</code> and subclasses</li>
503          * </ul></p>   508          * </ul></p>
504          */   509          */
505         public static final int MAX = 1 << 10;   510         public static final int MAX = 1 << 10;
506     511  
507         /**   512         /**
508          * Style constant for horizontal scrollbar behavior (value is 1&lt;&lt;8).   513          * Style constant for horizontal scrollbar behavior (value is 1&lt;&lt;8).
509          * <p><b>Used By:</b><ul>   514          * <p><b>Used By:</b><ul>
510          * <li><code>Scrollable</code> and subclasses</li>   515          * <li><code>Scrollable</code> and subclasses</li>
511          * </ul></p>   516          * </ul></p>
512          */   517          */
513         public static final int H_SCROLL = 1 << 8;   518         public static final int H_SCROLL = 1 << 8;
514     519  
515         /**   520         /**
516          * Style constant for vertical scrollbar behavior (value is 1&lt;&lt;9).   521          * Style constant for vertical scrollbar behavior (value is 1&lt;&lt;9).
517          * <p><b>Used By:</b><ul>   522          * <p><b>Used By:</b><ul>
518          * <li><code>Scrollable</code> and subclasses</li>   523          * <li><code>Scrollable</code> and subclasses</li>
519          * </ul></p>   524          * </ul></p>
520          */   525          */
521         public static final int V_SCROLL = 1 << 9;   526         public static final int V_SCROLL = 1 << 9;
522     527  
523         /**   528         /**
524          * Style constant for bordered behavior (value is 1&lt;&lt;11).   529          * Style constant for bordered behavior (value is 1&lt;&lt;11).
525          * <br>Note that this is a <em>HINT</em>.   530          * <br>Note that this is a <em>HINT</em>.
526          * <p><b>Used By:</b><ul>   531          * <p><b>Used By:</b><ul>
527          * <li><code>Control</code> and subclasses</li>   532          * <li><code>Control</code> and subclasses</li>
528          * </ul></p>   533          * </ul></p>
529          */   534          */
530         public static final int BORDER = 1 << 11;   535         public static final int BORDER = 1 << 11;
531     536  
532         /**   537         /**
533          * Style constant indicating that the window manager should clip   538          * Style constant indicating that the window manager should clip
534          * a widget's children with respect to its viewable area. (value is 1&lt;&lt;12).   539          * a widget's children with respect to its viewable area. (value is 1&lt;&lt;12).
535          * <br>Note that this is a <em>HINT</em>.   540          * <br>Note that this is a <em>HINT</em>.
536          * <p><b>Used By:</b><ul>   541          * <p><b>Used By:</b><ul>
537          * <li><code>Control</code> and subclasses</li>   542          * <li><code>Control</code> and subclasses</li>
538          * </ul></p>   543          * </ul></p>
539          */   544          */
540         public static final int CLIP_CHILDREN = 1 << 12;   545         public static final int CLIP_CHILDREN = 1 << 12;
541     546  
542         /**   547         /**
543          * Style constant indicating that the window manager should clip   548          * Style constant indicating that the window manager should clip
544          * a widget's siblings with respect to its viewable area. (value is 1&lt;&lt;13).   549          * a widget's siblings with respect to its viewable area. (value is 1&lt;&lt;13).
545          * <br>Note that this is a <em>HINT</em>.   550          * <br>Note that this is a <em>HINT</em>.
546          * <p><b>Used By:</b><ul>   551          * <p><b>Used By:</b><ul>
547          * <li><code>Control</code> and subclasses</li>   552          * <li><code>Control</code> and subclasses</li>
548          * </ul></p>   553          * </ul></p>
549          */   554          */
550         public static final int CLIP_SIBLINGS = 1 << 13;   555         public static final int CLIP_SIBLINGS = 1 << 13;
551     556  
552         /**   557         /**
553          * Style constant for always on top behavior (value is 1&lt;&lt;14).   558          * Style constant for always on top behavior (value is 1&lt;&lt;14).
554          * <br>Note that this is a <em>HINT</em>.   559          * <br>Note that this is a <em>HINT</em>.
555          * <p><b>Used By:</b><ul>   560          * <p><b>Used By:</b><ul>
556          * <li><code>Shell</code> and subclasses</li>   561          * <li><code>Shell</code> and subclasses</li>
557          * </ul></p>   562          * </ul></p>
558          */   563          */
559         public static final int ON_TOP = 1 << 14;   564         public static final int ON_TOP = 1 << 14;
560     565  
561         /**   566         /**
562          * Trim style convenience constant for the most common top level shell appearance   567          * Trim style convenience constant for the most common top level shell appearance
563          * (value is CLOSE|TITLE|MIN|MAX|RESIZE).   568          * (value is CLOSE|TITLE|MIN|MAX|RESIZE).
564          * <p><b>Used By:</b><ul>   569          * <p><b>Used By:</b><ul>
565          * <li><code>Shell</code></li>   570          * <li><code>Shell</code></li>
566          * </ul></p>   571          * </ul></p>
567          */   572          */
568         public static final int SHELL_TRIM = CLOSE | TITLE | MIN | MAX | RESIZE;   573         public static final int SHELL_TRIM = CLOSE | TITLE | MIN | MAX | RESIZE;
569     574  
570         /**   575         /**
571          * Trim style convenience constant for the most common dialog shell appearance   576          * Trim style convenience constant for the most common dialog shell appearance
572          * (value is CLOSE|TITLE|BORDER).   577          * (value is CLOSE|TITLE|BORDER).
573          * <p><b>Used By:</b><ul>   578          * <p><b>Used By:</b><ul>
574          * <li><code>Shell</code></li>   579          * <li><code>Shell</code></li>
575          * </ul></p>   580          * </ul></p>
576          */   581          */
577         public static final int DIALOG_TRIM = TITLE | CLOSE | BORDER;   582         public static final int DIALOG_TRIM = TITLE | CLOSE | BORDER;
578     583  
579         /**   584         /**
580          * Style constant for modeless behavior (value is 0).   585          * Style constant for modeless behavior (value is 0).
581          * <br>Note that this is a <em>HINT</em>.   586          * <br>Note that this is a <em>HINT</em>.
582          * <p><b>Used By:</b><ul>   587          * <p><b>Used By:</b><ul>
583          * <li><code>Dialog</code></li>   588          * <li><code>Dialog</code></li>
584          * <li><code>Shell</code></li>   589          * <li><code>Shell</code></li>
585          * </ul></p>   590          * </ul></p>
586          */   591          */
587         public static final int MODELESS = 0;   592         public static final int MODELESS = 0;
588     593  
589         /**   594         /**
590          * Style constant for primary modal behavior (value is 1&lt;&lt;15).   595          * Style constant for primary modal behavior (value is 1&lt;&lt;15).
591          * <br>Note that this is a <em>HINT</em>.   596          * <br>Note that this is a <em>HINT</em>.
592          * <p><b>Used By:</b><ul>   597          * <p><b>Used By:</b><ul>
593          * <li><code>Dialog</code></li>   598          * <li><code>Dialog</code></li>
594          * <li><code>Shell</code></li>   599          * <li><code>Shell</code></li>
595          * </ul></p>   600          * </ul></p>
596          */   601          */
597         public static final int PRIMARY_MODAL = 1 << 15;   602         public static final int PRIMARY_MODAL = 1 << 15;
598     603  
599         /**   604         /**
600          * Style constant for application modal behavior (value is 1&lt;&lt;16).   605          * Style constant for application modal behavior (value is 1&lt;&lt;16).
601          * <br>Note that this is a <em>HINT</em>.   606          * <br>Note that this is a <em>HINT</em>.
602          * <p><b>Used By:</b><ul>   607          * <p><b>Used By:</b><ul>
603          * <li><code>Dialog</code></li>   608          * <li><code>Dialog</code></li>
604          * <li><code>Shell</code></li>   609          * <li><code>Shell</code></li>
605          * </ul></p>   610          * </ul></p>
606          */   611          */
607         public static final int APPLICATION_MODAL = 1 << 16;   612         public static final int APPLICATION_MODAL = 1 << 16;
608     613  
609         /**   614         /**
610          * Style constant for system modal behavior (value is 1&lt;&lt;17).   615          * Style constant for system modal behavior (value is 1&lt;&lt;17).
611          * <br>Note that this is a <em>HINT</em>.   616          * <br>Note that this is a <em>HINT</em>.
612          * <p><b>Used By:</b><ul>   617          * <p><b>Used By:</b><ul>
613          * <li><code>Dialog</code></li>   618          * <li><code>Dialog</code></li>
614          * <li><code>Shell</code></li>   619          * <li><code>Shell</code></li>
615          * </ul></p>   620          * </ul></p>
616          */   621          */
617         public static final int SYSTEM_MODAL = 1 << 17;   622         public static final int SYSTEM_MODAL = 1 << 17;
618     623  
619         /**   624         /**
620          * Style constant for selection hiding behavior when the widget loses focus (value is 1&lt;&lt;15).   625          * Style constant for selection hiding behavior when the widget loses focus (value is 1&lt;&lt;15).
621          * <br>Note that this is a <em>HINT</em>.   626          * <br>Note that this is a <em>HINT</em>.
622          * <p><b>Used By:</b><ul>   627          * <p><b>Used By:</b><ul>
623          * <li><code>Table</code></li>   628          * <li><code>Table</code></li>
624          * </ul></p>   629          * </ul></p>
625          */   630          */
626         public static final int HIDE_SELECTION = 1 << 15;   631         public static final int HIDE_SELECTION = 1 << 15;
627     632  
628         /**   633         /**
629          * Style constant for full row selection behavior. (value is 1&lt;&lt;30).   634          * Style constant for full row selection behavior. (value is 1&lt;&lt;30).
630          * <br>Note that this is a <em>HINT</em>.   635          * <br>Note that this is a <em>HINT</em>.
631          * <p><b>Used By:</b><ul>   636          * <p><b>Used By:</b><ul>
632          * <li><code>Table</code></li>   637          * <li><code>Table</code></li>
633          * <li><code>Tree</code></li>   638          * <li><code>Tree</code></li>
634          * </ul></p>   639          * </ul></p>
635          */   640          */
636         public static final int FULL_SELECTION = 1 << 30;   641         public static final int FULL_SELECTION = 1 << 30;
637     642  
638         /**   643         /**
639          * Style constant for flat appearance. (value is 1&lt;&lt;23).   644          * Style constant for flat appearance. (value is 1&lt;&lt;23).
640          * <br>Note that this is a <em>HINT</em>.   645          * <br>Note that this is a <em>HINT</em>.
641          * <p><b>Used By:</b><ul>   646          * <p><b>Used By:</b><ul>
642          * <li><code>Button</code></li>   647          * <li><code>Button</code></li>
643          * </ul></p>   648          * </ul></p>
644          */   649          */
645         public static final int FLAT = 1 << 23;   650         public static final int FLAT = 1 << 23;
646     651  
647         /**   652         /**
648          * Style constant for flat appearance. (value is 1&lt;&lt;16).   653          * Style constant for flat appearance. (value is 1&lt;&lt;16).
649          * <br>Note that this is a <em>HINT</em>.   654          * <br>Note that this is a <em>HINT</em>.
650          * <p><b>Used By:</b><ul>   655          * <p><b>Used By:</b><ul>
651          * <li><code>ProgressBar</code></li>   656          * <li><code>ProgressBar</code></li>
652          * </ul></p>   657          * </ul></p>
653          */   658          */
654         public static final int SMOOTH = 1 << 16;   659         public static final int SMOOTH = 1 << 16;
655     660  
656         /**   661         /**
657          * Style constant for no background behavior (value is 1&lt;&lt;18).   662          * Style constant for no background behavior (value is 1&lt;&lt;18).
658          * <p>   663          * <p>
659          * By default, before a widget paints, the client area is filled with the current background color.   664          * By default, before a widget paints, the client area is filled with the current background color.
660          * When this style is specified, the background is not filled, and the application is responsible   665          * When this style is specified, the background is not filled, and the application is responsible
661          * for filling every pixel of the client area.   666          * for filling every pixel of the client area.
662          * This style might be used as an alternative to "double-buffering" in order to reduce flicker.   667          * This style might be used as an alternative to "double-buffering" in order to reduce flicker.
663          * This style does not mean "transparent" - widgets that are obscured will not draw through.   668          * This style does not mean "transparent" - widgets that are obscured will not draw through.
664          * </p><p><b>Used By:</b><ul>   669          * </p><p><b>Used By:</b><ul>
665          * <li><code>Composite</code></li>   670          * <li><code>Composite</code></li>
666          * </ul></p>   671          * </ul></p>
667          */   672          */
668         public static final int NO_BACKGROUND = 1 << 18;   673         public static final int NO_BACKGROUND = 1 << 18;
669     674  
670         /**   675         /**
671          * Style constant for no focus from the mouse behavior (value is 1&lt;&lt;19).   676          * Style constant for no focus from the mouse behavior (value is 1&lt;&lt;19).
672          * <br>Note that this is a <em>HINT</em>.   677          * <br>Note that this is a <em>HINT</em>.
673          * <p><b>Used By:</b><ul>   678          * <p><b>Used By:</b><ul>
674          * <li><code>Composite</code></li>   679          * <li><code>Composite</code></li>
675          * </ul></p>   680          * </ul></p>
676          */   681          */
677         public static final int NO_FOCUS = 1 << 19;   682         public static final int NO_FOCUS = 1 << 19;
678     683  
679         /**   684         /**
680          * Style constant for no redraw on resize behavior (value is 1&lt;&lt;20).   685          * Style constant for no redraw on resize behavior (value is 1&lt;&lt;20).
681          * <p>   686          * <p>
682          * This style stops the entire client area from being invalidated when the size   687          * This style stops the entire client area from being invalidated when the size
683          * of the Canvas changes. Specifically, when the size of the Canvas gets smaller,   688          * of the Canvas changes. Specifically, when the size of the Canvas gets smaller,
684          * the SWT.Paint event is not sent. When it gets bigger, an SWT.Paint event is   689          * the SWT.Paint event is not sent. When it gets bigger, an SWT.Paint event is
685          * sent with a GC clipped to only the new areas to be painted. Without this   690          * sent with a GC clipped to only the new areas to be painted. Without this
686          * style, the entire client area will be repainted.   691          * style, the entire client area will be repainted.
687          * </p><p><b>Used By:</b><ul>   692          * </p><p><b>Used By:</b><ul>
688          * <li><code>Composite</code></li>   693          * <li><code>Composite</code></li>
689          * </ul></p>   694          * </ul></p>
690          */   695          */
691         public static final int NO_REDRAW_RESIZE = 1 << 20;   696         public static final int NO_REDRAW_RESIZE = 1 << 20;
692     697  
693         /**   698         /**
694          * Style constant for no paint event merging behavior (value is 1&lt;&lt;21).   699          * Style constant for no paint event merging behavior (value is 1&lt;&lt;21).
695          * <p><b>Used By:</b><ul>   700          * <p><b>Used By:</b><ul>
696          * <li><code>Composite</code></li>   701          * <li><code>Composite</code></li>
697          * </ul></p>   702          * </ul></p>
698          */   703          */
699         public static final int NO_MERGE_PAINTS = 1 << 21;   704         public static final int NO_MERGE_PAINTS = 1 << 21;
700     705  
701         /**   706         /**
702          * Style constant for preventing child radio group behavior (value is 1&lt;&lt;22).   707          * Style constant for preventing child radio group behavior (value is 1&lt;&lt;22).
703          * <p><b>Used By:</b><ul>   708          * <p><b>Used By:</b><ul>
704          * <li><code>Composite</code></li>   709          * <li><code>Composite</code></li>
705          * </ul></p>   710          * </ul></p>
706          */   711          */
707         public static final int NO_RADIO_GROUP = 1 << 22;   712         public static final int NO_RADIO_GROUP = 1 << 22;
708           713        
709         /**   714         /**
710          * Style constant for left to right orientation (value is 1&lt;&lt;25).   715          * Style constant for left to right orientation (value is 1&lt;&lt;25).
711          * <p>   716          * <p>
712          * When orientation is not explicitly specified, orientation is   717          * When orientation is not explicitly specified, orientation is
713          * inherited.  This means that children will be assigned the   718          * inherited.  This means that children will be assigned the
714          * orientation of their parent.  To override this behavior and   719          * orientation of their parent.  To override this behavior and
715          * force an orientation for a child, explicitly set the orientation   720          * force an orientation for a child, explicitly set the orientation
716          * of the child when that child is created.   721          * of the child when that child is created.
717          * </p>   722          * </p>
718          * <br>Note that this is a <em>HINT</em>.   723          * <br>Note that this is a <em>HINT</em>.
719          * <p><b>Used By:</b><ul>   724          * <p><b>Used By:</b><ul>
720          * <li><code>Control</code></li>   725          * <li><code>Control</code></li>
721          * <li><code>Menu</code></li>   726          * <li><code>Menu</code></li>
722          * <li><code>GC</code></li>   727          * <li><code>GC</code></li>
723          * </ul></p>   728          * </ul></p>
724          *   729          *
725          * @since 2.1.2   730          * @since 2.1.2
726          */   731          */
727         public static final int LEFT_TO_RIGHT = 1 << 25;   732         public static final int LEFT_TO_RIGHT = 1 << 25;
728           733        
729         /**   734         /**
730          * Style constant for right to left orientation (value is 1&lt;&lt;26).   735          * Style constant for right to left orientation (value is 1&lt;&lt;26).
731          * <p>   736          * <p>
732          * When orientation is not explicitly specified, orientation is   737          * When orientation is not explicitly specified, orientation is
733          * inherited.  This means that children will be assigned the   738          * inherited.  This means that children will be assigned the
734          * orientation of their parent.  To override this behavior and   739          * orientation of their parent.  To override this behavior and
735          * force an orientation for a child, explicitly set the orientation   740          * force an orientation for a child, explicitly set the orientation
736          * of the child when that child is created.   741          * of the child when that child is created.
737          * </p>   742          * </p>
738          * <br>Note that this is a <em>HINT</em>.   743          * <br>Note that this is a <em>HINT</em>.
739          * <p><b>Used By:</b><ul>   744          * <p><b>Used By:</b><ul>
740          * <li><code>Control</code></li>   745          * <li><code>Control</code></li>
741          * <li><code>Menu</code></li>   746          * <li><code>Menu</code></li>
742          * <li><code>GC</code></li>   747          * <li><code>GC</code></li>
743          * </ul></p>   748          * </ul></p>
744          *   749          *
745          * @since 2.1.2   750          * @since 2.1.2
746          */   751          */
747         public static final int RIGHT_TO_LEFT = 1 << 26;   752         public static final int RIGHT_TO_LEFT = 1 << 26;
748           753        
749         /**   754         /**
750          * Style constant to indicate coordinate mirroring (value is 1&lt;&lt;27).   755          * Style constant to indicate coordinate mirroring (value is 1&lt;&lt;27).
751          * <p><b>Used By:</b><ul>   756          * <p><b>Used By:</b><ul>
752          * <li><code>Control</code></li>   757          * <li><code>Control</code></li>
753          * <li><code>Menu</code></li>   758          * <li><code>Menu</code></li>
754          * </ul></p>   759          * </ul></p>
755          *   760          *
756          * @since 2.1.2   761          * @since 2.1.2
757          */   762          */
758         public static final int MIRRORED = 1 << 27;   763         public static final int MIRRORED = 1 << 27;
759     764  
760         /**   765         /**
761          * Style constant to indicate double buffering (value is 1&lt;&lt;29).   766          * Style constant to indicate double buffering (value is 1&lt;&lt;29).
762          * <p><b>Used By:</b><ul>   767          * <p><b>Used By:</b><ul>
763          * <li><code>Control</code></li>   768          * <li><code>Control</code></li>
764          * </ul></p>   769          * </ul></p>
765          *   770          *
766          * @since 3.1   771          * @since 3.1
767          */   772          */
768         public static final int DOUBLE_BUFFERED = 1 << 29;   773         public static final int DOUBLE_BUFFERED = 1 << 29;
769     774  
770         /**   775         /**
771          * Style constant to allow virtual data (value is 1&lt;&lt;28).   776          * Style constant to allow virtual data (value is 1&lt;&lt;28).
772          * <p><b>Used By:</b><ul>   777          * <p><b>Used By:</b><ul>
773          * <li><code>MultipageDialog</code></li>   778          * <li><code>MultipageDialog</code></li>
774          * <li><code>Table</code></li>   779          * <li><code>Table</code></li>
775          * <li><code>Tree</code></li>   780          * <li><code>Tree</code></li>
776          * </ul></p>   781          * </ul></p>
777          *   782          *
778          * @since eRCP 1.2   783          * @since eRCP 1.2
779          */   784          */
780         public static final int VIRTUAL = 1 << 28;   785         public static final int VIRTUAL = 1 << 28;
781     786  
782         /**   787         /**
783          * Style constant for align up behavior (value is 1&lt;&lt;7,   788          * Style constant for align up behavior (value is 1&lt;&lt;7,
784          * since align UP and align TOP are considered the same).   789          * since align UP and align TOP are considered the same).
785          * <p><b>Used By:</b><ul>   790          * <p><b>Used By:</b><ul>
786          * <li><code>Button</code> with <code>ARROW</code> style</li>   791          * <li><code>Button</code> with <code>ARROW</code> style</li>
787          * </ul></p>   792          * </ul></p>
788          */   793          */
789         public static final int UP = 1 << 7;   794         public static final int UP = 1 << 7;
790     795  
791         /**   796         /**
792          * Style constant for align top behavior (value is 1&lt;&lt;7,   797          * Style constant for align top behavior (value is 1&lt;&lt;7,
793          * since align UP and align TOP are considered the same).   798          * since align UP and align TOP are considered the same).
794          * <p><b>Used By:</b><ul>   799          * <p><b>Used By:</b><ul>
795          * <li><code>FormAttachment</code> in a <code>FormLayout</code></li>   800          * <li><code>FormAttachment</code> in a <code>FormLayout</code></li>
796          * </ul></p>   801          * </ul></p>
797          */   802          */
798         public static final int TOP = UP;   803         public static final int TOP = UP;
799     804  
800         /**   805         /**
801          * Style constant for align down behavior (value is 1&lt;&lt;10,   806          * Style constant for align down behavior (value is 1&lt;&lt;10,
802          * since align DOWN and align BOTTOM are considered the same).   807          * since align DOWN and align BOTTOM are considered the same).
803          * <p><b>Used By:</b><ul>   808          * <p><b>Used By:</b><ul>
804          * <li><code>Button</code> with <code>ARROW</code> style</li>   809          * <li><code>Button</code> with <code>ARROW</code> style</li>
805          * <li><code>Tracker</code></li>   810          * <li><code>Tracker</code></li>
806          * </ul></p>   811          * </ul></p>
807          */   812          */
808         public static final int DOWN               = 1 << 10;   813         public static final int DOWN               = 1 << 10;
809     814  
810         /**   815         /**
811          * Style constant for align bottom behavior (value is 1&lt;&lt;10,   816          * Style constant for align bottom behavior (value is 1&lt;&lt;10,
812          * since align DOWN and align BOTTOM are considered the same).   817          * since align DOWN and align BOTTOM are considered the same).
813          * <p><b>Used By:</b><ul>   818          * <p><b>Used By:</b><ul>
814          * <li><code>FormAttachment</code> in a <code>FormLayout</code></li>   819          * <li><code>FormAttachment</code> in a <code>FormLayout</code></li>
815          * </ul></p>   820          * </ul></p>
816          */   821          */
817         public static final int BOTTOM             = DOWN;   822         public static final int BOTTOM             = DOWN;
818     823  
819         /**   824         /**
820          * Style constant for leading alignment (value is 1&lt;&lt;14).   825          * Style constant for leading alignment (value is 1&lt;&lt;14).
821          * <p><b>Used By:</b><ul>   826          * <p><b>Used By:</b><ul>
822          * <li><code>Button</code></li>   827          * <li><code>Button</code></li>
823          * <li><code>Label</code></li>   828          * <li><code>Label</code></li>
824          * <li><code>TableColumn</code></li>   829          * <li><code>TableColumn</code></li>
825          * <li><code>Tracker</code></li>   830          * <li><code>Tracker</code></li>
826          * <li><code>FormAttachment</code> in a <code>FormLayout</code></li>   831          * <li><code>FormAttachment</code> in a <code>FormLayout</code></li>
827          * </ul></p>   832          * </ul></p>
828          *   833          *
829          * @since 2.1.2   834          * @since 2.1.2
830          */   835          */
831         public static final int LEAD               = 1 << 14;   836         public static final int LEAD               = 1 << 14;
832           837        
833         /**   838         /**
834          * Style constant for align left behavior (value is 1&lt;&lt;14).   839          * Style constant for align left behavior (value is 1&lt;&lt;14).
835          * This is a synonym for LEAD (value is 1&lt;&lt;14).  Newer   840          * This is a synonym for LEAD (value is 1&lt;&lt;14).  Newer
836          * applications should use LEAD instead of LEFT to make code more   841          * applications should use LEAD instead of LEFT to make code more
837          * understandable on right-to-left platforms.   842          * understandable on right-to-left platforms.
838          */   843          */
839         public static final int LEFT               = LEAD;   844         public static final int LEFT               = LEAD;
840     845  
841         /**   846         /**
842          * Style constant for trailiing alignment (value is 1&lt;&lt;17).   847          * Style constant for trailiing alignment (value is 1&lt;&lt;17).
843          * <p><b>Used By:</b><ul>   848          * <p><b>Used By:</b><ul>
844          * <li><code>Button</code></li>   849          * <li><code>Button</code></li>
845          * <li><code>Label</code></li>   850          * <li><code>Label</code></li>
846          * <li><code>TableColumn</code></li>   851          * <li><code>TableColumn</code></li>
847          * <li><code>Tracker</code></li>   852          * <li><code>Tracker</code></li>
848          * <li><code>FormAttachment</code> in a <code>FormLayout</code></li>   853          * <li><code>FormAttachment</code> in a <code>FormLayout</code></li>
849          * </ul></p>   854          * </ul></p>
850          *   855          *
851          * @since 2.1.2   856          * @since 2.1.2
852          */   857          */
853         public static final int TRAIL              = 1 << 17;   858         public static final int TRAIL              = 1 << 17;
854                   859                
855         /**   860         /**
856          * Style constant for align right behavior (value is 1&lt;&lt;17).   861          * Style constant for align right behavior (value is 1&lt;&lt;17).
857          * This is a synonym for TRAIL (value is 1&lt;&lt;14).  Newer   862          * This is a synonym for TRAIL (value is 1&lt;&lt;14).  Newer
858          * applications should use TRAIL instead of RIGHT to make code more   863          * applications should use TRAIL instead of RIGHT to make code more
859          * understandable on right-to-left platforms.   864          * understandable on right-to-left platforms.
860          */   865          */
861         public static final int RIGHT              = TRAIL;   866         public static final int RIGHT              = TRAIL;
862     867  
863         /**   868         /**
864          * Style constant for align center behavior (value is 1&lt;&lt;24).   869          * Style constant for align center behavior (value is 1&lt;&lt;24).
865          * <p><b>Used By:</b><ul>   870          * <p><b>Used By:</b><ul>
866          * <li><code>Button</code></li>   871          * <li><code>Button</code></li>
867          * <li><code>Label</code></li>   872          * <li><code>Label</code></li>
868          * <li><code>TableColumn</code></li>   873          * <li><code>TableColumn</code></li>
869          * <li><code>FormAttachment</code> in a <code>FormLayout</code></li>   874          * <li><code>FormAttachment</code> in a <code>FormLayout</code></li>
870          * </ul></p>   875          * </ul></p>
871          */   876          */
872         public static final int CENTER = 1 << 24;   877         public static final int CENTER = 1 << 24;
873     878  
874         /**   879         /**
875          * Style constant for horizontal alignment or orientation behavior (value is 1&lt;&lt;8).   880          * Style constant for horizontal alignment or orientation behavior (value is 1&lt;&lt;8).
876          * <p><b>Used By:</b><ul>   881          * <p><b>Used By:</b><ul>
877          * <li><code>Label</code></li>   882          * <li><code>Label</code></li>
878          * <li><code>ProgressBar</code></li>   883          * <li><code>ProgressBar</code></li>
879          * <li><code>Sash</code></li>   884          * <li><code>Sash</code></li>
880          * <li><code>Scale</code></li>   885          * <li><code>Scale</code></li>
881          * <li><code>ScrollBar</code></li>   886          * <li><code>ScrollBar</code></li>
882          * <li><code>Slider</code></li>   887          * <li><code>Slider</code></li>
883          * <li><code>ToolBar</code></li>   888          * <li><code>ToolBar</code></li>
884          * <li><code>FillLayout</code> type</li>   889          * <li><code>FillLayout</code> type</li>
885          * <li><code>RowLayout</code> type</li>   890          * <li><code>RowLayout</code> type</li>
886          * </ul></p>   891          * </ul></p>
887          */   892          */
888         public static final int HORIZONTAL = 1 << 8;   893         public static final int HORIZONTAL = 1 << 8;
889     894  
890         /**   895         /**
891          * Style constant for vertical alignment or orientation behavior (value is 1&lt;&lt;9).   896          * Style constant for vertical alignment or orientation behavior (value is 1&lt;&lt;9).
892          * <p><b>Used By:</b><ul>   897          * <p><b>Used By:</b><ul>
893          * <li><code>Label</code></li>   898          * <li><code>Label</code></li>
894          * <li><code>ProgressBar</code></li>   899          * <li><code>ProgressBar</code></li>
895          * <li><code>Sash</code></li>   900          * <li><code>Sash</code></li>
896          * <li><code>Scale</code></li>   901          * <li><code>Scale</code></li>
897          * <li><code>ScrollBar</code></li>   902          * <li><code>ScrollBar</code></li>
898          * <li><code>Slider</code></li>   903          * <li><code>Slider</code></li>
899          * <li><code>ToolBar</code></li>   904          * <li><code>ToolBar</code></li>
900          * <li><code>FillLayout</code> type</li>   905          * <li><code>FillLayout</code> type</li>
901          * <li><code>RowLayout</code> type</li>   906          * <li><code>RowLayout</code> type</li>
902          * </ul></p>   907          * </ul></p>
903          */   908          */
904         public static final int VERTICAL = 1 << 9;   909         public static final int VERTICAL = 1 << 9;
905     910  
906         /**   911         /**
907          * Style constant for vertical alignment or orientation behavior (value is 1).   912          * Style constant for vertical alignment or orientation behavior (value is 1).
908          * <p><b>Used By:</b><ul>   913          * <p><b>Used By:</b><ul>
909          * <li><code>GridLayout</code> type</li>   914          * <li><code>GridLayout</code> type</li>
910          * </ul></p>   915          * </ul></p>
911          */   916          */
912         public static final int BEGINNING = 1;   917         public static final int BEGINNING = 1;
913           918        
914         /**   919         /**
915          * Style constant for vertical alignment or orientation behavior (value is 4).   920          * Style constant for vertical alignment or orientation behavior (value is 4).
916          * <p><b>Used By:</b><ul>   921          * <p><b>Used By:</b><ul>
917          * <li><code>GridLayout</code> type</li>   922          * <li><code>GridLayout</code> type</li>
918          * </ul></p>   923          * </ul></p>
919          */   924          */
920         public static final int FILL = 4;   925         public static final int FILL = 4;
    <> 926  
      927     /**
      928      * Style constant for align vertical middle behavior (value is 1&lt;&lt;16).
      929      */
      930     public static final int MIDDLE = 1 << 16;
921         = 931        
922         /**   932         /**
923          * Input Method Editor style constant for double byte   933          * Input Method Editor style constant for double byte
924          * input behavior (value is 1&lt;&lt;1).   934          * input behavior (value is 1&lt;&lt;1).
925          */   935          */
926         public static final int DBCS = 1 << 1;   936         public static final int DBCS = 1 << 1;
927     937  
928         /**   938         /**
929          * Input Method Editor style constant for alpha   939          * Input Method Editor style constant for alpha
930          * input behavior (value is 1&lt;&lt;2).   940          * input behavior (value is 1&lt;&lt;2).
931          */   941          */
932         public static final int ALPHA = 1 << 2;   942         public static final int ALPHA = 1 << 2;
933     943  
934         /**   944         /**
935          * Input Method Editor style constant for native   945          * Input Method Editor style constant for native
936          * input behavior (value is 1&lt;&lt;3).   946          * input behavior (value is 1&lt;&lt;3).
937          */   947          */
938         public static final int NATIVE = 1 << 3;   948         public static final int NATIVE = 1 << 3;
939     949  
940         /**   950         /**
941          * Input Method Editor style constant for phonetic   951          * Input Method Editor style constant for phonetic
942          * input behavior (value is 1&lt;&lt;4).   952          * input behavior (value is 1&lt;&lt;4).
943          */   953          */
944         public static final int PHONETIC = 1 << 4;   954         public static final int PHONETIC = 1 << 4;
945     955  
946         /**   956         /**
947          * Input Method Editor style constant for romanicized   957          * Input Method Editor style constant for romanicized
948          * input behavior (value is 1&lt;&lt;5).   958          * input behavior (value is 1&lt;&lt;5).
949          */   959          */
950         public static final int ROMAN = 1 << 5;   960         public static final int ROMAN = 1 << 5;
951     961  
952         /**   962         /**
953          * ASCII character convenience constant for the backspace character   963          * ASCII character convenience constant for the backspace character
954          * (value is the <code>char</code> '\b').   964          * (value is the <code>char</code> '\b').
955          */   965          */
956         public static final char BS = '\b';   966         public static final char BS = '\b';
957     967  
958         /**   968         /**
959          * ASCII character convenience constant for the carriage return character   969          * ASCII character convenience constant for the carriage return character
960          * (value is the <code>char</code> '\r').   970          * (value is the <code>char</code> '\r').
961          */   971          */
962         public static final char CR = '\r';   972         public static final char CR = '\r';
963     973  
964         /**   974         /**
965          * ASCII character convenience constant for the delete character   975          * ASCII character convenience constant for the delete character
966          * (value is the <code>char</code> with value 127).   976          * (value is the <code>char</code> with value 127).
967          */   977          */
968         public static final char DEL = 0x7F;   978         public static final char DEL = 0x7F;
969   979
970         /**   980         /**
971          * ASCII character convenience constant for the escape character   981          * ASCII character convenience constant for the escape character
972          * (value is the <code>char</code> with value 27).   982          * (value is the <code>char</code> with value 27).
973          */   983          */
974         public static final char ESC = 0x1B;   984         public static final char ESC = 0x1B;
975     985  
976         /**   986         /**
977          * ASCII character convenience constant for the line feed character   987          * ASCII character convenience constant for the line feed character
978          * (value is the <code>char</code> '\n').   988          * (value is the <code>char</code> '\n').
979          */   989          */
980         public static final char LF = '\n';   990         public static final char LF = '\n';
981     991  
982         /**   992         /**
983          * ASCII character convenience constant for the tab character   993          * ASCII character convenience constant for the tab character
984          * (value is the <code>char</code> '\t').   994          * (value is the <code>char</code> '\t').
985          *   995          *
986          * @since 2.1   996          * @since 2.1
987          */   997          */
988         public static final char TAB = '\t';   998         public static final char TAB = '\t';
989                                                   999                                                
990         /**   1000         /**
991          * keyboard and/or mouse event mask indicating that the ALT key   1001          * keyboard and/or mouse event mask indicating that the ALT key
992          * was pushed on the keyboard when the event was generated   1002          * was pushed on the keyboard when the event was generated
993          * (value is 1&lt;&lt;16).   1003          * (value is 1&lt;&lt;16).
994          */   1004          */
995         public static final int ALT = 1 << 16;   1005         public static final int ALT = 1 << 16;
996                                           1006                                        
997         /**   1007         /**
998          * Keyboard and/or mouse event mask indicating that the SHIFT key   1008          * Keyboard and/or mouse event mask indicating that the SHIFT key
999          * was pushed on the keyboard when the event was generated   1009          * was pushed on the keyboard when the event was generated
1000          * (value is 1&lt;&lt;17).   1010          * (value is 1&lt;&lt;17).
1001          */   1011          */
1002         public static final int SHIFT = 1 << 17;   1012         public static final int SHIFT = 1 << 17;
1003                                           1013                                        
1004         /**   1014         /**
1005          * Keyboard and/or mouse event mask indicating that the CTRL key   1015          * Keyboard and/or mouse event mask indicating that the CTRL key
1006          * was pushed on the keyboard when the event was generated   1016          * was pushed on the keyboard when the event was generated
1007          * (value is 1&lt;&lt;18).   1017          * (value is 1&lt;&lt;18).
1008          */   1018          */
1009         public static final int CTRL = 1 << 18;   1019         public static final int CTRL = 1 << 18;
1010     1020  
1011         /**   1021         /**
1012          * Keyboard and/or mouse event mask indicating that the CTRL key   1022          * Keyboard and/or mouse event mask indicating that the CTRL key
1013          * was pushed on the keyboard when the event was generated. This   1023          * was pushed on the keyboard when the event was generated. This
1014          * is a synonym for CTRL (value is 1&lt;&lt;18).   1024          * is a synonym for CTRL (value is 1&lt;&lt;18).
1015          */   1025          */
1016         public static final int CONTROL = CTRL;   1026         public static final int CONTROL = CTRL;
1017     1027  
1018         /**   1028         /**
1019          * Keyboard and/or mouse event mask indicating that the COMMAND key   1029          * Keyboard and/or mouse event mask indicating that the COMMAND key
1020          * was pushed on the keyboard when the event was generated   1030          * was pushed on the keyboard when the event was generated
1021          * (value is 1&lt;&lt;22).   1031          * (value is 1&lt;&lt;22).
1022          *   1032          *
1023          * @since 2.1   1033          * @since 2.1
1024          */   1034          */
1025         public static final int COMMAND = 1 << 22;   1035         public static final int COMMAND = 1 << 22;
1026           1036        
1027         /**   1037         /**
1028          * Keyboard and/or mouse event mask indicating all possible   1038          * Keyboard and/or mouse event mask indicating all possible
1029          * keyboard modifiers.   1039          * keyboard modifiers.
1030          *   1040          *
1031          * To allow for the future, this mask  is intended to be used in   1041          * To allow for the future, this mask  is intended to be used in
1032          * place of code that references  each individual keyboard mask.   1042          * place of code that references  each individual keyboard mask.
1033          *  For example, the following expression will determine whether   1043          *  For example, the following expression will determine whether
1034          * any modifer is pressed and will continue to work as new modifier   1044          * any modifer is pressed and will continue to work as new modifier
1035          * masks are added.   1045          * masks are added.
1036          *   1046          *
1037          * <code>(stateMask & SWT.MODIFIER_MASK) != 0</code>.   1047          * <code>(stateMask & SWT.MODIFIER_MASK) != 0</code>.
1038          *   1048          *
1039          * @since 2.1   1049          * @since 2.1
1040          */   1050          */
1041         public static final int MODIFIER_MASK;   1051         public static final int MODIFIER_MASK;
1042           1052        
1043         /**   1053         /**
1044          * Keyboard and/or mouse event mask indicating that mouse button one   1054          * Keyboard and/or mouse event mask indicating that mouse button one
1045          * was pushed when the event was generated. (value is 1&lt;&lt;19).   1055          * was pushed when the event was generated. (value is 1&lt;&lt;19).
1046          */   1056          */
1047         public static final int BUTTON1 = 1 << 19;   1057         public static final int BUTTON1 = 1 << 19;
1048     1058  
1049         /**   1059         /**
1050          * Keyboard and/or mouse event mask indicating that mouse button two   1060          * Keyboard and/or mouse event mask indicating that mouse button two
1051          * was pushed when the event was generated. (value is 1&lt;&lt;20).   1061          * was pushed when the event was generated. (value is 1&lt;&lt;20).
1052          */   1062          */
1053         public static final int BUTTON2 = 1 << 20;   1063         public static final int BUTTON2 = 1 << 20;
1054     1064  
1055         /**   1065         /**
1056          * Keyboard and/or mouse event mask indicating that mouse button three   1066          * Keyboard and/or mouse event mask indicating that mouse button three
1057          * was pushed when the event was generated. (value is 1&lt;&lt;21).   1067          * was pushed when the event was generated. (value is 1&lt;&lt;21).
1058          */   1068          */
1059         public static final int BUTTON3 = 1 << 21;   1069         public static final int BUTTON3 = 1 << 21;
1060     1070  
1061         /**   1071         /**
1062          * Keyboard and/or mouse event mask indicating all possible   1072          * Keyboard and/or mouse event mask indicating all possible
1063          * mouse buttons.   1073          * mouse buttons.
1064          *   1074          *
1065          * To allow for the future, this mask  is intended to be used   1075          * To allow for the future, this mask  is intended to be used
1066          * in place of code that references each individual button mask.    1076          * in place of code that references each individual button mask. 
1067          * For example, the following expression will determine whether   1077          * For example, the following expression will determine whether
1068          * any button is pressed and will continue to work as new button   1078          * any button is pressed and will continue to work as new button
1069          * masks are added.   1079          * masks are added.
1070          *   1080          *
1071          * <code>(stateMask & SWT.BUTTON_MASK) != 0</code>.   1081          * <code>(stateMask & SWT.BUTTON_MASK) != 0</code>.
1072          *   1082          *
1073          * @since 2.1   1083          * @since 2.1
1074          */   1084          */
1075         public static final int BUTTON_MASK;   1085         public static final int BUTTON_MASK;
1076           1086        
1077         /**   1087         /**
1078          * Keyboard and/or mouse event mask indicating that the MOD1 key   1088          * Keyboard and/or mouse event mask indicating that the MOD1 key
1079          * was pushed on the keyboard when the event was generated.   1089          * was pushed on the keyboard when the event was generated.
1080          *   1090          *
1081          * This is the primary keyboard modifier for the platform.   1091          * This is the primary keyboard modifier for the platform.
1082          *   1092          *
1083          * @since 2.1   1093          * @since 2.1
1084          */   1094          */
1085         public static final int MOD1;   1095         public static final int MOD1;
1086           1096        
1087         /**   1097         /**
1088          * Keyboard and/or mouse event mask indicating that the MOD2 key   1098          * Keyboard and/or mouse event mask indicating that the MOD2 key
1089          * was pushed on the keyboard when the event was generated.   1099          * was pushed on the keyboard when the event was generated.
1090          *   1100          *
1091          * This is the secondary keyboard modifier for the platform.   1101          * This is the secondary keyboard modifier for the platform.
1092          *   1102          *
1093          * @since 2.1   1103          * @since 2.1
1094          */   1104          */
1095         public static final int MOD2;   1105         public static final int MOD2;
1096     1106  
1097         /**   1107         /**
1098          * Keyboard and/or mouse event mask indicating that the MOD3 key   1108          * Keyboard and/or mouse event mask indicating that the MOD3 key
1099          * was pushed on the keyboard when the event was generated.   1109          * was pushed on the keyboard when the event was generated.
1100          *   1110          *
1101          * @since 2.1   1111          * @since 2.1
1102          */   1112          */
1103         public static final int MOD3;   1113         public static final int MOD3;
1104     1114  
1105         /**   1115         /**
1106          * Keyboard and/or mouse event mask indicating that the MOD4 key   1116          * Keyboard and/or mouse event mask indicating that the MOD4 key
1107          * was pushed on the keyboard when the event was generated.   1117          * was pushed on the keyboard when the event was generated.
1108          *   1118          *
1109          * @since 2.1   1119          * @since 2.1
1110          */   1120          */
1111         public static final int MOD4;   1121         public static final int MOD4;
1112           1122        
1113         /**   1123         /**
1114          * Accelerator constant used to differentiate a key code from a   1124          * Accelerator constant used to differentiate a key code from a
1115          * unicode character.   1125          * unicode character.
1116          *   1126          *
1117          * If this bit is set, then the key stroke   1127          * If this bit is set, then the key stroke
1118          * portion of an accelerator represents a key code.  If this bit   1128          * portion of an accelerator represents a key code.  If this bit
1119          * is not set, then the key stroke portion of an accelerator is   1129          * is not set, then the key stroke portion of an accelerator is
1120          * a unicode character.   1130          * a unicode character.
1121          *   1131          *
1122          * The following expression is false:   1132          * The following expression is false:
1123          *   1133          *
1124          * <code>((SWT.MOD1 | SWT.MOD2 | 'T') & SWT.KEYCODE_BIT) != 0</code>.   1134          * <code>((SWT.MOD1 | SWT.MOD2 | 'T') & SWT.KEYCODE_BIT) != 0</code>.
1125          *   1135          *
1126          * The following expression is true:   1136          * The following expression is true:
1127          *   1137          *
1128          * <code>((SWT.MOD3 | SWT.F2) & SWT.KEYCODE_BIT) != 0</code>.   1138          * <code>((SWT.MOD3 | SWT.F2) & SWT.KEYCODE_BIT) != 0</code>.
1129          *   1139          *
1130          * (value is (1&lt;&lt;24))   1140          * (value is (1&lt;&lt;24))
1131          *   1141          *
1132          * @since 2.1   1142          * @since 2.1
1133          */       1143          */    
1134         public static final int KEYCODE_BIT = (1 << 24);   1144         public static final int KEYCODE_BIT = (1 << 24);
1135     1145  
1136         /**   1146         /**
1137          * Accelerator constant used to extract the key stroke portion of   1147          * Accelerator constant used to extract the key stroke portion of
1138          * an accelerator.   1148          * an accelerator.
1139          *   1149          *
1140          * The key stroke may be a key code or a unicode   1150          * The key stroke may be a key code or a unicode
1141          * value.  If the key stroke is a key code <code>KEYCODE_BIT</code>   1151          * value.  If the key stroke is a key code <code>KEYCODE_BIT</code>
1142          * will be set.   1152          * will be set.
1143          *   1153          *
1144          * @since 2.1   1154          * @since 2.1
1145          */       1155          */    
1146         public static final int KEY_MASK = KEYCODE_BIT + 0xFFFF;   1156         public static final int KEY_MASK = KEYCODE_BIT + 0xFFFF;
1147           1157        
1148         /**   1158         /**
1149          * Keyboard event constant representing the UP ARROW key   1159          * Keyboard event constant representing the UP ARROW key
1150          * (value is (1&lt;&lt;24)+1).   1160          * (value is (1&lt;&lt;24)+1).
1151          */   1161          */
1152         public static final int ARROW_UP = KEYCODE_BIT + 1;   1162         public static final int ARROW_UP = KEYCODE_BIT + 1;
1153     1163  
1154         /**   1164         /**
1155          * Keyboard event constant representing the DOWN ARROW key   1165          * Keyboard event constant representing the DOWN ARROW key
1156          * (value is (1&lt;&lt;24)+2).   1166          * (value is (1&lt;&lt;24)+2).
1157          */   1167          */
1158         public static final int ARROW_DOWN = KEYCODE_BIT + 2;   1168         public static final int ARROW_DOWN = KEYCODE_BIT + 2;
1159     1169  
1160         /**   1170         /**
1161          * Keyboard event constant representing the LEFT ARROW key   1171          * Keyboard event constant representing the LEFT ARROW key
1162          * (value is (1&lt;&lt;24)+3).   1172          * (value is (1&lt;&lt;24)+3).
1163          */   1173          */
1164         public static final int ARROW_LEFT = KEYCODE_BIT + 3;   1174         public static final int ARROW_LEFT = KEYCODE_BIT + 3;
1165     1175  
1166         /**   1176         /**
1167          * Keyboard event constant representing the RIGHT ARROW key   1177          * Keyboard event constant representing the RIGHT ARROW key
1168          * (value is (1&lt;&lt;24)+4).   1178          * (value is (1&lt;&lt;24)+4).
1169          */   1179          */
1170         public static final int ARROW_RIGHT = KEYCODE_BIT + 4;   1180         public static final int ARROW_RIGHT = KEYCODE_BIT + 4;
1171     1181  
1172         /**   1182         /**
1173          * Keyboard event constant representing the PAGE UP key   1183          * Keyboard event constant representing the PAGE UP key
1174          * (value is (1&lt;&lt;24)+5).   1184          * (value is (1&lt;&lt;24)+5).
1175          */   1185          */
1176         public static final int PAGE_UP = KEYCODE_BIT + 5;   1186         public static final int PAGE_UP = KEYCODE_BIT + 5;
1177     1187  
1178         /**   1188         /**
1179          * Keyboard event constant representing the PAGE DOWN key   1189          * Keyboard event constant representing the PAGE DOWN key
1180          * (value is (1&lt;&lt;24)+6).   1190          * (value is (1&lt;&lt;24)+6).
1181          */   1191          */
1182         public static final int PAGE_DOWN = KEYCODE_BIT + 6;   1192         public static final int PAGE_DOWN = KEYCODE_BIT + 6;
1183     1193  
1184         /**   1194         /**
1185          * Keyboard event constant representing the HOME key   1195          * Keyboard event constant representing the HOME key
1186          * (value is (1&lt;&lt;24)+7).   1196          * (value is (1&lt;&lt;24)+7).
1187          */   1197          */
1188         public static final int HOME = KEYCODE_BIT + 7;   1198         public static final int HOME = KEYCODE_BIT + 7;
1189     1199  
1190         /**   1200         /**
1191          * Keyboard event constant representing the END key   1201          * Keyboard event constant representing the END key
1192          * (value is (1&lt;&lt;24)+8).   1202          * (value is (1&lt;&lt;24)+8).
1193          */   1203          */
1194         public static final int END = KEYCODE_BIT + 8;   1204         public static final int END = KEYCODE_BIT + 8;
1195     1205  
1196         /**   1206         /**
1197          * Keyboard event constant representing the INSERT key   1207          * Keyboard event constant representing the INSERT key
1198          * (value is (1&lt;&lt;24)+9).   1208          * (value is (1&lt;&lt;24)+9).
1199          */   1209          */
1200         public static final int INSERT = KEYCODE_BIT + 9;   1210         public static final int INSERT = KEYCODE_BIT + 9;
1201     1211  
1202         /**   1212         /**
1203          * Keyboard event constant representing the F1 key   1213          * Keyboard event constant representing the F1 key
1204          * (value is (1&lt;&lt;24)+10).   1214          * (value is (1&lt;&lt;24)+10).
1205          */   1215          */
1206         public static final int F1 = KEYCODE_BIT + 10;   1216         public static final int F1 = KEYCODE_BIT + 10;
1207           1217        
1208         /**   1218         /**
1209          * Keyboard event constant representing the F2 key   1219          * Keyboard event constant representing the F2 key
1210          * (value is (1&lt;&lt;24)+11).   1220          * (value is (1&lt;&lt;24)+11).
1211          */   1221          */
1212         public static final int F2 = KEYCODE_BIT + 11;   1222         public static final int F2 = KEYCODE_BIT + 11;
1213           1223        
1214         /**   1224         /**
1215          * Keyboard event constant representing the F3 key   1225          * Keyboard event constant representing the F3 key
1216          * (value is (1&lt;&lt;24)+12).   1226          * (value is (1&lt;&lt;24)+12).
1217          */   1227          */
1218         public static final int F3 = KEYCODE_BIT + 12;   1228         public static final int F3 = KEYCODE_BIT + 12;
1219           1229        
1220         /**   1230         /**
1221          * Keyboard event constant representing the F4 key   1231          * Keyboard event constant representing the F4 key
1222          * (value is (1&lt;&lt;24)+13).   1232          * (value is (1&lt;&lt;24)+13).
1223          */   1233          */
1224         public static final int F4 = KEYCODE_BIT + 13;   1234         public static final int F4 = KEYCODE_BIT + 13;
1225           1235        
1226         /**   1236         /**
1227          * Keyboard event constant representing the F5 key   1237          * Keyboard event constant representing the F5 key
1228          * (value is (1&lt;&lt;24)+14).   1238          * (value is (1&lt;&lt;24)+14).
1229          */   1239          */
1230         public static final int F5 = KEYCODE_BIT + 14;   1240         public static final int F5 = KEYCODE_BIT + 14;
1231           1241        
1232         /**   1242         /**
1233          * Keyboard event constant representing the F6 key   1243          * Keyboard event constant representing the F6 key
1234          * (value is (1&lt;&lt;24)+15).   1244          * (value is (1&lt;&lt;24)+15).
1235          */   1245          */
1236         public static final int F6 = KEYCODE_BIT + 15;   1246         public static final int F6 = KEYCODE_BIT + 15;
1237           1247        
1238         /**   1248         /**
1239          * Keyboard event constant representing the F7 key   1249          * Keyboard event constant representing the F7 key
1240          * (value is (1&lt;&lt;24)+16).   1250          * (value is (1&lt;&lt;24)+16).
1241          */   1251          */
1242         public static final int F7 = KEYCODE_BIT + 16;   1252         public static final int F7 = KEYCODE_BIT + 16;
1243           1253        
1244         /**   1254         /**
1245          * Keyboard event constant representing the F8 key   1255          * Keyboard event constant representing the F8 key
1246          * (value is (1&lt;&lt;24)+17).   1256          * (value is (1&lt;&lt;24)+17).
1247          */   1257          */
1248         public static final int F8 = KEYCODE_BIT + 17;   1258         public static final int F8 = KEYCODE_BIT + 17;
1249           1259        
1250         /**   1260         /**
1251          * Keyboard event constant representing the F9 key   1261          * Keyboard event constant representing the F9 key
1252          * (value is (1&lt;&lt;24)+18).   1262          * (value is (1&lt;&lt;24)+18).
1253          */   1263          */
1254         public static final int F9 = KEYCODE_BIT + 18;   1264         public static final int F9 = KEYCODE_BIT + 18;
1255           1265        
1256         /**   1266         /**
1257          * Keyboard event constant representing the F10 key   1267          * Keyboard event constant representing the F10 key
1258          * (value is (1&lt;&lt;24)+19).   1268          * (value is (1&lt;&lt;24)+19).
1259          */   1269          */
1260         public static final int F10 = KEYCODE_BIT + 19;   1270         public static final int F10 = KEYCODE_BIT + 19;
1261           1271        
1262         /**   1272         /**
1263          * Keyboard event constant representing the F11 key   1273          * Keyboard event constant representing the F11 key
1264          * (value is (1&lt;&lt;24)+20).   1274          * (value is (1&lt;&lt;24)+20).
1265          */   1275          */
1266         public static final int F11 = KEYCODE_BIT + 20;   1276         public static final int F11 = KEYCODE_BIT + 20;
1267           1277        
1268         /**   1278         /**
1269          * Keyboard event constant representing the F12 key   1279          * Keyboard event constant representing the F12 key
1270          * (value is (1&lt;&lt;24)+21).   1280          * (value is (1&lt;&lt;24)+21).
1271          */   1281          */
1272         public static final int F12 = KEYCODE_BIT + 21;   1282         public static final int F12 = KEYCODE_BIT + 21;
1273     1283  
1274         /**   1284         /**
1275          * Keyboard event constant representing the F13 key   1285          * Keyboard event constant representing the F13 key
1276          * (value is (1&lt;&lt;24)+22).   1286          * (value is (1&lt;&lt;24)+22).
1277          *   1287          *
1278          * @since 3.0   1288          * @since 3.0
1279          */   1289          */
1280         public static final int F13 = KEYCODE_BIT + 22;   1290         public static final int F13 = KEYCODE_BIT + 22;
1281           1291        
1282         /**   1292         /**
1283          * Keyboard event constant representing the F14 key   1293          * Keyboard event constant representing the F14 key
1284          * (value is (1&lt;&lt;24)+23).   1294          * (value is (1&lt;&lt;24)+23).
1285          *   1295          *
1286          * @since 3.0   1296          * @since 3.0
1287          */   1297          */
1288         public static final int F14 = KEYCODE_BIT + 23;   1298         public static final int F14 = KEYCODE_BIT + 23;
1289           1299        
1290         /**   1300         /**
1291          * Keyboard event constant representing the F15 key   1301          * Keyboard event constant representing the F15 key
1292          * (value is (1&lt;&lt;24)+24).   1302          * (value is (1&lt;&lt;24)+24).
1293          *   1303          *
1294          * @since 3.0   1304          * @since 3.0
1295          */   1305          */
1296         public static final int F15 = KEYCODE_BIT + 24;   1306         public static final int F15 = KEYCODE_BIT + 24;
1297           1307        
1298         /**   1308         /**
1299          * Keyboard event constant representing the numeric key   1309          * Keyboard event constant representing the numeric key
1300          * pad multiply key (value is (1&lt;&lt;24)+42).   1310          * pad multiply key (value is (1&lt;&lt;24)+42).
1301          *   1311          *
1302          * @since 3.0   1312          * @since 3.0
1303          */   1313          */
1304         public static final int KEYPAD_MULTIPLY = KEYCODE_BIT + 42;   1314         public static final int KEYPAD_MULTIPLY = KEYCODE_BIT + 42;
1305           1315        
1306         /**   1316         /**
1307          * Keyboard event constant representing the numeric key   1317          * Keyboard event constant representing the numeric key
1308          * pad add key (value is (1&lt;&lt;24)+43).   1318          * pad add key (value is (1&lt;&lt;24)+43).
1309          *   1319          *
1310          * @since 3.0   1320          * @since 3.0
1311          */   1321          */
1312         public static final int KEYPAD_ADD = KEYCODE_BIT + 43;   1322         public static final int KEYPAD_ADD = KEYCODE_BIT + 43;
1313           1323        
1314         /**   1324         /**
1315          * Keyboard event constant representing the numeric key   1325          * Keyboard event constant representing the numeric key
1316          * pad subtract key (value is (1&lt;&lt;24)+45).   1326          * pad subtract key (value is (1&lt;&lt;24)+45).
1317          *   1327          *
1318          * @since 3.0   1328          * @since 3.0
1319          */   1329          */
1320         public static final int KEYPAD_SUBTRACT = KEYCODE_BIT + 45;   1330         public static final int KEYPAD_SUBTRACT = KEYCODE_BIT + 45;
1321     1331  
1322         /**   1332         /**
1323          * Keyboard event constant representing the numeric key   1333          * Keyboard event constant representing the numeric key
1324          * pad decimal key (value is (1&lt;&lt;24)+46).   1334          * pad decimal key (value is (1&lt;&lt;24)+46).
1325          *   1335          *
1326          * @since 3.0   1336          * @since 3.0
1327          */   1337          */
1328         public static final int KEYPAD_DECIMAL = KEYCODE_BIT + 46;   1338         public static final int KEYPAD_DECIMAL = KEYCODE_BIT + 46;
1329     1339  
1330         /**   1340         /**
1331          * Keyboard event constant representing the numeric key   1341          * Keyboard event constant representing the numeric key
1332          * pad divide key (value is (1&lt;&lt;24)+47).   1342          * pad divide key (value is (1&lt;&lt;24)+47).
1333          *   1343          *
1334          * @since 3.0   1344          * @since 3.0
1335          */   1345          */
1336         public static final int KEYPAD_DIVIDE = KEYCODE_BIT + 47;   1346         public static final int KEYPAD_DIVIDE = KEYCODE_BIT + 47;
1337     1347  
1338         /**   1348         /**
1339          * Keyboard event constant representing the numeric key   1349          * Keyboard event constant representing the numeric key
1340          * pad zero key (value is (1&lt;&lt;24)+48).   1350          * pad zero key (value is (1&lt;&lt;24)+48).
1341          *   1351          *
1342          * @since 3.0   1352          * @since 3.0
1343          */   1353          */
1344         public static final int KEYPAD_0 = KEYCODE_BIT + 48;   1354         public static final int KEYPAD_0 = KEYCODE_BIT + 48;
1345     1355  
1346         /**   1356         /**
1347          * Keyboard event constant representing the numeric key   1357          * Keyboard event constant representing the numeric key
1348          * pad one key (value is (1&lt;&lt;24)+49).   1358          * pad one key (value is (1&lt;&lt;24)+49).
1349          *   1359          *
1350          * @since 3.0   1360          * @since 3.0
1351          */   1361          */
1352         public static final int KEYPAD_1 = KEYCODE_BIT + 49;   1362         public static final int KEYPAD_1 = KEYCODE_BIT + 49;
1353     1363  
1354         /**   1364         /**
1355          * Keyboard event constant representing the numeric key   1365          * Keyboard event constant representing the numeric key
1356          * pad two key (value is (1&lt;&lt;24)+50).   1366          * pad two key (value is (1&lt;&lt;24)+50).
1357          *   1367          *
1358          * @since 3.0   1368          * @since 3.0
1359          */   1369          */
1360         public static final int KEYPAD_2 = KEYCODE_BIT + 50;   1370         public static final int KEYPAD_2 = KEYCODE_BIT + 50;
1361     1371  
1362         /**   1372         /**
1363          * Keyboard event constant representing the numeric key   1373          * Keyboard event constant representing the numeric key
1364          * pad three key (value is (1&lt;&lt;24)+51).   1374          * pad three key (value is (1&lt;&lt;24)+51).
1365          *   1375          *
1366          * @since 3.0   1376          * @since 3.0
1367          */   1377          */
1368         public static final int KEYPAD_3 = KEYCODE_BIT + 51;   1378         public static final int KEYPAD_3 = KEYCODE_BIT + 51;
1369     1379  
1370         /**   1380         /**
1371          * Keyboard event constant representing the numeric key   1381          * Keyboard event constant representing the numeric key
1372          * pad four key (value is (1&lt;&lt;24)+52).   1382          * pad four key (value is (1&lt;&lt;24)+52).
1373          *   1383          *
1374          * @since 3.0   1384          * @since 3.0
1375          */   1385          */
1376         public static final int KEYPAD_4 = KEYCODE_BIT + 52;   1386         public static final int KEYPAD_4 = KEYCODE_BIT + 52;
1377           1387        
1378         /**   1388         /**
1379          * Keyboard event constant representing the numeric key   1389          * Keyboard event constant representing the numeric key
1380          * pad five key (value is (1&lt;&lt;24)+53).   1390          * pad five key (value is (1&lt;&lt;24)+53).
1381          *   1391          *
1382          * @since 3.0   1392          * @since 3.0
1383          */   1393          */
1384         public static final int KEYPAD_5 = KEYCODE_BIT + 53;   1394         public static final int KEYPAD_5 = KEYCODE_BIT + 53;
1385           1395        
1386         /**   1396         /**
1387          * Keyboard event constant representing the numeric key   1397          * Keyboard event constant representing the numeric key
1388          * pad six key (value is (1&lt;&lt;24)+54).   1398          * pad six key (value is (1&lt;&lt;24)+54).
1389          *   1399          *
1390          * @since 3.0   1400          * @since 3.0
1391          */   1401          */
1392         public static final int KEYPAD_6 = KEYCODE_BIT + 54;   1402         public static final int KEYPAD_6 = KEYCODE_BIT + 54;
1393     1403  
1394         /**   1404         /**
1395          * Keyboard event constant representing the numeric key   1405          * Keyboard event constant representing the numeric key
1396          * pad seven key (value is (1&lt;&lt;24)+55).   1406          * pad seven key (value is (1&lt;&lt;24)+55).
1397          *   1407          *
1398          * @since 3.0   1408          * @since 3.0
1399          */   1409          */
1400         public static final int KEYPAD_7 = KEYCODE_BIT + 55;   1410         public static final int KEYPAD_7 = KEYCODE_BIT + 55;
1401     1411  
1402         /**   1412         /**
1403          * Keyboard event constant representing the numeric key   1413          * Keyboard event constant representing the numeric key
1404          * pad eight key (value is (1&lt;&lt;24)+56).   1414          * pad eight key (value is (1&lt;&lt;24)+56).
1405          *   1415          *
1406          * @since 3.0   1416          * @since 3.0
1407          */   1417          */
1408         public static final int KEYPAD_8 = KEYCODE_BIT + 56;   1418         public static final int KEYPAD_8 = KEYCODE_BIT + 56;
1409           1419        
1410         /**   1420         /**
1411          * Keyboard event constant representing the numeric key   1421          * Keyboard event constant representing the numeric key
1412          * pad nine key (value is (1&lt;&lt;24)+57).   1422          * pad nine key (value is (1&lt;&lt;24)+57).
1413          *   1423          *
1414          * @since 3.0   1424          * @since 3.0
1415          */   1425          */
1416         public static final int KEYPAD_9 = KEYCODE_BIT + 57;   1426         public static final int KEYPAD_9 = KEYCODE_BIT + 57;
1417     1427  
1418         /**   1428         /**
1419          * Keyboard event constant representing the numeric key   1429          * Keyboard event constant representing the numeric key
1420          * pad equal key (value is (1&lt;&lt;24)+61).   1430          * pad equal key (value is (1&lt;&lt;24)+61).
1421          *   1431          *
1422          * @since 3.0   1432          * @since 3.0
1423          */   1433          */
1424         public static final int KEYPAD_EQUAL = KEYCODE_BIT + 61;   1434         public static final int KEYPAD_EQUAL = KEYCODE_BIT + 61;
1425           1435        
1426         /**   1436         /**
1427          * Keyboard event constant representing the numeric key   1437          * Keyboard event constant representing the numeric key
1428          * pad enter key (value is (1&lt;&lt;24)+80).   1438          * pad enter key (value is (1&lt;&lt;24)+80).
1429          *   1439          *
1430          * @since 3.0   1440          * @since 3.0
1431          */   1441          */
1432         public static final int KEYPAD_CR = KEYCODE_BIT + 80;   1442         public static final int KEYPAD_CR = KEYCODE_BIT + 80;
1433           1443        
1434         /**   1444         /**
1435          * Keyboard event constant representing the caps   1445          * Keyboard event constant representing the caps
1436          * lock key (value is (1&lt;&lt;24)+82).   1446          * lock key (value is (1&lt;&lt;24)+82).
1437          *   1447          *
1438          * @since 3.0   1448          * @since 3.0
1439          */   1449          */
1440         public static final int CAPS_LOCK = KEYCODE_BIT + 82;   1450         public static final int CAPS_LOCK = KEYCODE_BIT + 82;
1441           1451        
1442         /**   1452         /**
1443          * Keyboard event constant representing the num   1453          * Keyboard event constant representing the num
1444          * lock key (value is (1&lt;&lt;24)+83).   1454          * lock key (value is (1&lt;&lt;24)+83).
1445          *   1455          *
1446          * @since 3.0   1456          * @since 3.0
1447          */   1457          */
1448         public static final int NUM_LOCK = KEYCODE_BIT + 83;   1458         public static final int NUM_LOCK = KEYCODE_BIT + 83;
1449           1459        
1450         /**   1460         /**
1451          * Keyboard event constant representing the scroll   1461          * Keyboard event constant representing the scroll
1452          * lock key (value is (1&lt;&lt;24)+84).   1462          * lock key (value is (1&lt;&lt;24)+84).
1453          *   1463          *
1454          * @since 3.0   1464          * @since 3.0
1455          */   1465          */
1456         public static final int SCROLL_LOCK = KEYCODE_BIT + 84;   1466         public static final int SCROLL_LOCK = KEYCODE_BIT + 84;
1457           1467        
1458         /**   1468         /**
1459          * Keyboard event constant representing the pause   1469          * Keyboard event constant representing the pause
1460          * key (value is (1&lt;&lt;24)+85).   1470          * key (value is (1&lt;&lt;24)+85).
1461          *   1471          *
1462          * @since 3.0   1472          * @since 3.0
1463          */   1473          */
1464         public static final int PAUSE = KEYCODE_BIT + 85;   1474         public static final int PAUSE = KEYCODE_BIT + 85;
1465           1475        
1466         /**   1476         /**
1467          * Keyboard event constant representing the break   1477          * Keyboard event constant representing the break
1468          * key (value is (1&lt;&lt;24)+86).   1478          * key (value is (1&lt;&lt;24)+86).
1469          *   1479          *
1470          * @since 3.0   1480          * @since 3.0
1471          */   1481          */
1472         public static final int BREAK = KEYCODE_BIT + 86;   1482         public static final int BREAK = KEYCODE_BIT + 86;
1473           1483        
1474         /**   1484         /**
1475          * The <code>MessageBox</code> style constant for error icon   1485          * The <code>MessageBox</code> style constant for error icon
1476          * behavior (value is 1).   1486          * behavior (value is 1).
1477          */   1487          */
1478         public static final int ICON_ERROR = 1;   1488         public static final int ICON_ERROR = 1;
1479     1489  
1480         /**   1490         /**
1481          * The <code>MessageBox</code> style constant for information icon   1491          * The <code>MessageBox</code> style constant for information icon
1482          * behavior (value is 1&lt;&lt;1).   1492          * behavior (value is 1&lt;&lt;1).
1483          */   1493          */
1484         public static final int ICON_INFORMATION = 1 << 1;   1494         public static final int ICON_INFORMATION = 1 << 1;
1485     1495  
1486         /**   1496         /**
1487          * The <code>MessageBox</code> style constant for question icon   1497          * The <code>MessageBox</code> style constant for question icon
1488          * behavior (value is 1&lt;&lt;2).   1498          * behavior (value is 1&lt;&lt;2).
1489          */   1499          */
1490         public static final int ICON_QUESTION = 1 << 2;   1500         public static final int ICON_QUESTION = 1 << 2;
1491     1501  
1492         /**   1502         /**
1493          * The <code>MessageBox</code> style constant for warning icon   1503          * The <code>MessageBox</code> style constant for warning icon
1494          * behavior (value is 1&lt;&lt;3).   1504          * behavior (value is 1&lt;&lt;3).
1495          */   1505          */
1496         public static final int ICON_WARNING = 1 << 3;   1506         public static final int ICON_WARNING = 1 << 3;
1497     1507  
1498         /**   1508         /**
1499          * The <code>MessageBox</code> style constant for "working" icon   1509          * The <code>MessageBox</code> style constant for "working" icon
1500          * behavior (value is 1&lt;&lt;4).   1510          * behavior (value is 1&lt;&lt;4).
1501          */   1511          */
1502         public static final int ICON_WORKING = 1 << 4;   1512         public static final int ICON_WORKING = 1 << 4;
1503     1513  
1504         /**   1514         /**
1505          * The <code>MessageBox</code> style constant for an OK button;   1515          * The <code>MessageBox</code> style constant for an OK button;
1506          * valid combinations are OK, OK|CANCEL   1516          * valid combinations are OK, OK|CANCEL
1507          * (value is 1&lt;&lt;5).   1517          * (value is 1&lt;&lt;5).
1508          */   1518          */
1509         public static final int OK = 1 << 5;   1519         public static final int OK = 1 << 5;
1510     1520  
1511         /**   1521         /**
1512          * The <code>MessageBox</code> style constant for YES button;   1522          * The <code>MessageBox</code> style constant for YES button;
1513          * valid combinations are YES|NO, YES|NO|CANCEL   1523          * valid combinations are YES|NO, YES|NO|CANCEL
1514          * (value is 1&lt;&lt;6).   1524          * (value is 1&lt;&lt;6).
1515          */   1525          */
1516         public static final int YES = 1 << 6;   1526         public static final int YES = 1 << 6;
1517     1527  
1518         /**   1528         /**
1519          * The <code>MessageBox</code> style constant for NO button;   1529          * The <code>MessageBox</code> style constant for NO button;
1520          * valid combinations are YES|NO, YES|NO|CANCEL   1530          * valid combinations are YES|NO, YES|NO|CANCEL
1521          * (value is 1&lt;&lt;7).   1531          * (value is 1&lt;&lt;7).
1522          */   1532          */
1523         public static final int NO = 1 << 7;   1533         public static final int NO = 1 << 7;
1524     1534  
1525         /**   1535         /**
1526          * The <code>MessageBox</code> style constant for a CANCEL button;   1536          * The <code>MessageBox</code> style constant for a CANCEL button;
1527          * valid combinations are OK|CANCEL, YES|NO|CANCEL, RETRY|CANCEL   1537          * valid combinations are OK|CANCEL, YES|NO|CANCEL, RETRY|CANCEL
1528          * (value is 1&lt;&lt;8).   1538          * (value is 1&lt;&lt;8).
1529          */   1539          */
1530         public static final int CANCEL = 1 << 8;   1540         public static final int CANCEL = 1 << 8;
1531     1541  
1532         /**   1542         /**
1533          * The <code>MessageBox</code> style constant for a RETRY button;   1543          * The <code>MessageBox</code> style constant for a RETRY button;
1534          * valid combinations are RETRY|CANCEL.   1544          * valid combinations are RETRY|CANCEL.
1535          * (value is 1&lt;&lt;10).   1545          * (value is 1&lt;&lt;10).
1536          */   1546          */
1537         public static final int RETRY = 1 << 10;   1547         public static final int RETRY = 1 << 10;
1538     1548  
1539         /**   1549         /**
1540          * The <code>FileDialog</code> style constant for open file dialog behavior   1550          * The <code>FileDialog</code> style constant for open file dialog behavior
1541          * (value is 1&lt;&lt;12).   1551          * (value is 1&lt;&lt;12).
1542          */   1552          */
1543         public static final int OPEN = 1 << 12;   1553         public static final int OPEN = 1 << 12;
1544     1554  
1545         /**   1555         /**
1546          * The <code>FileDialog</code> style constant for save file dialog behavior   1556          * The <code>FileDialog</code> style constant for save file dialog behavior
1547          * (value is 1&lt;&lt;13).   1557          * (value is 1&lt;&lt;13).
1548          */   1558          */
1549         public static final int SAVE = 1 << 13;   1559         public static final int SAVE = 1 << 13;
1550     1560  
1551         /**   1561         /**
1552          * Default color white (value is 1).   1562          * Default color white (value is 1).
1553          */   1563          */
1554         public static final int COLOR_WHITE = 1;   1564         public static final int COLOR_WHITE = 1;
1555     1565  
1556         /**   1566         /**
1557          * Default color black (value is 2).   1567          * Default color black (value is 2).
1558          */   1568          */
1559         public static final int COLOR_BLACK = 2;   1569         public static final int COLOR_BLACK = 2;
1560     1570  
1561         /**   1571         /**
1562          * Default color red (value is 3).   1572          * Default color red (value is 3).
1563          */   1573          */
1564         public static final int COLOR_RED = 3;   1574         public static final int COLOR_RED = 3;
1565     1575  
1566         /**   1576         /**
1567          * Default color dark red (value is 4).   1577          * Default color dark red (value is 4).
1568          */   1578          */
1569         public static final int COLOR_DARK_RED = 4;   1579         public static final int COLOR_DARK_RED = 4;
1570     1580  
1571         /**   1581         /**
1572          * Default color green (value is 5).   1582          * Default color green (value is 5).
1573          */   1583          */
1574         public static final int COLOR_GREEN = 5;   1584         public static final int COLOR_GREEN = 5;
1575     1585  
1576         /**   1586         /**
1577          * Default color dark green (value is 6).   1587          * Default color dark green (value is 6).
1578          */   1588          */
1579         public static final int COLOR_DARK_GREEN = 6;   1589         public static final int COLOR_DARK_GREEN = 6;
1580     1590  
1581         /**   1591         /**
1582          * Default color yellow (value is 7).   1592          * Default color yellow (value is 7).
1583          */   1593          */
1584         public static final int COLOR_YELLOW = 7;   1594         public static final int COLOR_YELLOW = 7;
1585     1595  
1586         /**   1596         /**
1587          * Default color dark yello (value is 8).   1597          * Default color dark yello (value is 8).
1588          */   1598          */
1589         public static final int COLOR_DARK_YELLOW = 8;   1599         public static final int COLOR_DARK_YELLOW = 8;
1590     1600  
1591         /**   1601         /**
1592          * Default color blue (value is 9).   1602          * Default color blue (value is 9).
1593          */   1603          */
1594         public static final int COLOR_BLUE = 9;   1604         public static final int COLOR_BLUE = 9;
1595     1605  
1596         /**   1606         /**
1597          * Default color dark blue (value is 10).   1607          * Default color dark blue (value is 10).
1598          */   1608          */
1599         public static final int COLOR_DARK_BLUE = 10;   1609         public static final int COLOR_DARK_BLUE = 10;
1600     1610  
1601         /**   1611         /**
1602          * Default color magenta (value is 11).   1612          * Default color magenta (value is 11).
1603          */   1613          */
1604         public static final int COLOR_MAGENTA = 11;   1614         public static final int COLOR_MAGENTA = 11;
1605     1615  
1606         /**   1616         /**
1607          * Default color dark magenta (value is 12).   1617          * Default color dark magenta (value is 12).
1608          */   1618          */
1609         public static final int COLOR_DARK_MAGENTA = 12;   1619         public static final int COLOR_DARK_MAGENTA = 12;
1610     1620  
1611         /**   1621         /**
1612          * Default color cyan (value is 13).   1622          * Default color cyan (value is 13).
1613          */   1623          */
1614         public static final int COLOR_CYAN = 13;   1624         public static final int COLOR_CYAN = 13;
1615     1625  
1616         /**   1626         /**
1617          * Default color dark cyan (value is 14).   1627          * Default color dark cyan (value is 14).
1618          */   1628          */
1619         public static final int COLOR_DARK_CYAN = 14;   1629         public static final int COLOR_DARK_CYAN = 14;
1620     1630  
1621         /**   1631         /**
1622          * Default color gray (value is 15).   1632          * Default color gray (value is 15).
1623          */   1633          */
1624         public static final int COLOR_GRAY = 15;   1634         public static final int COLOR_GRAY = 15;
1625     1635  
1626         /**   1636         /**
1627          * Default color dark gray (value is 16).   1637          * Default color dark gray (value is 16).
1628          */   1638          */
1629         public static final int COLOR_DARK_GRAY = 16;   1639         public static final int COLOR_DARK_GRAY = 16;
1630           1640        
1631         /*   1641         /*
1632          * System Colors   1642          * System Colors
1633          *   1643          *
1634          * Dealing with system colors is an area where there are   1644          * Dealing with system colors is an area where there are
1635          * many platform differences.  On some platforms, system   1645          * many platform differences.  On some platforms, system
1636          * colors can change dynamically while the program is   1646          * colors can change dynamically while the program is
1637          * running.  On other platforms, system colors can be   1647          * running.  On other platforms, system colors can be
1638          * changed for all instances of a particular widget.   1648          * changed for all instances of a particular widget.
1639          * Therefore, the only truly portable method to obtain   1649          * Therefore, the only truly portable method to obtain
1640          * a widget color query is to query the color from an   1650          * a widget color query is to query the color from an
1641          * instance of the widget.   1651          * instance of the widget.
1642          *   1652          *
1643          *      It is expected that the list of supported colors   1653          *      It is expected that the list of supported colors
1644          * will grow over time.   1654          * will grow over time.
1645          */   1655          */
1646           1656        
1647         /**   1657         /**
1648          * System color used to paint dark shadow areas (value is 17).   1658          * System color used to paint dark shadow areas (value is 17).
1649          */   1659          */
1650         public static final int COLOR_WIDGET_DARK_SHADOW = 17;   1660         public static final int COLOR_WIDGET_DARK_SHADOW = 17;
1651     1661  
1652         /**   1662         /**
1653          * System color used to paint normal shadow areas (value is 18).   1663          * System color used to paint normal shadow areas (value is 18).
1654          */   1664          */
1655         public static final int COLOR_WIDGET_NORMAL_SHADOW = 18;   1665         public static final int COLOR_WIDGET_NORMAL_SHADOW = 18;
1656     1666  
1657         /**   1667         /**
1658          * System color used to paint light shadow areas (value is 19).   1668          * System color used to paint light shadow areas (value is 19).
1659          */   1669          */
1660         public static final int COLOR_WIDGET_LIGHT_SHADOW = 19;   1670         public static final int COLOR_WIDGET_LIGHT_SHADOW = 19;
1661     1671  
1662         /**   1672         /**
1663          * System color used to paint highlight shadow areas (value is 20).   1673          * System color used to paint highlight shadow areas (value is 20).
1664          */   1674          */
1665         public static final int COLOR_WIDGET_HIGHLIGHT_SHADOW = 20;   1675         public static final int COLOR_WIDGET_HIGHLIGHT_SHADOW = 20;
1666     1676  
1667         /**   1677         /**
1668          * System color used to paint foreground areas (value is 21).   1678          * System color used to paint foreground areas (value is 21).
1669          */   1679          */
1670         public static final int COLOR_WIDGET_FOREGROUND = 21;   1680         public static final int COLOR_WIDGET_FOREGROUND = 21;
1671     1681  
1672         /**   1682         /**
1673          * System color used to paint background areas (value is 22).   1683          * System color used to paint background areas (value is 22).
1674          */   1684          */
1675         public static final int COLOR_WIDGET_BACKGROUND = 22;   1685         public static final int COLOR_WIDGET_BACKGROUND = 22;
1676     1686  
1677         /**   1687         /**
1678          * System color used to paint border areas (value is 23).   1688          * System color used to paint border areas (value is 23).
1679          */   1689          */
1680         public static final int COLOR_WIDGET_BORDER = 23;   1690         public static final int COLOR_WIDGET_BORDER = 23;
1681     1691  
1682         /**   1692         /**
1683          * System color used to paint list foreground areas (value is 24).   1693          * System color used to paint list foreground areas (value is 24).
1684          */   1694          */
1685         public static final int COLOR_LIST_FOREGROUND = 24;   1695         public static final int COLOR_LIST_FOREGROUND = 24;
1686     1696  
1687         /**   1697         /**
1688          * System color used to paint list background areas (value is 25).   1698          * System color used to paint list background areas (value is 25).
1689          */   1699          */
1690         public static final int COLOR_LIST_BACKGROUND = 25;   1700         public static final int COLOR_LIST_BACKGROUND = 25;
1691     1701  
1692         /**   1702         /**
1693          * System color used to paint list selection background areas (value is 26).   1703          * System color used to paint list selection background areas (value is 26).
1694          */   1704          */
1695         public static final int COLOR_LIST_SELECTION = 26;   1705         public static final int COLOR_LIST_SELECTION = 26;
1696     1706  
1697         /**   1707         /**
1698          * System color used to paint list selected text (value is 27).   1708          * System color used to paint list selected text (value is 27).
1699          */   1709          */
1700         public static final int COLOR_LIST_SELECTION_TEXT = 27;   1710         public static final int COLOR_LIST_SELECTION_TEXT = 27;
1701           1711        
1702         /**   1712         /**
1703          * System color used to paint title text (value is 30).   1713          * System color used to paint title text (value is 30).
1704          */   1714          */
1705         public static final int COLOR_TITLE_FOREGROUND = 30;   1715         public static final int COLOR_TITLE_FOREGROUND = 30;
1706     1716  
1707         /**   1717         /**
1708          * System color used to paint title background areas (value is 31).   1718          * System color used to paint title background areas (value is 31).
1709          */   1719          */
1710         public static final int COLOR_TITLE_BACKGROUND = 31;   1720         public static final int COLOR_TITLE_BACKGROUND = 31;
1711     1721  
1712         /**   1722         /**
1713          * System color used to paint title background gradient (value is 32).   1723          * System color used to paint title background gradient (value is 32).
1714          */   1724          */
1715         public static final int COLOR_TITLE_BACKGROUND_GRADIENT = 32;   1725         public static final int COLOR_TITLE_BACKGROUND_GRADIENT = 32;
1716           1726        
1717         /**   1727         /**
1718          * System color used to paint inactive title text (value is 33).   1728          * System color used to paint inactive title text (value is 33).
1719          */   1729          */
1720         public static final int COLOR_TITLE_INACTIVE_FOREGROUND = 33;   1730         public static final int COLOR_TITLE_INACTIVE_FOREGROUND = 33;
1721     1731  
1722         /**   1732         /**
1723          * System color used to paint inactive title background areas (value is 34).   1733          * System color used to paint inactive title background areas (value is 34).
1724          */   1734          */
1725         public static final int COLOR_TITLE_INACTIVE_BACKGROUND = 34;   1735         public static final int COLOR_TITLE_INACTIVE_BACKGROUND = 34;
1726     1736  
1727         /**   1737         /**
1728          * System color used to paint inactive title background gradient (value is 35).   1738          * System color used to paint inactive title background gradient (value is 35).
1729          */   1739          */
1730         public static final int COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT = 35;   1740         public static final int COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT = 35;
1731           1741        
1732         /**   1742         /**
1733          * Draw constant indicating whether the drawing operation   1743          * Draw constant indicating whether the drawing operation
1734          * should fill the background (value is 1&lt;&lt;0).   1744          * should fill the background (value is 1&lt;&lt;0).
1735          */   1745          */
1736         public static final int DRAW_TRANSPARENT = 1 << 0;   1746         public static final int DRAW_TRANSPARENT = 1 << 0;
1737     1747  
1738         /**   1748         /**
1739          * Draw constant indicating whether the string drawing operation   1749          * Draw constant indicating whether the string drawing operation
1740          * should handle line-delimeters (value is 1&lt;&lt;1).   1750          * should handle line-delimeters (value is 1&lt;&lt;1).
1741          */   1751          */
1742         public static final int DRAW_DELIMITER = 1 << 1;   1752         public static final int DRAW_DELIMITER = 1 << 1;
1743     1753  
1744         /**   1754         /**
1745          * Draw constant indicating whether the string drawing operation   1755          * Draw constant indicating whether the string drawing operation
1746          * should expand TAB characters (value is 1&lt;&lt;2).   1756          * should expand TAB characters (value is 1&lt;&lt;2).
1747          */   1757          */
1748         public static final int DRAW_TAB = 1 << 2;   1758         public static final int DRAW_TAB = 1 << 2;
1749     1759  
1750         /**   1760         /**
1751          * Draw constant indicating whether the string drawing operation   1761          * Draw constant indicating whether the string drawing operation
1752          * should handle mnemonics (value is 1&lt;&lt;3).   1762          * should handle mnemonics (value is 1&lt;&lt;3).
1753          */   1763          */
1754         public static final int DRAW_MNEMONIC = 1 << 3;   1764         public static final int DRAW_MNEMONIC = 1 << 3;
1755           1765        
1756         /**   1766         /**
1757          * SWT error constant indicating that no error number was specified   1767          * SWT error constant indicating that no error number was specified
1758          * (value is 1).   1768          * (value is 1).
1759          */   1769          */
1760         public static final int ERROR_UNSPECIFIED = 1;   1770         public static final int ERROR_UNSPECIFIED = 1;
1761           1771        
1762         /**   1772         /**
1763          * SWT error constant indicating that no more handles for an   1773          * SWT error constant indicating that no more handles for an
1764          * operating system resource are available   1774          * operating system resource are available
1765          * (value is 2).   1775          * (value is 2).
1766          */   1776          */
1767         public static final int ERROR_NO_HANDLES = 2;   1777         public static final int ERROR_NO_HANDLES = 2;
1768           1778        
1769         /**   1779         /**
1770          * SWT error constant indicating that no more callback resources are available   1780          * SWT error constant indicating that no more callback resources are available
1771          * (value is 3).   1781          * (value is 3).
1772          */   1782          */
1773         public static final int ERROR_NO_MORE_CALLBACKS = 3;   1783         public static final int ERROR_NO_MORE_CALLBACKS = 3;
1774           1784        
1775         /**   1785         /**
1776          * SWT error constant indicating that a null argument was passed in   1786          * SWT error constant indicating that a null argument was passed in
1777          * (value is 4).   1787          * (value is 4).
1778          */   1788          */
1779         public static final int ERROR_NULL_ARGUMENT = 4;   1789         public static final int ERROR_NULL_ARGUMENT = 4;
1780           1790        
1781         /**   1791         /**
1782          * SWT error constant indicating that an invalid argument was passed in   1792          * SWT error constant indicating that an invalid argument was passed in
1783          * (value is 5).   1793          * (value is 5).
1784          */   1794          */
1785         public static final int ERROR_INVALID_ARGUMENT = 5;   1795         public static final int ERROR_INVALID_ARGUMENT = 5;
1786           1796        
1787         /**   1797         /**
1788          * SWT error constant indicating that a value was found to be   1798          * SWT error constant indicating that a value was found to be
1789          * outside the allowable range   1799          * outside the allowable range
1790          * (value is 6).   1800          * (value is 6).
1791          */   1801          */
1792         public static final int ERROR_INVALID_RANGE = 6;   1802         public static final int ERROR_INVALID_RANGE = 6;
1793           1803        
1794         /**   1804         /**
1795          * SWT error constant indicating that a value which can not be   1805          * SWT error constant indicating that a value which can not be
1796          * zero was found to be   1806          * zero was found to be
1797          * (value is 7).   1807          * (value is 7).
1798          */   1808          */
1799         public static final int ERROR_CANNOT_BE_ZERO = 7;   1809         public static final int ERROR_CANNOT_BE_ZERO = 7;
1800           1810        
1801         /**   1811         /**
1802          * SWT error constant indicating that the underlying operating   1812          * SWT error constant indicating that the underlying operating
1803          * system was unable to provide the value of an item   1813          * system was unable to provide the value of an item
1804          * (value is 8).   1814          * (value is 8).
1805          */   1815          */
1806         public static final int ERROR_CANNOT_GET_ITEM = 8;   1816         public static final int ERROR_CANNOT_GET_ITEM = 8;
1807           1817        
1808         /**   1818         /**
1809          * SWT error constant indicating that the underlying operating   1819          * SWT error constant indicating that the underlying operating
1810          * system was unable to provide the selection   1820          * system was unable to provide the selection
1811          * (value is 9).   1821          * (value is 9).
1812          */   1822          */
1813         public static final int ERROR_CANNOT_GET_SELECTION = 9;   1823         public static final int ERROR_CANNOT_GET_SELECTION = 9;
1814     1824  
1815         /**   1825         /**
1816          * SWT error constant indicating that the underlying operating   1826          * SWT error constant indicating that the underlying operating
1817          * system was unable to provide the height of an item   1827          * system was unable to provide the height of an item
1818          * (value is 11).   1828          * (value is 11).
1819          */   1829          */
1820         public static final int ERROR_CANNOT_GET_ITEM_HEIGHT = 11;   1830         public static final int ERROR_CANNOT_GET_ITEM_HEIGHT = 11;
1821     1831  
1822         /**   1832         /**
1823          * SWT error constant indicating that the underlying operating   1833          * SWT error constant indicating that the underlying operating
1824          * system was unable to provide the text of a widget   1834          * system was unable to provide the text of a widget
1825          * (value is 12).   1835          * (value is 12).
1826          */   1836          */
1827         public static final int ERROR_CANNOT_GET_TEXT = 12;   1837         public static final int ERROR_CANNOT_GET_TEXT = 12;
1828     1838  
1829         /**   1839         /**
1830          * SWT error constant indicating that the underlying operating   1840          * SWT error constant indicating that the underlying operating
1831          * system was unable to set the text of a widget   1841          * system was unable to set the text of a widget
1832          * (value is 13).   1842          * (value is 13).
1833          */   1843          */
1834         public static final int ERROR_CANNOT_SET_TEXT = 13;   1844         public static final int ERROR_CANNOT_SET_TEXT = 13;
1835     1845  
1836         /**   1846         /**
1837          * SWT error constant indicating that the underlying operating   1847          * SWT error constant indicating that the underlying operating
1838          * system was unable to add an item   1848          * system was unable to add an item
1839          * (value is 14).   1849          * (value is 14).
1840          */   1850          */
1841         public static final int ERROR_ITEM_NOT_ADDED = 14;   1851         public static final int ERROR_ITEM_NOT_ADDED = 14;
1842     1852  
1843         /**   1853         /**
1844          * SWT error constant indicating that the underlying operating   1854          * SWT error constant indicating that the underlying operating
1845          * system was unable to remove an item   1855          * system was unable to remove an item
1846          * (value is 15).   1856          * (value is 15).
1847          */   1857          */
1848         public static final int ERROR_ITEM_NOT_REMOVED = 15;   1858         public static final int ERROR_ITEM_NOT_REMOVED = 15;
1849     1859  
1850         /**   1860         /**
1851          * SWT error constant indicating that a particular feature has   1861          * SWT error constant indicating that a particular feature has
1852          * not been implemented on this platform   1862          * not been implemented on this platform
1853          * (value is 20).   1863          * (value is 20).
1854          */   1864          */
1855         public static final int ERROR_NOT_IMPLEMENTED = 20;   1865         public static final int ERROR_NOT_IMPLEMENTED = 20;
1856     1866  
1857         /**   1867         /**
1858          * SWT error constant indicating that a menu which needed   1868          * SWT error constant indicating that a menu which needed
1859          * to have the drop down style had some other style instead   1869          * to have the drop down style had some other style instead
1860          * (value is 21).   1870          * (value is 21).
1861          */   1871          */
1862         public static final int ERROR_MENU_NOT_DROP_DOWN = 21;   1872         public static final int ERROR_MENU_NOT_DROP_DOWN = 21;
1863     1873  
1864         /**   1874         /**
1865          * SWT error constant indicating that an attempt was made to   1875          * SWT error constant indicating that an attempt was made to
1866          * invoke an SWT operation which can only be executed by the   1876          * invoke an SWT operation which can only be executed by the
1867          * user-interface thread from some other thread   1877          * user-interface thread from some other thread
1868          * (value is 22).   1878          * (value is 22).
1869          */   1879          */
1870         public static final int ERROR_THREAD_INVALID_ACCESS = 22;   1880         public static final int ERROR_THREAD_INVALID_ACCESS = 22;
1871     1881  
1872         /**   1882         /**
1873          * SWT error constant indicating that an attempt was made to   1883          * SWT error constant indicating that an attempt was made to
1874          * invoke an SWT operation using a widget which had already   1884          * invoke an SWT operation using a widget which had already
1875          * been disposed   1885          * been disposed
1876          * (value is 24).   1886          * (value is 24).
1877          */   1887          */
1878         public static final int ERROR_WIDGET_DISPOSED = 24;   1888         public static final int ERROR_WIDGET_DISPOSED = 24;
1879     1889  
1880         /**   1890         /**
1881          * SWT error constant indicating that a menu item which needed   1891          * SWT error constant indicating that a menu item which needed
1882          * to have the cascade style had some other style instead   1892          * to have the cascade style had some other style instead
1883          * (value is 27).   1893          * (value is 27).
1884          */   1894          */
1885         public static final int ERROR_MENUITEM_NOT_CASCADE = 27;   1895         public static final int ERROR_MENUITEM_NOT_CASCADE = 27;
1886     1896  
1887         /**   1897         /**
1888          * SWT error constant indicating that the underlying operating   1898          * SWT error constant indicating that the underlying operating
1889          * system was unable to set the selection of a widget   1899          * system was unable to set the selection of a widget
1890          * (value is 28).   1900          * (value is 28).
1891          */   1901          */
1892         public static final int ERROR_CANNOT_SET_SELECTION = 28;   1902         public static final int ERROR_CANNOT_SET_SELECTION = 28;
1893     1903  
1894         /**   1904         /**
1895          * SWT error constant indicating that the underlying operating   1905          * SWT error constant indicating that the underlying operating
1896          * system was unable to set the menu   1906          * system was unable to set the menu
1897          * (value is 29).   1907          * (value is 29).
1898          */   1908          */
1899         public static final int ERROR_CANNOT_SET_MENU = 29;   1909         public static final int ERROR_CANNOT_SET_MENU = 29;
1900     1910  
1901         /**   1911         /**
1902          * SWT error constant indicating that the underlying operating   1912          * SWT error constant indicating that the underlying operating
1903          * system was unable to set the enabled state   1913          * system was unable to set the enabled state
1904          * (value is 30).   1914          * (value is 30).
1905          */   1915          */
1906         public static final int ERROR_CANNOT_SET_ENABLED = 30;   1916         public static final int ERROR_CANNOT_SET_ENABLED = 30;
1907     1917  
1908         /**   1918         /**
1909          * SWT error constant indicating that the underlying operating   1919          * SWT error constant indicating that the underlying operating
1910          * system was unable to provide enabled/disabled state information   1920          * system was unable to provide enabled/disabled state information
1911          * (value is 31).   1921          * (value is 31).
1912          */   1922          */
1913         public static final int ERROR_CANNOT_GET_ENABLED = 31;   1923         public static final int ERROR_CANNOT_GET_ENABLED = 31;
1914     1924  
1915         /**   1925         /**
1916          * SWT error constant indicating that a provided widget can   1926          * SWT error constant indicating that a provided widget can
1917          * not be used as a parent in the current operation   1927          * not be used as a parent in the current operation
1918          * (value is 32).   1928          * (value is 32).
1919          */   1929          */
1920         public static final int ERROR_INVALID_PARENT = 32;   1930         public static final int ERROR_INVALID_PARENT = 32;
1921           1931        
1922         /**   1932         /**
1923          * SWT error constant indicating that a menu which needed   1933          * SWT error constant indicating that a menu which needed
1924          * to have the menu bar style had some other style instead   1934          * to have the menu bar style had some other style instead
1925          * (value is 33).   1935          * (value is 33).
1926          */   1936          */
1927         public static final int ERROR_MENU_NOT_BAR = 33;   1937         public static final int ERROR_MENU_NOT_BAR = 33;
1928     1938  
1929         /**   1939         /**
1930          * SWT error constant indicating that the underlying operating   1940          * SWT error constant indicating that the underlying operating
1931          * system was unable to provide count information   1941          * system was unable to provide count information
1932          * (value is 36).   1942          * (value is 36).
1933          */   1943          */
1934         public static final int ERROR_CANNOT_GET_COUNT = 36;   1944         public static final int ERROR_CANNOT_GET_COUNT = 36;
1935     1945  
1936         /**   1946         /**
1937          * SWT error constant indicating that a menu which needed   1947          * SWT error constant indicating that a menu which needed
1938          * to have the pop up menu style had some other style instead   1948          * to have the pop up menu style had some other style instead
1939          * (value is 37).   1949          * (value is 37).
1940          */   1950          */
1941         public static final int ERROR_MENU_NOT_POP_UP = 37;   1951         public static final int ERROR_MENU_NOT_POP_UP = 37;
1942     1952  
1943         /**   1953         /**
1944          * SWT error constant indicating that a graphics operation   1954          * SWT error constant indicating that a graphics operation
1945          * was attempted with an image of an unsupported depth   1955          * was attempted with an image of an unsupported depth
1946          * (value is 38).   1956          * (value is 38).
1947          */   1957          */
1948         public static final int ERROR_UNSUPPORTED_DEPTH = 38;   1958         public static final int ERROR_UNSUPPORTED_DEPTH = 38;
1949     1959  
1950         /**   1960         /**
1951          * SWT error constant indicating that an input/output operation   1961          * SWT error constant indicating that an input/output operation
1952          * failed during the execution of an SWT operation   1962          * failed during the execution of an SWT operation
1953          * (value is 39).   1963          * (value is 39).
1954          */   1964          */
1955         public static final int ERROR_IO = 39;   1965         public static final int ERROR_IO = 39;
1956     1966  
1957         /**   1967         /**
1958          * SWT error constant indicating that a graphics operation   1968          * SWT error constant indicating that a graphics operation
1959          * was attempted with an image having an invalid format   1969          * was attempted with an image having an invalid format
1960          * (value is 40).   1970          * (value is 40).
1961          */   1971          */
1962         public static final int ERROR_INVALID_IMAGE = 40;   1972         public static final int ERROR_INVALID_IMAGE = 40;
1963     1973  
1964         /**   1974         /**
1965          * SWT error constant indicating that a graphics operation   1975          * SWT error constant indicating that a graphics operation
1966          * was attempted with an image having a valid but unsupported   1976          * was attempted with an image having a valid but unsupported
1967          * format   1977          * format
1968          * (value is 42).   1978          * (value is 42).
1969          */   1979          */
1970         public static final int ERROR_UNSUPPORTED_FORMAT = 42;   1980         public static final int ERROR_UNSUPPORTED_FORMAT = 42;
1971     1981  
1972         /**   1982         /**
1973          * SWT error constant indicating that an attempt was made   1983          * SWT error constant indicating that an attempt was made
1974          * to subclass an SWT widget class without implementing the   1984          * to subclass an SWT widget class without implementing the
1975          * <code>checkSubclass()</code> method   1985          * <code>checkSubclass()</code> method
1976          * (value is 43).   1986          * (value is 43).
1977          *   1987          *
1978          * For additional information see the comment in   1988          * For additional information see the comment in
1979          * <code>Widget.checkSubclass()</code>.   1989          * <code>Widget.checkSubclass()</code>.
1980          *   1990          *
1981          * @see org.eclipse.swt.widgets.Widget#checkSubclass   1991          * @see org.eclipse.swt.widgets.Widget#checkSubclass
1982          */   1992          */
1983         public static final int ERROR_INVALID_SUBCLASS = 43;   1993         public static final int ERROR_INVALID_SUBCLASS = 43;
1984     1994  
1985         /**   1995         /**
1986          * SWT error constant indicating that an attempt was made to   1996          * SWT error constant indicating that an attempt was made to
1987          * invoke an SWT operation using a graphics object which had   1997          * invoke an SWT operation using a graphics object which had
1988          * already been disposed   1998          * already been disposed
1989          * (value is 44).   1999          * (value is 44).
1990          */   2000          */
1991         public static final int ERROR_GRAPHIC_DISPOSED = 44;   2001         public static final int ERROR_GRAPHIC_DISPOSED = 44;
1992           2002        
1993         /**   2003         /**
1994          * SWT error constant indicating that an attempt was made to   2004          * SWT error constant indicating that an attempt was made to
1995          * invoke an SWT operation using a device which had already   2005          * invoke an SWT operation using a device which had already
1996          * been disposed   2006          * been disposed
1997          * (value is 45).   2007          * (value is 45).
1998          */   2008          */
1999         public static final int ERROR_DEVICE_DISPOSED = 45;   2009         public static final int ERROR_DEVICE_DISPOSED = 45;
2000           2010        
2001         /**   2011         /**
2002          * SWT error constant indicating that an exception happened   2012          * SWT error constant indicating that an exception happened
2003          * when executing a runnable   2013          * when executing a runnable
2004          * (value is 46).   2014          * (value is 46).
2005          */   2015          */
2006         public static final int ERROR_FAILED_EXEC = 46;   2016         public static final int ERROR_FAILED_EXEC = 46;
2007           2017        
2008         /**   2018         /**
2009          * SWT error constant indicating that an unsatisfied link   2019          * SWT error constant indicating that an unsatisfied link
2010          * error occured while attempting to load a library   2020          * error occured while attempting to load a library
2011          * (value is 47).   2021          * (value is 47).
2012          *   2022          *
2013          * @since 3.1   2023          * @since 3.1
2014          */   2024          */
2015         public static final int ERROR_FAILED_LOAD_LIBRARY = 47;   2025         public static final int ERROR_FAILED_LOAD_LIBRARY = 47;
2016           2026        
2017         /**   2027         /**
2018          * SWT error constant indicating that a font is not valid   2028          * SWT error constant indicating that a font is not valid
2019          * (value is 48).   2029          * (value is 48).
2020          *   2030          *
2021          * @since 3.1   2031          * @since 3.1
2022          */   2032          */
2023         public static final int ERROR_INVALID_FONT = 48;   2033         public static final int ERROR_INVALID_FONT = 48;
2024     2034  
2025         /**   2035         /**
2026          * Traversal event detail field value indicating that no   2036          * Traversal event detail field value indicating that no
2027          * traversal action should be taken   2037          * traversal action should be taken
2028          * (value is 0).   2038          * (value is 0).
2029          */   2039          */
2030         public static final int TRAVERSE_NONE = 0;   2040         public static final int TRAVERSE_NONE = 0;
2031           2041        
2032         /**   2042         /**
2033          * Traversal event detail field value indicating that the   2043          * Traversal event detail field value indicating that the
2034          * key which designates that a dialog should be cancelled was   2044          * key which designates that a dialog should be cancelled was
2035          * pressed; typically, this is the ESC key   2045          * pressed; typically, this is the ESC key
2036          * (value is 1&lt;&lt;1).   2046          * (value is 1&lt;&lt;1).
2037          */   2047          */
2038         public static final int TRAVERSE_ESCAPE = 1 << 1;   2048         public static final int TRAVERSE_ESCAPE = 1 << 1;
2039     2049  
2040         /**   2050         /**
2041          * Traversal event detail field value indicating that the   2051          * Traversal event detail field value indicating that the
2042          * key which activates the default button in a dialog was   2052          * key which activates the default button in a dialog was
2043          * pressed; typically, this is the ENTER key   2053          * pressed; typically, this is the ENTER key
2044          * (value is 1&lt;&lt;2).   2054          * (value is 1&lt;&lt;2).
2045          */   2055          */
2046         public static final int TRAVERSE_RETURN = 1 << 2;   2056         public static final int TRAVERSE_RETURN = 1 << 2;
2047     2057  
2048         /**   2058         /**
2049          * Traversal event detail field value indicating that the   2059          * Traversal event detail field value indicating that the
2050          * key which designates that focus should be given to the   2060          * key which designates that focus should be given to the
2051          * previous tab group was pressed; typically, this is the   2061          * previous tab group was pressed; typically, this is the
2052          * SHIFT-TAB key sequence   2062          * SHIFT-TAB key sequence
2053          * (value is 1&lt;&lt;3).   2063          * (value is 1&lt;&lt;3).
2054          */   2064          */
2055         public static final int TRAVERSE_TAB_PREVIOUS = 1 << 3;   2065         public static final int TRAVERSE_TAB_PREVIOUS = 1 << 3;
2056     2066  
2057         /**   2067         /**
2058          * Traversal event detail field value indicating that the   2068          * Traversal event detail field value indicating that the
2059          * key which designates that focus should be given to the   2069          * key which designates that focus should be given to the
2060          * next tab group was pressed; typically, this is the   2070          * next tab group was pressed; typically, this is the
2061          * TAB key   2071          * TAB key
2062          * (value is 1&lt;&lt;4).   2072          * (value is 1&lt;&lt;4).
2063          */   2073          */
2064         public static final int TRAVERSE_TAB_NEXT = 1 << 4;   2074         public static final int TRAVERSE_TAB_NEXT = 1 << 4;
2065     2075  
2066         /**   2076         /**
2067          * Traversal event detail field value indicating that the   2077          * Traversal event detail field value indicating that the
2068          * key which designates that focus should be given to the   2078          * key which designates that focus should be given to the
2069          * previous tab item was pressed; typically, this is either   2079          * previous tab item was pressed; typically, this is either
2070          * the LEFT-ARROW or UP-ARROW keys   2080          * the LEFT-ARROW or UP-ARROW keys
2071          * (value is 1&lt;&lt;5).   2081          * (value is 1&lt;&lt;5).
2072          */   2082          */
2073         public static final int TRAVERSE_ARROW_PREVIOUS = 1 << 5;   2083         public static final int TRAVERSE_ARROW_PREVIOUS = 1 << 5;
2074     2084  
2075         /**   2085         /**
2076          * Traversal event detail field value indicating that the   2086          * Traversal event detail field value indicating that the
2077          * key which designates that focus should be given to the   2087          * key which designates that focus should be given to the
2078          * previous tab item was pressed; typically, this is either   2088          * previous tab item was pressed; typically, this is either
2079          * the RIGHT-ARROW or DOWN-ARROW keys   2089          * the RIGHT-ARROW or DOWN-ARROW keys
2080          * (value is 1&lt;&lt;6).   2090          * (value is 1&lt;&lt;6).
2081          */   2091          */
2082         public static final int TRAVERSE_ARROW_NEXT = 1 << 6;   2092         public static final int TRAVERSE_ARROW_NEXT = 1 << 6;
2083     2093  
2084         /**   2094         /**
2085          * Traversal event detail field value indicating that a   2095          * Traversal event detail field value indicating that a
2086          * mnemonic key sequence was pressed   2096          * mnemonic key sequence was pressed
2087          * (value is 1&lt;&lt;7).   2097          * (value is 1&lt;&lt;7).
2088          */   2098          */
2089         public static final int TRAVERSE_MNEMONIC = 1 << 7;   2099         public static final int TRAVERSE_MNEMONIC = 1 << 7;
2090     2100  
2091         /**   2101         /**
2092          * Traversal event detail field value indicating that the   2102          * Traversal event detail field value indicating that the
2093          * key which designates that the previous page of a multi-page   2103          * key which designates that the previous page of a multi-page
2094          * window should be shown was pressed; typically, this   2104          * window should be shown was pressed; typically, this
2095          * is the CTRL-PAGEUP key sequence   2105          * is the CTRL-PAGEUP key sequence
2096          * (value is 1&lt;&lt;8).   2106          * (value is 1&lt;&lt;8).
2097          */   2107          */
2098         public static final int TRAVERSE_PAGE_PREVIOUS = 1 << 8;   2108         public static final int TRAVERSE_PAGE_PREVIOUS = 1 << 8;
2099           2109        
2100         /**   2110         /**
2101          * Traversal event detail field value indicating that the   2111          * Traversal event detail field value indicating that the
2102          * key which designates that the next page of a multi-page   2112          * key which designates that the next page of a multi-page
2103          * window should be shown was pressed; typically, this   2113          * window should be shown was pressed; typically, this
2104          * is the CTRL-PAGEDOWN key sequence   2114          * is the CTRL-PAGEDOWN key sequence
2105          * (value is 1&lt;&lt;9).   2115          * (value is 1&lt;&lt;9).
2106          */   2116          */
2107         public static final int TRAVERSE_PAGE_NEXT = 1 << 9;   2117         public static final int TRAVERSE_PAGE_NEXT = 1 << 9;
2108     2118  
2109         /**   2119         /**
2110          * Constant indicating that an image or operation is of type bitmap  (value is 0).   2120          * Constant indicating that an image or operation is of type bitmap  (value is 0).
2111          */       2121          */    
2112         public static final int BITMAP = 0;   2122         public static final int BITMAP = 0;
2113     2123  
2114         /**   2124         /**
2115          * Constant indicating that an image or operation is of type icon  (value is 1).   2125          * Constant indicating that an image or operation is of type icon  (value is 1).
2116          */       2126          */    
2117         public static final int ICON = 1;   2127         public static final int ICON = 1;
2118           2128        
2119         /**   2129         /**
2120          * The font style constant indicating a normal weight, non-italic font   2130          * The font style constant indicating a normal weight, non-italic font
2121          * (value is 0).   2131          * (value is 0).
2122          */   2132          */
2123         public static final int NORMAL = 0;   2133         public static final int NORMAL = 0;
2124           2134        
2125         /**   2135         /**
2126          * The font style constant indicating a bold weight font   2136          * The font style constant indicating a bold weight font
2127          * (value is 1&lt;&lt;0).   2137          * (value is 1&lt;&lt;0).
2128          */   2138          */
2129         public static final int BOLD = 1 << 0;   2139         public static final int BOLD = 1 << 0;
2130           2140        
2131         /**   2141         /**
2132          * The font style constant indicating an italic font   2142          * The font style constant indicating an italic font
2133          * (value is 1&lt;&lt;1).   2143          * (value is 1&lt;&lt;1).
2134          */   2144          */
2135         public static final int ITALIC = 1 << 1;   2145         public static final int ITALIC = 1 << 1;
    <> 2146        
      2147         /**
      2148          * The font style constant indicating an underline font
      2149          * (value is 1&lt;&lt;2).
      2150          */
      2151         public static final int UNDERLINE = 1 << 2;
2136                 = 2152                
2137         /**   2153         /**
2138          * Line drawing style for solid lines  (value is 1).   2154          * Line drawing style for solid lines  (value is 1).
2139          */   2155          */
2140         public static final int LINE_SOLID = 1;   2156         public static final int LINE_SOLID = 1;
2141                   2157                
2142         /**   2158         /**
2143          * Line drawing style for dashed lines (value is 2).   2159          * Line drawing style for dashed lines (value is 2).
2144          */   2160          */
2145         public static final int LINE_DASH = 2;   2161         public static final int LINE_DASH = 2;
2146                   2162                
2147         /**   2163         /**
2148          * Line drawing style for dotted lines (value is 3).   2164          * Line drawing style for dotted lines (value is 3).
2149          */   2165          */
2150         public static final int LINE_DOT = 3;   2166         public static final int LINE_DOT = 3;
2151                   2167                
2152         /**   2168         /**
2153          * Line drawing style for alternating dash-dot lines (value is 4).   2169          * Line drawing style for alternating dash-dot lines (value is 4).
2154          */   2170          */
2155         public static final int LINE_DASHDOT = 4;   2171         public static final int LINE_DASHDOT = 4;
2156                   2172                
2157         /**   2173         /**
2158          * Line drawing style for dash-dot-dot lines (value is 5).   2174          * Line drawing style for dash-dot-dot lines (value is 5).
2159          */   2175          */
2160         public static final int LINE_DASHDOTDOT = 5;   2176         public static final int LINE_DASHDOTDOT = 5;
2161           2177        
2162         /**   2178         /**
2163          * Even odd rule for filling operations (value is 1).   2179          * Even odd rule for filling operations (value is 1).
2164          */   2180          */
2165         public static final int FILL_EVEN_ODD = 1;   2181         public static final int FILL_EVEN_ODD = 1;
2166     2182  
2167         /**   2183         /**
2168          * Winding rule for filling operations (value is 2).   2184          * Winding rule for filling operations (value is 2).
2169          */   2185          */
2170         public static final int FILL_WINDING = 2;   2186         public static final int FILL_WINDING = 2;
2171     2187  
2172         /**   2188         /**
2173          * Image format constant indicating an unknown image type (value is -1).   2189          * Image format constant indicating an unknown image type (value is -1).
2174          */   2190          */
2175         public static final int IMAGE_UNDEFINED = -1;   2191         public static final int IMAGE_UNDEFINED = -1;
2176     2192  
2177         /**   2193         /**
2178          * Image format constant indicating a GIF format image (value is 2).   2194          * Image format constant indicating a GIF format image (value is 2).
2179          */   2195          */
2180         public static final int IMAGE_GIF = 2;   2196         public static final int IMAGE_GIF = 2;
2181     2197  
2182         /**   2198         /**
2183          * Image format constant indicating a JPEG format image (value is 4).   2199          * Image format constant indicating a JPEG format image (value is 4).
2184          */   2200          */
2185         public static final int IMAGE_JPEG = 4;   2201         public static final int IMAGE_JPEG = 4;
2186     2202  
2187         /**   2203         /**
2188          * Image format constant indicating a PNG format image (value is 5).   2204          * Image format constant indicating a PNG format image (value is 5).
2189          */   2205          */
2190         public static final int IMAGE_PNG = 5;   2206         public static final int IMAGE_PNG = 5;
2191     2207  
2192         /**   2208         /**
2193          * GIF image disposal method constants indicating that the   2209          * GIF image disposal method constants indicating that the
2194          * disposal method is unspecified (value is 0).   2210          * disposal method is unspecified (value is 0).
2195          */   2211          */
2196         public static final int DM_UNSPECIFIED = 0x0;   2212         public static final int DM_UNSPECIFIED = 0x0;
2197     2213  
2198         /**   2214         /**
2199          * GIF image disposal method constants indicating that the   2215          * GIF image disposal method constants indicating that the
2200          * disposal method is to do nothing; that is, to leave the   2216          * disposal method is to do nothing; that is, to leave the
2201          * previous image in place (value is 1).   2217          * previous image in place (value is 1).
2202          */   2218          */
2203         public static final int DM_FILL_NONE = 0x1;   2219         public static final int DM_FILL_NONE = 0x1;
2204     2220  
2205         /**   2221         /**
2206          * GIF image disposal method constants indicating that the   2222          * GIF image disposal method constants indicating that the
2207          * the previous images should be covered with the background   2223          * the previous images should be covered with the background
2208          * color before displaying the next image (value is 2).   2224          * color before displaying the next image (value is 2).
2209          */   2225          */
2210         public static final int DM_FILL_BACKGROUND = 0x2;   2226         public static final int DM_FILL_BACKGROUND = 0x2;
2211     2227  
2212         /**   2228         /**
2213          * GIF image disposal method constants indicating that the   2229          * GIF image disposal method constants indicating that the
2214          * disposal method is to restore the previous picture   2230          * disposal method is to restore the previous picture
2215          * (value is 3).   2231          * (value is 3).
2216          */   2232          */
2217         public static final int DM_FILL_PREVIOUS = 0x3;   2233         public static final int DM_FILL_PREVIOUS = 0x3;
2218           2234        
2219         /**   2235         /**
2220          * Image transparency constant indicating that the image   2236          * Image transparency constant indicating that the image
2221          * contains no transparency information (value is 0).   2237          * contains no transparency information (value is 0).
2222          */   2238          */
2223         public static final int TRANSPARENCY_NONE = 0x0;   2239         public static final int TRANSPARENCY_NONE = 0x0;
2224           2240        
2225         /**   2241         /**
2226          * Image transparency constant indicating that the image   2242          * Image transparency constant indicating that the image
2227          * contains alpha transparency information (value is 1&lt;&lt;0).   2243          * contains alpha transparency information (value is 1&lt;&lt;0).
2228          */   2244          */
2229         public static final int TRANSPARENCY_ALPHA = 1 << 0;   2245         public static final int TRANSPARENCY_ALPHA = 1 << 0;
2230           2246        
2231         /**   2247         /**
2232          * Image transparency constant indicating that the image   2248          * Image transparency constant indicating that the image
2233          * contains a transparency mask (value is 1&lt;&lt;1).   2249          * contains a transparency mask (value is 1&lt;&lt;1).
2234          */   2250          */
2235         public static final int TRANSPARENCY_MASK = 1 << 1;   2251         public static final int TRANSPARENCY_MASK = 1 << 1;
2236           2252        
2237         /**   2253         /**
2238          * Image transparency constant indicating that the image   2254          * Image transparency constant indicating that the image
2239          * contains a transparent pixel (value is 1&lt;&lt;2).   2255          * contains a transparent pixel (value is 1&lt;&lt;2).
2240          */   2256          */
2241         public static final int TRANSPARENCY_PIXEL = 1 << 2;   2257         public static final int TRANSPARENCY_PIXEL = 1 << 2;
2242     2258  
2243 /**   2259 /**
2244 * Answers a concise, human readable description of the error code.   2260 * Answers a concise, human readable description of the error code.
2245 *   2261 *
2246 * @param code the SWT error code.   2262 * @param code the SWT error code.
2247 * @return a description of the error code.   2263 * @return a description of the error code.
2248 *   2264 *
2249 * @see SWT   2265 * @see SWT
2250 */   2266 */
2251 static String findErrorText (int code) {   2267 static String findErrorText (int code) {
2252         switch (code) {   2268         switch (code) {
2253                 case ERROR_UNSPECIFIED:            return "Unspecified error"; //$NON-NLS-1$   2269                 case ERROR_UNSPECIFIED:            return "Unspecified error"; //$NON-NLS-1$
2254                 case ERROR_NO_HANDLES:                     return "No more handles"; //$NON-NLS-1$   2270                 case ERROR_NO_HANDLES:                     return "No more handles"; //$NON-NLS-1$
2255                 case ERROR_NO_MORE_CALLBACKS:      return "No more callbacks"; //$NON-NLS-1$   2271                 case ERROR_NO_MORE_CALLBACKS:      return "No more callbacks"; //$NON-NLS-1$
2256                 case ERROR_NULL_ARGUMENT:          return "Argument cannot be null"; //$NON-NLS-1$   2272                 case ERROR_NULL_ARGUMENT:          return "Argument cannot be null"; //$NON-NLS-1$
2257                 case ERROR_INVALID_ARGUMENT:       return "Argument not valid"; //$NON-NLS-1$   2273                 case ERROR_INVALID_ARGUMENT:       return "Argument not valid"; //$NON-NLS-1$
2258                 case ERROR_INVALID_RANGE:          return "Index out of bounds"; //$NON-NLS-1$   2274                 case ERROR_INVALID_RANGE:          return "Index out of bounds"; //$NON-NLS-1$
2259                 case ERROR_CANNOT_BE_ZERO:         return "Argument cannot be zero"; //$NON-NLS-1$   2275                 case ERROR_CANNOT_BE_ZERO:         return "Argument cannot be zero"; //$NON-NLS-1$
2260                 case ERROR_CANNOT_GET_ITEM:        return "Cannot get item"; //$NON-NLS-1$   2276                 case ERROR_CANNOT_GET_ITEM:        return "Cannot get item"; //$NON-NLS-1$
2261                 case ERROR_CANNOT_GET_SELECTION:   return "Cannot get selection"; //$NON-NLS-1$   2277                 case ERROR_CANNOT_GET_SELECTION:   return "Cannot get selection"; //$NON-NLS-1$
2262                 case ERROR_CANNOT_GET_ITEM_HEIGHT: return "Cannot get item height"; //$NON-NLS-1$   2278                 case ERROR_CANNOT_GET_ITEM_HEIGHT: return "Cannot get item height"; //$NON-NLS-1$
2263                 case ERROR_CANNOT_GET_TEXT:        return "Cannot get text"; //$NON-NLS-1$   2279                 case ERROR_CANNOT_GET_TEXT:        return "Cannot get text"; //$NON-NLS-1$
2264                 case ERROR_CANNOT_SET_TEXT:        return "Cannot set text"; //$NON-NLS-1$   2280                 case ERROR_CANNOT_SET_TEXT:        return "Cannot set text"; //$NON-NLS-1$
2265                 case ERROR_ITEM_NOT_ADDED:         return "Item not added"; //$NON-NLS-1$   2281                 case ERROR_ITEM_NOT_ADDED:         return "Item not added"; //$NON-NLS-1$
2266                 case ERROR_ITEM_NOT_REMOVED:       return "Item not removed"; //$NON-NLS-1$   2282                 case ERROR_ITEM_NOT_REMOVED:       return "Item not removed"; //$NON-NLS-1$
2267                 case ERROR_NOT_IMPLEMENTED:        return "Not implemented"; //$NON-NLS-1$   2283                 case ERROR_NOT_IMPLEMENTED:        return "Not implemented"; //$NON-NLS-1$
2268                 case ERROR_MENU_NOT_DROP_DOWN:     return "Menu must be a drop down"; //$NON-NLS-1$   2284                 case ERROR_MENU_NOT_DROP_DOWN:     return "Menu must be a drop down"; //$NON-NLS-1$
2269                 case ERROR_THREAD_INVALID_ACCESS:  return "Invalid thread access"; //$NON-NLS-1$   2285                 case ERROR_THREAD_INVALID_ACCESS:  return "Invalid thread access"; //$NON-NLS-1$
2270                 case ERROR_WIDGET_DISPOSED:        return "Widget is disposed"; //$NON-NLS-1$   2286                 case ERROR_WIDGET_DISPOSED:        return "Widget is disposed"; //$NON-NLS-1$
2271                 case ERROR_MENUITEM_NOT_CASCADE:   return "Menu item is not a CASCADE"; //$NON-NLS-1$   2287                 case ERROR_MENUITEM_NOT_CASCADE:   return "Menu item is not a CASCADE"; //$NON-NLS-1$
2272                 case ERROR_CANNOT_SET_SELECTION:   return "Cannot set selection";  //$NON-NLS-1$   2288                 case ERROR_CANNOT_SET_SELECTION:   return "Cannot set selection";  //$NON-NLS-1$
2273                 case ERROR_CANNOT_SET_MENU:        return "Cannot set menu";  //$NON-NLS-1$   2289                 case ERROR_CANNOT_SET_MENU:        return "Cannot set menu";  //$NON-NLS-1$
2274                 case ERROR_CANNOT_SET_ENABLED:     return "Cannot set the enabled state";  //$NON-NLS-1$   2290                 case ERROR_CANNOT_SET_ENABLED:     return "Cannot set the enabled state";  //$NON-NLS-1$
2275                 case ERROR_CANNOT_GET_ENABLED:     return "Cannot get the enabled state";  //$NON-NLS-1$   2291                 case ERROR_CANNOT_GET_ENABLED:     return "Cannot get the enabled state";  //$NON-NLS-1$
2276                 case ERROR_INVALID_PARENT:         return "Widget has the wrong parent";  //$NON-NLS-1$   2292                 case ERROR_INVALID_PARENT:         return "Widget has the wrong parent";  //$NON-NLS-1$
2277                 case ERROR_MENU_NOT_BAR:           return "Menu is not a BAR";  //$NON-NLS-1$   2293                 case ERROR_MENU_NOT_BAR:           return "Menu is not a BAR";  //$NON-NLS-1$
2278                 case ERROR_CANNOT_GET_COUNT:       return "Cannot get count"; //$NON-NLS-1$   2294                 case ERROR_CANNOT_GET_COUNT:       return "Cannot get count"; //$NON-NLS-1$
2279                 case ERROR_MENU_NOT_POP_UP:        return "Menu is not a POP_UP"; //$NON-NLS-1$   2295                 case ERROR_MENU_NOT_POP_UP:        return "Menu is not a POP_UP"; //$NON-NLS-1$
2280                 case ERROR_UNSUPPORTED_DEPTH:      return "Unsupported color depth"; //$NON-NLS-1$   2296                 case ERROR_UNSUPPORTED_DEPTH:      return "Unsupported color depth"; //$NON-NLS-1$
2281                 case ERROR_IO:                     return "i/o error"; //$NON-NLS-1$   2297                 case ERROR_IO:                     return "i/o error"; //$NON-NLS-1$
2282                 case ERROR_INVALID_IMAGE:          return "Invalid image"; //$NON-NLS-1$   2298                 case ERROR_INVALID_IMAGE:          return "Invalid image"; //$NON-NLS-1$
2283                 case ERROR_UNSUPPORTED_FORMAT:     return "Unsupported or unrecognized format"; //$NON-NLS-1$   2299                 case ERROR_UNSUPPORTED_FORMAT:     return "Unsupported or unrecognized format"; //$NON-NLS-1$
2284                 case ERROR_INVALID_SUBCLASS:       return "Subclassing not allowed"; //$NON-NLS-1$   2300                 case ERROR_INVALID_SUBCLASS:       return "Subclassing not allowed"; //$NON-NLS-1$
2285                 case ERROR_GRAPHIC_DISPOSED:       return "Graphic is disposed"; //$NON-NLS-1$   2301                 case ERROR_GRAPHIC_DISPOSED:       return "Graphic is disposed"; //$NON-NLS-1$
2286                 case ERROR_DEVICE_DISPOSED:        return "Device is disposed"; //$NON-NLS-1$   2302                 case ERROR_DEVICE_DISPOSED:        return "Device is disposed"; //$NON-NLS-1$
2287                 case ERROR_FAILED_EXEC:            return "Failed to execute runnable"; //$NON-NLS-1$   2303                 case ERROR_FAILED_EXEC:            return "Failed to execute runnable"; //$NON-NLS-1$
2288                 case ERROR_FAILED_LOAD_LIBRARY:    return "Unable to load library"; //$NON-NLS-1$   2304                 case ERROR_FAILED_LOAD_LIBRARY:    return "Unable to load library"; //$NON-NLS-1$
2289                 case ERROR_INVALID_FONT:           return "Font not valid"; //$NON-NLS-1$   2305                 case ERROR_INVALID_FONT:           return "Font not valid"; //$NON-NLS-1$
2290         }   2306         }
2291         return "Unknown error"; //$NON-NLS-1$   2307         return "Unknown error"; //$NON-NLS-1$
2292 }   2308 }
2293           2309        
2294 /**   2310 /**
2295 * Returns the SWT platform name.   2311 * Returns the SWT platform name.
2296 * Examples: "win32", "motif", "gtk", "photon", "carbon"   2312 * Examples: "win32", "motif", "gtk", "photon", "carbon"
2297 *   2313 *
2298 * @return the SWT platform name   2314 * @return the SWT platform name
2299 */   2315 */
2300 public static String getPlatform () {   2316 public static String getPlatform () {
2301         return Platform.PLATFORM;   2317         return Platform.PLATFORM;
2302 }   2318 }
2303     2319  
2304 /**   2320 /**
2305 * Returns the SWT version number as an integer.   2321 * Returns the SWT version number as an integer.
2306 * Example: "SWT051" == 51   2322 * Example: "SWT051" == 51
2307 *   2323 *
2308 * @return the SWT version number   2324 * @return the SWT version number
2309 */   2325 */
2310 public static int getVersion () {   2326 public static int getVersion () {
2311         return Library.SWT_VERSION;   2327         return Library.SWT_VERSION;
2312 }   2328 }
2313     2329  
2314 /**   2330 /**
2315 * Throws an appropriate exception based on the passed in error code.   2331 * Throws an appropriate exception based on the passed in error code.
2316 *   2332 *
2317 * @param code the SWT error code   2333 * @param code the SWT error code
2318 */   2334 */
2319 public static void error (int code) {   2335 public static void error (int code) {
2320         error (code, null);   2336         error (code, null);
2321 }   2337 }
2322     2338  
2323 /**   2339 /**
2324 * Throws an appropriate exception based on the passed in error code.   2340 * Throws an appropriate exception based on the passed in error code.
2325 * The <code>throwable</code> argument should be either null, or the   2341 * The <code>throwable</code> argument should be either null, or the
2326 * throwable which caused SWT to throw an exception.   2342 * throwable which caused SWT to throw an exception.
2327 * <p>   2343 * <p>
2328 * In SWT, errors are reported by throwing one of three exceptions:   2344 * In SWT, errors are reported by throwing one of three exceptions:
2329 * <dl>   2345 * <dl>
2330 * <dd>java.lang.IllegalArgumentException</dd>   2346 * <dd>java.lang.IllegalArgumentException</dd>
2331 * <dt>thrown whenever one of the API methods is invoked with an illegal argument</dt>   2347 * <dt>thrown whenever one of the API methods is invoked with an illegal argument</dt>
2332 * <dd>org.eclipse.swt.SWTException (extends java.lang.RuntimeException)</dd>   2348 * <dd>org.eclipse.swt.SWTException (extends java.lang.RuntimeException)</dd>
2333 * <dt>thrown whenever a recoverable error happens internally in SWT</dt>   2349 * <dt>thrown whenever a recoverable error happens internally in SWT</dt>
2334 * <dd>org.eclipse.swt.SWTError (extends java.lang.Error)</dd>   2350 * <dd>org.eclipse.swt.SWTError (extends java.lang.Error)</dd>
2335 * <dt>thrown whenever a <b>non-recoverable</b> error happens internally in SWT</dt>   2351 * <dt>thrown whenever a <b>non-recoverable</b> error happens internally in SWT</dt>
2336 * </dl>   2352 * </dl>
2337 * This method provides the logic which maps between error codes   2353 * This method provides the logic which maps between error codes
2338 * and one of the above exceptions.   2354 * and one of the above exceptions.
2339 * </p>   2355 * </p>
2340 *   2356 *
2341 * @param code the SWT error code.   2357 * @param code the SWT error code.
2342 * @param throwable the exception which caused the error to occur.   2358 * @param throwable the exception which caused the error to occur.
2343 *   2359 *
2344 * @see SWTError   2360 * @see SWTError
2345 * @see SWTException   2361 * @see SWTException
2346 * @see IllegalArgumentException   2362 * @see IllegalArgumentException
2347 */   2363 */
2348 public static void error (int code, Throwable throwable) {   2364 public static void error (int code, Throwable throwable) {
2349         error (code, throwable, null);   2365         error (code, throwable, null);
2350 }   2366 }
2351     2367  
2352 /**   2368 /**
2353 * Throws an appropriate exception based on the passed in error code.   2369 * Throws an appropriate exception based on the passed in error code.
2354 * The <code>throwable</code> argument should be either null, or the   2370 * The <code>throwable</code> argument should be either null, or the
2355 * throwable which caused SWT to throw an exception.   2371 * throwable which caused SWT to throw an exception.
2356 * <p>   2372 * <p>
2357 * In SWT, errors are reported by throwing one of three exceptions:   2373 * In SWT, errors are reported by throwing one of three exceptions:
2358 * <dl>   2374 * <dl>
2359 * <dd>java.lang.IllegalArgumentException</dd>   2375 * <dd>java.lang.IllegalArgumentException</dd>
2360 * <dt>thrown whenever one of the API methods is invoked with an illegal argument</dt>   2376 * <dt>thrown whenever one of the API methods is invoked with an illegal argument</dt>
2361 * <dd>org.eclipse.swt.SWTException (extends java.lang.RuntimeException)</dd>   2377 * <dd>org.eclipse.swt.SWTException (extends java.lang.RuntimeException)</dd>
2362 * <dt>thrown whenever a recoverable error happens internally in SWT</dt>   2378 * <dt>thrown whenever a recoverable error happens internally in SWT</dt>
2363 * <dd>org.eclipse.swt.SWTError (extends java.lang.Error)</dd>   2379 * <dd>org.eclipse.swt.SWTError (extends java.lang.Error)</dd>
2364 * <dt>thrown whenever a <b>non-recoverable</b> error happens internally in SWT</dt>   2380 * <dt>thrown whenever a <b>non-recoverable</b> error happens internally in SWT</dt>
2365 * </dl>   2381 * </dl>
2366 * This method provides the logic which maps between error codes   2382 * This method provides the logic which maps between error codes
2367 * and one of the above exceptions.   2383 * and one of the above exceptions.
2368 * </p>   2384 * </p>
2369 *   2385 *
2370 * @param code the SWT error code.   2386 * @param code the SWT error code.
2371 * @param throwable the exception which caused the error to occur.   2387 * @param throwable the exception which caused the error to occur.
2372 * @param detail more information about error.   2388 * @param detail more information about error.
2373 *   2389 *
2374 * @see SWTError   2390 * @see SWTError
2375 * @see SWTException   2391 * @see SWTException
2376 * @see IllegalArgumentException   2392 * @see IllegalArgumentException
2377 *   2393 *
2378 * @since 3.0   2394 * @since 3.0
2379 */   2395 */
2380 public static void error (int code, Throwable throwable, String detail) {   2396 public static void error (int code, Throwable throwable, String detail) {
2381     2397  
2382         /*   2398         /*
2383         * This code prevents the creation of "chains" of SWTErrors and   2399         * This code prevents the creation of "chains" of SWTErrors and
2384         * SWTExceptions which in turn contain other SWTErrors and   2400         * SWTExceptions which in turn contain other SWTErrors and
2385         * SWTExceptions as their throwable. This can occur when low level   2401         * SWTExceptions as their throwable. This can occur when low level
2386         * code throws an exception past a point where a higher layer is   2402         * code throws an exception past a point where a higher layer is
2387         * being "safe" and catching all exceptions. (Note that, this is   2403         * being "safe" and catching all exceptions. (Note that, this is
2388         * _a_bad_thing_ which we always try to avoid.)   2404         * _a_bad_thing_ which we always try to avoid.)
2389         *   2405         *
2390         * On the theory that the low level code is closest to the   2406         * On the theory that the low level code is closest to the
2391         * original problem, we simply re-throw the original exception here.   2407         * original problem, we simply re-throw the original exception here.
2392         */   2408         */
2393         if (throwable instanceof SWTError) throw (SWTError) throwable;   2409         if (throwable instanceof SWTError) throw (SWTError) throwable;
2394         if (throwable instanceof SWTException) throw (SWTException) throwable;   2410         if (throwable instanceof SWTException) throw (SWTException) throwable;
2395     2411  
2396         String message = findErrorText (code);   2412         String message = findErrorText (code);
2397         if (detail != null) message += detail;   2413         if (detail != null) message += detail;
2398         switch (code) {   2414         switch (code) {
2399                   2415                
2400                 /* Illegal Arguments (non-fatal) */   2416                 /* Illegal Arguments (non-fatal) */
2401                 case ERROR_NULL_ARGUMENT:   2417                 case ERROR_NULL_ARGUMENT:
2402                 case ERROR_CANNOT_BE_ZERO:   2418                 case ERROR_CANNOT_BE_ZERO:
2403                 case ERROR_INVALID_ARGUMENT:   2419                 case ERROR_INVALID_ARGUMENT:
2404                 case ERROR_MENU_NOT_BAR:   2420                 case ERROR_MENU_NOT_BAR:
2405                 case ERROR_MENU_NOT_DROP_DOWN:   2421                 case ERROR_MENU_NOT_DROP_DOWN:
2406                 case ERROR_MENU_NOT_POP_UP:   2422                 case ERROR_MENU_NOT_POP_UP:
2407                 case ERROR_MENUITEM_NOT_CASCADE:   2423                 case ERROR_MENUITEM_NOT_CASCADE:
2408                 case ERROR_INVALID_PARENT:                2424                 case ERROR_INVALID_PARENT:             
2409                 case ERROR_INVALID_RANGE: {   2425                 case ERROR_INVALID_RANGE: {
2410                         throw new IllegalArgumentException (message);   2426                         throw new IllegalArgumentException (message);
2411                 }   2427                 }
2412                   2428                
2413                 /* SWT Exceptions (non-fatal) */   2429                 /* SWT Exceptions (non-fatal) */
2414                 case ERROR_INVALID_SUBCLASS:   2430                 case ERROR_INVALID_SUBCLASS:
2415                 case ERROR_THREAD_INVALID_ACCESS:   2431                 case ERROR_THREAD_INVALID_ACCESS:
2416                 case ERROR_WIDGET_DISPOSED:   2432                 case ERROR_WIDGET_DISPOSED:
2417                 case ERROR_GRAPHIC_DISPOSED:   2433                 case ERROR_GRAPHIC_DISPOSED:
2418                 case ERROR_DEVICE_DISPOSED:   2434                 case ERROR_DEVICE_DISPOSED:
2419                 case ERROR_INVALID_IMAGE:   2435                 case ERROR_INVALID_IMAGE:
2420                 case ERROR_UNSUPPORTED_DEPTH:   2436                 case ERROR_UNSUPPORTED_DEPTH:
2421                 case ERROR_UNSUPPORTED_FORMAT:   2437                 case ERROR_UNSUPPORTED_FORMAT:
2422                 case ERROR_FAILED_EXEC:   2438                 case ERROR_FAILED_EXEC:
2423                 case ERROR_IO: {   2439                 case ERROR_IO: {
2424                         SWTException exception = new SWTException (code, message);   2440                         SWTException exception = new SWTException (code, message);
2425                         exception.throwable = throwable;   2441                         exception.throwable = throwable;
2426                         throw exception;   2442                         throw exception;
2427                 }   2443                 }
2428                   2444                
2429                 /* Operation System Errors (fatal, may occur only on some platforms) */   2445                 /* Operation System Errors (fatal, may occur only on some platforms) */
2430                 case ERROR_CANNOT_GET_COUNT:   2446                 case ERROR_CANNOT_GET_COUNT:
2431                 case ERROR_CANNOT_GET_ENABLED:   2447                 case ERROR_CANNOT_GET_ENABLED:
2432                 case ERROR_CANNOT_GET_ITEM:   2448                 case ERROR_CANNOT_GET_ITEM:
2433                 case ERROR_CANNOT_GET_ITEM_HEIGHT:   2449                 case ERROR_CANNOT_GET_ITEM_HEIGHT:
2434                 case ERROR_CANNOT_GET_SELECTION:   2450                 case ERROR_CANNOT_GET_SELECTION:
2435                 case ERROR_CANNOT_GET_TEXT:   2451                 case ERROR_CANNOT_GET_TEXT:
2436                 case ERROR_CANNOT_SET_ENABLED:   2452                 case ERROR_CANNOT_SET_ENABLED:
2437                 case ERROR_CANNOT_SET_MENU:   2453                 case ERROR_CANNOT_SET_MENU:
2438                 case ERROR_CANNOT_SET_SELECTION:   2454                 case ERROR_CANNOT_SET_SELECTION:
2439                 case ERROR_CANNOT_SET_TEXT:   2455                 case ERROR_CANNOT_SET_TEXT:
2440                 case ERROR_ITEM_NOT_ADDED:   2456                 case ERROR_ITEM_NOT_ADDED:
2441                 case ERROR_ITEM_NOT_REMOVED:   2457                 case ERROR_ITEM_NOT_REMOVED:
2442                 case ERROR_NO_HANDLES:   2458                 case ERROR_NO_HANDLES:
2443                 //FALL THROUGH   2459                 //FALL THROUGH
2444                   2460                
2445                 /* SWT Errors (fatal, may occur only on some platforms) */   2461                 /* SWT Errors (fatal, may occur only on some platforms) */
2446                 case ERROR_FAILED_LOAD_LIBRARY:   2462                 case ERROR_FAILED_LOAD_LIBRARY:
2447                 case ERROR_NO_MORE_CALLBACKS:   2463                 case ERROR_NO_MORE_CALLBACKS:
2448                 case ERROR_NOT_IMPLEMENTED:   2464                 case ERROR_NOT_IMPLEMENTED:
2449                 case ERROR_UNSPECIFIED: {   2465                 case ERROR_UNSPECIFIED: {
2450                         SWTError error = new SWTError (code, message);   2466                         SWTError error = new SWTError (code, message);
2451                         error.throwable = throwable;   2467                         error.throwable = throwable;
2452                         throw error;   2468                         throw error;
2453                 }   2469                 }
2454         }   2470         }
2455           2471        
2456         /* Unknown/Undefined Error */   2472         /* Unknown/Undefined Error */
2457         SWTError error = new SWTError (code, message);   2473         SWTError error = new SWTError (code, message);
2458         error.throwable = throwable;   2474         error.throwable = throwable;
2459         throw error;   2475         throw error;
2460 }   2476 }
2461     2477  
2462 static {   2478 static {
2463         /*   2479         /*
2464         * These values represent bit masks that may need to   2480         * These values represent bit masks that may need to
2465         * expand in the future.  Therefore they are not initialized   2481         * expand in the future.  Therefore they are not initialized
2466         * in the declaration to stop the compiler from inlining.   2482         * in the declaration to stop the compiler from inlining.
2467         */   2483         */
2468         BUTTON_MASK = BUTTON1 | BUTTON2 | BUTTON3 ;   2484         BUTTON_MASK = BUTTON1 | BUTTON2 | BUTTON3 ;
2469         MODIFIER_MASK = ALT | SHIFT | CTRL | COMMAND;   2485         MODIFIER_MASK = ALT | SHIFT | CTRL | COMMAND;
2470           2486        
2471         /*   2487         /*
2472         * These values can be different on different platforms.   2488         * These values can be different on different platforms.
2473         * Therefore they are not initialized in the declaration   2489         * Therefore they are not initialized in the declaration
2474         * to stop the compiler from inlining.   2490         * to stop the compiler from inlining.
2475         */   2491         */
2476         String platform = getPlatform ();   2492         String platform = getPlatform ();
2477         if ("carbon".equals (platform)) { //$NON-NLS-1$   2493         if ("carbon".equals (platform)) { //$NON-NLS-1$
2478                 MOD1 = COMMAND;   2494                 MOD1 = COMMAND;
2479                 MOD2 = SHIFT;   2495                 MOD2 = SHIFT;
2480                 MOD3 = ALT;   2496                 MOD3 = ALT;
2481                 MOD4 = CONTROL;   2497                 MOD4 = CONTROL;
2482         } else {   2498         } else {
2483                 MOD1 = CONTROL;   2499                 MOD1 = CONTROL;
2484                 MOD2 = SHIFT;   2500                 MOD2 = SHIFT;
2485                 MOD3 = ALT;   2501                 MOD3 = ALT;
2486                 MOD4 = 0;   2502                 MOD4 = 0;
2487         }   2503         }
2488 }   2504 }
2489 }   2505 }