<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta name="generator" content="JsDoc Toolkit" />
    
    <title>JsDoc Reference - Control</title>

    <style type="text/css">
      /* default.css */
body
{
	font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
	width: 800px;
}

.header
{
	clear: both;
	background-color: #ccc;
	padding: 8px;
}

h1
{
	font-size: 150%;
	font-weight: bold;
	padding: 0;
	margin: 1em 0 0 .3em;
}

hr
{
	border: none 0;
	border-top: 1px solid #7F8FB1;
	height: 1px;
}

pre.code
{
	display: block;
	padding: 8px;
	border: 1px dashed #ccc;
}

#index
{
	margin-top: 24px;
	float: left;
	width: 160px;
	position: absolute;
	left: 8px;
	background-color: #F3F3F3;
	padding: 8px;
}

#content
{
	margin-left: 190px;
	width: 600px;
}

.classList
{
	list-style-type: none;
	padding: 0;
	margin: 0 0 0 8px;
	font-family: arial, sans-serif;
	font-size: 1em;
	overflow: auto;
}

.classList li
{
	padding: 0;
	margin: 0 0 8px 0;
}

.summaryTable { width: 100%; }

h1.classTitle
{
	font-size:170%;
	line-height:130%;
}

h2 { font-size: 110%; }
caption, div.sectionTitle
{
	background-color: #7F8FB1;
	color: #fff;
	font-size:130%;
	text-align: left;
	padding: 2px 6px 2px 6px;
	border: 1px #7F8FB1 solid;
}

div.sectionTitle { margin-bottom: 8px; }
.summaryTable thead { display: none; }

.summaryTable td
{
	vertical-align: top;
	padding: 4px;
	border-bottom: 1px #7F8FB1 solid;
	border-right: 1px #7F8FB1 solid;
}

/*col#summaryAttributes {}*/
.summaryTable td.attributes
{
	border-left: 1px #7F8FB1 solid;
	width: 140px;
	text-align: right;
}

td.attributes, .fixedFont
{
	line-height: 15px;
	color: #002EBE;
	font-family: "Courier New",Courier,monospace;
	font-size: 13px;
}

.summaryTable td.nameDescription
{
	text-align: left;
	font-size: 13px;
	line-height: 15px;
}

.summaryTable td.nameDescription, .description
{
	line-height: 15px;
	padding: 4px;
	padding-left: 4px;
}

.summaryTable { margin-bottom: 8px; }

ul.inheritsList
{
	list-style: square;
	margin-left: 20px;
	padding-left: 0;
}

.detailList {
	margin-left: 20px; 
	line-height: 15px;
}
.detailList dt { margin-left: 20px; }

.detailList .heading
{
	font-weight: bold;
	padding-bottom: 6px;
	margin-left: 0;
}

.light, td.attributes, .light a:link, .light a:visited
{
	color: #777;
	font-style: italic;
}

.fineprint
{
	text-align: right;
	font-size: 10px;
}
    </style>
  </head>

  <body>
<!-- ============================== header ================================= -->
    <!-- begin static/header.html -->
    <div id="header">
</div>
    <!-- end static/header.html -->

<!-- ============================== classes index ============================ -->
    <div id="index">
      <!-- begin publish.classesIndex -->
      <div align="center"><a href="../index.html">Index</a></div>
<hr />
<h2>Global Objects</h2>
<ul class="classList">
  
  <li></li>
  
  <li></li>
  
  <li></li>
  
  <li></li>
  
  <li></li>
  
  <li></li>
  
  <li></li>
  
  <li></li>
  
  <li></li>
  
  <li></li>
  
  <li></li>
  
  <li></li>
  
  <li></li>
  
  <li></li>
  
  <li></li>
  
  <li></li>
  
  <li></li>
  
  <li><a href="../symbols/rap.html">rap</a></li>
  
  <li><a href="../symbols/SWT.html">SWT</a></li>
  
