Changeset 22

Show
Ignore:
Timestamp:
05/25/04 19:43:48 (4 years ago)
Author:
jjr
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/dwt.mak

    r21 r22  
    99# 
    1010 
    11 BASEDIR=/dmd/src 
     11BASEDIR=/Projects/d/dwt/trunk 
    1212 
    1313# define the src directoriess that must be accessable during compilation 
     
    6060 
    6161SRC_DWT_INTERNAL_WIN32= \ 
    62     $(INTERNAL_WIN32)/all.d \ 
    63     $(INTERNAL_WIN32)/accel.d \ 
    64     $(INTERNAL_WIN32)/createstruct.d \ 
    65     $(INTERNAL_WIN32)/dllversioninfo.d \ 
    66     $(INTERNAL_WIN32)/drawitemstruct.d \ 
    67     $(INTERNAL_WIN32)/iconinfo.d \ 
    68     $(INTERNAL_WIN32)/logfont.d \ 
    69     $(INTERNAL_WIN32)/lresult.d \ 
    70     $(INTERNAL_WIN32)/msg.d \ 
    71     $(INTERNAL_WIN32)/nmhdr.d \ 
    72     $(INTERNAL_WIN32)/nmttdispinfo.d \ 
    73     $(INTERNAL_WIN32)/osversioninfo.d \ 
    74     $(INTERNAL_WIN32)/paintstruct.d \ 
    75     $(INTERNAL_WIN32)/rect.d \ 
    76     $(INTERNAL_WIN32)/scrollinfo.d \ 
    7762    $(INTERNAL_WIN32)/tchar.d \ 
    78     $(INTERNAL_WIN32)/textmetric.d \ 
    7963    $(INTERNAL_WIN32)/types.d \ 
    80     $(INTERNAL_WIN32)/wndclass.d \ 
    8164    $(INTERNAL_WIN32)/os.d \ 
    8265 
  • trunk/dwt/dwt.d

    r4 r22  
    1 // 
    2 //  DWT module contains the base dwt class implementation 
    3 // 
    4  
    51module dwt.dwt; 
    62 
     3/+ 
     4import org.eclipse.swt.internal.*; 
     5+/ 
     6 
     7 
     8/** 
     9 * This class provides access to a small number of DDT system-wide 
     10 * methods, and in addition defines the public constants provided 
     11 * by DWT. 
     12 * <p> 
     13 * By defining constants like UP and DOWN in a single class, DWT 
     14 * can share common names and concepts at the same time minimizing 
     15 * the number of classes, names and constants for the application 
     16 * programmer. 
     17 * </p><p> 
     18 * Note that some of the constants provided by this class represent 
     19 * optional, appearance related aspects of widgets which are available 
     20 * either only on some window systems, or for a differing set of 
     21 * widgets on each window system. These constants are marked 
     22 * as <em>HINT</em>s. The set of widgets which support a particular 
     23 * <em>HINT</em> may change from release to release, although we typically 
     24 * will not withdraw support for a <em>HINT</em> once it is made available. 
     25 * </p> 
     26 */ 
     27  
     28/* NOTE: 
     29 *   Good javadoc coding style is to put the values of const  
     30 *   constants in the comments. This reinforces the fact that 
     31 *   consumers are allowed to rely on the value (and they must 
     32 *   since the values are compiled inline in their code). We 
     33 *   can <em>not</em> change the values of these constants between 
     34 *   releases. 
     35 */ 
    736public class DWT { 
    8 /* implementation here */ 
     37     
     38    /* Initialize the class */ 
     39//  static { 
     40//      /* NOTE: the static initialization is at the end of file */ 
     41//  } 
     42     
     43    /* Widget Event Constants */ 
     44     
     45    /** 
     46     * The null event type (value is 0). 
     47     *  
     48     * @since 3.0 
     49     */ 
     50    public const int None = 0; 
     51     
     52    /** 
     53     * The key down event type (value is 1). 
     54     */ 
     55    public const int KeyDown = 1; 
     56     
     57    /** 
     58     * The key up event type (value is 2). 
     59     */ 
     60    public const int KeyUp = 2; 
     61     
     62    /** 
     63     * mouse down event type (value is 3) 
     64     */ 
     65    public const int MouseDown = 3; 
     66     
     67    /** 
     68     * The mouse up event type (value is 4). 
     69     */ 
     70    public const int MouseUp = 4; 
     71     
     72    /** 
     73     * The mouse move event type (value is 5). 
     74     */ 
     75    public const int MouseMove = 5; 
     76     
     77    /** 
     78     * The mouse enter event type (value is 6). 
     79     */ 
     80    public const int MouseEnter = 6;         
     81     
     82    /** 
     83     * The mouse exit event type (value is 7). 
     84     */ 
     85    public const int MouseExit = 7; 
     86     
     87    /** 
     88     * The mouse double click event type (value is 8). 
     89     */ 
     90    public const int MouseDoubleClick = 8;   
     91     
     92    /** 
     93     * The paint event type (value is 9). 
     94     */ 
     95    public const int Paint = 9;  
     96     
     97    /** 
     98     * The move event type (value is 10). 
     99     */ 
     100    public const int Move = 10; 
     101     
     102    /** 
     103     * The resize event type (value is 11). 
     104     */ 
     105    public const int Resize = 11; 
     106     
     107    /** 
     108     * The dispose event type (value is 12). 
     109     */ 
     110    public const int Dispose = 12; 
     111     
     112    /** 
     113     * The selection event type (value is 13). 
     114     */ 
     115    public const int Selection = 13; 
     116     
     117    /** 
     118     * The default selection event type (value is 14). 
     119     */ 
     120    public const int DefaultSelection = 14; 
     121     
     122    /** 
     123     * The focus in event type (value is 15). 
     124     */ 
     125    public const int FocusIn = 15; 
     126     
     127    /** 
     128     * The focus out event type (value is 16). 
     129     */ 
     130    public const int FocusOut = 16; 
     131     
     132    /** 
     133     * The expand event type (value is 17). 
     134     */ 
     135    public const int Expand = 17; 
     136     
     137    /** 
     138     * The collapse event type (value is 18). 
     139     */ 
     140    public const int Collapse = 18; 
     141     
     142    /** 
     143     * The iconify event type (value is 19). 
     144     */ 
     145    public const int Iconify = 19; 
     146     
     147    /** 
     148     * The de-iconify event type (value is 20). 
     149     */ 
     150    public const int Deiconify = 20; 
     151     
     152    /** 
     153     * The close event type (value is 21). 
     154     */ 
     155    public const int Close = 21; 
     156     
     157    /** 
     158     * The show event type (value is 22). 
     159     */ 
     160    public const int Show = 22; 
     161     
     162    /** 
     163     * The hide event type (value is 23). 
     164     */ 
     165    public const int Hide = 23; 
     166     
     167    /** 
     168     * The modify event type (value is 24). 
     169     */ 
     170    public const int Modify = 24; 
     171     
     172    /** 
     173     * The verify event type (value is 25). 
     174     */ 
     175    public const int Verify = 25; 
     176     
     177    /** 
     178     * The activate event type (value is 26). 
     179     */ 
     180    public const int Activate = 26; 
     181     
     182    /** 
     183     * The deactivate event type (value is 27). 
     184     */ 
     185    public const int Deactivate = 27;    
     186     
     187    /** 
     188     * The help event type (value is 28). 
     189     */ 
     190    public const int Help = 28; 
     191     
     192    /** 
     193     * The drag detect event type (value is 29). 
     194     */ 
     195    public const int DragDetect = 29; 
     196     
     197    /** 
     198     * The arm event type (value is 30). 
     199     */ 
     200    public const int Arm = 30; 
     201     
     202    /** 
     203     * The traverse event type (value is 31). 
     204     */ 
     205    public const int Traverse = 31; 
     206     
     207    /** 
     208     * The mouse hover event type (value is 32). 
     209     */ 
     210    public const int MouseHover = 32; 
     211 
     212    /** 
     213     * The hardware key down event type (value is 33). 
     214     */ 
     215    public const int HardKeyDown = 33; 
     216     
     217    /** 
     218     * The hardware key up event type (value is 34). 
     219     */ 
     220    public const int HardKeyUp = 34; 
     221 
     222    /** 
     223     * The menu detect event type (value is 35). 
     224     *  
     225     * @since 3.0 
     226     */ 
     227    public const int MenuDetect = 35; 
     228         
     229    /* Event Details */ 
     230     
     231    /** 
     232     * A constant known to be zero (0), used in operations which 
     233     * take bit flags to indicate that "no bits are set". 
     234     */ 
     235    public const int NONE = 0; 
     236     
     237    /** 
     238     * Indicates that a user-interface component is being dragged, 
     239     * for example dragging the thumb of a scroll bar (value is 1). 
     240     */ 
     241    public const int DRAG = 1; 
     242     
     243    /** 
     244     * A constant known to be zero (0), used in operations which 
     245     * take pointers to indicate a null argument. 
     246     */ 
     247    public const int NULL = 0; 
     248     
     249    /** 
     250     * Indicates that a default should be used (value is -1). 
     251     */ 
     252    public const int DEFAULT = -1; 
     253 
     254    /** 
     255     * Style constant for menu bar behavior (value is 1&lt;&lt;1). 
     256     * <p><b>Used By:</b><ul> 
     257     * <li><code>Menu</code></li> 
     258     * </ul></p> 
     259     */ 
     260    public const int BAR = 1 << 1; 
     261 
     262    /** 
     263     * Style constant for drop down menu/list behavior (value is 1&lt;&lt;2). 
     264     * <p><b>Used By:</b><ul> 
     265     * <li><code>Menu</code></li> 
     266     * <li><code>ToolItem</code></li> 
     267     * <li><code>CoolItem</code></li> 
     268     * <li><code>Combo</code></li> 
     269     * </ul></p> 
     270     */ 
     271    public const int DROP_DOWN = 1 << 2; 
     272 
     273    /** 
     274     * Style constant for pop up menu behavior (value is 1&lt;&lt;3). 
     275     * <p><b>Used By:</b><ul> 
     276     * <li><code>Menu</code></li> 
     277     * </ul></p> 
     278     */ 
     279    public const int POP_UP = 1 << 3; 
     280 
     281    /** 
     282     * Style constant for line separator behavior (value is 1&lt;&lt;1). 
     283     * <p><b>Used By:</b><ul> 
     284     * <li><code>Label</code></li> 
     285     * <li><code>MenuItem</code></li> 
     286     * <li><code>ToolItem</code></li> 
     287     * </ul></p> 
     288     */ 
     289    public const int SEPARATOR = 1 << 1; 
     290 
     291    /** 
     292     * Style constant for toggle button behavior (value is 1&lt;&lt;1). 
     293     * <p><b>Used By:</b><ul> 
     294     * <li><code>Button</code></li> 
     295     * </ul></p> 
     296     */ 
     297    public const int TOGGLE = 1 << 1; 
     298 
     299    /** 
     300     * Style constant for arrow button behavior (value is 1&lt;&lt;2). 
     301     * <p><b>Used By:</b><ul> 
     302     * <li><code>Button</code></li> 
     303     * </ul></p> 
     304     */ 
     305    public const int ARROW = 1 << 2; 
     306 
     307    /** 
     308     * Style constant for push button behavior (value is 1&lt;&lt;3). 
     309     * <p><b>Used By:</b><ul> 
     310     * <li><code>Button</code></li> 
     311     * <li><code>MenuItem</code></li> 
     312     * <li><code>ToolItem</code></li> 
     313     * </ul></p> 
     314     */ 
     315    public const int PUSH = 1 << 3; 
     316 
     317    /** 
     318     * Style constant for radio button behavior (value is 1&lt;&lt;4). 
     319     * <p><b>Used By:</b><ul> 
     320     * <li><code>Button</code></li> 
     321     * <li><code>MenuItem</code></li> 
     322     * <li><code>ToolItem</code></li> 
     323     * </ul></p> 
     324     */ 
     325    public const int RADIO = 1 << 4; 
     326 
     327    /** 
     328     * Style constant for check box behavior (value is 1&lt;&lt;5). 
     329     * <p><b>Used By:</b><ul> 
     330     * <li><code>Button</code></li> 
     331     * <li><code>MenuItem</code></li> 
     332     * <li><code>ToolItem</code></li> 
     333     * <li><code>Table</code></li> 
     334     * <li><code>Tree</code></li> 
     335     * </ul></p> 
     336     */ 
     337    public const int CHECK = 1 << 5; 
     338 
     339    /** 
     340     * Style constant for cascade behavior (value is 1&lt;&lt;6). 
     341     * <p><b>Used By:</b><ul> 
     342     * <li><code>MenuItem</code></li> 
     343     * </ul></p> 
     344     */ 
     345    public const int CASCADE = 1 << 6; 
     346 
     347    /** 
     348     * Style constant for multi-selection behavior in lists 
     349     * and multiple line support on text fields (value is 1&lt;&lt;1). 
     350     * <p><b>Used By:</b><ul> 
     351     * <li><code>Text</code></li> 
     352     * <li><code>List</code></li> 
     353     * <li><code>FileDialog</code></li> 
     354     * </ul></p> 
     355     */ 
     356    public const int MULTI = 1 << 1; 
     357 
     358    /** 
     359     * Style constant for single selection behavior in lists 
     360     * and single line support on text fields (value is 1&lt;&lt;2). 
     361     * <p><b>Used By:</b><ul> 
     362     * <li><code>Text</code></li> 
     363     * <li><code>List</code></li> 
     364     * <li><code>Table</code></li> 
     365     * <li><code>Tree</code></li> 
     366     * </ul></p> 
     367     */ 
     368    public const int SINGLE = 1 << 2; 
     369 
     370    /** 
     371     * Style constant for read-only behavior (value is 1&lt;&lt;3). 
     372     * <p><b>Used By:</b><ul> 
     373     * <li><code>Combo</code></li> 
     374     * <li><code>Text</code></li> 
     375     * </ul></p> 
     376     */ 
     377    public const int READ_ONLY = 1 << 3; 
     378 
     379    /** 
     380     * Style constant for automatic line wrap behavior (value is 1&lt;&lt;6). 
     381     * <p><b>Used By:</b><ul> 
     382     * <li><code>Label</code></li> 
     383     * <li><code>Text</code></li> 
     384     * <li><code>ToolBar</code></li> 
     385     * </ul></p> 
     386     */ 
     387    public const int WRAP = 1 << 6; 
     388 
     389    /** 
     390     * Style constant for simple (not drop down) behavior (value is 1&lt;&lt;6). 
     391     * <p><b>Used By:</b><ul> 
     392     * <li><code>Combo</code></li> 
     393     * </ul></p> 
     394     */ 
     395    public const int SIMPLE = 1 << 6; 
     396 
     397    /** 
     398     * Style constant for password behavior (value is 1&lt;&lt;22). 
     399     * <p><b>Used By:</b><ul> 
     400     * <li><code>Text</code></li> 
     401     * </ul></p> 
     402     *  
     403     * @since 3.0 
     404     */ 
     405    public const int PASSWORD = 1 << 22; 
     406     
     407    /** 
     408     * Style constant for shadow in behavior (value is 1&lt;&lt;2). 
     409     * <br>Note that this is a <em>HINT</em>. 
     410     * <p><b>Used By:</b><ul> 
     411     * <li><code>Label</code></li> 
     412     * <li><code>Group</code></li> 
     413     * </ul></p> 
     414     */ 
     415    public const int SHADOW_IN = 1 << 2; 
     416 
     417    /** 
     418     * Style constant for shadow out behavior (value is 1&lt;&lt;3). 
     419     * <br>Note that this is a <em>HINT</em>. 
     420     * <p><b>Used By:</b><ul> 
     421     * <li><code>Label</code></li> 
     422     * <li><code>Group</code></li> 
     423     * <li><code>ToolBar</code></li> 
     424     * </ul></p> 
     425     */ 
     426    public const int SHADOW_OUT = 1 << 3; 
     427 
     428    /** 
     429     * Style constant for shadow etched in behavior (value is 1&lt;&lt;4). 
     430     * <br>Note that this is a <em>HINT</em>. It is ignored on all platforms except Motif. 
     431     * <p><b>Used By:</b><ul> 
     432     * <li><code>Group</code></li> 
     433     * </ul></p> 
     434     */ 
     435    public const int SHADOW_ETCHED_IN = 1 << 4; 
     436 
     437    /** 
     438     * Style constant for shadow etched out behavior (value is 1&lt;&lt;6). 
     439     * <br>Note that this is a <em>HINT</em>. It is ignored on all platforms except Motif. 
     440     * <p><b>Used By:</b><ul> 
     441     * <li><code>Group</code></li> 
     442     * </ul></p> 
     443     */ 
     444    public const int SHADOW_ETCHED_OUT = 1 << 6; 
     445 
     446    /** 
     447     * Style constant for no shadow behavior (value is 1&lt;&lt;5). 
     448     * <br>Note that this is a <em>HINT</em>. 
     449     * <p><b>Used By:</b><ul> 
     450     * <li><code>Label</code></li> 
     451     * <li><code>Group</code></li> 
     452     * </ul></p> 
     453     */ 
     454    public const int SHADOW_NONE = 1 << 5; 
     455 
     456    /** 
     457     * Style constant for progress bar behavior (value is 1&lt;&lt;1). 
     458     * <p><b>Used By:</b><ul> 
     459     * <li><code>ProgressBar</code></li> 
     460     * </ul></p> 
     461     */ 
     462    public const int INDETERMINATE = 1 << 1; 
     463     
     464    /** 
     465     * Style constant for tool window behavior (value is 1&lt;&lt;2). 
     466     * <p> 
     467     * A tool window is a window intended to be used as a floating toolbar. 
     468     * It typically has a title bar that is shorter than a normal title bar, 
     469     * and the window title is typically drawn using a smaller font. 
     470     * <br>Note that this is a <em>HINT</em>. 
     471     * </p><p><b>Used By:</b><ul> 
     472     * <li><code>Decorations</code> and subclasses</li> 
     473     * </ul></p> 
     474     */ 
     475    public const int TOOL = 1 << 2;  
     476 
     477    /** 
     478     * Style constant to ensure no trimmings are used (value is 1&lt;&lt;3). 
     479     * <br>Note that this overrides all other trim styles. 
     480     * <p><b>Used By:</b><ul> 
     481     * <li><code>Decorations</code> and subclasses</li> 
     482     * </ul></p> 
     483     */ 
     484    public const int NO_TRIM = 1 << 3; 
     485     
     486    /** 
     487     * Style constant for resize box trim (value is 1&lt;&lt;4). 
     488     * <p><b>Used By:</b><ul> 
     489     * <li><code>Decorations</code> and subclasses</li> 
     490     * <li><code>Tracker</code></li> 
     491     * </ul></p> 
     492     */ 
     493    public const int RESIZE = 1 << 4; 
     494 
     495    /** 
     496     * Style constant for title area trim (value is 1&lt;&lt;5). 
     497     * <p><b>Used By:</b><ul> 
     498     * <li><code>Decorations</code> and subclasses</li> 
     499     * </ul></p> 
     500     */ 
     501    public const int TITLE = 1 << 5; 
     502 
     503    /** 
     504     * Style constant for close box trim (value is 1&lt;&lt;6, 
     505     * since we do not distinguish between CLOSE style and MENU style). 
     506     * <p><b>Used By:</b><ul> 
     507     * <li><code>Decorations</code> and subclasses</li> 
     508     * </ul></p> 
     509     */ 
     510    public const int CLOSE = 1 << 6; 
     511 
     512    /** 
     513     * Style constant for shell menu trim (value is 1&lt;&lt;6, 
     514     * since we do not distinguish between CLOSE style and MENU style). 
     515     * <p><b>Used By:</b><ul> 
     516     * <li><code>Decorations</code> and subclasses</li> 
     517     * </ul></p> 
     518     */ 
     519    public const int MENU = CLOSE; 
     520 
     521    /** 
     522     * Style constant for minimize box trim (value is 1&lt;&lt;7). 
     523     * <p><b>Used By:</b><ul> 
     524     * <li><code>Decorations</code> and subclasses</li> 
     525     * </ul></p> 
     526     */ 
     527    public const int MIN = 1 << 7; 
     528 
     529    /** 
     530     * Style constant for maximize box trim (value is 1&lt;&lt;10). 
     531     * <p><b>Used By:</b><ul> 
     532     * <li><code>Decorations</code> and subclasses</li> 
     533     * </ul></p> 
     534     */ 
     535    public const int MAX = 1 << 10; 
     536 
     537    /** 
     538     * Style constant for horizontal scrollbar behavior (value is 1&lt;&lt;8). 
     539     * <p><b>Used By:</b><ul> 
     540     * <li><code>Scrollable</code> and subclasses</li> 
     541     * </ul></p> 
     542     */ 
     543    public const int H_SCROLL = 1 << 8; 
     544 
     545    /** 
     546     * Style constant for vertical scrollbar behavior (value is 1&lt;&lt;9). 
     547     * <p><b>Used By:</b><ul> 
     548     * <li><code>Scrollable</code> and subclasses</li> 
     549     * </ul></p> 
     550     */ 
     551    public const int V_SCROLL = 1 << 9; 
     552 
     553    /** 
     554     * Style constant for bordered behavior (value is 1&lt;&lt;11). 
     555     * <br>Note that this is a <em>HINT</em>. 
     556     * <p><b>Used By:</b><ul> 
     557     * <li><code>Control</code> and subclasses</li> 
     558     * </ul></p> 
     559     */ 
     560    public const int BORDER = 1 << 11; 
     561 
     562    /** 
     563     * Style constant indicating that the window manager should clip 
     564     * a widget's children with respect to its viewable area. (value is 1&lt;&lt;12). 
     565     * <br>Note that this is a <em>HINT</em>. 
     566     * <p><b>Used By:</b><ul> 
     567     * <li><code>Control</code> and subclasses</li> 
     568     * </ul></p> 
     569     */ 
     570    public const int CLIP_CHILDREN = 1 << 12;  
     571 
     572    /** 
     573     * Style constant indicating that the window manager should clip 
     574     * a widget's siblings with respect to its viewable area. (value is 1&lt;&lt;13). 
     575     * <br>Note that this is a <em>HINT</em>. 
     576     * <p><b>Used By:</b><ul> 
     577     * <li><code>Control</code> and subclasses</li> 
     578     * </ul></p> 
     579     */ 
     580    public const int CLIP_SIBLINGS = 1 << 13; 
     581 
     582    /** 
     583     * Style constant for always on top behavior (value is 1&lt;&lt;14). 
     584     * <br>Note that this is a <em>HINT</em>. 
     585     * <p><b>Used By:</b><ul> 
     586     * <li><code>Decorations</code>and subclasses</li> 
     587     * </ul></p> 
     588     */ 
     589    public const int ON_TOP = 1 << 14; 
     590 
     591    /** 
     592     * Trim style convenience constant for the most common top level shell appearance 
     593     * (value is CLOSE|TITLE|MIN|MAX|RESIZE). 
     594     * <p><b>Used By:</b><ul> 
     595     * <li><code>Shell</code></li> 
     596     * </ul></p> 
     597     */ 
     598    public const int SHELL_TRIM = CLOSE | TITLE | MIN | MAX | RESIZE; 
     599 
     600    /** 
     601     * Trim style convenience constant for the most common dialog shell appearance 
     602     * (value is CLOSE|TITLE|BORDER). 
     603     * <p><b>Used By:</b><ul> 
     604     * <li><code>Shell</code></li> 
     605     * </ul></p> 
     606     */ 
     607    public const int DIALOG_TRIM = TITLE | CLOSE | BORDER; 
     608 
     609    /** 
     610     * Style constant for modeless behavior (value is 0). 
     611     * <br>Note that this is a <em>HINT</em>. 
     612     * <p><b>Used By:</b><ul> 
     613     * <li><code>Dialog</code></li> 
     614     * <li><code>Shell</code></li> 
     615     * </ul></p> 
     616     */ 
     617    public const int MODELESS = 0; 
     618 
     619    /** 
     620     * Style constant for primary modal behavior (value is 1&lt;&lt;15). 
     621     * <br>Note that this is a <em>HINT</em>. 
     622     * <p><b>Used By:</b><ul> 
     623     * <li><code>Dialog</code></li> 
     624     * <li><code>Shell</code></li> 
     625     * </ul></p> 
     626     */ 
     627    public const int PRIMARY_MODAL = 1 << 15; 
     628 
     629    /** 
     630     * Style constant for application modal behavior (value is 1&lt;&lt;16). 
     631     * <br>Note that this is a <em>HINT</em>. 
     632     * <p><b>Used By:</b><ul> 
     633     * <li><code>Dialog</code></li> 
     634     * <li><code>Shell</code></li> 
     635     * </ul></p> 
     636     */ 
     637    public const int APPLICATION_MODAL = 1 << 16; 
     638 
     639    /** 
     640     * Style constant for system modal behavior (value is 1&lt;&lt;17). 
     641     * <br>Note that this is a <em>HINT</em>. 
     642     * <p><b>Used By:</b><ul> 
     643     * <li><code>Dialog</code></li> 
     644     * <li><code>Shell</code></li> 
     645     * </ul></p> 
     646     */ 
     647    public const int SYSTEM_MODAL = 1 << 17; 
     648 
     649    /** 
     650     * Style constant for selection hiding behavior when the widget loses focus (value is 1&lt;&lt;15). 
     651     * <br>Note that this is a <em>HINT</em>. 
     652     * <p><b>Used By:</b><ul> 
     653     * <li><code>Table</code></li> 
     654     * </ul></p> 
     655     */ 
     656    public const int HIDE_SELECTION = 1 << 15; 
     657 
     658    /** 
     659     * Style constant for full row selection behavior. (value is 1&lt;&lt;16). 
     660     * <br>Note that this is a <em>HINT</em>. 
     661     * <p><b>Used By:</b><ul> 
     662     * <li><code>Table</code></li> 
     663     * </ul></p> 
     664     */ 
     665    public const int FULL_SELECTION = 1 << 16; 
     666 
     667    /** 
     668     * Style constant for flat appearance. (value is 1&lt;&lt;23). 
     669     * <br>Note that this is a <em>HINT</em>. 
     670     * <p><b>Used By:</b><ul> 
     671     * <li><code>Button</code></li> 
     672     * <li><code>ToolBar</code></li> 
     673     * </ul></p> 
     674     */ 
     675    public const int FLAT = 1 << 23; 
     676 
     677    /** 
     678     * Style constant for flat appearance. (value is 1&lt;&lt;16). 
     679     * <br>Note that this is a <em>HINT</em>. 
     680     * <p><b>Used By:</b><ul> 
     681     * <li><code>ProgressBar</code></li> 
     682     * </ul></p> 
     683     */ 
     684    public const int SMOOTH = 1 << 16; 
     685 
     686    /** 
     687     * Style constant for no background behavior (value is 1&lt;&lt;18). 
     688     * <p> 
     689     * By default, before a widget paints, the client area is filled with the current background color. 
     690     * When this style is specified, the background is not filled, and the application is responsible 
     691     * for filling every pixel of the client area. 
     692     * This style might be used as an alternative to "double-buffering" in order to reduce flicker. 
     693     * This style does not mean "transparent" - widgets that are obscured will not draw through. 
     694     * </p><p><b>Used By:</b><ul> 
     695     * <li><code>Composite</code></li> 
     696     * </ul></p> 
     697     */ 
     698    public const int NO_BACKGROUND = 1 << 18; 
     699 
     700    /** 
     701     * Style constant for does not take focus behavior (value is 1&lt;&lt;19). 
     702     * <br>Note that this is a <em>HINT</em>. 
     703     * <p><b>Used By:</b><ul> 
     704     * <li><code>Composite</code></li> 
     705     * </ul></p> 
     706     */ 
     707    public const int NO_FOCUS = 1 << 19; 
     708 
     709    /** 
     710     * Style constant for no redraw on resize behavior (value is 1&lt;&lt;20). 
     711     * <p> 
     712     * This style stops the entire client area from being invalidated when the size 
     713     * of the Canvas changes. Specifically, when the size of the Canvas gets smaller, 
     714     * the DWT.Paint event is not sent. When it gets bigger, an DWT.Paint event is 
     715     * sent with a GC clipped to only the new areas to be painted. Without this 
     716     * style, the entire client area will be repainted. 
     717     * </p><p><b>Used By:</b><ul> 
     718     * <li><code>Composite</code></li> 
     719     * </ul></p> 
     720     */ 
     721    public const int NO_REDRAW_RESIZE = 1 << 20; 
     722 
     723    /** 
     724     * Style constant for no paint event merging behavior (value is 1&lt;&lt;21). 
     725     * <p><b>Used By:</b><ul> 
     726     * <li><code>Composite</code></li> 
     727     * </ul></p> 
     728     */ 
     729    public const int NO_MERGE_PAINTS = 1 << 21; 
     730 
     731    /** 
     732     * Style constant for preventing child radio group behavior (value is 1&lt;&lt;22). 
     733     * <p><b>Used By:</b><ul> 
     734     * <li><code>Composite</code></li> 
     735     * </ul></p> 
     736     */ 
     737    public const int NO_RADIO_GROUP = 1 << 22; 
     738     
     739    /** 
     740     * Style constant for left to right orientation (value is 1&lt;&lt;25). 
     741     * <p> 
     742     * When orientation is not explicitly specified, orientation is 
     743     * inherited.  This means that children will be assigned the 
     744     * orientation of their parent.  To override this behavior and 
     745     * force an orientation for a child, explicitly set the orientation 
     746     * of the child when that child is created. 
     747     * </p> 
     748     * <p><b>Used By:</b><ul> 
     749     * <li><code>Control</code></li> 
     750     * <li><code>Menu</code></li> 
     751     * <li><code>GC</code></li>  
     752     * </ul></p> 
     753     *  
     754     * @since 2.1.2 
     755     */ 
     756    public const int LEFT_TO_RIGHT = 1 << 25; 
     757     
     758    /** 
     759     * Style constant for right to left orientation (value is 1&lt;&lt;26). 
     760     * <p> 
     761     * When orientation is not explicitly specified, orientation is 
     762     * inherited.  This means that children will be assigned the 
     763     * orientation of their parent.  To override this behavior and 
     764     * force an orientation for a child, explicitly set the orientation