<!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 - Combo</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 Combo
      </h1>

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

        RWT Scripting analoge to org.eclipse.swt.widgets.Combo

      </p>

<!-- ============================== constructor summary ==================== -->
      
      <table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class Combo.">
        <caption>Type Summary</caption>
        <thead>
          <tr>
            <th scope="col">Constructor Attributes</th>
            <th scope="col">Constructor Name and Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td class="attributes">&nbsp;</td>
            <td class="nameDescription" >
              <div class="fixedFont">
                <b><a href="../symbols/Combo.html#constructor">Combo</a></b>()
              </div>
              <div class="description">The constructor is not public.</div>
            </td>
          </tr>
        </tbody>
      </table>
      

<!-- ============================== 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 Combo.">
          <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/Combo.html#getSelection">getSelection</a></b>()
                </div>
                <div class="description">Returns an array whose first value is the
character position representing the start of the selected
text, and whose second value is the character position
representing the end of the selection.</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Combo.html#getText">getText</a></b>()
                </div>
                <div class="description">Returns the widget text.</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Combo.html#setSelection">setSelection</a></b>(selection)
                </div>
                <div class="description">Sets the selection of the text to the range specified
by an array whose first value is the
character position representing the start of the selected
text, and whose second value is the character position
representing the end of the selection.</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont"><b><a href="../symbols/Combo.html#setText">setText</a></b>(text)
                </div>
                <div class="description">Sets the contents of the receiver's text field to the given string.</div>
              </td>
            </tr>
          
          </tbody>
        </table>
        

        
        <dl class="inheritsList">
        <dt>Methods borrowed from class <a href="../symbols/Control.html">Control</a>: </dt><dd><a href="../symbols/Control.html#addListener">addListener</a>, <a href="../symbols/Control.html#forceFocus">forceFocus</a>, <a href="../symbols/Control.html#getBackground">getBackground</a>, <a href="../symbols/Control.html#getCursor">getCursor</a>, <a href="../symbols/Control.html#getEnabled">getEnabled</a>, <a href="../symbols/Control.html#getForeground">getForeground</a>, <a href="../symbols/Control.html#getToolTipText">getToolTipText</a>, <a href="../symbols/Control.html#getVisible">getVisible</a>, <a href="../symbols/Control.html#removeListener">removeListener</a>, <a href="../symbols/Control.html#setBackground">setBackground</a>, <a href="../symbols/Control.html#setEnabled">setEnabled</a>, <a href="../symbols/Control.html#setForeground">setForeground</a>, <a href="../symbols/Control.html#setToolTipText">setToolTipText</a>, <a href="../symbols/Control.html#setVisible">setVisible</a></dd><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 Combo.">
          <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/Combo.html#event:Modify">Modify</a></b>
                </div>
                <div class="description">Sent when the widget text is changed</div>
              </td>
            </tr>
          
            <tr>
              <td class="attributes">&nbsp;</td>
              <td class="nameDescription">
                <div class="fixedFont">
                  
                  <b><a href="../symbols/Combo.html#event:Verify">Verify</a></b>
                </div>
                <div class="description">Sent before the widget text is changed</div>
              </td>
            </tr>
          
          </tbody>
        </table>
        

        
        <dl class="inheritsList">
        <dt>Events borrowed from class <a href="../symbols/Control.html">Control</a>: </dt><dd><a href="../symbols/Control.html#event:Dispose">Dispose</a>, <a href="../symbols/Control.html#event:FocusIn">FocusIn</a>, <a href="../symbols/Control.html#event:FocusOut">FocusOut</a>, <a href="../symbols/Control.html#event:Hide">Hide</a>, <a href="../symbols/Control.html#event:KeyDown">KeyDown</a>, <a href="../symbols/Control.html#event:KeyUp">KeyUp</a>, <a href="../symbols/Control.html#event:MouseDoubleClick">MouseDoubleClick</a>, <a href="../symbols/Control.html#event:MouseDown">MouseDown</a>, <a href="../symbols/Control.html#event:MouseEnter">MouseEnter</a>, <a href="../symbols/Control.html#event:MouseExit">MouseExit</a>, <a href="../symbols/Control.html#event:MouseMove">MouseMove</a>, <a href="../symbols/Control.html#event:MouseUp">MouseUp</a>, <a href="../symbols/Control.html#event:MouseWheel">MouseWheel</a>, <a href="../symbols/Control.html#event:Paint">Paint</a>, <a href="../symbols/Control.html#event:Show">Show</a></dd>
        </dl>
        
      

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

        <div class="fixedFont">
            <b>Combo</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="getSelection"> </a>
          <div class="fixedFont">

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

          </div>
          <div class="description">
            Returns an array whose first value is the
character position representing the start of the selected
text, and whose second value is the character position
representing the end of the selection. An "empty" selection
is indicated by the values being identical.
<p>
Indexing is zero based.  The range of a selection is from
0..N where N is the number of characters in the widget.
</p>
            
          </div>

          

            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">Returns:</dt>
              
                <dd><span class="light fixedFont">{int[]}</span> array representing the selection start and end</dd>
              
              </dl>
            
            
            

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

          <span class="light">{string}</span>
          <b>getText</b>()

          </div>
          <div class="description">
            Returns the widget text.
            
          </div>

          

            
            
            
            
            
              <dl class="detailList">
              <dt class="heading">Returns:</dt>
              
                <dd><span class="light fixedFont">{string}</span> the widget text</dd>
              
              </dl>
            
            
            

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

          
          <b>setSelection</b>(selection)

          </div>
          <div class="description">
            Sets the selection of the text to the range specified
by an array whose first value is the
character position representing the start of the selected
text, and whose second value is the character position
representing the end of the selection. An "empty" selection
is indicated by the values being identical.
<p>
Indexing is zero based.  The range of
a selection is from 0..N where N is
the number of characters in the widget.
</p><p>
Text selections are specified in terms of
caret positions.  In a text widget that
contains N characters, there are N+1 caret
positions, ranging from 0..N.  This differs
from other functions that address character
position such as getText () that use the
usual array indexing rules.
</p>
            
          </div>

          

            
              <dl class="detailList">
              <dt class="heading">Parameters:</dt>
              
                <dt>
                  <span class="light fixedFont">{int[]}</span> <b>selection</b>
                  
                </dt>
                <dd>array representing the selection start and end</dd>
              
              </dl>
            
            
            
            
            
            
            

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

          
          <b>setText</b>(text)

          </div>
          <div class="description">
            Sets the contents of the receiver's text field to the given string.
<p>
Note: The text field in a <code>Combo</code> is typically only capable of
displaying a single line of text. Thus, setting the text to a string
containing line breaks or other special characters will probably cause it
to display incorrectly.
</p>
            
          </div>

          

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

          
        
      

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

          
          <b>Modify</b>

          </div>
          <div class="description">
            Sent when the widget text is changed
            
          </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#.Modify">SWT.Modify</a></dd>
              
              </dl>
            

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

          
          <b>Verify</b>

          </div>
          <div class="description">
            Sent before the widget text is changed
            
          </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#.Verify">SWT.Verify</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>