</ul>
<h2>Types</h2>
<ul class="classList">
  
  <li><a href="../symbols/%24.html">$</a></li>
  
  <li><a href="../symbols/Button.html">Button</a></li>
  
  <li><a href="../symbols/Canvas.html">Canvas</a></li>
  
  <li><a href="../symbols/Client.html">Client</a></li>
  
  <li><a href="../symbols/Combo.html">Combo</a></li>
  
  <li><a href="../symbols/Composite.html">Composite</a></li>
  
  <li><a href="../symbols/Control.html">Control</a></li>
  
  <li><a href="../symbols/Event.html">Event</a></li>
  
  <li><a href="../symbols/Label.html">Label</a></li>
  
  <li><a href="../symbols/ProgressBar.html">ProgressBar</a></li>
  
  <li><a href="../symbols/RemoteObject.html">RemoteObject</a></li>
  
  <li><a href="../symbols/Scale.html">Scale</a></li>
  
  <li><a href="../symbols/ScrolledComposite.html">ScrolledComposite</a></li>
  
  <li><a href="../symbols/Slider.html">Slider</a></li>
  
  <li><a href="../symbols/Spinner.html">Spinner</a></li>
  
  <li><a href="../symbols/Text.html">Text</a></li>
  
  <li><a href="../symbols/Widget.html">Widget</a></li>
  
  <li></li>
  
  <li></li>
  
</ul>
<hr />
      <!-- end publish.classesIndex -->
    </div>

    <div id="content">
<!-- ============================== class title ============================ -->
      <h1 class="classTitle">
        
        Type Control
      </h1>

<!-- ============================== class summary ========================== -->
      <p class="description">
        
        <br />Extends
          <a href="../symbols/Widget.html">Widget</a>.<br />
        

        RWT Scripting analog to org.eclipse.swt.widgets.Control. All controls given by
<a href="../symbols/rap.html#.getObject">rap.getObject</a> are instances of this type, even if their specific subtype is not
documented.

      </p>

<!-- ============================== constructor summary ==================== -->
      

<!-- ============================== properties summary ===================== -->
      
        
        

        
        <dl class="inheritsList">
        <dt>Fields borrowed from class <a href="../symbols/Widget.html">Widget</a>: </dt><dd><a href="../symbols/Widget.html#$el">$el</a></dd>
        </dl>
        
      

<!-- ============================== methods summary ======================== -->
      
        
        
        <table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class Control.">
          <caption>Method Summary</caption>
          <thead>
            <tr>
              <th scope="col">Method Attributes</th>
              <th scope="col">Method Name and Description</th>
            </tr>
          </thead>
          <tbody>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Control.html#addListener">addListener</a></b>(type, listener)
                </div>
                <div class="description">Register the function as a listener of the given type</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Control.html#forceFocus">forceFocus</a></b>()
                </div>
                <div class="description">Forces the receiver to have the <em>keyboard focus</em>, causing
all keyboard events to be delivered to it.</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Control.html#getBackground">getBackground</a></b>()
                </div>
                <div class="description">Returns the receiver's background color.</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Control.html#getCursor">getCursor</a></b>()
                </div>
                <div class="description">Returns the receiver's cursor, or null if it has not been set.</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Control.html#getEnabled">getEnabled</a></b>()
                </div>
                <div class="description">Returns <code>true</code> if the receiver is enabled, and
<code>false</code> otherwise.</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Control.html#getForeground">getForeground</a></b>()
                </div>
                <div class="description">Returns the receiver's foreground color.</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Control.html#getToolTipText">getToolTipText</a></b>()
                </div>
                <div class="description">Returns the receiver's tool tip text, or null if it has
not been set.</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Control.html#getVisible">getVisible</a></b>()
                </div>
                <div class="description">Returns <code>true</code> if the receiver is visible, and
<code>false</code> otherwise.</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Control.html#removeListener">removeListener</a></b>(type, listener)
                </div>
                <div class="description">De-register the function as a listener of the given type</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Control.html#setBackground">setBackground</a></b>(color)
                </div>
                <div class="description">Sets the receiver's background color to the color specified
by the argument, or to the default system color for the control
if the argument is null.</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Control.html#setEnabled">setEnabled</a></b>(enabled)
                </div>
                <div class="description">Enables the receiver if the argument is <code>true</code>,
and disables it otherwise.</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Control.html#setForeground">setForeground</a></b>(color)
                </div>
                <div class="description">Sets the receiver's foreground color to the color specified
by the argument, or to the default system color for the control
if the argument is null.</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Control.html#setToolTipText">setToolTipText</a></b>(toolTipText)
                </div>
                <div class="description">Sets the receiver's tool tip text to the argument, which
may be null indicating that no tool tip text should be shown.</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Control.html#setVisible">setVisible</a></b>(visible)
                </div>
                <div class="description">Marks the receiver as visible if the argument is <code>true</code>,
and marks it invisible otherwise.</div>
              </td>
            </tr>
          
          </tbody>
        </table>
        

        
        <dl class="inheritsList">
        <dt>Methods borrowed from class <a href="../symbols/Widget.html">Widget</a>: </dt><dd><a href="../symbols/Widget.html#getData">getData</a>, <a href="../symbols/Widget.html#setData">setData</a></dd>
        </dl>
        
      
<!-- ============================== events summary ======================== -->
      
        
        
        <table class="summaryTable" cellspacing="0" summary="A summary of the events documented in the class Control.">
          <caption>Event Summary</caption>
          <thead>
            <tr>
              <th scope="col">Event Attributes</th>
              <th scope="col">Event Name and Description</th>
            </tr>
          </thead>
          <tbody>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont">
                  
                  <b><a href="../symbols/Control.html#event:Dispose">Dispose</a></b>
                </div>
                <div class="description">Sent when the widget is disposed.</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont">
                  
                  <b><a href="../symbols/Control.html#event:FocusIn">FocusIn</a></b>
                </div>
                <div class="description">Sent when the widget gains focus</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont">
                  
                  <b><a href="../symbols/Control.html#event:FocusOut">FocusOut</a></b>
                </div>
                <div class="description">Sent when the widget looses focus</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont">
                  
                  <b><a href="../symbols/Control.html#event:Hide">Hide</a></b>
                </div>
                <div class="description">Sent when the widget is hidden</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont">
                  
                  <b><a href="../symbols/Control.html#event:KeyDown">KeyDown</a></b>
                </div>
                <div class="description">Sent when a key is pressed</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont">
                  
                  <b><a href="../symbols/Control.html#event:KeyUp">KeyUp</a></b>
                </div>
                <div class="description">Sent when a key is released</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont">
                  
                  <b><a href="../symbols/Control.html#event:MouseDoubleClick">MouseDoubleClick</a></b>
                </div>
                <div class="description">Sent when a mouse button is clicked twice</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont">
                  
                  <b><a href="../symbols/Control.html#event:MouseDown">MouseDown</a></b>
                </div>
                <div class="description">Sent when a mouse button is pressed</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont">
                  
                  <b><a href="../symbols/Control.html#event:MouseEnter">MouseEnter</a></b>
                </div>
                <div class="description">Sent when the mouse pointer enters the widget</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont">
                  
                  <b><a href="../symbols/Control.html#event:MouseExit">MouseExit</a></b>
                </div>
                <div class="description">Sent when the mouse pointer exits the widget</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont">
                  
                  <b><a href="../symbols/Control.html#event:MouseMove">MouseMove</a></b>
                </div>
                <div class="description">Sent when the mouse pointer is moved</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont">
                  
                  <b><a href="../symbols/Control.html#event:MouseUp">MouseUp</a></b>
                </div>
                <div class="description">Sent when a mouse button is released</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont">
                  
                  <b><a href="../symbols/Control.html#event:MouseWheel">MouseWheel</a></b>
                </div>
                <div class="description">Sent when the mouse wheel is moved</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont">
                  
                  <b><a href="../symbols/Control.html#event:Paint">Paint</a></b>
                </div>
                <div class="description">Sent when the widget is painted</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont">
                  
                  <b><a href="../symbols/Control.html#event:Show">Show</a></b>
                </div>
                <div class="description">Sent when the widget appears</div>
              </td>
            </tr>
          
          </tbody>
        </table>
        

        
        <dl class="inheritsList">
        
        </dl>
        
      

<!-- ============================== constructor details ==================== -->
      
      <div class="details"><a name="constructor"> </a>
        <div class="sectionTitle">
          Type Detail
        </div>

        <div class="fixedFont">&lt;private&gt; 
            <b>Control</b>()
        </div>

        <div class="description">
          The constructor is not public.
          
        </div>

        


          
          
          
            <dl class="detailList">
            <dt class="heading">Since:</dt>
              <dd>2.2</dd>
            </dl>
          
          
          
          
          

      </div>
      

<!-- ============================== field details ========================== -->
      

<!-- ============================== method details ========================= -->
      
        <div class="sectionTitle">
          Method Detail
        </div>
        
          <a name="addListener"> </a>
          <div class="fixedFont">

          
          <b>addListener</b>(type, listener)

          </div>
          <div class="description">
            Register the function as a listener of the given type
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{string}</span> <b>type</b>
                  
                </dt>
                <dd>The type of the event (e.g. SWT.Resize).</dd>
              
                <dt>
                  <span class="light fixedFont">{Function}</span> <b>listener</b>
                  
                </dt>
                <dd>The callback function. It is executed in global context.</dd>
              
              </dl>
            
            
            
            
            
            
            

          <hr />
        
          <a name="forceFocus"> </a>
          <div class="fixedFont">

          <span class="light">{boolean}</span>
          <b>forceFocus</b>()

          </div>
          <div class="description">
            Forces the receiver to have the <em>keyboard focus</em>, causing
all keyboard events to be delivered to it.
            
          </div>

          

            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">Returns:</dt>
              
                <dd><span class="light fixedFont">{boolean}</span> <code>true</code> if the control got focus, and <code>false</code> if it was unable to.</dd>
              
              </dl>
            
            
            

          <hr />
        
          <a name="getBackground"> </a>
          <div class="fixedFont">

          <span class="light">{int[]}</span>
          <b>getBackground</b>()

          </div>
          <div class="description">
            Returns the receiver's background color.
            
          </div>

          

            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">Returns:</dt>
              
                <dd><span class="light fixedFont">{int[]}</span> the background color as array [ red, green, blue ]</dd>
              
              </dl>
            
            
            

          <hr />
        
          <a name="getCursor"> </a>
          <div class="fixedFont">

          <span class="light">{string|null}</span>
          <b>getCursor</b>()

          </div>
          <div class="description">
            Returns the receiver's cursor, or null if it has not been set.
<p>
When the mouse pointer passes over a control its appearance
is changed to match the control's cursor.
</p>
<p>
All possible values are available as constants on the <a href="../symbols/SWT.html">SWT</a> object.
</p>
            
          </div>

          

            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">Returns:</dt>
              
                <dd><span class="light fixedFont">{string|null}</span> the receiver's cursor or <code>null</code></dd>
              
              </dl>
            
            
            

          <hr />
        
          <a name="getEnabled"> </a>
          <div class="fixedFont">

          <span class="light">{boolean}</span>
          <b>getEnabled</b>()

          </div>
          <div class="description">
            Returns <code>true</code> if the receiver is enabled, and
<code>false</code> otherwise. A disabled control is typically
not selectable from the user interface and draws with an
inactive or "grayed" look.
            
          </div>

          

            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">Returns:</dt>
              
                <dd><span class="light fixedFont">{boolean}</span> the receiver's enabled state</dd>
              
              </dl>
            
            
            

          <hr />
        
          <a name="getForeground"> </a>
          <div class="fixedFont">

          <span class="light">{int[]}</span>
          <b>getForeground</b>()

          </div>
          <div class="description">
            Returns the receiver's foreground color.
            
          </div>

          

            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">Returns:</dt>
              
                <dd><span class="light fixedFont">{int[]}</span> the foreground color as array [ red, green, blue ]</dd>
              
              </dl>
            
            
            

          <hr />
        
          <a name="getToolTipText"> </a>
          <div class="fixedFont">

          <span class="light">{string|null}</span>
          <b>getToolTipText</b>()

          </div>
          <div class="description">
            Returns the receiver's tool tip text, or null if it has
not been set.
            
          </div>

          

            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">Returns:</dt>
              
                <dd><span class="light fixedFont">{string|null}</span> the receiver's tool tip text</dd>
              
              </dl>
            
            
            

          <hr />
        
          <a name="getVisible"> </a>
          <div class="fixedFont">

          <span class="light">{boolean}</span>
          <b>getVisible</b>()

          </div>
          <div class="description">
            Returns <code>true</code> if the receiver is visible, and
<code>false</code> otherwise.
<p>
If one of the receiver's ancestors is not visible or some
other condition makes the receiver not visible, this method
may still indicate that it is considered visible even though
it may not actually be showing.
</p>
            
          </div>

          

            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">Returns:</dt>
              
                <dd><span class="light fixedFont">{boolean}</span> the receiver's visibility state</dd>
              
              </dl>
            
            
            

          <hr />
        
          <a name="removeListener"> </a>
          <div class="fixedFont">

          
          <b>removeListener</b>(type, listener)

          </div>
          <div class="description">
            De-register the function as a listener of the given type
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{string}</span> <b>type</b>
                  
                </dt>
                <dd>The type of the event (e.g. SWT.Resize).</dd>
              
                <dt>
                  <span class="light fixedFont">{Function}</span> <b>listener</b>
                  
                </dt>
                <dd>The callback function</dd>
              
              </dl>
            
            
            
            
            
            
            

          <hr />
        
          <a name="setBackground"> </a>
          <div class="fixedFont">

          
          <b>setBackground</b>(color)

          </div>
          <div class="description">
            Sets the receiver's background color to the color specified
by the argument, or to the default system color for the control
if the argument is null.
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{int[]|null}</span> <b>color</b>
                  
                </dt>
                <dd>the new color as array [ red, green, blue ] or null</dd>
              
              </dl>
            
            
            
            
            
            
            

          <hr />
        
          <a name="setEnabled"> </a>
          <div class="fixedFont">

          
          <b>setEnabled</b>(enabled)

          </div>
          <div class="description">
            Enables the receiver if the argument is <code>true</code>,
and disables it otherwise. A disabled control is typically
not selectable from the user interface and draws with an
inactive or "grayed" look.
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{boolean}</span> <b>enabled</b>
                  
                </dt>
                <dd>the new enabled state</dd>
              
              </dl>
            
            
            
            
            
            
            

          <hr />
        
          <a name="setForeground"> </a>
          <div class="fixedFont">

          
          <b>setForeground</b>(color)

          </div>
          <div class="description">
            Sets the receiver's foreground color to the color specified
by the argument, or to the default system color for the control
if the argument is null.
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{int[]|null}</span> <b>color</b>
                  
                </dt>
                <dd>the new color as array [ red, green, blue ] or null</dd>
              
              </dl>
            
            
            
            
            
            
            

          <hr />
        
          <a name="setToolTipText"> </a>
          <div class="fixedFont">

          
          <b>setToolTipText</b>(toolTipText)

          </div>
          <div class="description">
            Sets the receiver's tool tip text to the argument, which
may be null indicating that no tool tip text should be shown.
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{string|null}</span> <b>toolTipText</b>
                  
                </dt>
                <dd>the new tool tip text (or null)</dd>
              
              </dl>
            
            
            
            
            
            
            

          <hr />
        
          <a name="setVisible"> </a>
          <div class="fixedFont">

          
          <b>setVisible</b>(visible)

          </div>
          <div class="description">
            Marks the receiver as visible if the argument is <code>true</code>,
and marks it invisible otherwise.
<p>
If one of the receiver's ancestors is not visible or some
other condition makes the receiver not visible, marking
it visible may not actually cause it to be displayed.
</p>
<p>
<b>NOTE:</b> If there is a <code>Show</code> or <code>Hide</code> Java listener attached
to this widget, it may be notified at a later point in time. <code>ClientListener</code>
are notified right away.
</p>
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{boolean}</span> <b>visible</b>
                  
                </dt>
                <dd>the new visibility state</dd>
              
              </dl>
            
            
            
            
            
            
            

          
        
      

<!-- ============================== event details ========================= -->
      
        <div class="sectionTitle">
          Event Detail
        </div>
        
          <a name="event:Dispose"> </a>
          <div class="fixedFont">

          
          <b>Dispose</b>

          </div>
          <div class="description">
            Sent when the widget is disposed. The event is fired before widget is
detached from the widget hierarchy and removed from DOM
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{<a href="../symbols/Event.html">Event</a>}</span> <b>event</b>
                  
                </dt>
                <dd></dd>
              
              </dl>
            
            
            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">See:</dt>
              
                <dd><a href="../symbols/SWT.html#.Dispose">SWT.Dispose</a></dd>
              
              </dl>
            

          <hr />
        
          <a name="event:FocusIn"> </a>
          <div class="fixedFont">

          
          <b>FocusIn</b>

          </div>
          <div class="description">
            Sent when the widget gains focus
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{<a href="../symbols/Event.html">Event</a>}</span> <b>event</b>
                  
                </dt>
                <dd></dd>
              
              </dl>
            
            
            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">See:</dt>
              
                <dd><a href="../symbols/SWT.html#.FocusIn">SWT.FocusIn</a></dd>
              
              </dl>
            

          <hr />
        
          <a name="event:FocusOut"> </a>
          <div class="fixedFont">

          
          <b>FocusOut</b>

          </div>
          <div class="description">
            Sent when the widget looses focus
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{<a href="../symbols/Event.html">Event</a>}</span> <b>event</b>
                  
                </dt>
                <dd></dd>
              
              </dl>
            
            
            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">See:</dt>
              
                <dd><a href="../symbols/SWT.html#.FocusOut">SWT.FocusOut</a></dd>
              
              </dl>
            

          <hr />
        
          <a name="event:Hide"> </a>
          <div class="fixedFont">

          
          <b>Hide</b>

          </div>
          <div class="description">
            Sent when the widget is hidden
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{<a href="../symbols/Event.html">Event</a>}</span> <b>event</b>
                  
                </dt>
                <dd></dd>
              
              </dl>
            
            
            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">See:</dt>
              
                <dd><a href="../symbols/SWT.html#.Hide">SWT.Hide</a></dd>
              
              </dl>
            

          <hr />
        
          <a name="event:KeyDown"> </a>
          <div class="fixedFont">

          
          <b>KeyDown</b>

          </div>
          <div class="description">
            Sent when a key is pressed
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{<a href="../symbols/Event.html">Event</a>}</span> <b>event</b>
                  
                </dt>
                <dd></dd>
              
              </dl>
            
            
            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">See:</dt>
              
                <dd><a href="../symbols/SWT.html#.KeyDown">SWT.KeyDown</a></dd>
              
              </dl>
            

          <hr />
        
          <a name="event:KeyUp"> </a>
          <div class="fixedFont">

          
          <b>KeyUp</b>

          </div>
          <div class="description">
            Sent when a key is released
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{<a href="../symbols/Event.html">Event</a>}</span> <b>event</b>
                  
                </dt>
                <dd></dd>
              
              </dl>
            
            
            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">See:</dt>
              
                <dd><a href="../symbols/SWT.html#.KeyUp">SWT.KeyUp</a></dd>
              
              </dl>
            

          <hr />
        
          <a name="event:MouseDoubleClick"> </a>
          <div class="fixedFont">

          
          <b>MouseDoubleClick</b>

          </div>
          <div class="description">
            Sent when a mouse button is clicked twice
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{<a href="../symbols/Event.html">Event</a>}</span> <b>event</b>
                  
                </dt>
                <dd></dd>
              
              </dl>
            
            
            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">See:</dt>
              
                <dd><a href="../symbols/SWT.html#.MouseDoubleClick">SWT.MouseDoubleClick</a></dd>
              
              </dl>
            

          <hr />
        
          <a name="event:MouseDown"> </a>
          <div class="fixedFont">

          
          <b>MouseDown</b>

          </div>
          <div class="description">
            Sent when a mouse button is pressed
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{<a href="../symbols/Event.html">Event</a>}</span> <b>event</b>
                  
                </dt>
                <dd></dd>
              
              </dl>
            
            
            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">See:</dt>
              
                <dd><a href="../symbols/SWT.html#.MouseDown">SWT.MouseDown</a></dd>
              
              </dl>
            

          <hr />
        
          <a name="event:MouseEnter"> </a>
          <div class="fixedFont">

          
          <b>MouseEnter</b>

          </div>
          <div class="description">
            Sent when the mouse pointer enters the widget
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{<a href="../symbols/Event.html">Event</a>}</span> <b>event</b>
                  
                </dt>
                <dd></dd>
              
              </dl>
            
            
            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">See:</dt>
              
                <dd><a href="../symbols/SWT.html#.MouseEnter">SWT.MouseEnter</a></dd>
              
              </dl>
            

          <hr />
        
          <a name="event:MouseExit"> </a>
          <div class="fixedFont">

          
          <b>MouseExit</b>

          </div>
          <div class="description">
            Sent when the mouse pointer exits the widget
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{<a href="../symbols/Event.html">Event</a>}</span> <b>event</b>
                  
                </dt>
                <dd></dd>
              
              </dl>
            
            
            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">See:</dt>
              
                <dd><a href="../symbols/SWT.html#.MouseExit">SWT.MouseExit</a></dd>
              
              </dl>
            

          <hr />
        
          <a name="event:MouseMove"> </a>
          <div class="fixedFont">

          
          <b>MouseMove</b>

          </div>
          <div class="description">
            Sent when the mouse pointer is moved
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{<a href="../symbols/Event.html">Event</a>}</span> <b>event</b>
                  
                </dt>
                <dd></dd>
              
              </dl>
            
            
            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">See:</dt>
              
                <dd><a href="../symbols/SWT.html#.MouseMove">SWT.MouseMove</a></dd>
              
              </dl>
            

          <hr />
        
          <a name="event:MouseUp"> </a>
          <div class="fixedFont">

          
          <b>MouseUp</b>

          </div>
          <div class="description">
            Sent when a mouse button is released
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{<a href="../symbols/Event.html">Event</a>}</span> <b>event</b>
                  
                </dt>
                <dd></dd>
              
              </dl>
            
            
            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">See:</dt>
              
                <dd><a href="../symbols/SWT.html#.MouseUp">SWT.MouseUp</a></dd>
              
              </dl>
            

          <hr />
        
          <a name="event:MouseWheel"> </a>
          <div class="fixedFont">

          
          <b>MouseWheel</b>

          </div>
          <div class="description">
            Sent when the mouse wheel is moved
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{<a href="../symbols/Event.html">Event</a>}</span> <b>event</b>
                  
                </dt>
                <dd></dd>
              
              </dl>
            
            
            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">See:</dt>
              
                <dd><a href="../symbols/SWT.html#.MouseWheel">SWT.MouseWheel</a></dd>
              
              </dl>
            

          <hr />
        
          <a name="event:Paint"> </a>
          <div class="fixedFont">

          
          <b>Paint</b>

          </div>
          <div class="description">
            Sent when the widget is painted
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{<a href="../symbols/Event.html">Event</a>}</span> <b>event</b>
                  
                </dt>
                <dd></dd>
              
              </dl>
            
            
            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">See:</dt>
              
                <dd><a href="../symbols/SWT.html#.Paint">SWT.Paint</a></dd>
              
              </dl>
            

          <hr />
        
          <a name="event:Show"> </a>
          <div class="fixedFont">

          
          <b>Show</b>

          </div>
          <div class="description">
            Sent when the widget appears
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{<a href="../symbols/Event.html">Event</a>}</span> <b>event</b>
                  
                </dt>
                <dd></dd>
              
              </dl>
            
            
            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">See:</dt>
              
                <dd><a href="../symbols/SWT.html#.Show">SWT.Show</a></dd>
              
              </dl>
            

          
        
      

      <hr />
    </div>


<!-- ============================== footer ================================= -->
    <div class="fineprint" style="clear:both">
      Copyright (c) EclipseSource and others 2013, 2019. All rights reserved.
    </div>
  </body>
</html>
