<?xml version="1.0" encoding="utf-8"?>
<dictionary xsi:schemaLocation="http://schema.adobe.com/omv/1.0/omv.xsd omv.xsd" xmlns="http://schema.adobe.com/omv/1.0/omv.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <map title="ScriptUI Classes">
    <topicref navtitle="ScriptUI Classes">
      <topicref navtitle="ScriptUI" href="#/ScriptUI"/>
      <topicref navtitle="Window" href="#/Window"/>
      <topicref navtitle="LayoutManager" href="#/LayoutManager"/>
      <topicref navtitle="ScriptUIGraphics" href="#/ScriptUIGraphics"/>
      <topicref navtitle="ScriptUIPen" href="#/ScriptUIPen"/>
      <topicref navtitle="ScriptUIBrush" href="#/ScriptUIBrush"/>
      <topicref navtitle="ScriptUIPath" href="#/ScriptUIPath"/>
      <topicref navtitle="ScriptUIFont" href="#/ScriptUIFont"/>
      <topicref navtitle="ScriptUIImage" href="#/ScriptUIImage"/>
      <topicref navtitle="DrawState" href="#/DrawState"/>
      <topicref navtitle="StaticText" href="#/StaticText"/>
      <topicref navtitle="Button" href="#/Button"/>
      <topicref navtitle="IconButton" href="#/IconButton"/>
      <topicref navtitle="EditText" href="#/EditText"/>
      <topicref navtitle="ListBox" href="#/ListBox"/>
      <topicref navtitle="DropDownList" href="#/DropDownList"/>
      <topicref navtitle="ListItem" href="#/ListItem"/>
      <topicref navtitle="Checkbox" href="#/Checkbox"/>
      <topicref navtitle="Scrollbar" href="#/Scrollbar"/>
      <topicref navtitle="RadioButton" href="#/RadioButton"/>
      <topicref navtitle="Slider" href="#/Slider"/>
      <topicref navtitle="Progressbar" href="#/Progressbar"/>
      <topicref navtitle="TreeView" href="#/TreeView"/>
      <topicref navtitle="FlashPlayer" href="#/FlashPlayer"/>
      <topicref navtitle="Group" href="#/Group"/>
      <topicref navtitle="Panel" href="#/Panel"/>
      <topicref navtitle="Point" href="#/Point"/>
      <topicref navtitle="Dimension" href="#/Dimension"/>
      <topicref navtitle="Bounds" href="#/Bounds"/>
      <topicref navtitle="UIEvent" href="#/UIEvent"/>
      <topicref navtitle="Event" href="#/Event"/>
      <!-- Hacks till we get anonymous class names: these classes should not appear in the top level index -->
      <topicref navtitle="Environment" href="#/Environment"/>
      <topicref navtitle="Events" href="#/Events"/>
      <topicref navtitle="KeyboardState" href="#/KeyboardState"/>
    </topicref>
  </map>
  <package>
    <classdef name="ScriptUI" dynamic="true">
      <shortdesc>A global class containing central information about ScriptUI. Not instantiable. </shortdesc>
      <elements type="class">
        <property name="applicationFonts" rwaccess="readonly">
          <shortdesc>The font constants defined by the host application.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="compatibility" rwaccess="readonly">
          <shortdesc>An object whose properties are the names of compatability modes supported by the host application. </shortdesc>
          <description>
            The presence of <b>ScriptUI.compatability.su1PanelCoordinates</b> means that the application allows backward compatibility with the coordinate system of Panel elements in ScriptUI version 1.
          </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="coreVersion" rwaccess="readonly">
          <shortdesc>A string containing the internal version number of the ScriptUI module.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="environment" rwaccess="readonly">
          <shortdesc>An object whose properties define attributes of the environment in which ScriptUI operates.</shortdesc>
          <datatype>
            <type href="#/Environment">Environment</type>
          </datatype>
        </property>
        <property name="events" rwaccess="readonly">
          <shortdesc>An object whose properties and methods provide access to objects used in the ScriptUI event system.</shortdesc>
          <description>
            It contains one function, <b>createEvent()</b>, which allows you to create event objects in order to simulate user-interaction event
          </description>
          <datatype>
            <type href="#/Events">Events</type>
          </datatype>
        </property>
        <property name="frameworkName" rwaccess="readonly">
          <shortdesc>A string containing the name of the UI component framework with which this version of ScriptUI is compatible.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="version" rwaccess="readonly">
          <shortdesc>A string containing the version number of the ScriptUI component framework</shortdesc>
          <datatype>
            <type>Any</type>
          </datatype>
        </property>
        <property name="Alignment" rwaccess="readonly">
          <shortdesc>
            Collects the enumerated values that can be used in the <i>alignment</i> and <i>alignChildren</i> properties of controls and containers.
          </shortdesc>
          <description> Predefined alignment values are: TOP, BOTTOM, LEFT, RIGHT, FILL, CENTER </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="FontStyle" rwaccess="readonly">
          <shortdesc>
            Collects the enumerated values that can be used as the style argument to the&#160;<a href="#/ScriptUI/newFont">ScriptUI.newFont()</a>&#160;method.
          </shortdesc>
          <description>Predefined styles are REGULAR, BOLD, ITALIC, BOLDITALIC.</description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <method name="getResourceText">
          <shortdesc>Finds and returns the resource for a given text string from the host application's resource data. </shortdesc>
          <description>If no string resource matches the given text, the text itself is returned.</description>
          <parameters>
            <parameter name="text">
              <shortdesc>The text to match.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>String</type>
          </datatype>
        </method>
        <method name="newImage">
          <shortdesc>Loads a new image from resources or disk files into an image object.</shortdesc>
          <description>Creates a new global image object for use in controls that can display images, loading the associated images from the specified resources or image files. </description>
          <parameters>
            <parameter name="normal">
              <shortdesc>The resource name or the disk file path to the image used for the normal state.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="disabled" optional="true">
              <shortdesc>The resource name, or the disk file path to the image used for the disabled state.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="pressed" optional="true">
              <shortdesc>The resource name, or the file-system path to the image used for the pressed state.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="rollover" optional="true">
              <shortdesc>The resource name, or the file-system path to the image used for the rollover state.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/ScriptUIImage">ScriptUIImage</type>
          </datatype>
        </method>
        <method name="newFont">
          <shortdesc>Creates a new font object for use in text controls and titles.</shortdesc>
          <parameters>
            <parameter name="name">
              <shortdesc>The font name, or the font family name.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="style">
              <shortdesc>
                The font style; can be string, or one of the values of&#160;<a href="#/ScriptUI/class/FontStyle">ScriptUI.FontStyle</a>.
              </shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="size">
              <shortdesc>The font size in points.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/ScriptUIFont">ScriptUIFont</type>
          </datatype>
        </method>
      </elements>
    </classdef>
    <classdef name="Window" dynamic="true">
      <shortdesc>The instance represents a top-level window or dialog box, which contains user-interface elements.</shortdesc>
      <description>
        The globally available&#160;<a href="#/Window">Window</a>&#160;object provides access to predefined and script-defined windows.
      </description>
      <elements type="constructor">
        <method name="Window">
          <shortdesc>Creates a new window.</shortdesc>
          <parameters>
            <parameter name="type">
              <shortdesc>The window type.  </shortdesc>
              <description>
                One of:
                <u>
                  <li>
                    <b>window</b>: Creates a simple window that can be used as a main window for an application. (Not supported by Photoshop CS3.)
                  </li>
                  <li>
                    <b>palette</b>: Creates a modeless dialog, also called a floating palette. (Not supported by Photoshop CS3.)
                  </li>
                  <li>
                    <b>dialog</b>: Creates a modal dialog.
                  </li>
                </u>
                This argument can also be a ScriptUI resource specification; in that case, all other arguments are ignored.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="title" optional="true">
              <shortdesc>The window title, a localizable string.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="bounds" optional="true">
              <shortdesc>The window's position and size.</shortdesc>
              <datatype>
                <type href="#/Bounds">Bounds</type>
              </datatype>
            </parameter>
            <parameter name="properties" optional="true">
              <shortdesc>An object containing creation-only properties.</shortdesc>
              <description>
                Can contain any of these properties:
                <u>
                  <li>
                    <b>resizeable</b>: When true, the window can be resized by the user. Default is false.
                  </li>
                  <li>
                    <b>su1PanelCoordinates</b>: Photoshop only. When true, the child panels of this window automatically adjust the positions of their children for compatability with Photoshop CS (in which the vertical coordinate was measured from outside the frame). Default is false. Individual panels can override the parent window’s setting.
                  </li>
                  <li>
                    <br>closeButton</br>:  When true, the title bar includes a button to close the window, if the platform and window type allow it. When false, it does not. Default is true. Not used for dialogs.
                  </li>
                  <li>
                    <b>maximizeButton</b>:  When true, the title bar includes a button to expand the window to its maximum size (typically, the entire screen), if the platform and window type allow it. When false, it does not. Default is false for type palette, true for type window. Not used for dialogs.
                  </li>
                  <li>
                    <b>minimizeButton</b>: When true, the title bar includes a button to minimize or iconify the window, if the platform and window type allow it. When false, it does not. Default is false for type palette, true for type window. Main windows cannot have a minimize button in Mac OS. Not used for dialogs.
                  </li>
                  <li>
                    <b>independent</b>:  When true, a window of type window is independent of other application windows, and can be hidden behind them in Windows. In Mac OS, has no effect. Default is false.
                  </li>
                  <li>
                    <b>borderless</b>:  When true, the window has no title bar or borders. Properties that control those features are ignored.
                  </li>
                </u>
              </description>
              <datatype>
                <type>Object</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
      </elements>
      <elements type="class">
        <property name="frameworkName" rwaccess="readonly">
          <shortdesc>
            Deprecated. Use&#160;<a href="#/ScriptUI/class/frameworkName">ScriptUI.frameworkName</a>&#160;instead.
          </shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="version" rwaccess="readonly">
          <shortdesc>
            Deprecated. Use&#160;<a href="#/ScriptUI/class/version">ScriptUI.version</a>&#160;instead.
          </shortdesc>
          <datatype>
            <type>Any</type>
          </datatype>
        </property>
        <method name="find">
          <shortdesc>Use this method to find an existing window. </shortdesc>
          <description>
            This includes windows defined by ScriptUI resource strings, windows already created by a script, and windows created by the application (if the application supports this case). This function is not supported by all applications. Returns a&#160;<a href="#/Window">Window</a>&#160;object found or generated from the resource, or null if no such window or resource exists.
          </description>
          <parameters>
            <parameter name="type">
              <shortdesc>The name of a predefined resource available to JavaScript in the current application; or the window type. </shortdesc>
              <description>If a title is specified, the type is used if more than one window with that title is found. Can be null or the empty string. </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="title">
              <shortdesc>The window title.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </method>
        <method name="alert">
          <shortdesc>Displays a platform-standard dialog containing a short message and an OK button.</shortdesc>
          <parameters>
            <parameter name="message">
              <shortdesc>TThe string for the displayed message.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="title" optional="true">
              <shortdesc>A string to appear as the title of the dialog, if the platform supports a title. </shortdesc>
              <description>Ignored in Mac OS, which does not support titles for alert dialogs. The default title string is "Script Alert".</description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="errorIcon">
              <shortdesc>When true, the platform-standard alert icon is replaced by the platform-standard error icon in the dialog. </shortdesc>
              <description>Ignored in Mac OS, which does not support icons for alert dialogs. </description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="confirm">
          <shortdesc>Displays a platform-standard dialog containing a short message and two buttons labeled Yes and No.</shortdesc>
          <description>Returns true if the user clicked Yes, false if the user clicked No.</description>
          <parameters>
            <parameter name="message">
              <shortdesc>The string for the displayed message.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="noAsDefault">
              <shortdesc>When true, the No button is the default choice, selected when the user types Enter. </shortdesc>
              <description>Default is false, meaning that Yes is the default choice. </description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
            <parameter name="title" optional="true">
              <shortdesc>A string to appear as the title of the dialog, if the platform supports a title. </shortdesc>
              <description>Ignored in Mac OS, which does not support titles for alert dialogs. The default title string is "Script Alert".</description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="prompt">
          <shortdesc>Displays a modal dialog that returns the user’s text input.</shortdesc>
          <description>Returns the value of the text edit field if the user clicked OK, null if the user clicked Cancel.</description>
          <parameters>
            <parameter name="prompt">
              <shortdesc>The string for the displayed message.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="default" optional="true">
              <shortdesc>The initial value to be displayed in the text edit field.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="title" optional="true">
              <shortdesc>A string to appear as the title of the dialog. </shortdesc>
              <description>In Windows, this appears in the window’s frame; in Mac OS it appears above the message. The default title string is "Script Prompt".</description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>String</type>
          </datatype>
        </method>
      </elements>
      <elements type="instance">
        <property name="graphics" rwaccess="readonly">
          <shortdesc>
            The graphics object that can be used to customize the window’s appearance, in response to the <i>onDraw</i> event.
          </shortdesc>
          <datatype>
            <type href="#/ScriptUIGraphics">ScriptUIGraphics</type>
          </datatype>
        </property>
        <property name="visible">
          <shortdesc>When true, the element is shown, when false it is hidden.</shortdesc>
          <description>When a container is hidden, its children are also hidden, but they retain their own visibility values, and are shown or hidden accordingly when the parent is next shown.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bounds">
          <shortdesc>The bounds of the window's drawable area, excluding the frame, in screen coordinates.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="frameBounds" rwaccess="readonly">
          <shortdesc>The bounds of the window frame in screen coordinates.</shortdesc>
          <description> The frame consists of the title bar and borders that enclose the content region of a window, depending on the windowing system. </description>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="frameLocation">
          <shortdesc>The top left corner of the window frame in screen coordinates.</shortdesc>
          <description>
            The same as [frameBounds.x, frameBounds.y]. Set this value to move the window frame to the specified location on the screen. The&#160;<a href="#/Window/frameBounds">frameBounds</a>&#160;value changes accordingly.
          </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="frameSize" rwaccess="readonly">
          <shortdesc>The size and location of the window's frame in screen coordinates.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="location">
          <shortdesc>The upper left corner of the window's drawable area.</shortdesc>
          <description>The same as [bounds.x, bounds.y]. </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="maximumSize">
          <shortdesc>The largest rectangle to which the window can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="minimumSize">
          <shortdesc>The smallest rectangle to which the window can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="preferredSize">
          <shortdesc>The preferred size of the window.</shortdesc>
          <description>Used in automatic layout and resizing. To set a specific value for only one dimension, specify the other dimension as -1. </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="size">
          <shortdesc>The current size and location of the content area of the window in screen coordinates.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="windowBounds" rwaccess="readonly">
          <shortdesc>The bounds of this window relative to the top-level parent window.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="characters">
          <shortdesc>A number of characters for which to reserve space when calculating the preferred size of the window. </shortdesc>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="justify">
          <shortdesc>The default text justification style for child text elements. </shortdesc>
          <description>
            One of <b>left</b>, <b>center</b>, or <b>right</b>. Justification only works if this value is set on creation of the element.
          </description>
          <datatype>
            <type>String</type>
            <value>left</value>
          </datatype>
        </property>
        <property name="text">
          <shortdesc>The title, label, or displayed text, a localizeable string.</shortdesc>
          <description>Does not apply to containers of type group.</description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="active">
          <shortdesc>Set to true to make this window active. </shortdesc>
          <description>
            <li>A modal dialog that is visible is by definition the active dialog.</li>
            <li>An active palette is the front-most window.</li>
            <li>
              An active control is the one with focus—that is, the one that accepts keystrokes, or in the case of a&#160;<a href="#/Button">Button</a>, be selected when the user types  Return or Enter.
            </li>
          </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="shortcutKey">
          <shortdesc>
            The keypress combination that invokes this element's&#160;<a href="#/Window/event/onShortcutKey">onShortcutKey()</a>&#160;callback.
          </shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="cancelElement">
          <shortdesc>
            For windows of type <i>dialog</i>, the UI element to notify when the user presses a cancellation key combination.
          </shortdesc>
          <description>The cancellation key is the Esc key. By default, looks for a button whose name or text is "cancel" (case disregarded).</description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="defaultElement">
          <shortdesc>
            For windows of type <b>dialog</b>, the UI element to notify when the user presses a Enter key.
          </shortdesc>
          <description>By default, looks for a button whose name or text is "ok" (case disregarded).</description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="maximized">
          <shortdesc>True if the window is expanded.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="minimized">
          <shortdesc>True if the window is minimized or iconified.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="alignChildren">
          <shortdesc>Tells the layout manager how unlike-sized children of this container should be aligned within a column or row. </shortdesc>
          <description>
            Order of creation determines which children are at the top of a column or the left of a row; the earlier a child is created, the closer it is to the top or left of its column or row. If defined, <b>alignment</b> for a child element overrides the <b>alignChildren</b> setting for the parent container. See <b>alignment</b> property for values.
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="children" rwaccess="readonly">
          <shortdesc>The collection of UI elements that have been added to this container.</shortdesc>
          <description>An array indexed by number or by a string containing an element's name. The length property of this array is the number of child elements for container elements, and is zero for controls.</description>
          <datatype>
            <type>Object</type>
            <array/>
          </datatype>
        </property>
        <property name="layout">
          <shortdesc>The layout manager for this container.</shortdesc>
          <description>
            The first time a container object is made visible, ScriptUI invokes this layout manager by calling its&#160;<a href="#LayoutManager/layout">layout()</a>&#160;function. Default is an instance of the&#160;<a href="#LayoutManager">LayoutManager</a>&#160;class that is automatically created when the container element is created.
          </description>
          <datatype>
            <type href="#/LayoutManager">LayoutManager</type>
          </datatype>
        </property>
        <property name="margins">
          <shortdesc>The number of pixels between the edges of a container and the outermost child elements.</shortdesc>
          <description> You can specify different margins for each edge of the container. The default value is based on the type of container, and is chosen to match the standard Adobe UI guidelines. </description>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="orientation">
          <shortdesc>The layout orientation of children in a container.</shortdesc>
          <description>
            Interpreted by the layout manager for the container. The default&#160;<a href="#LayoutManager">LayoutManager</a>&#160; Object accepts the (case-insensitive) values <b>row</b>, <b>column</b>, or <b>stack</b>.  For window and panel, the default is column, and for group the default is row. The allowed values for the container’s <b>alignChildren</b> and its children’s <b>alignment</b> properties depend on the orientation.
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="spacing">
          <shortdesc>The number of pixels separating one child element from its adjacent sibling element.</shortdesc>
          <description>Because each container holds only a single row or column of children, only a single spacing value is needed for a container. The default value is based on the type of container, and is chosen to match standard Adobe UI guidelines. </description>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="alignment">
          <shortdesc>
            The alignment style for child elements of a container. If defined, this value overrides the <i>alignChildren</i> setting for the parent container.
          </shortdesc>
          <description>
            This can be a single string, which indicates the alignment for the orientation specified in the parent container, or an array of two strings, indicating both the horizontal and vertical alignment (in that order). Allowed values depend on the orientation value of the parent container. They are not case sensitive.
            <li>
              For orientation=row:<b>top</b>, <b>bottom</b>, <b>fill</b>
            </li>
            <li>
              For orientation=column: <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
            <li>
              For orientation=stack:<b>top</b>, <b>bottom</b>, <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the container (properties used only when the element is created). </shortdesc>
          <description>
            Creation properties of a Window object can include:
            <li>resizeable: When true, the window can be resized by the user. Default is false.</li>
            <li>su1PanelCoordinates: Photoshop only. When true, the child panels of this window automatically adjust the positions of their children for compatability with Photoshop CS (in which the vertical coordinate was measured from outside the frame). Default is false. Individual panels can override the parent window’s setting.</li>
            <li>closeButton: Bridge only. When true, the title bar includes a button to close the window, if the platform and window type allow it. When false, it does not. Default is true. Not used for dialogs. </li>
            <li>maximizeButton: Bridge only. When true, the title bar includes a button to expand the window to its maximum size (typically, the entire screen), if the platform and window type allow it. When false, it does not. Default is false for type palette, true for type window. Not used for dialogs.</li>
          </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="enabled">
          <shortdesc>True if this element is enabled.</shortdesc>
          <description>An enabled element can accept input, according to its type. When false, control elements do not accept input, and all types of elements have a dimmed appearance. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="helpTip">
          <shortdesc>The help text that is displayed when the mouse hovers over the element.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="indent">
          <shortdesc>The number of pixels to indent the element.</shortdesc>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The immediate parent element.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="window" rwaccess="readonly">
          <shortdesc>The window that this element belongs to.</shortdesc>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type; "dialog", "palette", or "window".</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="opacity">
          <shortdesc>The opacity of the window, in the range [0..1]. </shortdesc>
          <description>A value of 1.0 (the default) makes the window completely opaque, a value of 0 makes it completely transparent. Intermediate values make it partially transparent to any degree.</description>
          <datatype>
            <type>Number</type>
            <value>1.0</value>
          </datatype>
        </property>
        <method name="show">
          <shortdesc>Makes this window visible.</shortdesc>
          <description>
            If an&#160;<a href="#/Window/event/onShow">onShow()</a>&#160;callback is defined for a window, calls that function before showing the window.When a window or container is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states. <li>For a modal dialog, opens the dialog and does not return until the dialog is dismissed. If it is dismissed via the close() method, this method returns any result value passed to that method. Otherwise, returns 0.</li>
          </description>
        </method>
        <method name="hide">
          <shortdesc>Hides this windows.</shortdesc>
          <description>
            When a window is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states. <li>For a modal dialog, closes the dialog and sets its result to 0.</li>
          </description>
        </method>
        <method name="notify">
          <shortdesc>Sends a notification message to all listeners, simulating the specified user interaction event.</shortdesc>
          <parameters>
            <parameter name="eventName" optional="true">
              <shortdesc>The event name; if omitted, the default event is sent.</shortdesc>
              <description>
                One of: <b>onClose</b>, <b>onMove</b>, <b>onMoving</b>, <b>onResize</b>, <b>onResizing</b>, <b>onShow</b>
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="center">
          <shortdesc>Centers this window on screen or with repect to another window.</shortdesc>
          <parameters>
            <parameter name="window" optional="true">
              <shortdesc>The relative window. If not specified, centers on the screen. </shortdesc>
              <datatype>
                <type href="#/Window">Window</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="close">
          <shortdesc>Closes this window.</shortdesc>
          <description>
            . If an&#160;<a href="#/Window/event/onClose">onClose()</a>&#160;callback is defined for the window, calls that function before closing the window.
          </description>
          <parameters>
            <parameter name="return" optional="true">
              <shortdesc>A number to be returned from the show() method that invoked this window as a modal dialog.</shortdesc>
              <datatype>
                <type>Any</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="add">
          <shortdesc>Creates and returns a new control or container object and adds it to the children of this window. </shortdesc>
          <parameters>
            <parameter name="type">
              <shortdesc>
                The type of the child element, as specified for the <i>type</i> property.
              </shortdesc>
              <description>
                Control types are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="bounds" optional="true">
              <shortdesc>A bounds specification that describes the size and position of the new control or container, relative to its parent. </shortdesc>
              <description>
                If supplied, this value creates a new&#160;<a href="#/Bounds">Bounds</a>&#160;object which is assigned to the new object’s <b>bounds</b> property.
              </description>
              <datatype>
                <type href="#/Bounds">Bounds</type>
              </datatype>
            </parameter>
            <parameter name="text" optional="true">
              <shortdesc>The text or label, a localizable string.</shortdesc>
              <description>
                Initial text to be displayed in the control as the title, label, or contents, depending on the control type. If supplied, this value is assigned to the new object’s <b>text</b> property.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="properties" optional="true">
              <shortdesc>An object that contains one or more creation properties of the new child (properties used only when the element is created). </shortdesc>
              <description>
                The creation properties depend on the element type. See <br>properties</br> property of each control type.
              </description>
              <datatype>
                <type>Object</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Object</type>
          </datatype>
        </method>
        <method name="remove">
          <shortdesc>
            Removes the specified child control from this window’s <b>children</b> array.
          </shortdesc>
          <description> No error results if the child does not exist. </description>
          <parameters>
            <parameter name="what">
              <shortdesc>
                The child control to remove, specified by 0-based index, <b>text</b> property value, or as a control object.
              </shortdesc>
              <datatype>
                <type>Any</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="addEventListener">
          <shortdesc>Registers an event handler for a particular type of event occuring in this window.</shortdesc>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <description>Predefined event names are: change, changing, move, moving, resize, resizing, show , enterKey, focus, blur, keydown, keyup, mousedown, mouseup, mousemove, mouseover, mouseout, click (detail = 1 for single, 2 for double).</description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <description>
                This can be the name of a function defined in the extension, or a locally defined handler function to be executed when the event occurs. A handler function takes one argument, the&#160;<a href="#/UIEvent">UIEvent</a>&#160;object.
              </description>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase" optional="true">
              <shortdesc>When true, the handler is called only in the capturing phase of the event propagation. </shortdesc>
              <description>Default is false, meaning that the handler is called in the bubbling phase if this object is an ancestor of the target, or in the at-target phase if this object is itself the target.</description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="removeEventListener">
          <shortdesc>Unregisters an event handler for a particular type of event occuring in this window.</shortdesc>
          <description> All arguments must be identical to those that were used to register the event handler.</description>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>Whether to call the handler only in the capturing phase of the event propagation.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="dispatchEvent">
          <shortdesc>Simulates the occurrence of an event in this target. </shortdesc>
          <description>
            A script can create a&#160;<a href="#/UIEvent">UIEvent</a>&#160;object for a specific event and pass it to this method to start the event propagation for the event.
          </description>
          <datatype>
            <type href="#/UIEvent">UIEvent</type>
          </datatype>
        </method>
      </elements>
      <elements type="event">
        <method name="onActivate">
          <shortdesc>An event-handler callback function, called when the window acquires the keyboard focus.</shortdesc>
          <description>
            Called when the user gives the window the keyboard focus by clicking it or otherwise making it the active window.
          </description>
        </method>
        <method name="onDeactivate">
          <shortdesc>An event-handler callback function, called when the window loses the keyboard focus.</shortdesc>
          <description>
            Called when the user moves the keyboard focus from the previously active window to another window.
          </description>
        </method>
        <method name="onClose">
          <shortdesc>An event-handler callback function, called  when the window is about to be closed.</shortdesc>
          <description>
            Called when a request is made to close the window, either by an explicit call to the&#160;<a href="#/Window/close">close()</a>&#160;function or by a user action (clicking the OS-specific close icon in the title bar). The function is called before the window actually closes; it can return false to cancel the close operation.
          </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="onMove">
          <shortdesc>An event-handler callback function, called  when the window  has been moved</shortdesc>
        </method>
        <method name="onMoving">
          <shortdesc>An event-handler callback function, called  when the window is being moved</shortdesc>
          <description>Called while a window in being moved, each time the position changes. A handler can monitor the move operation.</description>
        </method>
        <method name="onResize">
          <shortdesc>An event-handler callback function, called after the window has been resized</shortdesc>
        </method>
        <method name="onResizing">
          <shortdesc>An event-handler callback function, called while a window is being resized</shortdesc>
          <description>Called while a window is being resized, each time the height or width changes. A handler can monitor the resize operation.</description>
        </method>
        <method name="onShortcutKey">
          <shortdesc>
            In Windows only, an event-handler callback function, called a shortcut-key sequence is typed that matches the&#160;<a href="#/Window/shortcutKey">shortcutKey</a>&#160;value for this window.
          </shortdesc>
        </method>
        <method name="onShow">
          <shortdesc>An event-handler callback function, called just before the window is displayed</shortdesc>
          <description>
            Called when a request is made to open the window using the&#160;<a href="#/Window/show">show()</a>&#160;method, before the window is made visible, but after automatic layout is complete. A handler can modify the results of the automatic layout.
          </description>
        </method>
      </elements>
    </classdef>
    <classdef name="LayoutManager" dynamic="true">
      <shortdesc>Controls the automatic layout behavior for a window or container. </shortdesc>
      <description>The subclass AutoLayoutManager implements the default automatic layout behavior.</description>
      <elements type="instance">
        <method name="layout">
          <shortdesc>Invokes the automatic layout behavior for the managed container. </shortdesc>
          <description>
            Adjusts sizes and positions of the child elements of this window or container according to the placement and alignment property values in the parent and children.
            Invoked automatically the first time the window is displayed. Thereafter, the script must invoke it explicitly to change the layout in case of changes in the size or position of the parent or children.
          </description>
        </method>
        <method name="resize">
          <shortdesc>Performs a layout after a Window is resized, based on the new size.</shortdesc>
          <description>Resizes the child elements of the managed container with a given alignment type, after the window has been resized by the user. </description>
        </method>
      </elements>
    </classdef>
    <classdef name="ScriptUIPen" dynamic="true">
      <shortdesc>A drawing pen that defines a color and line width used to stroke paths.</shortdesc>
      <description>
        Create with&#160;<a href="#/ScriptUIGraphics/newPen">ScriptUIGraphics.newPen()</a>. <b></b>Use as a value of &#160;<a href="#/ScriptUIGraphics/foregroundColor">foregroundColor</a>&#160;properties, and pass as an argument to&#160;<a href="#/ScriptUIGraphics/drawString">drawString()</a>&#160;and&#160;<a href="#/ScriptUIGraphics/strokePath">strokePath()</a>&#160;methods.
      </description>
      <elements type="instance">
        <property name="color" rwaccess="readonly">
          <shortdesc>The pen color.</shortdesc>
          <description>
            The paint color to use when the type is SOLID_COLOR. <b></b>An array in the form [R, B, G, A] specifying the red, green, blue values of the color and the opacity (alpha channel) value as numbers in the range [0.0..1.0]. <b></b>An opacity of 0 is fully transparent, and an opacity of 1 is fully opaque.
          </description>
          <datatype>
            <type>Number</type>
            <array size="4"/>
          </datatype>
        </property>
        <property name="theme" rwaccess="readonly">
          <shortdesc>The theme name.</shortdesc>
          <description>The name of a color theme to use for drawing when the type is THEME_COLOR. Theme colors are defined by the host application. </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The pen type, solid or theme.</shortdesc>
          <description>One of these constants: ScriptUIGraphics.PenType.SOLID_COLOR or ScriptUIGraphics.PenType.THEME_COLOR</description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="lineWidth">
          <shortdesc>The pixel width of the drawing line.</shortdesc>
          <datatype>
            <type>Number</type>
            <min>1</min>
          </datatype>
        </property>
      </elements>
    </classdef>
    <classdef name="ScriptUIBrush" dynamic="true">
      <shortdesc>A painting brush that encapsulates a color or pattern used to fill paths.</shortdesc>
      <description>
        Create with&#160;<a href="#/ScriptUIGraphics/newBrush">ScriptUIGraphics.newBrush()</a>. <b></b>Use as a value of &#160;<a href="#/ScriptUIGraphics/backgroundColor">backgroundColor</a>&#160;properties, and pass as an argument to the&#160;<a href="#/ScriptUIGraphics/fillPath">fillPath()</a>&#160;method.
      </description>
      <elements type="instance">
        <property name="color" rwaccess="readonly">
          <shortdesc>The brush color.</shortdesc>
          <description>
            The paint color to use when the type is SOLID_COLOR. <b></b>An array in the form [R, B, G, A] specifying the red, green, blue values of the color and the opacity (alpha channel) value as numbers in the range [0.0..1.0]. <b></b>An opacity of 0 is fully transparent, and an opacity of 1 is fully opaque.
          </description>
          <datatype>
            <type>Number</type>
            <array size="4"/>
          </datatype>
        </property>
        <property name="theme" rwaccess="readonly">
          <shortdesc>The theme name.</shortdesc>
          <description>The name of a color theme to use for drawing when the type is THEME_COLOR. Theme colors are defined by the host application. </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The brush type, solid or theme.</shortdesc>
          <description>One of these constants: ScriptUIGraphics.BrushType.SOLID_COLOR or ScriptUIGraphics.BrushType.THEME_COLOR</description>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
      </elements>
    </classdef>
    <classdef name="ScriptUIPath" dynamic="true">
      <shortdesc>A helper object that encapsulates a drawing path for a figure to be drawn into a window or control.</shortdesc>
      <description>
        Create with the&#160;<a href="#/ScriptUIGraphics/newPath">newPath()</a>,&#160;<a href="#/ScriptUIGraphics/moveto">moveto()</a>,&#160;<a href="#/ScriptUIGraphics/lineto">lineto()</a>,&#160;<a href="#/ScriptUIGraphics/rectPath">rectPath()</a>, and&#160;<a href="#/ScriptUIGraphics/ellipsePath">ellipsePath()</a>&#160;methods. <b></b> Used as value of&#160;<a href="#/ScriptUIGraphics/currentPath">currentPath</a>, where it is acted upon by methods such as&#160;<a href="#/ScriptUIGraphics/closePath">closePath()</a>. <b></b> Pass as optional argument to&#160;<a href="#/ScriptUIGraphics/fillPath">fillPath()</a>&#160;and&#160;<a href="#/ScriptUIGraphics/strokePath">strokePath()</a>, which otherwise act upon the current path.
      </description>
    </classdef>
    <classdef name="ScriptUIGraphics" dynamic="true">
      <shortdesc>
        An object used to draw custom graphics, found in the <i>graphics</i> property of window, container, and control objects.
      </shortdesc>
      <description>
        Allows a script to customize aspects of the element’s appearance, such as the color and font. Use an <i>onDraw</i> callback function to set these properties or call the functions.<b></b>All measurements are in pixels.
      </description>
      <elements type="class">
        <property name="BrushType" rwaccess="readonly">
          <shortdesc>
            Contains the enumerated constants for the <i>type</i> argument of&#160;<a href="#/ScriptUIGraphics/newBrush">newBrush()</a>.
          </shortdesc>
          <description>Type constants are: SOLID_COLOR, THEME_COLOR.</description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="PenType" rwaccess="readonly">
          <shortdesc>
            Contains the enumerated constants for the <i>type</i> argument of&#160;<a href="#/ScriptUIGraphics/newPen">newPen()</a>.
          </shortdesc>
          <description>Type constants are: SOLID_COLOR, THEME_COLOR.</description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
      </elements>
      <elements type="instance">
        <property name="backgroundColor">
          <shortdesc>The background color for containers; for non-containers, the parent background color.</shortdesc>
          <description>The paint color and style is defined in this brush object.This property is only supported for controls like  dropdownlist, edittext, and listbox.</description>
          <datatype>
            <type href="#/ScriptUIBrush">ScriptUIBrush</type>
          </datatype>
        </property>
        <property name="disabledBackgroundColor">
          <shortdesc>The background color for containers when disabled or inactive; for non-containers, the parent background color.</shortdesc>
          <description>The paint color and style is defined in this brush object.This property is only supported for controls like  dropdownlist, edittext, and listbox.</description>
          <datatype>
            <type href="#/ScriptUIBrush">ScriptUIBrush</type>
          </datatype>
        </property>
        <property name="disabledForegroundColor">
          <shortdesc>The text color when the element is disabled or inactive.</shortdesc>
          <description>The paint color and style is defined in this pen object.</description>
          <datatype>
            <type href="#/ScriptUIPen">ScriptUIPen</type>
          </datatype>
        </property>
        <property name="font">
          <shortdesc>The default font to use for displaying text.</shortdesc>
          <datatype>
            <type href="#/ScriptUIFont">ScriptUIFont</type>
          </datatype>
        </property>
        <property name="foregroundColor">
          <shortdesc>The text color.</shortdesc>
          <description>The paint color and style is defined in this pen object.</description>
          <datatype>
            <type href="#/ScriptUIPen">ScriptUIPen</type>
          </datatype>
        </property>
        <property name="currentPath" rwaccess="readonly">
          <shortdesc>The current drawing path, encapsulated in a path object.</shortdesc>
          <datatype>
            <type href="#/ScriptUIPath">ScriptUIPath</type>
          </datatype>
        </property>
        <property name="currentPoint" rwaccess="readonly">
          <shortdesc>The current position in the current drawing path.</shortdesc>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <method name="newBrush">
          <shortdesc>Creates a new painting brush object.</shortdesc>
          <parameters>
            <parameter name="type">
              <shortdesc>The brush type, solid or theme.</shortdesc>
              <description>
                One of the constants <i>ScriptUIGraphics.BrushType.SOLID_COLOR</i> or <i>ScriptUIGraphics.BrushType.THEME_COLOR</i>.
              </description>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="color">
              <shortdesc>The brush color.</shortdesc>
              <description>
                <li>If type is SOLID_COLOR, the color expressed as an array of three or four values, in the form [R, B, G, A] specifying the red, green, and blue values of the color and, optionally, the opacity (alpha channel). All values are numbers in the range [0.0..1.0]. An opacity of 0 is fully transparent, and an opacity of 1 is fully opaque.</li>
                <li>If the type is THEME_COLOR, the name string of the theme. Theme colors are defined by the host application.</li>
              </description>
              <datatype>
                <type>Number</type>
                <array size="4"/>
              </datatype>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/ScriptUIBrush">ScriptUIBrush</type>
          </datatype>
        </method>
        <method name="newPen">
          <shortdesc>Creates a new drawing pen object.</shortdesc>
          <parameters>
            <parameter name="type">
              <shortdesc>The pen type, solid or theme.</shortdesc>
              <description>
                One of the constants <i>ScriptUIGraphics.PenType.SOLID_COLOR</i> or <i>ScriptUIGraphics.PenType.THEME_COLOR</i>.
              </description>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="color">
              <shortdesc>The pen color.</shortdesc>
              <description>
                <li>If type is SOLID_COLOR, the color expressed as an array of three or four values, in the form [R, B, G, A] specifying the red, green, and blue values of the color and, optionally, the opacity (alpha channel). All values are numbers in the range [0.0..1.0]. An opacity of 0 is fully transparent, and an opacity of 1 is fully opaque.</li>
                <li>If the type is THEME_COLOR, the name string of the theme. Theme colors are defined by the host application.</li>
              </description>
              <datatype>
                <type>Number</type>
                <array size="4"/>
              </datatype>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="width">
              <shortdesc>The width of the pen line in pixels.</shortdesc>
              <description>The line is centered around the current point. For example, if the value is 2, drawing a line from (0, 10) to (5, 10) paints the two rows of pixels directly above and below y-position 10.</description>
              <datatype>
                <type>Number</type>
              </datatype>	
            </parameter>
          </parameters>
          <datatype>
            <type href="#/ScriptUIPen">ScriptUIPen</type>
          </datatype>
        </method>
        <method name="newPath">
          <shortdesc>Creates a new, empty path object.</shortdesc>
          <description>
            Replaces any existing path in&#160;<a href="#/SciptUIGraphics/currentPath">currentPath</a>.
          </description>
          <datatype>
            <type href="#/ScriptUIPath">ScriptUIPath</type>
          </datatype>
        </method>
        <method name="closePath">
          <shortdesc>Closes the current path.</shortdesc>
          <description>
            Defines a line from the current postion (<a href="#/ScriptUIGraphics/currentPoint">currentPoint</a>) to the start point of the current path (the value of&#160;<a href="#/ScriptUIGraphics/currentPath">currentPath</a>).
          </description>
        </method>
        <method name="moveTo">
          <shortdesc>
            Adds a given point to the&#160;<a href="#/ScriptUIGraphics/currentPath">currentPath</a>, and makes it the current drawing position.
          </shortdesc>
          <description>
            Returns the&#160;<a href="#/Point">Point</a>&#160;object which is the new value of&#160;<a href="#/ScriptUIGraphics/currentPoint">currentPoint</a>.
          </description>
          <parameters>
            <parameter name="x">
              <shortdesc>The X coordinate for the new point, relative to the origin of this element.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="y">
              <shortdesc>The Y coordinate for the new point, relative to the origin of this element.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </method>
        <method name="lineTo">
          <shortdesc>
            Adds a path segment to the&#160;<a href="#/ScriptUIGraphics/currentPath">currentPath</a>.
          </shortdesc>
          <description>
            The line is defined from the&#160;<a href="#/ScriptUIGraphics/currentPoint">currentPoint</a>&#160;to the specified destination point. Returns the&#160;<a href="#/Point">Point</a>&#160;object  for the destination point, which becomes the new value of&#160;<a href="#/ScriptUIGraphics/currentPoint">currentPoint</a>.
          </description>
          <parameters>
            <parameter name="x">
              <shortdesc>The X coordinate for the destination point, relative to the origin of this element.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="y">
              <shortdesc>The Y coordinate for the destination point, relative to the origin of this element.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </method>
        <method name="rectPath">
          <shortdesc>
            Defines a rectangular path in the&#160;<a href="#/ScriptUIGraphics/currentPath">currentPath</a>&#160;object.
          </shortdesc>
          <description>
            The rectangle can be filled using&#160;<a href="#/ScriptUIGraphics/fillPath">fillPath()</a>&#160;or stroked using&#160;<a href="#/ScriptUIGraphics/strokePath">strokePath()</a>.<br></br>Returns the&#160;<a href="#/Point">Point</a>&#160;object  for the upper left corner of the rectangle, which becomes the new value of&#160;<a href="#/ScriptUIGraphics/currentPoint">currentPoint</a>.
          </description>
          <parameters>
            <parameter name="left">
              <shortdesc>The left coordinate relative to the origin of this element.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="top">
              <shortdesc>The top coordinate relative to the origin of this element.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="width">
              <shortdesc>The width in pixels.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="height">
              <shortdesc>The height in pixels.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </method>
        <method name="ellipsePath">
          <shortdesc>
            Defines an elliptical path within a given rectangular area in the&#160;<a href="#/ScriptUIGraphics/currentPath">currentPath</a>&#160;object, which can be filled using&#160;<a href="#/ScriptUIGraphics/fillPath">fillPath()</a>&#160;or stroked using&#160;<a href="#/ScriptUIGraphics/strokePath">strokePath()</a>.
          </shortdesc>
          <description>
            Returns a&#160;<a href="#/Point">Point</a>&#160;object for the upper left corner of the area, which is the new&#160;<a href="#/ScriptUIGraphics/currentPoint">currentPoint</a>.
          </description>
          <parameters>
            <parameter name="left">
              <shortdesc>The left coordinate of the region, relative to the origin of this element.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="top">
              <shortdesc>The top coordinate of the region, relative to the origin of this element.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="width">
              <shortdesc>The width of the region in pixels.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="height">
              <shortdesc>The height of the region in pixels.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </method>
        <method name="strokePath">
          <shortdesc>Strokes the path segments of a path with a given drawing pen.</shortdesc>
          <parameters>
            <parameter name="pen">
              <shortdesc>The drawing pen that defines the color and line width.</shortdesc>
              <datatype>
                <type href="#/ScriptUIPen">ScriptUIPen</type>
              </datatype>
            </parameter>
            <parameter name="path" optional="true">
              <shortdesc>
                The path object. Default is the&#160;<a href="#/ScriptUIGraphics/currentPath">currentPath</a>.
              </shortdesc>
              <datatype>
                <type href="#/ScriptUIPath">ScriptUIPath</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="fillPath">
          <shortdesc>Fills a path using a given painting brush.</shortdesc>
          <parameters>
            <parameter name="brush">
              <shortdesc>The brush object that defines the fill color.</shortdesc>
              <datatype>
                <type href="#/ScriptUIBrush">ScriptUIBrush</type>
              </datatype>
            </parameter>
            <parameter name="path" optional="true">
              <shortdesc>
                The path object. Default is the&#160;<a href="#/ScriptUIGraphics/currentPath">currentPath</a>.
              </shortdesc>
              <datatype>
                <type href="#/ScriptUIPath">ScriptUIPath</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="drawFocusRing">
          <shortdesc>Draws a focus ring within a region of this element.</shortdesc>
          <parameters>
            <parameter name="left">
              <shortdesc>The left coordinate of the region.</shortdesc>
              <description>Value is relative to the origin of this element.</description>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="top">
              <shortdesc>The top coordinate of the region.</shortdesc>
              <description>Value is relative to the origin of this element.</description>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="width">
              <shortdesc>The width of the region in pixels.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="height">
              <shortdesc>The height of the region in pixels.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="drawImage">
          <shortdesc>Draws an image within a given region of the element.</shortdesc>
          <description>Uses the version of the image that is appropriate to the element's current state.</description>
          <parameters>
            <parameter name="image">
              <shortdesc>The image to draw.</shortdesc>
              <description>This object contains different versions of an image appropriate to various element states, such as a dimmed version for the disabled state.</description>
              <datatype>
                <type href="#/ScriptUIImage">ScriptUIImage</type>
              </datatype>
            </parameter>
            <parameter name="left">
              <shortdesc>The left coordinate of the region, relative to the origin of this element.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="top">
              <shortdesc>The top coordinate of the region, relative to the origin of this element.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="width" optional="true">
              <shortdesc>The width in pixels. If provided, the image is stretched or shrunk to fit. If omitted, uses the original image width.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="height" optional="true">
              <shortdesc>The height in pixels. If provided, the image is stretched or shrunk to fit. If omitted, uses the original image height.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="drawOSControl">
          <shortdesc>Draw the platform-specific control associated with this element.</shortdesc>
        </method>
        <method name="drawString">
          <shortdesc>Draw a string of text starting at a given point in this element, using a given drawing pen and font.</shortdesc>
          <parameters>
            <parameter name="text">
              <shortdesc>The text string.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="pen">
              <shortdesc>The drawing pen to use.</shortdesc>
              <datatype>
                <type href="#/ScriptUIPen">ScriptUIPen</type>
              </datatype>
            </parameter>
            <parameter name="x">
              <shortdesc>The left coordinate, relative to the origin of this element.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="y">
              <shortdesc>The top coordinate, relative to the origin of this element.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
            <parameter name="font" optional="true">
              <shortdesc>
                The font to use. Default is the &#160;<a href="#/ScriptUIGraphics/font">font</a>&#160;value in this object.
              </shortdesc>
              <datatype>
                <type href="#/ScriptUIFont">ScriptUIFont</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="measureString">
          <shortdesc>Calculates the size needed to display a string using the given font.</shortdesc>
          <description>
            Returns a&#160;<a href="#/Dimension">Dimension</a>&#160;object that contains the height and width of the string in pixels.
          </description>
          <parameters>
            <parameter name="text">
              <shortdesc>The text string to measure.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="font" optional="true">
              <shortdesc>
                The font to use. Default is the&#160;<a href="#/ScriptUIGraphics/font">font</a>&#160;value in this object.
              </shortdesc>
              <datatype>
                <type href="#/ScriptUIFont">ScriptUIFont</type>
              </datatype>
            </parameter>
            <parameter name="boundingWidth" optional="true">
              <shortdesc>The bounding width.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </method>
      </elements>
     </classdef>
    <classdef name="DrawState" dynamic="true">
      <shortdesc>
        Describes an input state at the time of the triggering &#160;<a href="#/ScriptUIGraphics/event/onDraw">ScriptUIGraphics.onDraw()</a>&#160;event.
      </shortdesc>
      <description>
        Contains properties that report whether the current control has the input focus, and the particular mouse button and keypress state. Passed in as argument to&#160;<a href="#/ScriptUIGraphics/event/onDraw">ScriptUIGraphics.onDraw()</a>.
      </description>
      <elements type="instance">
        <property name="mouseOver" rwaccess="readonly">
          <shortdesc>True if the cursor is hovering over this element.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="leftButtonPressed" rwaccess="readonly">
          <shortdesc>True if the left mouse button is being pressed.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="middleButtonPressed" rwaccess="readonly">
          <shortdesc>True if the middle mouse button is being pressed.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="rightButtonPressed" rwaccess="readonly">
          <shortdesc>True if the right mouse button is being pressed.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="hasFocus" rwaccess="readonly">
          <shortdesc>True if the element has the input focus.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="shiftKeyPressed" rwaccess="readonly">
          <shortdesc>True if the Shift key is being pressed.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="ctrlKeyPressed" rwaccess="readonly">
          <shortdesc>True if the Ctrl key is being pressed.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="cmdKeyPressed" rwaccess="readonly">
          <shortdesc>True if the Command key is being pressed (in Mac OS only).</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="optKeyPressed" rwaccess="readonly">
          <shortdesc>True if the Option key is being pressed (in Mac OS only).</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="altKeyPressed" rwaccess="readonly">
          <shortdesc>True if the Alt key is being pressed (in Windows only).</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="numLockKeyPressed" rwaccess="readonly">
          <shortdesc>True if the Num Lock key is being pressed.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="capsLockKeyPressed" rwaccess="readonly">
          <shortdesc>True if the Caps Lock key is being pressed.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
      </elements>
    </classdef>
    <classdef name="ScriptUIFont" dynamic="true">
      <shortdesc>Encapsulates the qualities of a font used to draw text into a control.</shortdesc>
      <description>
        Create with the&#160;<a href="#/ScriptUIGraphics/newFont">newFont()</a>&#160;method.Used as a value of&#160;<a href="#/ScriptUIGraphics/font">font</a>. Passed as an argument to&#160;<a href="#/ScriptUIGraphics/drawString">drawString()</a>&#160;and&#160;<a href="#/ScriptUIGraphics/measureString">measureString()</a>.
      </description>
      <elements type="instance">
        <property name="family" rwaccess="readonly">
          <shortdesc>The font family name.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="name" rwaccess="readonly">
          <shortdesc>The complete font name, consisting of the family and style, if specified.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="size" rwaccess="readonly">
          <shortdesc>The font point size.</shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="style" rwaccess="readonly">
          <shortdesc>
            The font style. One of the constants in&#160;<a href="#/ScriptUIGraphics/FontStyle">ScriptUIGraphics.FontStyle</a>.
          </shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="substitute" rwaccess="readonly">
          <shortdesc>The name of a substitution font, a fallback font to substitute for this font if the requested font family or style is not available.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
      </elements>
    </classdef>
    <classdef name="ScriptUIImage" dynamic="true">
      <shortdesc>Encapsulates a set of images that can be drawn into a control.</shortdesc>
      <description>
        Different images can reflect the current state, such as a dimmed version for a disabled control. Create with the&#160;<a href="#/ScriptUI/class/newImage">newImage()</a>&#160;method. Passed as an argument to&#160;<a href="#/ScriptUIGraphics/drawImage">drawImage()</a>.
      </description>
      <elements type="instance">
        <property name="format" rwaccess="readonly">
          <shortdesc>The image format. One of: resource, JPEG, GIF, TIFF, PNG, or PICT (Macintosh).</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="name" rwaccess="readonly">
          <shortdesc>The image name. Either the file name, or the resource name.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="pathname" rwaccess="readonly">
          <shortdesc>The full path to the file that contains the image.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="size" rwaccess="readonly">
          <shortdesc>The image size in pixels.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
      </elements>
    </classdef>
    <classdef name="StaticText" dynamic="true">
      <shortdesc>A text label that the user cannot change.</shortdesc>
      <elements type="instance">
        <property name="characters">
          <shortdesc>A number of characters for which to reserve space when calculating the preferred size of the element. </shortdesc>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="justify">
          <shortdesc>The text justification style. </shortdesc>
          <description>
            One of <b>left</b>, <b>center</b>, or <b>right</b>. Justification only works if this value is set on creation of the element.
          </description>
          <datatype>
            <type>String</type>
            <value>left</value>
          </datatype>
        </property>
        <property name="text">
          <shortdesc>The text to display, a localizable string.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="active">
          <shortdesc>Always false. This element cannot have input focus. </shortdesc>
          <description>
            An active control is the one with keyboard focus—that is, the one that accepts keystrokes, or in the case of a&#160;<a href="#/Button">Button</a>, is selected when the user types Return or Enter in Windows, or the space bar in Mac OS.
          </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="shortcutKey">
          <shortdesc>
            The key sequence that invokes the&#160;<a href="#/StaticText/event/onShortcutKey">onShortcutKey()</a>&#160;callback for this element (in Windows only).
          </shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="graphics" rwaccess="readonly">
          <shortdesc>
            The graphics object that can be used to customize the element's appearance, in response to the&#160;<a href="#/StaticText/event/onDraw">onDraw()</a>&#160;event.
          </shortdesc>
          <datatype>
            <type href="#/ScriptUIGraphics">ScriptUIGraphics</type>
          </datatype>
        </property>
        <property name="visible">
          <shortdesc>True if this element is shown, false if it is hidden.</shortdesc>
          <description>When a container is hidden, its children are also hidden, but they retain their own visibility values, and are shown or hidden accordingly when the parent is next shown.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bounds">
          <shortdesc>The boundaries of the element, in parent-relative coordinates. </shortdesc>
          <description>Setting an element's size or location changes its bounds property, and vice-versa.</description>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="location">
          <shortdesc>The upper left corner of this element relative to its parent.</shortdesc>
          <description>The location is defined as [bounds.x, bounds.y]. Setting an element's location changes its bounds property, and vice-versa. </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="maximumSize">
          <shortdesc> The maximum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="minimumSize">
          <shortdesc>The minimum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="preferredSize">
          <shortdesc>The preferred size, used by layout managers to determine the best size for each element.</shortdesc>
          <description>If not explicitly set by a script, value is established by the UI framework in which ScriptUI is employed, and is based on such attributes of the element as its text, font, font size, icon size, and other UI framework-specific attributes.A script can explicitly set this value before the layout manager is invoked in order to establish an element size other than the default. </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="size">
          <shortdesc>The current dimensions of this element.</shortdesc>
          <description>
            Initially undefined, and unless explicitly set by a script, it is defined by a&#160;<a href="#LayoutManager">LayoutManager</a>&#160;. A script can explicitly set size before the layout manager is invoked to establish an element size other than the <i>preferredSize</i> or the default size, but this is not recommended. Defined as [bounds.width, bounds.height]. Setting an element's size changes its bounds property, and vice-versa.
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="windowBounds" rwaccess="readonly">
          <shortdesc>The bounds of this element relative to the top-level parent window.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="alignment">
          <shortdesc>
            The alignment style for this element. If defined, this value overrides the <i>alignChildren</i> setting for the parent container.
          </shortdesc>
          <description>
            This can be a single string, which indicates the alignment for the orientation specified in the parent container, or an array of two strings, indicating both the horizontal and vertical alignment (in that order). Allowed values depend on the orientation value of the parent container. They are not case sensitive.
            <li>
              For orientation=row:<b>top</b>, <b>bottom</b>, <b>fill</b>
            </li>
            <li>
              For orientation=column: <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
            <li>
              For orientation=stack:<b>top</b>, <b>bottom</b>, <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="children" rwaccess="readonly">
          <shortdesc>An array of child elements.</shortdesc>
          <datatype>
            <type>Object</type>
            <array/>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the container (properties used only when the element is created). </shortdesc>
          <description>
            Creation properties of a StaticText object can include:
            <li> multiline: When false (the default), the control displays a single line of text. When true, the control displays multiple lines, in which case the text wraps within the width of the control.</li>
            <li>scrolling: When false (the default), the displayed text cannot be scrolled. When true, the displayed text can be vertically scrolled using the Up Arrow and Down Arrow; this case implies multiline=true.</li>
          </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="enabled">
          <shortdesc>True if this element is enabled.</shortdesc>
          <description>An enabled element can accept input, according to its type. When false, control elements do not accept input, and all types of elements have a dimmed appearance. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="helpTip">
          <shortdesc>The help text that is displayed when the mouse hovers over the element.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="indent">
          <shortdesc>The number of pixels to indent the element during automatic layout.</shortdesc>
          <description>Applies for column orientation and left alignment, or row orientation and top alignment.</description>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The parent element.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="window" rwaccess="readonly">
          <shortdesc>The window that this element belongs to.</shortdesc>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type, "statictext".</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <method name="notify">
          <shortdesc>Sends a notification message, simulating the specified user interaction event. </shortdesc>
          <parameters>
            <parameter name="eventName" optional="true">
              <shortdesc>The name of the control event handler to call. </shortdesc>
              <description>
                One of: <b>onClick</b>, <b>onChange</b>, <b>onChanging</b>. By default, simulates the <b>onChange</b> event for an edittext control, an <b>onClick</b> event for controls that support that event.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="show">
          <shortdesc>Shows this element.</shortdesc>
          <description> When a window or container is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states.</description>
        </method>
        <method name="hide">
          <shortdesc>Hides this element.</shortdesc>
        </method>
        <method name="addEventListener">
          <shortdesc>Registers an event handler for a particular type of event occuring in this element.</shortdesc>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <description>
                Event names are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <description>
                This can be the name of a function defined in the extension, or a locally defined handler function to be executed when the event occurs. A handler function takes one argument, the&#160;<a href="#/UIEvent">UIEvent</a>&#160;object.
              </description>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>When true, the handler is called only in the capturing phase of the event propagation. </shortdesc>
              <description>Default is false, meaning that the handler is called in the bubbling phase if this object is an ancestor of the target, or in the at-target phase if this object is itself the target.</description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="removeEventListener">
          <shortdesc>Unregisters an event handler for a particular type of event occuring in this element.</shortdesc>
          <description> All arguments must be identical to those that were used to register the event handler.</description>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>Whether to call the handler only in the capturing phase of the event propagation.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="dispatchEvent">
          <shortdesc>Simulates the occurrence of an event in this target. </shortdesc>
          <description>
            A script can create a&#160;<a href="#/UIEvent">UIEvent</a>&#160;object for a specific event and pass it to this method to start the event propagation for the event.
          </description>
          <datatype>
            <type href="#/Event">Event</type>
          </datatype>
        </method>
      </elements>
      <elements type="event">
        <method name="onDraw">
          <shortdesc>An event-handler callback function, called when the window is about to be drawn. </shortdesc>
          <description>
            Allows the script to modify or control the appearance, using the control’s associated&#160;<a href="#/ScriptUIGraphics">ScriptUIGraphics</a>&#160;object. Handler takes one argument, a&#160;<a href="#/DrawState">DrawState</a>&#160;object.
          </description>
        </method>
        <method name="onShortcutKey">
          <shortdesc>
            An event-handler callback function, called when the element's <b>shortcutKey</b> sequence is typed in the active window.
          </shortdesc>
          <description>In Windows only.</description>
        </method>
      </elements>
    </classdef>
    <classdef name="Button" dynamic="true">
      <shortdesc>A pushbutton element containing a mouse-sensitive text string. </shortdesc>
      <description>
        Calls the&#160;<a href="#/Button/event/onClick">onClick()</a>&#160;callback if the control is clicked or if its&#160;<a href="#/Button/notify">notify()</a>&#160;method is called.
      </description>
      <elements type="instance">
        <property name="characters">
          <shortdesc>A number of characters for which to reserve space when calculating the preferred size of the element. </shortdesc>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="justify">
          <shortdesc>The text justification style. </shortdesc>
          <description>
            One of <b>left</b>, <b>center</b>, or <b>right</b>. Justification only works if this value is set on creation of the element.
          </description>
          <datatype>
            <type>String</type>
            <value>left</value>
          </datatype>
        </property>
        <property name="text">
          <shortdesc>The text to display, a localizable string.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="active">
          <shortdesc>True if this element is active.</shortdesc>
          <description>
            An active control is the one with keyboard focus—that is, the one that accepts keystrokes, or in the case of a&#160;<a href="#/Button">Button</a>, is selected when the user types Return or Enter in Windows, or the space bar in Mac OS.
          </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="shortcutKey">
          <shortdesc>
            The key sequence that invokes the&#160;<a href="#/Button/event/onShortcutKey">onShortcutKey()</a>&#160;callback for this element (in Windows only).
          </shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="graphics" rwaccess="readonly">
          <shortdesc>
            The graphics object that can be used to customize the element's appearance, in response to the&#160;<a href="#/Button/event/onDraw">onDraw()</a>&#160;event.
          </shortdesc>
          <datatype>
            <type href="#/ScriptUIGraphics">ScriptUIGraphics</type>
          </datatype>
        </property>
        <property name="visible">
          <shortdesc>True if this element is shown, false if it is hidden.</shortdesc>
          <description>When a container is hidden, its children are also hidden, but they retain their own visibility values, and are shown or hidden accordingly when the parent is next shown.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bounds">
          <shortdesc>The boundaries of the element, in parent-relative coordinates. </shortdesc>
          <description>Setting an element's size or location changes its bounds property, and vice-versa.</description>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="location">
          <shortdesc>The upper left corner of this element relative to its parent.</shortdesc>
          <description>The location is defined as [bounds.x, bounds.y]. Setting an element's location changes its bounds property, and vice-versa. </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="maximumSize">
          <shortdesc>The maximum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="minimumSize">
          <shortdesc> The minimum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="preferredSize">
          <shortdesc>The preferred size, used by layout managers to determine the best size for each element.</shortdesc>
          <description>If not explicitly set by a script, value is established by the UI framework in which ScriptUI is employed, and is based on such attributes of the element as its text, font, font size, icon size, and other UI framework-specific attributes.A script can explicitly set this value before the layout manager is invoked in order to establish an element size other than the default. </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="size">
          <shortdesc>The current dimensions of this element.</shortdesc>
          <description>
            Initially undefined, and unless explicitly set by a script, it is defined by a&#160;<a href="#LayoutManager">LayoutManager</a>&#160;. A script can explicitly set size before the layout manager is invoked to establish an element size other than the <i>preferredSize</i> or the default size, but this is not recommended. Defined as [bounds.width, bounds.height]. Setting an element's size changes its bounds property, and vice-versa.
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="windowBounds" rwaccess="readonly">
          <shortdesc>The bounds of this element relative to the top-level parent window.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="alignment">
          <shortdesc>
            The alignment style for this element. If defined, this value overrides the <i>alignChildren</i> setting for the parent container.
          </shortdesc>
          <description>
            This can be a single string, which indicates the alignment for the orientation specified in the parent container, or an array of two strings, indicating both the horizontal and vertical alignment (in that order). Allowed values depend on the orientation value of the parent container. They are not case sensitive.
            <li>
              For orientation=row:<b>top</b>, <b>bottom</b>, <b>fill</b>
            </li>
            <li>
              For orientation=column: <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
            <li>
              For orientation=stack:<b>top</b>, <b>bottom</b>, <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="children" rwaccess="readonly">
          <shortdesc>An array of child elements.</shortdesc>
          <datatype>
            <type>Object</type>
            <array/>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the container (properties used only when the element is created). </shortdesc>
          <description>A Button object has no creation properties, but the third argument to the add() method that creates it can be the initial text value.</description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="enabled">
          <shortdesc>True if this element is enabled.</shortdesc>
          <description>An enabled element can accept input, according to its type. When false, control elements do not accept input, and all types of elements have a dimmed appearance. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="helpTip">
          <shortdesc>The help string that is displayed when the mouse hovers over the element.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="indent">
          <shortdesc>The number of pixels to indent the element during automatic layout.</shortdesc>
          <description>Applies for column orientation and left alignment, or row orientation and top alignment.</description>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The parent element.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="window" rwaccess="readonly">
          <shortdesc>The window that this element belongs to.</shortdesc>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type; "button".</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <method name="notify">
          <shortdesc>Sends a notification message, simulating the specified user interaction event. </shortdesc>
          <parameters>
            <parameter name="eventName" optional="true">
              <shortdesc>The name of the control event handler to call. </shortdesc>
              <description>
                One of: <b>onClick</b>, <b>onChange</b>, <b>onChanging</b>. By default, simulates the <b>onChange</b> event for an edittext control, an <b>onClick</b> event for controls that support that event.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="show">
          <shortdesc>Shows this element.</shortdesc>
          <description> When a window or container is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states.</description>
        </method>
        <method name="hide">
          <shortdesc>Hides this element.</shortdesc>
        </method>
        <method name="addEventListener">
          <shortdesc>Registers an event handler for a particular type of event occuring in this element.</shortdesc>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <description>
                Event names are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <description>
                This can be the name of a function defined in the extension, or a locally defined handler function to be executed when the event occurs. A handler function takes one argument, the&#160;<a href="#/UIEvent">UIEvent</a>&#160;object.
              </description>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>When true, the handler is called only in the capturing phase of the event propagation. </shortdesc>
              <description>Default is false, meaning that the handler is called in the bubbling phase if this object is an ancestor of the target, or in the at-target phase if this object is itself the target.</description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="removeEventListener">
          <shortdesc>Unregisters an event handler for a particular type of event occuring in this element.</shortdesc>
          <description> All arguments must be identical to those that were used to register the event handler.</description>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>Whether to call the handler only in the capturing phase of the event propagation.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="dispatchEvent">
          <shortdesc>Simulates the occurrence of an event in this target. </shortdesc>
          <description>
            A script can create a&#160;<a href="#/UIEvent">UIEvent</a>&#160;object for a specific event and pass it to this method to start the event propagation for the event.
          </description>
          <datatype>
            <type href="#/Event">Event</type>
          </datatype>
        </method>
      </elements>
      <elements type="event">
        <method name="onActivate">
          <shortdesc>An event-handler callback function, called when the element acquires the keyboard focus.</shortdesc>
          <description>
            Called when the user gives the control the keyboard focus by clicking it or tabbing into it.
          </description>
        </method>
        <method name="onDeactivate">
          <shortdesc>An event-handler callback function, called when the element loses the keyboard focus.</shortdesc>
          <description>
            Called when the user moves the keyboard focus from the previously active control to another control.
          </description>
        </method>
        <method name="onDraw">
          <shortdesc>An event-handler callback function, called when the window is about to be drawn. </shortdesc>
          <description>
            Allows the script to modify or control the appearance, using the control’s associated&#160;<a href="#/ScriptUIGraphics">ScriptUIGraphics</a>&#160;object. Handler takes one argument, a&#160;<a href="#/DrawState">DrawState</a>&#160;object.
          </description>
        </method>
        <method name="onClick">
          <shortdesc>An event-handler callback function, called when the element has been clicked</shortdesc>
        </method>
        <method name="onShortcutKey">
          <shortdesc>
            An event-handler callback function, called when the element's <b>shortcutKey</b> sequence is typed in the active window.
          </shortdesc>
          <description>In Windows only.</description>
        </method>
      </elements>
    </classdef>
    <classdef name="IconButton" dynamic="true">
      <shortdesc>A  mouse-sensitive pushbutton that displays an image instead of text. </shortdesc>
      <description>
        Calls the&#160;<a href="#/IconButton/event/onClick">onClick()</a>&#160;callback if the control is clicked or if its&#160;<a href="#/IconButton/notify">notify()</a>&#160;method is called.
      </description>
      <elements type="instance">
        <property name="image">
          <shortdesc>The image object that defines the image to be drawn.</shortdesc>
          <datatype>
            <type href="#/ScriptUIImage">ScriptUIImage</type>
          </datatype>
        </property>
        <property name="active">
          <shortdesc>True if this element is active.</shortdesc>
          <description>
            An active control is the one with keyboard focus—that is, the one that accepts keystrokes, or in the case of a&#160;<a href="#/Button">Button</a>, is selected when the user types Return or Enter in Windows, or the space bar in Mac OS.
          </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="shortcutKey">
          <shortdesc>
            The key sequence that invokes the&#160;<a href="#/IconButton/event/onShortcutKey">onShortcutKey()</a>&#160;callback for this element (in Windows only).
          </shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="graphics" rwaccess="readonly">
          <shortdesc>
            The graphics object that can be used to customize the element's appearance, in response to the&#160;<a href="#/IconButton/event/onDraw">onDraw()</a>&#160;event.
          </shortdesc>
          <datatype>
            <type href="#/ScriptUIGraphics">ScriptUIGraphics</type>
          </datatype>
        </property>
        <property name="visible">
          <shortdesc>True if this element is shown, false if it is hidden.</shortdesc>
          <description>When a container is hidden, its children are also hidden, but they retain their own visibility values, and are shown or hidden accordingly when the parent is next shown.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bounds">
          <shortdesc>The boundaries of the element, in parent-relative coordinates. </shortdesc>
          <description>Setting an element's size or location changes its bounds property, and vice-versa.</description>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="location">
          <shortdesc>The upper left corner of this element relative to its parent.</shortdesc>
          <description>The location is defined as [bounds.x, bounds.y]. Setting an element's location changes its bounds property, and vice-versa. </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="maximumSize">
          <shortdesc>The maximum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="minimumSize">
          <shortdesc>The minimum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="preferredSize">
          <shortdesc>The preferred size, used by layout managers to determine the best size for each element.</shortdesc>
          <description>If not explicitly set by a script, value is established by the UI framework in which ScriptUI is employed, and is based on such attributes of the element as its text, font, font size, icon size, and other UI framework-specific attributes.A script can explicitly set this value before the layout manager is invoked in order to establish an element size other than the default. </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="size">
          <shortdesc>The current dimensions of this element.</shortdesc>
          <description>
            Initially undefined, and unless explicitly set by a script, it is defined by a&#160;<a href="#LayoutManager">LayoutManager</a>&#160;. A script can explicitly set size before the layout manager is invoked to establish an element size other than the <i>preferredSize</i> or the default size, but this is not recommended. Defined as [bounds.width, bounds.height]. Setting an element's size changes its bounds property, and vice-versa.
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="windowBounds" rwaccess="readonly">
          <shortdesc>The bounds of this element relative to the top-level parent window.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="alignment">
          <shortdesc>
            The alignment style for this element. If defined, this value overrides the <i>alignChildren</i> setting for the parent container.
          </shortdesc>
          <description>
            This can be a single string, which indicates the alignment for the orientation specified in the parent container, or an array of two strings, indicating both the horizontal and vertical alignment (in that order). Allowed values depend on the orientation value of the parent container. They are not case sensitive.
            <li>
              For orientation=row:<b>top</b>, <b>bottom</b>, <b>fill</b>
            </li>
            <li>
              For orientation=column: <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
            <li>
              For orientation=stack:<b>top</b>, <b>bottom</b>, <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="children" rwaccess="readonly">
          <shortdesc>An array of child elements.</shortdesc>
          <datatype>
            <type>Object</type>
            <array/>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the container (properties used only when the element is created). </shortdesc>
          <description>
            Creation properties of an IconButton object can include:
            <li>
              <b>style</b>:  A string for the visual style, either "button", which has a visible border with a raised or 3D appearance, or "toolbutton", which has a flat appearance, appropriate for inclusion in a toolbar.
            </li>
          </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="enabled">
          <shortdesc>True if this element is enabled.</shortdesc>
          <description>An enabled element can accept input, according to its type. When false, control elements do not accept input, and all types of elements have a dimmed appearance. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="helpTip">
          <shortdesc>The help text that is displayed when the mouse hovers over the element.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="indent">
          <shortdesc>The number of pixels to indent the element during automatic layout.</shortdesc>
          <description>Applies for column orientation and left alignment, or row orientation and top alignment.</description>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The parent element.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="window" rwaccess="readonly">
          <shortdesc>The window that this element belongs to.</shortdesc>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type; "iconbutton".</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <method name="notify">
          <shortdesc>Sends a notification message, simulating the specified user interaction event. </shortdesc>
          <parameters>
            <parameter name="eventName" optional="true">
              <shortdesc>The name of the control event handler to call. </shortdesc>
              <description>
                One of: <b>onClick</b>, <b>onChange</b>, <b>onChanging</b>. By default, simulates the <b>onChange</b> event for an edittext control, an <b>onClick</b> event for controls that support that event.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="show">
          <shortdesc>Shows this element.</shortdesc>
          <description> When a window or container is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states.</description>
        </method>
        <method name="hide">
          <shortdesc>Hides this element.</shortdesc>
        </method>
        <method name="addEventListener">
          <shortdesc>Registers an event handler for a particular type of event occuring in this element.</shortdesc>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <description>
                Event names are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <description>
                This can be the name of a function defined in the extension, or a locally defined handler function to be executed when the event occurs. A handler function takes one argument, the&#160;<a href="#/UIEvent">UIEvent</a>&#160;object.
              </description>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>When true, the handler is called only in the capturing phase of the event propagation. </shortdesc>
              <description>Default is false, meaning that the handler is called in the bubbling phase if this object is an ancestor of the target, or in the at-target phase if this object is itself the target.</description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="removeEventListener">
          <shortdesc>Unregisters an event handler for a particular type of event occuring in this element.</shortdesc>
          <description> All arguments must be identical to those that were used to register the event handler.</description>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>Whether to call the handler only in the capturing phase of the event propagation.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="dispatchEvent">
          <shortdesc>Simulates the occurrence of an event in this target. </shortdesc>
          <description>
            A script can create a&#160;<a href="#/UIEvent">UIEvent</a>&#160;object for a specific event and pass it to this method to start the event propagation for the event.
          </description>
          <datatype>
            <type href="#/Event">Event</type>
          </datatype>
        </method>
      </elements>
      <elements type="event">
        <method name="onActivate">
          <shortdesc>An event-handler callback function, called when the element acquires the keyboard focus.</shortdesc>
          <description>
            Called when the user gives the control the keyboard focus by clicking it or tabbing into it.
          </description>
        </method>
        <method name="onDeactivate">
          <shortdesc>An event-handler callback function, called when the element loses the keyboard focus.</shortdesc>
          <description>
            Called when the user moves the keyboard focus from the previously active control to another control.
          </description>
        </method>
        <method name="onDraw">
          <shortdesc>An event-handler callback function, called when the window is about to be drawn. </shortdesc>
          <description>
            Allows the script to modify or control the appearance, using the control’s associated&#160;<a href="#/ScriptUIGraphics">ScriptUIGraphics</a>&#160;object. Handler takes one argument, a&#160;<a href="#/DrawState">DrawState</a>&#160;object.
          </description>
        </method>
        <method name="onClick">
          <shortdesc>An event-handler callback function, called when the element has been clicked.</shortdesc>
        </method>
        <method name="onShortcutKey">
          <shortdesc>
            An event-handler callback function, called when the element's <b>shortcutKey</b> sequence is typed in the active window.
          </shortdesc>
          <description>In Windows only.</description>
        </method>
      </elements>
    </classdef>
    <classdef name="EditText" dynamic="true">
      <shortdesc>An editable text field that the user can select and change.</shortdesc>
      <description>
        Calls the&#160;<a href="#/EditText/event/onChange">onChange()</a>&#160;callback if the text is changed and the user types Enter or the control loses focus, or if its&#160;<a href="#/EditText/notify">notify()</a>&#160;method is called. Calls the&#160;<a href="#/EditText/event/onChanging">onChanging()</a>&#160;callback when any change is made to the text. The&#160;<a href="#/EditText/textselection">textselection</a>&#160;property contains currently selected text.
      </description>
      <elements type="instance">
        <property name="textselection">
          <shortdesc>The currently selected text, or the empty string if there is no text selected.</shortdesc>
          <description>
            Setting the value replaces the current text selection and modifies the value of the&#160;<a href="#/EditText/text">text</a>&#160;property. If there is no current selection, inserts the new value into the text string at the current insertion point. The textselection value is reset to an empty string after it modifies the text value. Note that setting the textselection property before the element’s parent Window exists is an undefined operation.
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="characters">
          <shortdesc>A number of characters for which to reserve space when calculating the preferred size of the element. </shortdesc>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="justify">
          <shortdesc>The text justification style. </shortdesc>
          <description>
            One of <b>left</b>, <b>center</b>, or <b>right</b>. Justification only works if this value is set on creation of the element.
          </description>
          <datatype>
            <type>String</type>
            <value>left</value>
          </datatype>
        </property>
        <property name="text">
          <shortdesc>The current text displayed in the field, a localizable string.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="graphics" rwaccess="readonly">
          <shortdesc>
            The graphics object that can be used to customize the element's appearance, in response to the&#160;<a href="#/EditText/event/onDraw">onDraw()</a>&#160;event.
          </shortdesc>
          <datatype>
            <type href="#/ScriptUIGraphics">ScriptUIGraphics</type>
          </datatype>
        </property>
        <property name="visible">
          <shortdesc>True if this element is shown, false if it is hidden.</shortdesc>
          <description>When a container is hidden, its children are also hidden, but they retain their own visibility values, and are shown or hidden accordingly when the parent is next shown.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bounds">
          <shortdesc>The boundaries of the element, in parent-relative coordinates. </shortdesc>
          <description>Setting an element's size or location changes its bounds property, and vice-versa.</description>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="location">
          <shortdesc>The upper left corner of this element relative to its parent.</shortdesc>
          <description>The location is defined as [bounds.x, bounds.y]. Setting an element's location changes its bounds property, and vice-versa. </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="maximumSize">
          <shortdesc> The maximum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="minimumSize">
          <shortdesc> The minimum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="preferredSize">
          <shortdesc>The preferred size, used by layout managers to determine the best size for each element.</shortdesc>
          <description>If not explicitly set by a script, value is established by the UI framework in which ScriptUI is employed, and is based on such attributes of the element as its text, font, font size, icon size, and other UI framework-specific attributes.A script can explicitly set this value before the layout manager is invoked in order to establish an element size other than the default. </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="size">
          <shortdesc>The current dimensions of this element.</shortdesc>
          <description>
            Initially undefined, and unless explicitly set by a script, it is defined by a&#160;<a href="#LayoutManager">LayoutManager</a>&#160;. A script can explicitly set size before the layout manager is invoked to establish an element size other than the <i>preferredSize</i> or the default size, but this is not recommended. Defined as [bounds.width, bounds.height]. Setting an element's size changes its bounds property, and vice-versa.
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="windowBounds" rwaccess="readonly">
          <shortdesc>The bounds of this element relative to the top-level parent window.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="active">
          <shortdesc>True if this element is active.</shortdesc>
          <description>
            An active control is the one with keyboard focus—that is, the one that accepts keystrokes, or in the case of a&#160;<a href="#/Button">Button</a>, is selected when the user types Return or Enter in Windows, or the space bar in Mac OS.
          </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="shortcutKey">
          <shortdesc>
            The key sequence that invokes the&#160;<a href="#/EditText/event/onShortcutKey">onShortcutKey()</a>&#160;callback for this element (in Windows only).
          </shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="alignment">
          <shortdesc>
            The alignment style for this element. If defined, this value overrides the <i>alignChildren</i> setting for the parent container.
          </shortdesc>
          <description>
            This can be a single string, which indicates the alignment for the orientation specified in the parent container, or an array of two strings, indicating both the horizontal and vertical alignment (in that order). Allowed values depend on the orientation value of the parent container. They are not case sensitive.
            <li>
              For orientation=row:<b>top</b>, <b>bottom</b>, <b>fill</b>
            </li>
            <li>
              For orientation=column: <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
            <li>
              For orientation=stack:<b>top</b>, <b>bottom</b>, <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="children" rwaccess="readonly">
          <shortdesc>An array of child elements.</shortdesc>
          <datatype>
            <type>Object</type>
            <array/>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the container (properties used only when the element is created). </shortdesc>
          <description>
            Creation properties of an EditText object can include:
            <li>
              <b>multiline</b>: When false (the default), the control displays a single line of text. When true, the control displays multiple lines, in which case the text wraps within the width of the control.
            </li>
            <li>
              <b>readonly</b>: When false (the default),  the control accepts text input. When true, the control does not accept input but only displays the contents of the text property.
            </li>
            <li>
              <b>noecho</b>: When false (the default), the control displays input text. When true, the control does not display input text (used for password input fields).
            </li>
            <li>
              <b>enterKeySignalsOnChange</b>: When false (the default), the control signals an <br>onChange</br> event when the editable text is changed and the control loses the keyboard focus (that is, the user tabs to another control, clicks outside the control, or types Enter). When true, the control only signals an&#160;<a href="#/EditText/event/onChange">onChange()</a>&#160;event when the editable text is changed and the user types Enter; other changes to the keyboard focus do not signal the event.
            </li>
            <li>
              <b>wantReturn</b>: Only applies to multiple line edit controls in ScriptUI Version 6.0 or later. When true the RETURN/ENTER keystroke is considered as text-input advancing the cursor to the next line. The default value is false.
            </li>			
          </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="enabled">
          <shortdesc>True if this element is enabled.</shortdesc>
          <description>An enabled element can accept input, according to its type. When false, control elements do not accept input, and all types of elements have a dimmed appearance. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="helpTip">
          <shortdesc>The help text that is displayed when the mouse hovers over the element.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="indent">
          <shortdesc>The number of pixels to indent the element during automatic layout.</shortdesc>
          <description>Applies for column orientation and left alignment, or row orientation and top alignment.</description>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The parent element.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="window" rwaccess="readonly">
          <shortdesc>The window that this element belongs to.</shortdesc>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type; "edittext".</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <method name="show">
          <shortdesc>Shows this element.</shortdesc>
          <description> When a window or container is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states.</description>
        </method>
        <method name="hide">
          <shortdesc>Hides this element.</shortdesc>
        </method>
        <method name="notify">
          <shortdesc>Sends a notification message, simulating the specified user interaction event. </shortdesc>
          <parameters>
            <parameter name="eventName" optional="true">
              <shortdesc>The name of the control event handler to call. </shortdesc>
              <description>
                One of: <b>onClick</b>, <b>onChange</b>, <b>onChanging</b>. By default, simulates the <b>onChange</b> event for an edittext control, an <b>onClick</b> event for controls that support that event.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="addEventListener">
          <shortdesc>Registers an event handler for a particular type of event occuring in this element.</shortdesc>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <description>
                Event names are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <description>
                This can be the name of a function defined in the extension, or a locally defined handler function to be executed when the event occurs. A handler function takes one argument, the&#160;<a href="#/UIEvent">UIEvent</a>&#160;object.
              </description>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>When true, the handler is called only in the capturing phase of the event propagation. </shortdesc>
              <description>Default is false, meaning that the handler is called in the bubbling phase if this object is an ancestor of the target, or in the at-target phase if this object is itself the target.</description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="removeEventListener">
          <shortdesc>Unregisters an event handler for a particular type of event occuring in this element.</shortdesc>
          <description> All arguments must be identical to those that were used to register the event handler.</description>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>Whether to call the handler only in the capturing phase of the event propagation.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="dispatchEvent">
          <shortdesc>Simulates the occurrence of an event in this target. </shortdesc>
          <description>
            A script can create a&#160;<a href="#/UIEvent">UIEvent</a>&#160;object for a specific event and pass it to this method to start the event propagation for the event.
          </description>
          <datatype>
            <type href="#/Event">Event</type>
          </datatype>
        </method>
      </elements>
      <elements type="event">
        <method name="onActivate">
          <shortdesc>An event-handler callback function, called when the element acquires the keyboard focus.</shortdesc>
          <description>
            Called when the user gives the control the keyboard focus by clicking it or tabbing into it.
          </description>
        </method>
        <method name="onDeactivate">
          <shortdesc>An event-handler callback function, called when the element loses the keyboard focus.</shortdesc>
          <description>
            Called when the user moves the keyboard focus from the previously active control to another control.
          </description>
        </method>
        <method name="onDraw">
          <shortdesc>An event-handler callback function, called when the window is about to be drawn. </shortdesc>
          <description>
            Allows the script to modify or control the appearance, using the control’s associated&#160;<a href="#/ScriptUIGraphics">ScriptUIGraphics</a>&#160;object. Handler takes one argument, a&#160;<a href="#/DrawState">DrawState</a>&#160;object.
          </description>
        </method>
        <method name="onChanging">
          <shortdesc>An event-handler callback function, called when the content of the element is in the process of changing</shortdesc>
          <description>The handler is called for each keypress while this control has the input focus.</description>
        </method>
        <method name="onChange">
          <shortdesc>An event-handler callback function, called when the content of the element has been changed</shortdesc>
          <description>
            The handler is called only when the change is complete—that is, when focus moves to another control, or the user types Enter. The exact behavior depends on the creation parameter <i>enterKeySignalsOnChange</i>;see the <br>properties</br> property.
          </description>
        </method>
        <method name="onShortcutKey">
          <shortdesc>
            An event-handler callback function, called when the element's&#160;<a href="#/EditText/shortcutKey">shortcutKey</a>&#160;sequence is typed in the active window.
          </shortdesc>
          <description>In Windows only.</description>
        </method>
      </elements>
    </classdef>
    <classdef name="ListBox" dynamic="true">
      <shortdesc>
        Displays a list of choices, represented by&#160;<a href="#/ListItem">ListItem</a>&#160;objects.
      </shortdesc>
      <description>
        When you create the object, you specify whether it allows the user to select only one or multiple items. If a list contains more items than can be displayed in the available area, a scrollbar may appear that allows the user to scroll through all the list items.<br></br>You can specify the items on creation of the list object, or afterward using the list object’s&#160;<a href="#/ListBox/add">add()</a>&#160;method. You can remove items programmatically with the list object’s&#160;<a href="#/ListBox/remove">remove()</a>&#160;and&#160;<a href="#/ListBox/removeAll">removeAll()</a>&#160;methods. You can create a list box with multiple columns; in this case, each row is a selectable choice, and each&#160;<a href="#/ListItem">ListItem</a>&#160;represents one row.
      </description>
      <elements type="instance">
        <property name="items" rwaccess="readonly">
          <shortdesc>The array of choice items displayed in the list.</shortdesc>
          <description>
            Access this array with a 0-based index. To obtain the number of items in the list, use <b>items.length</b>.The objects are created when items are specified on creation of the parent list object, or afterward using the list control’s&#160;<a href="#/ListBox/add">add()</a>&#160;method. Each item has a&#160;<a href="#/ListItem/selected">selected</a>&#160;property that is true when it is in the selected state.
          </description>
          <datatype>
            <type href="#/ListItem">ListItem</type>
            <array/>
          </datatype>
        </property>
        <property name="itemSize">
          <shortdesc>The width and height in pixels of each item in the list.</shortdesc>
          <description>
            Used by auto-layout to determine the&#160;<a href="#/ListBox/preferredSize">preferredSize</a>&#160;of the list, if not otherwise specified. If not set explicitly, the size of each item is set to match the largest height and width among all items in the list
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="selection">
          <shortdesc>The currently selected item for a single-selection list, or an array of items for current selection in a multi-selection list. </shortdesc>
          <description>
            Setting this value causes the selected item to be highlighted and to be scrolled into view if necessary. If no items are selected, the value is null. Set to null to deselect all items. You can set the value using the index of an item or an array of indices, rather than object references. If set to an index value that is out of range, the operation is ignored. When set with index values, the property still returns object references.
            <li>If you set the value to an array for a single-selection list, only the first item in the array is selected.</li>
            <li>If you set the value to a single item for a multi-selection list, that item is added to the current selection.</li>
          </description>
          <datatype>
            <type href="#/ListItem">ListItem</type>
          </datatype>
        </property>
        <property name="active">
          <shortdesc>True if this element is active.</shortdesc>
          <description>
            An active control is the one with keyboard focus—that is, the one that accepts keystrokes, or in the case of a&#160;<a href="#/Button">Button</a>, is selected when the user types Return or Enter in Windows, or the space bar in Mac OS.
          </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="shortcutKey">
          <shortdesc>
            The key sequence that invokes the&#160;<a href="#/ListBox/event/onShortcutKey">onShortcutKey()</a>&#160;callback for this element (in Windows only).
          </shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="graphics" rwaccess="readonly">
          <shortdesc>
            The graphics object that can be used to customize the element's appearance, in response to the&#160;<a href="#/ListBox/event/onDraw">onDraw()</a>&#160;event.
          </shortdesc>
          <datatype>
            <type href="#/ScriptUIGraphics">ScriptUIGraphics</type>
          </datatype>
        </property>
        <property name="visible">
          <shortdesc>True if this element is shown, false if it is hidden.</shortdesc>
          <description>When a container is hidden, its children are also hidden, but they retain their own visibility values, and are shown or hidden accordingly when the parent is next shown.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bounds">
          <shortdesc>The boundaries of the element, in parent-relative coordinates. </shortdesc>
          <description>Setting an element's size or location changes its bounds property, and vice-versa.</description>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="location">
          <shortdesc>The upper left corner of this element relative to its parent.</shortdesc>
          <description>The location is defined as [bounds.x, bounds.y]. Setting an element's location changes its bounds property, and vice-versa. </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="maximumSize">
          <shortdesc> The maximum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="minimumSize">
          <shortdesc> The minimum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="preferredSize">
          <shortdesc>The preferred size, used by layout managers to determine the best size for each element.</shortdesc>
          <description>If not explicitly set by a script, value is established by the UI framework in which ScriptUI is employed, and is based on such attributes of the element as its text, font, font size, icon size, and other UI framework-specific attributes.A script can explicitly set this value before the layout manager is invoked in order to establish an element size other than the default. </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="size">
          <shortdesc>The current dimensions of this element.</shortdesc>
          <description>
            Initially undefined, and unless explicitly set by a script, it is defined by a&#160;<a href="#LayoutManager">LayoutManager</a>&#160;. A script can explicitly set size before the layout manager is invoked to establish an element size other than the <i>preferredSize</i> or the default size, but this is not recommended. Defined as [bounds.width, bounds.height]. Setting an element's size changes its bounds property, and vice-versa.
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="windowBounds" rwaccess="readonly">
          <shortdesc>The bounds of this element relative to the top-level parent window.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="alignment">
          <shortdesc>
            The alignment style for this element. If defined, this value overrides the <i>alignChildren</i> setting for the parent container.
          </shortdesc>
          <description>
            This can be a single string, which indicates the alignment for the orientation specified in the parent container, or an array of two strings, indicating both the horizontal and vertical alignment (in that order). Allowed values depend on the orientation value of the parent container. They are not case sensitive.
            <li>
              For orientation=row:<b>top</b>, <b>bottom</b>, <b>fill</b>
            </li>
            <li>
              For orientation=column: <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
            <li>
              For orientation=stack:<b>top</b>, <b>bottom</b>, <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="children" rwaccess="readonly">
          <shortdesc>
            An array of child&#160;<a href="#/ListItem">ListItem</a>&#160;elements.
          </shortdesc>
          <datatype>
            <type>Object</type>
            <array/>
          </datatype>
        </property>
        <property name="columns" rwaccess="readonly">
          <shortdesc>For a multi-column list box, the column properties.</shortdesc>
          <description>
            A JavaScript object with two read-only properties whose values are set by the creation parameters:
            <li>
              <b>titles</b>: An array of column title strings, whose length matches the number of columns specified at creation.
            </li>
            <li>
              <b>preferredWidths</b>: An array of column widths, whose length matches the number of columns specified at creation.
            </li>
            <li>
              <b>visible</b>: An array of boolean visible attributes, whose length matches the number of columns specified at creation.This property can be used to show/hide a column. Avaiblable in ScriptUI Version 6.0 or later provided ScriptUI.frameworkName == 'Flex'.
            </li>
          </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the control (properties used only when the element is created). </shortdesc>
          <description>
            Creation properties of a ListBox object can include:
            <li>
              <b>multiselect</b>: When false (the default), only one item can be selected. When true, multiple items can be selected.
            </li>
            <li>
              <b>items</b>: An array of strings for the text of each list item. An item object is created for each item. An item with the text string "-" creates a separator item. Supply this property, or the <i>items</i> argument to the&#160;<a href="#/ListBox/add">add()</a>&#160;method, not both. This form is most useful for elements defined using Resource Specifications.
            </li>
            <li>
              <b>numberOfColumns</b>: A number of columns in which to display the items; default is 1. When there are multiple columns, each&#160;<a href="#/ListItem">ListItem</a>&#160;object represents a selectable row. Its&#160;<a href="#/ListItem/text">text</a>&#160;and&#160;<a href="#/ListItem/image">image</a>&#160;values specify the label in the first column, and the&#160;<a href="#/ListItem/subitems">subitems</a>&#160;property specifies the labels in the additional columns.
            </li>
            <li>
              <b>showHeaders</b>: True to display column titles.
            </li>
            <li>
              <b>columnWidths</b>: An array of numbers for the preferred width in pixels of each column.
            </li>
            <li>
              <b>columnTitles</b>: A corresponding array of strings for the title of each column, to be shown if <i>showHeaders</i> is true.
            </li>
          </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="enabled">
          <shortdesc>True if this element is enabled.</shortdesc>
          <description>An enabled element can accept input, according to its type. When false, control elements do not accept input, and all types of elements have a dimmed appearance. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="helpTip">
          <shortdesc>The help text that is displayed when the mouse hovers over the element.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="indent">
          <shortdesc>The number of pixels to indent the element during automatic layout.</shortdesc>
          <description>Applies for column orientation and left alignment, or row orientation and top alignment.</description>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The parent element.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="window" rwaccess="readonly">
          <shortdesc>The window that this element belongs to.</shortdesc>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type; "listbox".</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <method name="add">
          <shortdesc> Adds an item to the choices in this list.</shortdesc>
          <description>
            Returns the item control object. If this is a multi-column list box, each added&#160;<a href="#/ListItem">ListItem</a>&#160;represents one selectable row.  Its&#160;<a href="#/ListItem/text">text</a>&#160;and&#160;<a href="#/ListItem/image">image</a>&#160;values specify the label in the first column, and the&#160;<a href="#/ListItem/subitems">subitems</a>&#160;property specifies the labels in the additional columns.
          </description>
          <parameters>
            <parameter name="type">
              <shortdesc>The type of the child element, the string "item". </shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="text" optional="true">
              <shortdesc>The localizable text label for the item. </shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/ListItem">ListItem</type>
          </datatype>
        </method>
        <method name="find">
          <shortdesc>Retrieves an item object from the list that has a given text label.</shortdesc>
          <parameters>
            <parameter name="text">
              <shortdesc>The text string to match.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/ListItem">ListItem</type>
          </datatype>
        </method>
        <method name="remove">
          <shortdesc>Removes a child item from the list.</shortdesc>
          <parameters>
            <parameter name="what">
              <shortdesc>
                The item or child to remove, specified by 0-based index, text value, or as a&#160;<a href="#/ListItem">ListItem</a>&#160;object.
              </shortdesc>
              <datatype>
                <type>Any</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="removeAll">
          <shortdesc>Removes all child items from the list.</shortdesc>
        </method>
        <method name="notify">
          <shortdesc>Sends a notification message, simulating the specified user interaction event. </shortdesc>
          <parameters>
            <parameter name="eventName" optional="true">
              <shortdesc>The name of the control event handler to call. </shortdesc>
              <description>
                One of: <b>onClick</b>, <b>onChange</b>, <b>onChanging</b>. By default, simulates the <b>onChange</b> event for an edittext control, an <b>onClick</b> event for controls that support that event.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="show">
          <shortdesc>Shows this element.</shortdesc>
          <description> When a window or container is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states.</description>
        </method>
        <method name="hide">
          <shortdesc>Hides this element.</shortdesc>
        </method>
        <method name="addEventListener">
          <shortdesc>Registers an event handler for a particular type of event occuring in this element.</shortdesc>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <description>
                Event names are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <description>
                This can be the name of a function defined in the extension, or a locally defined handler function to be executed when the event occurs. A handler function takes one argument, the&#160;<a href="#/UIEvent">UIEvent</a>&#160;object.
              </description>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>When true, the handler is called only in the capturing phase of the event propagation. </shortdesc>
              <description>Default is false, meaning that the handler is called in the bubbling phase if this object is an ancestor of the target, or in the at-target phase if this object is itself the target.</description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="removeEventListener">
          <shortdesc>Unregisters an event handler for a particular type of event occuring in this element.</shortdesc>
          <description> All arguments must be identical to those that were used to register the event handler.</description>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>Whether to call the handler only in the capturing phase of the event propagation.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="dispatchEvent">
          <shortdesc>Simulates the occurrence of an event in this target. </shortdesc>
          <description>
            A script can create a&#160;<a href="#/UIEvent">UIEvent</a>&#160;object for a specific event and pass it to this method to start the event propagation for the event.
          </description>
          <datatype>
            <type href="#/Event">Event</type>
          </datatype>
        </method>
      </elements>
      <elements type="event">
        <method name="onActivate">
          <shortdesc>An event-handler callback function, called when the element acquires the keyboard focus.</shortdesc>
          <description>
            Called when the user gives the control the keyboard focus by clicking it or tabbing into it.
          </description>
        </method>
        <method name="onDeactivate">
          <shortdesc>An event-handler callback function, called when the element loses the keyboard focus.</shortdesc>
          <description>
            Called when the user moves the keyboard focus from the previously active control to another control.
          </description>
        </method>
        <method name="onChange">
          <shortdesc>An event-handler callback function, called when the content of the element has been changed</shortdesc>
        </method>
        <method name="onDoubleClick">
          <shortdesc>An event-handler callback function, called when an item in the listbox is double-clicked</shortdesc>
          <description>Check the&#160;<a href="#/ListBox/selection">selection</a>&#160;property to identify the item that was double-clicked.</description>
        </method>
        <method name="onShortcutKey">
          <shortdesc>
            An event-handler callback function, called when the element's&#160;<a href="#/ListBox/shortcutKey">shortcutKey</a>&#160;sequence is typed in the active window.
          </shortdesc>
          <description>In Windows only.</description>
        </method>
        <method name="onDraw">
          <shortdesc>An event-handler callback function, called when the window is about to be drawn. </shortdesc>
          <description>
            Allows the script to modify or control the appearance, using the control’s associated&#160;<a href="#/ScriptUIGraphics">ScriptUIGraphics</a>&#160;object. Handler takes one argument, a&#160;<a href="#/DrawState">DrawState</a>&#160;object.
          </description>
        </method>
      </elements>
    </classdef>
    <classdef name="DropDownList" dynamic="true">
      <shortdesc>Displays a single visible item. When you click the control, a list drops down or pops up, and allows you to select one of the other items in the list.</shortdesc>
      <description>
        Drop-down lists can have nonselectable separator items for visually separating groups of related items, as in a menu. You can specify the items on creation of the list object, or afterward using the list object’s&#160;<a href="#/DropDownList/add">add()</a>&#160;method. You can remove items programmatically with the list object’s remove() and removeAll() methods. Calls the&#160;<a href="#/DropDownList/event/onChange">onChange()</a>&#160;callback if the item selection is changed or if its&#160;<a href="#/DropDownList/notify">notify()</a>&#160;method is called.
      </description>
      <elements type="instance">
        <property name="items" rwaccess="readonly">
          <shortdesc>The array of choice items displayed in the drop-down or pop-up list.</shortdesc>
          <description>
            Access this array with a 0-based index. To obtain the number of items in the list, use <br>items.length</br>.The objects are created when items are specified on creation of the parent list object, or afterward using the list control’s&#160;<a href="#/DropDownList/add">add()</a>&#160;method. Items in a drop-down list can be of type <b>separator</b>, in which case they cannot be selected, and are shown as a horizontal line. Each item has a&#160;<a href="#/ListItem/selected">selected</a>&#160;property that is true when it is in the selected state.
          </description>
          <datatype>
            <type href="#/ListItem">ListItem</type>
            <array/>
          </datatype>
        </property>
        <property name="itemSize">
          <shortdesc>The width and height in pixels of each item in the list.</shortdesc>
          <description>
            Used by auto-layout to determine the&#160;<a href="#/DropDownList/preferredSize">preferredSize</a>&#160;of the list, if not otherwise specified. If not set explicitly, the size of each item is set to match the largest height and width among all items in the list
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="selection">
          <shortdesc>The currently selected  list item. </shortdesc>
          <description>Setting this value causes the selected item to be highlighted and to be scrolled into view if necessary. If no items are selected, the value is null. Set to null to deselect all items.You can set the value using the index of an item, rather than an object reference. If set to an index value that is out of range, the operation is ignored. When set with an index value, the property still returns an object reference.</description>
          <datatype>
            <type href="#/ListItem">ListItem</type>
          </datatype>
        </property>
        <property name="active">
          <shortdesc>True if this element is active.</shortdesc>
          <description>
            An active control is the one with keyboard focus—that is, the one that accepts keystrokes, or in the case of a&#160;<a href="#/Button">Button</a>, is selected when the user types Return or Enter in Windows, or the space bar in Mac OS.
          </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="shortcutKey">
          <shortdesc>
            The key sequence that invokes the&#160;<a href="#/DropDownList/event/onShortcutKey">onShortcutKey()</a>&#160;callback for this element (in Windows only).
          </shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="graphics" rwaccess="readonly">
          <shortdesc>
            The graphics object that can be used to customize the element's appearance, in response to the&#160;<a href="#/DropDownList/event/onDraw">onDraw()</a>&#160;event.
          </shortdesc>
          <datatype>
            <type href="#/ScriptUIGraphics">ScriptUIGraphics</type>
          </datatype>
        </property>
        <property name="visible">
          <shortdesc>True if this element is shown, false if it is hidden.</shortdesc>
          <description>When a container is hidden, its children are also hidden, but they retain their own visibility values, and are shown or hidden accordingly when the parent is next shown.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bounds">
          <shortdesc>The boundaries of the element, in parent-relative coordinates. </shortdesc>
          <description>Setting an element's size or location changes its bounds property, and vice-versa.</description>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="location">
          <shortdesc>The upper left corner of this element relative to its parent.</shortdesc>
          <description>The location is defined as [bounds.x, bounds.y]. Setting an element's location changes its bounds property, and vice-versa. </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="maximumSize">
          <shortdesc> The maximum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="minimumSize">
          <shortdesc> The minimum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="preferredSize">
          <shortdesc>The preferred size, used by layout managers to determine the best size for each element.</shortdesc>
          <description>If not explicitly set by a script, value is established by the UI framework in which ScriptUI is employed, and is based on such attributes of the element as its text, font, font size, icon size, and other UI framework-specific attributes.A script can explicitly set this value before the layout manager is invoked in order to establish an element size other than the default. </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="size">
          <shortdesc>The current dimensions of this element.</shortdesc>
          <description>
            Initially undefined, and unless explicitly set by a script, it is defined by a&#160;<a href="#LayoutManager">LayoutManager</a>&#160;. A script can explicitly set size before the layout manager is invoked to establish an element size other than the <i>preferredSize</i> or the default size, but this is not recommended. Defined as [bounds.width, bounds.height]. Setting an element's size changes its bounds property, and vice-versa.
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="windowBounds" rwaccess="readonly">
          <shortdesc>The bounds of this element relative to the top-level parent window.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="alignment">
          <shortdesc>
            The alignment style for this element. If defined, this value overrides the <i>alignChildren</i> setting for the parent container.
          </shortdesc>
          <description>
            This can be a single string, which indicates the alignment for the orientation specified in the parent container, or an array of two strings, indicating both the horizontal and vertical alignment (in that order). Allowed values depend on the orientation value of the parent container. They are not case sensitive.
            <li>
              For orientation=row:<b>top</b>, <b>bottom</b>, <b>fill</b>
            </li>
            <li>
              For orientation=column: <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
            <li>
              For orientation=stack:<b>top</b>, <b>bottom</b>, <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="children" rwaccess="readonly">
          <shortdesc>An array of child elements.</shortdesc>
          <datatype>
            <type>Object</type>
            <array/>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the container (properties used only when the element is created). </shortdesc>
          <description>
            Creation properties of a DropDownList object can include:
            <li>
              <b>items</b>: An array of strings for the text of each list item. An item object is created for each item. An item with the text string "-" creates a separator item. Supply this property, or the <i>items</i> argument to the&#160;<a href="#/DropDownList/add">add()</a>&#160;method, not both. This form is most useful for elements defined using Resource Specifications.
            </li>
          </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="enabled">
          <shortdesc>True if this element is enabled.</shortdesc>
          <description>An enabled element can accept input, according to its type. When false, control elements do not accept input, and all types of elements have a dimmed appearance. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="helpTip">
          <shortdesc>The help text that is displayed when the mouse hovers over the element.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="indent">
          <shortdesc>The number of pixels to indent the element during automatic layout.</shortdesc>
          <description>Applies for column orientation and left alignment, or row orientation and top alignment.</description>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The parent element.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="window" rwaccess="readonly">
          <shortdesc>The window that this element belongs to.</shortdesc>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type; "dropdownlist".</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <method name="add">
          <shortdesc> Adds an item or separator to the choices in this list.</shortdesc>
          <description>Returns the item control object for type="item", or null for type="separator".</description>
          <parameters>
            <parameter name="type">
              <shortdesc>The type of the child element.</shortdesc>
              <description>
                Either <b>item</b> (a basic, selectable item with a text label) or <b>separator</b>
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="text" optional="true">
              <shortdesc>The localizable text label for the item. </shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/ListItem">ListItem</type>
          </datatype>
        </method>
        <method name="find">
          <shortdesc>Retrieves an item object from the list that has a given text label.</shortdesc>
          <parameters>
            <parameter name="text">
              <shortdesc>The text string to match.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/ListItem">ListItem</type>
          </datatype>

        </method>
        <method name="remove">
          <shortdesc>Removes a child item from the list.</shortdesc>
          <parameters>
            <parameter name="what">
              <shortdesc>
                The item or child to remove, specified by 0-based index, text value, or as a&#160;<a href="#/ListItem">ListItem</a>&#160;object.
              </shortdesc>
              <datatype>
                <type>Any</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="removeAll">
          <shortdesc>Removes all child items from the list.</shortdesc>
        </method>
        <method name="notify">
          <shortdesc>Sends a notification message, simulating the specified user interaction event. </shortdesc>
          <parameters>
            <parameter name="eventName" optional="true">
              <shortdesc>The name of the control event handler to call. </shortdesc>
              <description>
                One of: <b>onClick</b>, <b>onChange</b>, <b>onChanging</b>. By default, simulates the <b>onChange</b> event for an edittext control, an <b>onClick</b> event for controls that support that event.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="show">
          <shortdesc>Shows this element.</shortdesc>
          <description> When a window or container is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states.</description>
        </method>
        <method name="hide">
          <shortdesc>Hides this element.</shortdesc>
        </method>
        <method name="addEventListener">
          <shortdesc>Registers an event handler for a particular type of event occuring in this element.</shortdesc>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <description>
                Event names are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <description>
                This can be the name of a function defined in the extension, or a locally defined handler function to be executed when the event occurs. A handler function takes one argument, the&#160;<a href="#/UIEvent">UIEvent</a>&#160;object.
              </description>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>When true, the handler is called only in the capturing phase of the event propagation. </shortdesc>
              <description>Default is false, meaning that the handler is called in the bubbling phase if this object is an ancestor of the target, or in the at-target phase if this object is itself the target.</description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="removeEventListener">
          <shortdesc>Unregisters an event handler for a particular type of event occuring in this element.</shortdesc>
          <description> All arguments must be identical to those that were used to register the event handler.</description>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>Whether to call the handler only in the capturing phase of the event propagation.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="dispatchEvent">
          <shortdesc>Simulates the occurrence of an event in this target. </shortdesc>
          <description>
            A script can create a&#160;<a href="#/UIEvent">UIEvent</a>&#160;object for a specific event and pass it to this method to start the event propagation for the event.
          </description>
          <datatype>
            <type href="#/Event">Event</type>
          </datatype>
        </method>
      </elements>
      <elements type="event">
        <method name="onActivate">
          <shortdesc>An event-handler callback function, called when the element acquires the keyboard focus.</shortdesc>
          <description>
            Called when the user gives the control the keyboard focus by clicking it or tabbing into it.
          </description>
        </method>
        <method name="onDeactivate">
          <shortdesc>An event-handler callback function, called when the element loses the keyboard focus.</shortdesc>
          <description>
            Called when the user moves the keyboard focus from the previously active control to another control.
          </description>
        </method>
        <method name="onChange">
          <shortdesc>An event-handler callback function, called when the content of the element has been changed</shortdesc>
        </method>
        <method name="onShortcutKey">
          <shortdesc>
            An event-handler callback function, called when the element's&#160;<a href="#/DropDownList/shortcutKey">shortcutKey</a>&#160;sequence is typed in the active window.
          </shortdesc>
          <description>In Windows only.</description>
        </method>
        <method name="onDraw">
          <shortdesc>An event-handler callback function, called when the window is about to be drawn. </shortdesc>
          <description>
            Allows the script to modify or control the appearance, using the control’s associated&#160;<a href="#/ScriptUIGraphics">ScriptUIGraphics</a>&#160;object. Handler takes one argument, a&#160;<a href="#/DrawState">DrawState</a>&#160;object.
          </description>
        </method>
      </elements>
    </classdef>
    <classdef name="ListItem" dynamic="true">
      <shortdesc>An item in a list box, drop-down list, or tree view. </shortdesc>
      <description>
        You can specify initial items in the creation parameters when creating the parent list. Create new items using the <i>add()</i> method (<a href="#/ListBox/add">ListBox.add()</a>, <a href="#/DropDownList/add">DropDownList.add()</a>, <a href="#/TreeView/add">TreeView.add()</a>) in the parent list with control type="item", or, for&#160;<a href="#/DropDownList">DropDownList</a>&#160;controls, type="separator".<br></br>For a multi-column list box, the object represents one selectable row. Its&#160;<a href="#/ListItem/text">text</a>&#160;and&#160;<a href="#/ListItem/image">image</a>&#160;values specify the label in the first column, and the&#160;<a href="#/ListItem/subitems">subitems</a>&#160;property specifies the labels in the additional columns.
      </description>
      <elements type="instance">
        <property name="checked">
          <shortdesc>The checked state of an item in a list.</shortdesc>
          <description>When true, the item is marked with the platform-appropriate checkmark. When false, no checkmark is drawn, but space is reserved for it in the left margin, so that the item lines up with other checkable items. When undefined, no space is reserved for a checkmark.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="expanded">
          <shortdesc>
            The expansion state of an item of type <i>node</i> that is a child of a&#160;<a href="#/TreeView">TreeView</a>&#160;list control.
          </shortdesc>
          <description>When true, the item is in the expanded state and its children are shown, when false, it is collapsed and children are hidden.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="index" rwaccess="readonly">
          <shortdesc>
            The 0-based index of this item in the <i>items</i> collection of its parent list control.
          </shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="selected">
          <shortdesc>The selection state of this item.</shortdesc>
          <description>When true, the item is part of the selection for its parent list. When false, the item is not selected. Set to true to select this item in a single-selection list, or to add it to the selection array for a multi-selection list. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="image">
          <shortdesc>An image object for an icon to display in the item.</shortdesc>
          <description>
            When specified, the image appropriate to the selections state is drawn to the left of the text label. If the parent is a multi-column list box, this describes the label in the first column. Labels in additional columns are described by the&#160;<a href="#/ListItem/subitems">subitems</a>&#160;property.
          </description>
          <datatype>
            <type href="#/ScriptUIImage">ScriptUIImage</type>
          </datatype>
        </property>
        <property name="text">
          <shortdesc>The label text to display for the item, a localizable string.</shortdesc>
          <description>
            If the parent is a multi-column list box, this describes the label in the first column. Labels in additional columns are described by the&#160;<a href="#/ListItem/subitems">subitems</a>&#160;property.
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="subItems" rwaccess="readonly">
          <shortdesc>
            When the parent is a multi-column&#160;<a href="#/ListBox">ListBox</a>, this describes the labels for this selectable row in additional columns.
          </shortdesc>
          <description>
            A array of JavaScript objects whose length is one less than the number of columns. The first member describes the label in the second column. Each member object has two properties, of which you can specify one or both:
            <li>
              <b>text</b>: A display string for the corresponding label.
            </li>
            <li>
              <b>image</b>: An&#160;<a href="#/ScriptUIImage">ScriptUIImage</a>&#160;object for the corresponding label.
            </li>
          </description>
          <datatype>
            <type>Array</type>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the item (properties used only when the element is created). </shortdesc>
          <description>A ListItem object has no creation properties. </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The parent element, a list control.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type.</shortdesc>
          <description>
            Normally "item", but an item whose parent is a&#160;<a href="#/DropDownList">DropDownList</a>&#160;control can have type "separator". A separator item is not mouse-sensitive and is drawn as a horizontal line across the drop-down or pop-up menu.
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
      </elements>
    </classdef>
    <classdef name="Checkbox" dynamic="true">
      <shortdesc>
        A dual-state control showing a box that has a checkmark when the&#160;<a href="#/Checkbox/value">value</a>&#160;is true, and is empty when the&#160;<a href="#/Checkbox/value">value</a>&#160;is false.
      </shortdesc>
      <description>
        Calls the&#160;<a href="#/Checkbox/event/onClick">onClick()</a>&#160;callback if the control is clicked or if its&#160;<a href="#/Checkbox/notify">notify()</a>&#160;method is called.
      </description>
      <elements type="instance">
        <property name="value">
          <shortdesc>The selection state of the control.</shortdesc>
          <description>When true, the control is in the selected or set state and displays the check mark. When false, shows an empty box.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="characters">
          <shortdesc>A number of characters for which to reserve space when calculating the preferred size of the element. </shortdesc>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="justify">
          <shortdesc>The default text justification style for child text elements. </shortdesc>
          <description>
            One of <b>left</b>, <b>center</b>, or <b>right</b>. Justification only works if this value is set on creation of the element.
          </description>
          <datatype>
            <type>String</type>
            <value>left</value>
          </datatype>
        </property>
        <property name="text">
          <shortdesc>The text to display, a localizable string.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="active">
          <shortdesc>True if this element is active.</shortdesc>
          <description>
            An active control is the one with keyboard focus—that is, the one that accepts keystrokes, or in the case of a&#160;<a href="#/Button">Button</a>, is selected when the user types Return or Enter in Windows, or the space bar in Mac OS.
          </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="shortcutKey">
          <shortdesc>
            The key sequence that invokes the&#160;<a href="#/Checkbox/event/onShortcutKey">onShortcutKey()</a>&#160;callback for this element (in Windows only).
          </shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="graphics" rwaccess="readonly">
          <shortdesc>
            The graphics object that can be used to customize the element's appearance, in response to the&#160;<a href="#/Checkbox/event/onDraw">onDraw()</a>&#160;event.
          </shortdesc>
          <datatype>
            <type href="#/ScriptUIGraphics">ScriptUIGraphics</type>
          </datatype>
        </property>
        <property name="visible">
          <shortdesc>True if this element is shown, false if it is hidden.</shortdesc>
          <description>When a container is hidden, its children are also hidden, but they retain their own visibility values, and are shown or hidden accordingly when the parent is next shown.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bounds">
          <shortdesc>The boundaries of the element, in parent-relative coordinates. </shortdesc>
          <description>Setting an element's size or location changes its bounds property, and vice-versa.</description>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="location">
          <shortdesc>The upper left corner of this element relative to its parent.</shortdesc>
          <description>The location is defined as [bounds.x, bounds.y]. Setting an element's location changes its bounds property, and vice-versa. </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="maximumSize">
          <shortdesc> The maximum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="minimumSize">
          <shortdesc> The minimum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="preferredSize">
          <shortdesc>The preferred size, used by layout managers to determine the best size for each element.</shortdesc>
          <description>If not explicitly set by a script, value is established by the UI framework in which ScriptUI is employed, and is based on such attributes of the element as its text, font, font size, icon size, and other UI framework-specific attributes.A script can explicitly set this value before the layout manager is invoked in order to establish an element size other than the default. </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="size">
          <shortdesc>The current dimensions of this element.</shortdesc>
          <description>
            Initially undefined, and unless explicitly set by a script, it is defined by a&#160;<a href="#LayoutManager">LayoutManager</a>&#160;. A script can explicitly set size before the layout manager is invoked to establish an element size other than the <i>preferredSize</i> or the default size, but this is not recommended. Defined as [bounds.width, bounds.height]. Setting an element's size changes its bounds property, and vice-versa.
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="windowBounds" rwaccess="readonly">
          <shortdesc>The bounds of this element relative to the top-level parent window.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="alignment">
          <shortdesc>
            The alignment style for this element. If defined, this value overrides the <i>alignChildren</i> setting for the parent container.
          </shortdesc>
          <description>
            This can be a single string, which indicates the alignment for the orientation specified in the parent container, or an array of two strings, indicating both the horizontal and vertical alignment (in that order). Allowed values depend on the orientation value of the parent container. They are not case sensitive.
            <li>
              For orientation=row:<b>top</b>, <b>bottom</b>, <b>fill</b>
            </li>
            <li>
              For orientation=column: <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
            <li>
              For orientation=stack:<b>top</b>, <b>bottom</b>, <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="children" rwaccess="readonly">
          <shortdesc>An array of child elements.</shortdesc>
          <datatype>
            <type>Object</type>
            <array/>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the item (properties used only when the element is created). </shortdesc>
          <description>
            A CheckBox object has no creation properties. The third argument to the&#160;<a href="#/Checkbox/add">add()</a>&#160;method that creates it is the text to be displayed.
          </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="enabled">
          <shortdesc>True if this element is enabled.</shortdesc>
          <description>An enabled element can accept input, according to its type. When false, control elements do not accept input, and all types of elements have a dimmed appearance. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="helpTip">
          <shortdesc>The help text that is displayed when the mouse hovers over the element.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="indent">
          <shortdesc>The number of pixels to indent the element during automatic layout.</shortdesc>
          <description>Applies for column orientation and left alignment, or row orientation and top alignment.</description>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The parent element.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="window" rwaccess="readonly">
          <shortdesc>The window that this element belongs to.</shortdesc>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type; "checkbox".</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <method name="notify">
          <shortdesc>Sends a notification message, simulating the specified user interaction event. </shortdesc>
          <parameters>
            <parameter name="eventName" optional="true">
              <shortdesc>The name of the control event handler to call. </shortdesc>
              <description>
                One of: <b>onClick</b>, <b>onChange</b>, <b>onChanging</b>. By default, simulates the <b>onChange</b> event for an edittext control, an <b>onClick</b> event for controls that support that event.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="show">
          <shortdesc>Shows this element.</shortdesc>
          <description> When a window or container is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states.</description>
        </method>
        <method name="hide">
          <shortdesc>Hides this element.</shortdesc>
        </method>
        <method name="addEventListener">
          <shortdesc>Registers an event handler for a particular type of event occuring in this element.</shortdesc>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <description>
                Event names are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <description>
                This can be the name of a function defined in the extension, or a locally defined handler function to be executed when the event occurs. A handler function takes one argument, the&#160;<a href="#/UIEvent">UIEvent</a>&#160;object.
              </description>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>When true, the handler is called only in the capturing phase of the event propagation. </shortdesc>
              <description>Default is false, meaning that the handler is called in the bubbling phase if this object is an ancestor of the target, or in the at-target phase if this object is itself the target.</description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="removeEventListener">
          <shortdesc>Unregisters an event handler for a particular type of event occuring in this element.</shortdesc>
          <description> All arguments must be identical to those that were used to register the event handler.</description>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>Whether to call the handler only in the capturing phase of the event propagation.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="dispatchEvent">
          <shortdesc>Simulates the occurrence of an event in this target. </shortdesc>
          <description>
            A script can create a&#160;<a href="#/UIEvent">UIEvent</a>&#160;object for a specific event and pass it to this method to start the event propagation for the event.
          </description>
          <datatype>
            <type href="#/Event">Event</type>
          </datatype>
        </method>
      </elements>
      <elements type="event">
        <method name="onActivate">
          <shortdesc>An event-handler callback function, called when the element acquires the keyboard focus.</shortdesc>
          <description>
            Called when the user gives the control the keyboard focus by clicking it or tabbing into it.
          </description>
        </method>
        <method name="onDeactivate">
          <shortdesc>An event-handler callback function, called when the element loses the keyboard focus.</shortdesc>
          <description>
            Called when the user moves the keyboard focus from the previously active control to another control.
          </description>
        </method>
        <method name="onDraw">
          <shortdesc>An event-handler callback function, called when the window is about to be drawn. </shortdesc>
          <description>
            Allows the script to modify or control the appearance, using the control’s associated&#160;<a href="#/ScriptUIGraphics">ScriptUIGraphics</a>&#160;object. Handler takes one argument, a&#160;<a href="#/DrawState">DrawState</a>&#160;object.
          </description>
        </method>
        <method name="onClick">
          <shortdesc>An event-handler callback function, called when the element has been clicked.</shortdesc>
        </method>
        <method name="onShortcutKey">
          <shortdesc>
            An event-handler callback function, called when the element's&#160;<a href="#/Checkbox/shortcutKey">shortcutKey</a>&#160;sequence is typed in the active window.
          </shortdesc>
          <description>In Windows only.</description>
        </method>
      </elements>
    </classdef>
    <classdef name="Scrollbar" dynamic="true">
      <shortdesc>A scrollbar with a draggable scroll indicator and stepper buttons to move the indicator.</shortdesc>
      <description>
        The scrollbar control has a horizontal orientation if the width is greater than the height at creation time, or vertical if its height is greater than its width.
        Calls the&#160;<a href="#/Scrollbar/event/onChange">onChange()</a>&#160;callback after the position of the indicator is changed or if its&#160;<a href="#/Scrollbar/notify">notify()</a>&#160;method is called. Calls the&#160;<a href="#/Scrollbar/event/onChanging">onChanging()</a>&#160;callback repeatedly while the user is moving the indicator. Scrollbars are often created with an associated&#160;<a href="#/EditText">EditText</a>&#160;field to display the current value of the scrollbar, and to allow setting the scrollbar's position to a specific value.
      </description>
      <elements type="instance">
        <property name="stepdelta">
          <shortdesc>The amount by which to increment or decrement a scrollbar element's position when the user clicks a stepper button. </shortdesc>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="jumpdelta">
          <shortdesc>The amount to increment or decrement a scrollbar indicator's position when the user clicks ahead or behind the moveable element.</shortdesc>
          <description> Default is 20% of the range between the maxvalue and minvalue property values. </description>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="value">
          <shortdesc>The current position of the indicator. </shortdesc>
          <description>If set to a value outside the range specified by minvalue and maxvalue, it is automatically reset to the closest boundary.</description>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="minvalue">
          <shortdesc>
            The minimum value allowed in the <b>value</b> property.
          </shortdesc>
          <description>
            Together with &#160;<a href="#/Scrollbar/maxvalue">maxvalue</a>, sets the scrolling range.Default is 0.
          </description>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="maxvalue">
          <shortdesc>
            The maximum value allowed in the <b>value</b> property.
          </shortdesc>
          <description>
            Together with&#160;<a href="#/Scrollbar/minvalue">minvalue</a>, sets the scrolling range. Default is 100.
          </description>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="active">
          <shortdesc>True if this element is active.</shortdesc>
          <description>
            An active control is the one with keyboard focus—that is, the one that accepts keystrokes, or in the case of a&#160;<a href="#/Button">Button</a>, is selected when the user types Return or Enter in Windows, or the space bar in Mac OS.
          </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="shortcutKey">
          <shortdesc>
            The key sequence that invokes the &#160;<a href="#/Scrollbar/event/onShortcutKey">onShortcutKey()</a>&#160;callback for this element (in Windows only).
          </shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="graphics" rwaccess="readonly">
          <shortdesc>
            The graphics object that can be used to customize the element's appearance, in response to the&#160;<a href="#/Scrollbar/event/onDraw">onDraw()</a>&#160;event.
          </shortdesc>
          <datatype>
            <type href="#/ScriptUIGraphics">ScriptUIGraphics</type>
          </datatype>
        </property>
        <property name="visible">
          <shortdesc>True if this element is shown, false if it is hidden.</shortdesc>
          <description>When a container is hidden, its children are also hidden, but they retain their own visibility values, and are shown or hidden accordingly when the parent is next shown.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bounds">
          <shortdesc>The boundaries of the element, in parent-relative coordinates. </shortdesc>
          <description>Setting an element's size or location changes its bounds property, and vice-versa.</description>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="location">
          <shortdesc>The upper left corner of this element relative to its parent.</shortdesc>
          <description>The location is defined as [bounds.x, bounds.y]. Setting an element's location changes its bounds property, and vice-versa. </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="maximumSize">
          <shortdesc> The maximum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="minimumSize">
          <shortdesc> The minimum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="preferredSize">
          <shortdesc>The preferred size, used by layout managers to determine the best size for each element.</shortdesc>
          <description>If not explicitly set by a script, value is established by the UI framework in which ScriptUI is employed, and is based on such attributes of the element as its text, font, font size, icon size, and other UI framework-specific attributes.A script can explicitly set this value before the layout manager is invoked in order to establish an element size other than the default. </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="size">
          <shortdesc>The current dimensions of this element.</shortdesc>
          <description>
            Initially undefined, and unless explicitly set by a script, it is defined by a&#160;<a href="#LayoutManager">LayoutManager</a>&#160;. A script can explicitly set size before the layout manager is invoked to establish an element size other than the&#160;<a href="#/Scrollbar/preferredSize">preferredSize</a>&#160;or the default size, but this is not recommended. Defined as [bounds.width, bounds.height]. Setting an element's size changes its bounds property, and vice-versa.
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="windowBounds" rwaccess="readonly">
          <shortdesc>The bounds of this element relative to the top-level parent window.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="alignment">
          <shortdesc>
            The alignment style for this element. If defined, this value overrides the <i>alignChildren</i> setting for the parent container.
          </shortdesc>
          <description>
            This can be a single string, which indicates the alignment for the orientation specified in the parent container, or an array of two strings, indicating both the horizontal and vertical alignment (in that order). Allowed values depend on the orientation value of the parent container. They are not case sensitive.
            <li>
              For orientation=row:<b>top</b>, <b>bottom</b>, <b>fill</b>
            </li>
            <li>
              For orientation=column: <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
            <li>
              For orientation=stack:<b>top</b>, <b>bottom</b>, <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="children" rwaccess="readonly">
          <shortdesc>An array of child elements.</shortdesc>
          <datatype>
            <type>Object</type>
            <array/>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the container (properties used only when the element is created). </shortdesc>
          <description>
            A Scrollbar object has no creation properties. The third argument of the&#160;<a href="#/Scrollbar/add">add()</a>&#160;method that creates it is the initial value, and the fourth and fifth arguments are the minimum and maximum values of the range.
          </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="enabled">
          <shortdesc>True if this element is enabled.</shortdesc>
          <description>An enabled element can accept input, according to its type. When false, control elements do not accept input, and all types of elements have a dimmed appearance. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="helpTip">
          <shortdesc>The help text that is displayed when the mouse hovers over the element.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="indent">
          <shortdesc>The number of pixels to indent the element during automatic layout.</shortdesc>
          <description>Applies for column orientation and left alignment, or row orientation and top alignment.</description>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The parent element.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="window" rwaccess="readonly">
          <shortdesc>The window that this element belongs to.</shortdesc>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type, "scrollbar".</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <method name="notify">
          <shortdesc>Sends a notification message, simulating the specified user interaction event. </shortdesc>
          <parameters>
            <parameter name="eventName" optional="true">
              <shortdesc>The name of the control event handler to call. </shortdesc>
              <description>
                One of: <b>onClick</b>, <b>onChange</b>, <b>onChanging</b>. By default, simulates the <b>onChange</b> event for an edittext control, an <b>onClick</b> event for controls that support that event.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="show">
          <shortdesc>Shows this element.</shortdesc>
          <description> When a window or container is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states.</description>
        </method>
        <method name="hide">
          <shortdesc>Hides this element.</shortdesc>
        </method>
        <method name="addEventListener">
          <shortdesc>Registers an event handler for a particular type of event occuring in this element.</shortdesc>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <description>
                Event names are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <description>
                This can be the name of a function defined in the extension, or a locally defined handler function to be executed when the event occurs. A handler function takes one argument, the&#160;<a href="#/UIEvent">UIEvent</a>&#160;object.
              </description>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>When true, the handler is called only in the capturing phase of the event propagation. </shortdesc>
              <description>Default is false, meaning that the handler is called in the bubbling phase if this object is an ancestor of the target, or in the at-target phase if this object is itself the target.</description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="removeEventListener">
          <shortdesc>Unregisters an event handler for a particular type of event occuring in this element.</shortdesc>
          <description> All arguments must be identical to those that were used to register the event handler.</description>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>Whether to call the handler only in the capturing phase of the event propagation.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="dispatchEvent">
          <shortdesc>Simulates the occurrence of an event in this target. </shortdesc>
          <description>
            A script can create a&#160;<a href="#/UIEvent">UIEvent</a>&#160;object for a specific event and pass it to this method to start the event propagation for the event.
          </description>
          <datatype>
            <type href="#/Event">Event</type>
          </datatype>
        </method>
      </elements>
      <elements type="event">
        <method name="onActivate">
          <shortdesc>An event-handler callback function, called when the element acquires the keyboard focus.</shortdesc>
          <description>
            Called when the user gives the control the keyboard focus by clicking it or tabbing into it.
          </description>
        </method>
        <method name="onDeactivate">
          <shortdesc>An event-handler callback function, called when the element loses the keyboard focus.</shortdesc>
          <description>
            Called when the user moves the keyboard focus from the previously active control to another control.
          </description>
        </method>
        <method name="onDraw">
          <shortdesc>An event-handler callback function, called when the window is about to be drawn. </shortdesc>
          <description>
            Allows the script to modify or control the appearance, using the control’s associated&#160;<a href="#/ScriptUIGraphics">ScriptUIGraphics</a>&#160;object. Handler takes one argument, a&#160;<a href="#/DrawState">DrawState</a>&#160;object.
          </description>
        </method>
        <method name="onChanging">
          <shortdesc>An event-handler callback function, called when the content of the element is in the process of changing</shortdesc>
          <description>The handler is called for any motion of the position indicator while this control has the input focus.</description>
        </method>
        <method name="onChange">
          <shortdesc>An event-handler callback function, called when the user has finished dragging the position indicator, or has clicked the control.</shortdesc>
        </method>
        <method name="onShortcutKey">
          <shortdesc>
            An event-handler callback function, called when the element's&#160;<a href="#/Scrollbar/shortcutKey">shortcutKey</a>&#160;sequence is typed in the active window.
          </shortdesc>
          <description>In Windows only.</description>
        </method>
      </elements>
    </classdef>
    <classdef name="RadioButton" dynamic="true">
      <shortdesc>A dual-state control, grouped with other radiobuttons, of which only one can be in the selected state. </shortdesc>
      <description>
        Shows the selected state when&#160;<a href="#/RadioButton/value">value</a>=true, empty when&#160;<a href="#/RadioButton/value">value</a>=false. Calls the&#160;<a href="#/RadioButton/event/onClick">onClick()</a>&#160;callback if the control is clicked or if its&#160;<a href="#/RadioButton/notify">notify()</a>&#160;method is called.
      </description>
      <elements type="instance">
        <property name="value">
          <shortdesc>The selection state of this button, selected when true.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="characters">
          <shortdesc>A number of characters for which to reserve space when calculating the preferred size of the element. </shortdesc>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="justify">
          <shortdesc>The default text justification style for child text elements. </shortdesc>
          <description>
            One of <b>left</b>, <b>center</b>, or <b>right</b>. Justification only works if this value is set on creation of the element.
          </description>
          <datatype>
            <type>String</type>
            <value>left</value>
          </datatype>
        </property>
        <property name="text">
          <shortdesc>The label text for this button, a localizable string.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="active">
          <shortdesc>True if this element is active.</shortdesc>
          <description>
            An active control is the one with keyboard focus—that is, the one that accepts keystrokes, or in the case of a&#160;<a href="#/Button">Button</a>, is selected when the user types Return or Enter in Windows, or the space bar in Mac OS.
          </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="shortcutKey">
          <shortdesc>
            The key sequence that invokes the&#160;<a href="#/RadioButton/event/onShortcutKey">onShortcutKey()</a>&#160;callback for this element (in Windows only).
          </shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="graphics" rwaccess="readonly">
          <shortdesc>
            The graphics object that can be used to customize the element's appearance, in response to the&#160;<a href="#/RadioButton/event/onDraw()">onDraw</a>&#160;event.
          </shortdesc>
          <datatype>
            <type href="#/ScriptUIGraphics">ScriptUIGraphics</type>
          </datatype>
        </property>
        <property name="visible">
          <shortdesc>True if this element is shown, false if it is hidden.</shortdesc>
          <description>When a container is hidden, its children are also hidden, but they retain their own visibility values, and are shown or hidden accordingly when the parent is next shown.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bounds">
          <shortdesc>The boundaries of the element, in parent-relative coordinates. </shortdesc>
          <description>Setting an element's size or location changes its bounds property, and vice-versa.</description>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="location">
          <shortdesc>The upper left corner of this element relative to its parent.</shortdesc>
          <description>The location is defined as [bounds.x, bounds.y]. Setting an element's location changes its bounds property, and vice-versa. </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="maximumSize">
          <shortdesc> The maximum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="minimumSize">
          <shortdesc> The minimum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="preferredSize">
          <shortdesc>The preferred size, used by layout managers to determine the best size for each element.</shortdesc>
          <description>If not explicitly set by a script, value is established by the UI framework in which ScriptUI is employed, and is based on such attributes of the element as its text, font, font size, icon size, and other UI framework-specific attributes. A script can explicitly set this value before the layout manager is invoked in order to establish an element size other than the default. </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="size">
          <shortdesc>The current dimensions of this element.</shortdesc>
          <description>
            Initially undefined, and unless explicitly set by a script, it is defined by a&#160;<a href="#LayoutManager">LayoutManager</a>&#160;. A script can explicitly set size before the layout manager is invoked to establish an element size other than the&#160;<a href="#/RadioButton/preferredSize">preferredSize</a>&#160;or the default size, but this is not recommended. Defined as [bounds.width, bounds.height]. Setting an element's size changes its bounds property, and vice-versa.
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="windowBounds" rwaccess="readonly">
          <shortdesc>The bounds of this element relative to the top-level parent window.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="alignment">
          <shortdesc>
            The alignment style for this element. If defined, this value overrides the <i>alignChildren</i> setting for the parent container.
          </shortdesc>
          <description>
            This can be a single string, which indicates the alignment for the orientation specified in the parent container, or an array of two strings, indicating both the horizontal and vertical alignment (in that order). Allowed values depend on the orientation value of the parent container. They are not case sensitive.
            <li>
              For orientation=row:<b>top</b>, <b>bottom</b>, <b>fill</b>
            </li>
            <li>
              For orientation=column: <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
            <li>
              For orientation=stack:<b>top</b>, <b>bottom</b>, <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="children" rwaccess="readonly">
          <shortdesc>An array of child elements.</shortdesc>
          <datatype>
            <type>Object</type>
            <array/>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the container (properties used only when the element is created). </shortdesc>
          <description>
            A RadioButton object has no creation properties. The third argument of the&#160;<a href="#/RadioButton/add">add()</a>&#160;method that creates can be the label text.
          </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="enabled">
          <shortdesc>True if this element is enabled.</shortdesc>
          <description>An enabled element can accept input, according to its type. When false, control elements do not accept input, and all types of elements have a dimmed appearance. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="helpTip">
          <shortdesc>The help text that is displayed when the mouse hovers over the element.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="indent">
          <shortdesc>The number of pixels to indent the element during automatic layout.</shortdesc>
          <description>Applies for column orientation and left alignment, or row orientation and top alignment.</description>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The parent element.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="window" rwaccess="readonly">
          <shortdesc>The window that this element belongs to.</shortdesc>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type; "radiobutton".</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <method name="notify">
          <shortdesc>Sends a notification message, simulating the specified user interaction event. </shortdesc>
          <parameters>
            <parameter name="eventName" optional="true">
              <shortdesc>The name of the control event handler to call. </shortdesc>
              <description>
                One of: <b>onClick</b>, <b>onChange</b>, <b>onChanging</b>. By default, simulates the <b>onChange</b> event for an edittext control, an <b>onClick</b> event for controls that support that event.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="show">
          <shortdesc>Shows this element.</shortdesc>
          <description> When a window or container is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states.</description>
        </method>
        <method name="hide">
          <shortdesc>Hides this element.</shortdesc>
        </method>
        <method name="addEventListener">
          <shortdesc>Registers an event handler for a particular type of event occuring in this element.</shortdesc>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <description>
                Event names are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <description>
                This can be the name of a function defined in the extension, or a locally defined handler function to be executed when the event occurs. A handler function takes one argument, the&#160;<a href="#/UIEvent">UIEvent</a>&#160;object.
              </description>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>When true, the handler is called only in the capturing phase of the event propagation. </shortdesc>
              <description>Default is false, meaning that the handler is called in the bubbling phase if this object is an ancestor of the target, or in the at-target phase if this object is itself the target.</description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="removeEventListener">
          <shortdesc>Unregisters an event handler for a particular type of event occuring in this element.</shortdesc>
          <description> All arguments must be identical to those that were used to register the event handler.</description>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>Whether to call the handler only in the capturing phase of the event propagation.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="dispatchEvent">
          <shortdesc>Simulates the occurrence of an event in this target. </shortdesc>
          <description>
            A script can create a&#160;<a href="#/UIEvent">UIEvent</a>&#160;object for a specific event and pass it to this method to start the event propagation for the event.
          </description>
          <datatype>
            <type href="#/Event">Event</type>
          </datatype>
        </method>
      </elements>
      <elements type="event">
        <method name="onActivate">
          <shortdesc>An event-handler callback function, called when the element acquires the keyboard focus.</shortdesc>
          <description>
            Called when the user gives the control the keyboard focus by clicking it or tabbing into it.
          </description>
        </method>
        <method name="onDeactivate">
          <shortdesc>An event-handler callback function, called when the element loses the keyboard focus.</shortdesc>
          <description>
            Called when the user moves the keyboard focus from the previously active control to another control.
          </description>
        </method>
        <method name="onDraw">
          <shortdesc>An event-handler callback function, called when the window is about to be drawn. </shortdesc>
          <description>
            Allows the script to modify or control the appearance, using the control’s associated&#160;<a href="#/ScriptUIGraphics">ScriptUIGraphics</a>&#160;object. Handler takes one argument, a&#160;<a href="#/DrawState">DrawState</a>&#160;object.
          </description>
        </method>
        <method name="onClick">
          <shortdesc>An event-handler callback function, called when the element has been clicked.</shortdesc>
        </method>
        <method name="onShortcutKey">
          <shortdesc>
            An event-handler callback function, called when the element's&#160;<a href="#/RadioButton/shortcutKey">shortcutKey</a>&#160;sequence is typed in the active window.
          </shortdesc>
          <description>In Windows only.</description>
        </method>
      </elements>
    </classdef>
    <classdef name="Slider" dynamic="true">
      <shortdesc>A slider bar that indicates a numeric value with a moveable position indicator. </shortdesc>
      <description>
        All slider controls have a horizontal orientation. Calls the&#160;<a href="#/Slider/event/onChange">onChange()</a>&#160;callback after the position of the indicator is changed or if its&#160;<a href="#/Slider/notify">notify()</a>&#160;method is called. Calls the&#160;<a href="#/Slider/event/onChanging">onChanging()</a>&#160;callback repeatedly while the user is moving the indicator. The&#160;<a href="#/Slider/value">value</a>&#160;property contains the current position of the indicator within the range of&#160;<a href="#/Slider/minvalue">minvalue</a>&#160;to&#160;<a href="#/Slider/maxvalue">maxvalue</a>.
      </description>
      <elements type="instance">
        <property name="value">
          <shortdesc>The current position of the indicator. </shortdesc>
          <description>
            If set to a value outside the range specified by&#160;<a href="#/Slider/minvalue">minvalue</a>&#160;and&#160;<a href="#/Slider/maxvalue">maxvalue</a>, it is automatically reset to the closest boundary.
          </description>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="minvalue">
          <shortdesc>
            The minimum value allowed in the&#160;<a href="#/Slider/value">value</a>&#160;property.
          </shortdesc>
          <description>
            Together with&#160;<a href="#/Slider/maxvalue">maxvalue</a>, sets the range.Default is 0.
          </description>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="maxvalue">
          <shortdesc>
            The maximum value allowed in the&#160;<a href="#/Slider/value">value</a>&#160;property.
          </shortdesc>
          <description>
            Together with&#160;<a href="#/Slider/minvalue">minvalue</a>, sets the  range.Default is 100.
          </description>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="active">
          <shortdesc>True if this element is active.</shortdesc>
          <description>
            An active control is the one with keyboard focus—that is, the one that accepts keystrokes, or in the case of a&#160;<a href="#/Button">Button</a>, is selected when the user types Return or Enter in Windows, or the space bar in Mac OS.
          </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="shortcutKey">
          <shortdesc>
            The key sequence that invokes the&#160;<a href="#/Slider/event/onShortcutKey">onShortcutKey()</a>&#160;callback for this element (in Windows only).
          </shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="graphics" rwaccess="readonly">
          <shortdesc>
            The graphics object that can be used to customize the element's appearance, in response to the&#160;<a href="#/Slider/event/onDraw">onDraw()</a>&#160;event.
          </shortdesc>
          <datatype>
            <type href="#/ScriptUIGraphics">ScriptUIGraphics</type>
          </datatype>
        </property>
        <property name="visible">
          <shortdesc>True if this element is shown, false if it is hidden.</shortdesc>
          <description>When a container is hidden, its children are also hidden, but they retain their own visibility values, and are shown or hidden accordingly when the parent is next shown.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bounds">
          <shortdesc>The boundaries of the element, in parent-relative coordinates. </shortdesc>
          <description>Setting an element's size or location changes its bounds property, and vice-versa.</description>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="location">
          <shortdesc>The upper left corner of this element relative to its parent.</shortdesc>
          <description>The location is defined as [bounds.x, bounds.y]. Setting an element's location changes its bounds property, and vice-versa. </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="maximumSize">
          <shortdesc> The maximum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="minimumSize">
          <shortdesc> The minimum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="preferredSize">
          <shortdesc>The preferred size, used by layout managers to determine the best size for each element.</shortdesc>
          <description>If not explicitly set by a script, value is established by the UI framework in which ScriptUI is employed, and is based on such attributes of the element as its text, font, font size, icon size, and other UI framework-specific attributes.A script can explicitly set this value before the layout manager is invoked in order to establish an element size other than the default. </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="size">
          <shortdesc>The current dimensions of this element.</shortdesc>
          <description>
            Initially undefined, and unless explicitly set by a script, it is defined by a&#160;<a href="#LayoutManager">LayoutManager</a>&#160;. A script can explicitly set size before the layout manager is invoked to establish an element size other than the&#160;<a href="#/Slider/preferredSize">preferredSize</a>&#160;or the default size, but this is not recommended. Defined as [bounds.width, bounds.height]. Setting an element's size changes its bounds property, and vice-versa.
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="windowBounds" rwaccess="readonly">
          <shortdesc>The bounds of this element relative to the top-level parent window.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="alignment">
          <shortdesc>
            The alignment style for this element. If defined, this value overrides the <i>alignChildren</i> setting for the parent container.
          </shortdesc>
          <description>
            This can be a single string, which indicates the alignment for the orientation specified in the parent container, or an array of two strings, indicating both the horizontal and vertical alignment (in that order). Allowed values depend on the orientation value of the parent container. They are not case sensitive.
            <li>
              For orientation=row:<b>top</b>, <b>bottom</b>, <b>fill</b>
            </li>
            <li>
              For orientation=column: <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
            <li>
              For orientation=stack:<b>top</b>, <b>bottom</b>, <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="children" rwaccess="readonly">
          <shortdesc>An array of child elements.</shortdesc>
          <datatype>
            <type>Object</type>
            <array/>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the container (properties used only when the element is created). </shortdesc>
          <description>
            A Slider object has no creation properties. The third argument of the&#160;<a href="#/Slider/add">add()</a>&#160;method that creates it is the initial value, and the fourth and fifth arguments are the minimum and maximum values of the range.
          </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="enabled">
          <shortdesc>True if this element is enabled.</shortdesc>
          <description>An enabled element can accept input, according to its type. When false, control elements do not accept input, and all types of elements have a dimmed appearance. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="helpTip">
          <shortdesc>The help text that is displayed when the mouse hovers over the element.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="indent">
          <shortdesc>The number of pixels to indent the element during automatic layout.</shortdesc>
          <description>Applies for column orientation and left alignment, or row orientation and top alignment.</description>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The parent element.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="window" rwaccess="readonly">
          <shortdesc>The window that this element belongs to.</shortdesc>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type, "slider".</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <method name="notify">
          <shortdesc>Sends a notification message, simulating the specified user interaction event. </shortdesc>
          <parameters>
            <parameter name="eventName" optional="true">
              <shortdesc>The name of the control event handler to call. </shortdesc>
              <description>
                One of: <b>onClick</b>, <b>onChange</b>, <b>onChanging</b>. By default, simulates the <b>onChange</b> event for an edittext control, an <b>onClick</b> event for controls that support that event.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="show">
          <shortdesc>Shows this element.</shortdesc>
          <description> When a window or container is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states.</description>
        </method>
        <method name="hide">
          <shortdesc>Hides this element.</shortdesc>
        </method>
        <method name="addEventListener">
          <shortdesc>Registers an event handler for a particular type of event occuring in this element.</shortdesc>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <description>
                Event names are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <description>
                This can be the name of a function defined in the extension, or a locally defined handler function to be executed when the event occurs. A handler function takes one argument, the&#160;<a href="#/UIEvent">UIEvent</a>&#160;object.
              </description>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>When true, the handler is called only in the capturing phase of the event propagation. </shortdesc>
              <description>Default is false, meaning that the handler is called in the bubbling phase if this object is an ancestor of the target, or in the at-target phase if this object is itself the target.</description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="removeEventListener">
          <shortdesc>Unregisters an event handler for a particular type of event occuring in this element.</shortdesc>
          <description> All arguments must be identical to those that were used to register the event handler.</description>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>Whether to call the handler only in the capturing phase of the event propagation.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="dispatchEvent">
          <shortdesc>Simulates the occurrence of an event in this target. </shortdesc>
          <description>
            A script can create a&#160;<a href="#/UIEvent">UIEvent</a>&#160;object for a specific event and pass it to this method to start the event propagation for the event.
          </description>
          <datatype>
            <type href="#/Event">Event</type>
          </datatype>
        </method>
      </elements>
      <elements type="event">
        <method name="onActivate">
          <shortdesc>An event-handler callback function, called when the element acquires the keyboard focus.</shortdesc>
          <description>
            Called when the user gives the control the keyboard focus by clicking it or tabbing into it.
          </description>
        </method>
        <method name="onDeactivate">
          <shortdesc>An event-handler callback function, called when the element loses the keyboard focus.</shortdesc>
          <description>
            Called when the user moves the keyboard focus from the previously active control to another control.
          </description>
        </method>
        <method name="onDraw">
          <shortdesc>An event-handler callback function, called when the window is about to be drawn. </shortdesc>
          <description>
            Allows the script to modify or control the appearance, using the control’s associated&#160;<a href="#/ScriptUIGraphics">ScriptUIGraphics</a>&#160;object. Handler takes one argument, a&#160;<a href="#/DrawState">DrawState</a>&#160;object.
          </description>
        </method>
        <method name="onChanging">
          <shortdesc>An event-handler callback function, called when the content of the element is in the process of changing</shortdesc>
          <description>The handler is called for any motion of the position indicator while this control has the input focus.</description>
        </method>
        <method name="onChange">
          <shortdesc>An event-handler callback function, called when the user has finished dragging the position indicator, or has clicked the control.</shortdesc>
        </method>
        <method name="onShortcutKey">
          <shortdesc>
            An event-handler callback function, called when the element's&#160;<a href="#/Slider/shortcutKey">shortcutKey</a>&#160;sequence is typed in the active window.
          </shortdesc>
          <description>In Windows only.</description>
        </method>
      </elements>
    </classdef>
    <classdef name="Progressbar" dynamic="true">
      <shortdesc>A horizontal bar with an indicator that shows the progress of an operation.</shortdesc>
      <description>
        All progressbar controls have a horizontal orientation. The&#160;<a href="#/Progressbar/value">value</a>&#160;property contains the current position of the progress indicator; the default is 0. There is a&#160;<a href="#/Progressbar/minvalue">minvalue</a>&#160;property, but it is always 0; attempts to set it to a different value are silently ignored.
      </description>
      <elements type="instance">
        <property name="value">
          <shortdesc>The current position of the indicator. </shortdesc>
          <description>
            If set to a value outside the range specified by 0 to&#160;<a href="#/Progressbar/maxvalue">maxvalue</a>, it is automatically reset to the closest boundary.
          </description>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="minvalue">
          <shortdesc>The minimum value in the range; always 0. If set to a different value, it is ignored. </shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="maxvalue">
          <shortdesc>The maximum value in the range. Default is 100. </shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="graphics" rwaccess="readonly">
          <shortdesc>
            The graphics object that can be used to customize the element's appearance, in response to the&#160;<a href="#/Progressbar/event/onDraw">onDraw()</a>&#160;event.
          </shortdesc>
          <datatype>
            <type href="#/ScriptUIGraphics">ScriptUIGraphics</type>
          </datatype>
        </property>
        <property name="visible">
          <shortdesc>True if this element is shown, false if it is hidden.</shortdesc>
          <description>When a container is hidden, its children are also hidden, but they retain their own visibility values, and are shown or hidden accordingly when the parent is next shown.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bounds">
          <shortdesc>The boundaries of the element, in parent-relative coordinates. </shortdesc>
          <description>Setting an element's size or location changes its bounds property, and vice-versa.</description>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="location">
          <shortdesc>The upper left corner of this element relative to its parent.</shortdesc>
          <description>The location is defined as [bounds.x, bounds.y]. Setting an element's location changes its bounds property, and vice-versa. </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="maximumSize">
          <shortdesc> The maximum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="minimumSize">
          <shortdesc> The minimum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="preferredSize">
          <shortdesc>The preferred size, used by layout managers to determine the best size for each element.</shortdesc>
          <description>If not explicitly set by a script, value is established by the UI framework in which ScriptUI is employed, and is based on such attributes of the element as its text, font, font size, icon size, and other UI framework-specific attributes.A script can explicitly set this value before the layout manager is invoked in order to establish an element size other than the default. </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="size">
          <shortdesc>The current dimensions of this element.</shortdesc>
          <description>
            Initially undefined, and unless explicitly set by a script, it is defined by a&#160;<a href="#LayoutManager">LayoutManager</a>&#160;. A script can explicitly set size before the layout manager is invoked to establish an element size other than the&#160;<a href="#/Progressbar/preferredSize">preferredSize</a>&#160;or the default size, but this is not recommended. Defined as [bounds.width, bounds.height]. Setting an element's size changes its bounds property, and vice-versa.
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="windowBounds" rwaccess="readonly">
          <shortdesc>The bounds of this element relative to the top-level parent window.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="alignment">
          <shortdesc>
            The alignment style for this element. If defined, this value overrides the <i>alignChildren</i> setting for the parent container.
          </shortdesc>
          <description>
            This can be a single string, which indicates the alignment for the orientation specified in the parent container, or an array of two strings, indicating both the horizontal and vertical alignment (in that order). Allowed values depend on the orientation value of the parent container. They are not case sensitive.
            <li>
              For orientation=row:<b>top</b>, <b>bottom</b>, <b>fill</b>
            </li>
            <li>
              For orientation=column: <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
            <li>
              For orientation=stack:<b>top</b>, <b>bottom</b>, <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="children" rwaccess="readonly">
          <shortdesc>An array of child elements.</shortdesc>
          <datatype>
            <type>Object</type>
            <array/>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the container (properties used only when the element is created). </shortdesc>
          <description>
            A ProgressBar object has no creation properties. The third argument of the&#160;<a href="#/ProgressBar/add">add()</a>&#160;method that creates it is the initial value (default 0), and the fourth argument is the maximum value of the range (default 100).
          </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="enabled">
          <shortdesc>True if this element is enabled.</shortdesc>
          <description>An enabled element can accept input, according to its type. When false, control elements do not accept input, and all types of elements have a dimmed appearance. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="helpTip">
          <shortdesc>The help text that is displayed when the mouse hovers over the element.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="indent">
          <shortdesc>The number of pixels to indent the element during automatic layout.</shortdesc>
          <description>Applies for column orientation and left alignment, or row orientation and top alignment.</description>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The parent element.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="window" rwaccess="readonly">
          <shortdesc>The window that this element belongs to.</shortdesc>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type, "progessbar".</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <method name="show">
          <shortdesc>Shows this element.</shortdesc>
          <description> When a window or container is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states.</description>
        </method>
        <method name="hide">
          <shortdesc>Hides this element.</shortdesc>
        </method>
        <method name="addEventListener">
          <shortdesc>Registers an event handler for a particular type of event occuring in this element.</shortdesc>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <description>
                Event names are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <description>
                This can be the name of a function defined in the extension, or a locally defined handler function to be executed when the event occurs. A handler function takes one argument, the&#160;<a href="#/UIEvent">UIEvent</a>&#160;object.
              </description>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>When true, the handler is called only in the capturing phase of the event propagation. </shortdesc>
              <description>Default is false, meaning that the handler is called in the bubbling phase if this object is an ancestor of the target, or in the at-target phase if this object is itself the target.</description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="removeEventListener">
          <shortdesc>Unregisters an event handler for a particular type of event occuring in this element.</shortdesc>
          <description> All arguments must be identical to those that were used to register the event handler.</description>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>Whether to call the handler only in the capturing phase of the event propagation.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="dispatchEvent">
          <shortdesc>Simulates the occurrence of an event in this target. </shortdesc>
          <description>
            A script can create a&#160;<a href="#/UIEvent">UIEvent</a>&#160;object for a specific event and pass it to this method to start the event propagation for the event.
          </description>
          <datatype>
            <type href="#/Event">Event</type>
          </datatype>
        </method>
      </elements>
      <elements type="event">
        <method name="onDraw">
          <shortdesc>An event-handler callback function, called when the window is about to be drawn. </shortdesc>
          <description>
            Allows the script to modify or control the appearance, using the control’s associated&#160;<a href="#/ScriptUIGraphics">ScriptUIGraphics</a>&#160;object. Handler takes one argument, a&#160;<a href="#/DrawState">DrawState</a>&#160;object.
          </description>
        </method>
      </elements>
    </classdef>
    <classdef name="TreeView" dynamic="true">
      <shortdesc>A hierarchical list whose items can contain child items.</shortdesc>
      <description>
        The&#160;<a href="#/ListItem">ListItem</a>&#160;children of this control (in the&#160;<a href="#/TreeView/items">items</a>&#160;array) can be of type <i>node</i>, which means that they can contain child items. An item with child items can expanded, so that the child items are displayed, or collapsed, so that the child items are hidden Individual items can be selected at any level of the tree.
      </description>
      <elements type="instance">
        <property name="items" rwaccess="readonly">
          <shortdesc>The array of top-level items displayed in the list.</shortdesc>
          <description>
            Access this array with a 0-based index. To obtain the number of items in the list, use <b>items.length</b>.The objects are created when items are specified on creation of the parent list object, or afterward using the list control’s&#160;<a href="#/TreeView/add">add()</a>&#160;method.
          </description>
          <datatype>
            <type href="#/ListItem">ListItem</type>
            <array/>
          </datatype>
        </property>
        <property name="itemSize">
          <shortdesc>The width and height in pixels of each item in the list.</shortdesc>
          <description>
            Used by auto-layout to determine the&#160;<a href="#/TreeView/preferredSize">preferredSize</a>&#160;of the list, if not otherwise specified. If not set explicitly, the size of each item is set to match the largest height and width among all items in the list
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="selection">
          <shortdesc>The currently selected  list item. </shortdesc>
          <description>Setting this value causes the selected item to be highlighted and to be scrolled into view if necessary. If no items are selected, the value is null. Set to null to deselect all items.You can set the value using the index of an item, rather than an object reference. If set to an index value that is out of range, the operation is ignored. When set with an index value, the property still returns an object reference.</description>
          <datatype>
            <type href="#/ListItem">ListItem</type>
          </datatype>
        </property>
        <property name="active">
          <shortdesc>True if this element is active.</shortdesc>
          <description>
            An active control is the one with keyboard focus—that is, the one that accepts keystrokes, or in the case of a&#160;<a href="#/Button">Button</a>, is selected when the user types Return or Enter in Windows, or the space bar in Mac OS.
          </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="shortcutKey">
          <shortdesc>
            The key sequence that invokes the&#160;<a href="#/TreeView/event/onShortcutKey">onShortcutKey()</a>&#160;callback for this element (in Windows only).
          </shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="graphics" rwaccess="readonly">
          <shortdesc>
            The graphics object that can be used to customize the element's appearance, in response to the&#160;<a href="#/TreeView/event/onDraw">onDraw()</a>&#160;event.
          </shortdesc>
          <datatype>
            <type href="#/ScriptUIGraphics">ScriptUIGraphics</type>
          </datatype>
        </property>
        <property name="visible">
          <shortdesc>True if this element is shown, false if it is hidden.</shortdesc>
          <description>When a container is hidden, its children are also hidden, but they retain their own visibility values, and are shown or hidden accordingly when the parent is next shown.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bounds">
          <shortdesc>The boundaries of the element, in parent-relative coordinates. </shortdesc>
          <description>Setting an element's size or location changes its bounds property, and vice-versa.</description>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="location">
          <shortdesc>The upper left corner of this element relative to its parent.</shortdesc>
          <description>The location is defined as [bounds.x, bounds.y]. Setting an element's location changes its bounds property, and vice-versa. </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="maximumSize">
          <shortdesc> The maximum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="minimumSize">
          <shortdesc> The minimum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="preferredSize">
          <shortdesc>The preferred size, used by layout managers to determine the best size for each element.</shortdesc>
          <description>If not explicitly set by a script, value is established by the UI framework in which ScriptUI is employed, and is based on such attributes of the element as its text, font, font size, icon size, and other UI framework-specific attributes.A script can explicitly set this value before the layout manager is invoked in order to establish an element size other than the default. </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="size">
          <shortdesc>The current dimensions of this element.</shortdesc>
          <description>
            Initially undefined, and unless explicitly set by a script, it is defined by a&#160;<a href="#LayoutManager">LayoutManager</a>&#160;. A script can explicitly set size before the layout manager is invoked to establish an element size other than the&#160;<a href="#/TreeView/preferredSize">preferredSize</a>&#160;or the default size, but this is not recommended. Defined as [bounds.width, bounds.height]. Setting an element's size changes its bounds property, and vice-versa.
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="windowBounds" rwaccess="readonly">
          <shortdesc>The bounds of this element relative to the top-level parent window.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="alignment">
          <shortdesc>
            The alignment style for this element. If defined, this value overrides the <i>alignChildren</i> setting for the parent container.
          </shortdesc>
          <description>
            This can be a single string, which indicates the alignment for the orientation specified in the parent container, or an array of two strings, indicating both the horizontal and vertical alignment (in that order). Allowed values depend on the orientation value of the parent container. They are not case sensitive.
            <li>
              For orientation=row:<b>top</b>, <b>bottom</b>, <b>fill</b>
            </li>
            <li>
              For orientation=column: <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
            <li>
              For orientation=stack:<b>top</b>, <b>bottom</b>, <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="children" rwaccess="readonly">
          <shortdesc>An array of child elements.</shortdesc>
          <datatype>
            <type>Object</type>
            <array/>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the control (properties used only when the element is created). </shortdesc>
          <description>
            Creation properties of a ListBox object can include:
            <li>
              <b>items</b>: An array of strings for the text of each top-level list item. An item object is created for each item. An item with the text string "-" creates a separator item. Supply this property, or the <i>items</i> argument to the&#160;<a href="#/TreeView/add">add()</a>&#160;method, not both. This form is most useful for elements defined using Resource Specifications.
            </li>
          </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="enabled">
          <shortdesc>True if this element is enabled.</shortdesc>
          <description>An enabled element can accept input, according to its type. When false, control elements do not accept input, and all types of elements have a dimmed appearance. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="helpTip">
          <shortdesc>The help text that is displayed when the mouse hovers over the element.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="indent">
          <shortdesc>The number of pixels to indent the element during automatic layout.</shortdesc>
          <description>Applies for column orientation and left alignment, or row orientation and top alignment.</description>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The parent element.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="window" rwaccess="readonly">
          <shortdesc>The window that this element belongs to.</shortdesc>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type, "treeview".</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <method name="add">
          <shortdesc> Adds an item to the top-level choices in this list.</shortdesc>
          <description>Returns the item control object.</description>
          <parameters>
            <parameter name="type">
              <shortdesc>The type of the child element, the string "item". </shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="text" optional="true">
              <shortdesc>The localizable text label for the item. </shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/ListItem">ListItem</type>
          </datatype>
        </method>
        <method name="find">
          <shortdesc>Retrieves an item object from the list that has a given text label.</shortdesc>
          <parameters>
            <parameter name="text">
              <shortdesc>The text string to match.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/ListItem">ListItem</type>
          </datatype>
        </method>
        <method name="remove">
          <shortdesc>Removes a child item from the list.</shortdesc>
          <parameters>
            <parameter name="what">
              <shortdesc>
                The item or child to remove, specified by 0-based index in the top-level item list, text value, or as a&#160;<a href="#/ListItem">ListItem</a>&#160;object.
              </shortdesc>
              <datatype>
                <type>Any</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="removeAll">
          <shortdesc>Removes all child items from the list.</shortdesc>
        </method>
        <method name="notify">
          <shortdesc>Sends a notification message, simulating the specified user interaction event. </shortdesc>
          <parameters>
            <parameter name="eventName" optional="true">
              <shortdesc>The name of the control event handler to call. </shortdesc>
              <description>
                One of: <b>onClick</b>, <b>onChange</b>, <b>onChanging</b>. By default, simulates the <b>onChange</b> event for an edittext control, an <b>onClick</b> event for controls that support that event.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="show">
          <shortdesc>Shows this element.</shortdesc>
          <description> When a window or container is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states.</description>
        </method>
        <method name="hide">
          <shortdesc>Hides this element.</shortdesc>
        </method>
        <method name="addEventListener">
          <shortdesc>Registers an event handler for a particular type of event occuring in this element.</shortdesc>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <description>
                Event names are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <description>
                This can be the name of a function defined in the extension, or a locally defined handler function to be executed when the event occurs. A handler function takes one argument, the&#160;<a href="#/UIEvent">UIEvent</a>&#160;object.
              </description>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>When true, the handler is called only in the capturing phase of the event propagation. </shortdesc>
              <description>Default is false, meaning that the handler is called in the bubbling phase if this object is an ancestor of the target, or in the at-target phase if this object is itself the target.</description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="removeEventListener">
          <shortdesc>Unregisters an event handler for a particular type of event occuring in this element.</shortdesc>
          <description> All arguments must be identical to those that were used to register the event handler.</description>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>Whether to call the handler only in the capturing phase of the event propagation.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="dispatchEvent">
          <shortdesc>Simulates the occurrence of an event in this target. </shortdesc>
          <description>
            A script can create a&#160;<a href="#/UIEvent">UIEvent</a>&#160;object for a specific event and pass it to this method to start the event propagation for the event.
          </description>
          <datatype>
            <type href="#/Event">Event</type>
          </datatype>
        </method>
      </elements>
      <elements type="event">
        <method name="onActivate">
          <shortdesc>An event-handler callback function, called when the element acquires the keyboard focus.</shortdesc>
          <description>
            Called when the user gives the control the keyboard focus by clicking it or tabbing into it.
          </description>
        </method>
        <method name="onDeactivate">
          <shortdesc>An event-handler callback function, called when the element loses the keyboard focus.</shortdesc>
          <description>
            Called when the user moves the keyboard focus from the previously active control to another control.
          </description>
        </method>
        <method name="onCollapse">
          <shortdesc>An event-handler callback function, called when the user collapses (closes) an expanded node in the treeview.</shortdesc>
          <parameters>
            <parameter name="item">
              <shortdesc>The&#160;<a href="#/ListItem">ListItem</a>&#160;node that collapsed.</shortdesc>
              <datatype>
                <type>ListItem</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="onDraw">
          <shortdesc>An event-handler callback function, called when the window is about to be drawn. </shortdesc>
          <description>
            Allows the script to modify or control the appearance, using the control’s associated&#160;<a href="#/ScriptUIGraphics">ScriptUIGraphics</a>&#160;object. Handler takes one argument, a&#160;<a href="#/DrawState">DrawState</a>&#160;object.
          </description>
        </method>
       <method name="onExpand">
          <shortdesc>An event-handler callback function, called when the user expands (opens) a collapsed node in the treeview.</shortdesc>
          <parameters>
            <parameter name="item">
              <shortdesc>The&#160;<a href="#/ListItem">ListItem</a>&#160;node that expanded.</shortdesc>
              <datatype>
                <type>ListItem</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="onChange">
          <shortdesc>An event-handler callback function, called when the content of the element has been changed</shortdesc>
        </method>
        <method name="onShortcutKey">
          <shortdesc>
            An event-handler callback function, called when the element's&#160;<a href="#/TreeView/shortcutKey">shortcutKey</a>&#160;sequence is typed in the active window.
          </shortdesc>
          <description>In Windows only.</description>
        </method>
      </elements>
    </classdef>
    <classdef name="FlashPlayer" dynamic="true">
      <shortdesc>A control that contains a Flash Player, which can load and play Flash movies stored in SWF files. </shortdesc>
      <description>The ScriptUI FlashPlayer element runs the Flash application within an Adobe application. The Flash application runs ActionScript, a different implementation of JavaScript from the ExtendScript version of JavaScript that Adobe applications run. A control object of this type contains functions that allow your script to load SWF files, control movie playback, and communicate with the ActionScript environment. </description>
      <elements type="instance">
        <property name="active">
          <shortdesc>True if this element is active.</shortdesc>
          <description>
            An active control is the one with keyboard focus—that is, the one that accepts keystrokes, or in the case of a&#160;<a href="#/Button">Button</a>, is selected when the user types Return or Enter in Windows, or the space bar in Mac OS.
          </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="visible">
          <shortdesc>True if this element is shown, false if it is hidden.</shortdesc>
          <description>When a container is hidden, its children are also hidden, but they retain their own visibility values, and are shown or hidden accordingly when the parent is next shown.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bounds">
          <shortdesc>The boundaries of the element, in parent-relative coordinates. </shortdesc>
          <description>Setting an element's size or location changes its bounds property, and vice-versa.</description>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="location">
          <shortdesc>The upper left corner of this element relative to its parent.</shortdesc>
          <description>The location is defined as [bounds.x, bounds.y]. Setting an element's location changes its bounds property, and vice-versa. </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="maximumSize">
          <shortdesc> The maximum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="minimumSize">
          <shortdesc> The minimum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="preferredSize">
          <shortdesc>The preferred size, used by layout managers to determine the best size for each element.</shortdesc>
          <description>If not explicitly set by a script, value is established by the UI framework in which ScriptUI is employed, and is based on such attributes of the element as its text, font, font size, icon size, and other UI framework-specific attributes.A script can explicitly set this value before the layout manager is invoked in order to establish an element size other than the default. </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="size">
          <shortdesc>The current dimensions of this element.</shortdesc>
          <description>
            Initially undefined, and unless explicitly set by a script, it is defined by a&#160;<a href="#LayoutManager">LayoutManager</a>&#160;. A script can explicitly set size before the layout manager is invoked to establish an element size other than the <i>preferredSize</i> or the default size, but this is not recommended. Defined as [bounds.width, bounds.height]. Setting an element's size changes its bounds property, and vice-versa.
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="windowBounds" rwaccess="readonly">
          <shortdesc>The bounds of this element relative to the top-level parent window.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="alignment">
          <shortdesc>
            The alignment style for this element. If defined, this value overrides the <i>alignChildren</i> setting for the parent container.
          </shortdesc>
          <description>
            This can be a single string, which indicates the alignment for the orientation specified in the parent container, or an array of two strings, indicating both the horizontal and vertical alignment (in that order). Allowed values depend on the orientation value of the parent container. They are not case sensitive.
            <li>
              For orientation=row:<b>top</b>, <b>bottom</b>, <b>fill</b>
            </li>
            <li>
              For orientation=column: <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
            <li>
              For orientation=stack:<b>top</b>, <b>bottom</b>, <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the container (properties used only when the element is created). </shortdesc>
          <description>A FlashPlayer object has no creation properties. </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="enabled">
          <shortdesc>True if this element is enabled.</shortdesc>
          <description>An enabled element can accept input, according to its type. When false, control elements do not accept input, and all types of elements have a dimmed appearance. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="helpTip">
          <shortdesc>The help text that is displayed when the mouse hovers over the element.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="indent">
          <shortdesc>The number of pixels to indent the element during automatic layout.</shortdesc>
          <description>Applies for column orientation and left alignment, or row orientation and top alignment.</description>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The parent element.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="window" rwaccess="readonly">
          <shortdesc>The window that this element belongs to.</shortdesc>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type, "flashplayer".</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <method name="invokePlayerFunction">
          <shortdesc>Invokes an ActionScript function defined in the Flash application.</shortdesc>
          <description>Returns the result of the invoked function, which must be one of the allowed types. The ActionScript class and date objects are not supported as return values.</description>
          <parameters>
            <parameter name="name">
              <shortdesc>The name of a Flash ActionScript function that has been registered with the ExternalInterface object by the currently loaded SWF file.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="argument" optional="true">
              <shortdesc>An argument to pass through to the function.</shortdesc>
              <description>
                There can be any number of arguments. An argument must be one of these data types:Number, String, Boolean, null, undefined, Object, Array. No other data types are supported.
              </description>
              <datatype>
                <type>Any</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Any</type>
          </datatype>
        </method>
        <method name="loadMovie">
          <shortdesc>Loads a movie into the Flash Player, and begins playing it.</shortdesc>
          <parameters>
            <parameter name="file">
              <shortdesc>The File object for the SWF file to load.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/File">File</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="playMovie">
          <shortdesc>Restarts a movie that has been stopped.</shortdesc>
          <description>
            Do not use on a movie that is currently playing.<br></br>The stopMovie()-playMovie() sequence does not work for SWF files produced by Flex, or for some files produced by Flash Authoring (depending on how they were implemented).
          </description>
          <parameters>
            <parameter name="rewind">
              <shortdesc>When true, restarts the movie from the beginning; otherwise, starts playing from the	point where it was stopped.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="stopMovie">
          <shortdesc>Halts playback of the current movie.</shortdesc>
          <description>
            The stopMovie()-playMovie() sequence does not work for SWF files produced by Flex, or for some files produced by Flash Authoring (depending on how they were implemented).<br></br>Using stopMovie() from the player's hosting environment has no effect on an SWF file playing in a ScriptUI Flash Player element. It is, however, possible to produce an SWF using Flash Authoring that can stop itself in response to user interaction.
          </description>
        </method>
        <method name="notify">
          <shortdesc>Sends a notification message, simulating the specified user interaction event. </shortdesc>
          <parameters>
            <parameter name="eventName" optional="true">
              <shortdesc>The name of the control event handler to call. </shortdesc>
              <description>
                One of: <b>onClick</b>, <b>onChange</b>, <b>onChanging</b>. By default, simulates the <b>onChange</b> event for an edittext control, an <b>onClick</b> event for controls that support that event.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="show">
          <shortdesc>Shows this element.</shortdesc>
          <description> When a window or container is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states.</description>
        </method>
        <method name="hide">
          <shortdesc>Hides this element.</shortdesc>
        </method>
        <method name="addEventListener">
          <shortdesc>Registers an event handler for a particular type of event occuring in this element.</shortdesc>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <description>
                Event names are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <description>
                This can be the name of a function defined in the extension, or a locally defined handler function to be executed when the event occurs. A handler function takes one argument, the&#160;<a href="#/UIEvent">UIEvent</a>&#160;object.
              </description>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>When true, the handler is called only in the capturing phase of the event propagation. </shortdesc>
              <description>Default is false, meaning that the handler is called in the bubbling phase if this object is an ancestor of the target, or in the at-target phase if this object is itself the target.</description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="removeEventListener">
          <shortdesc>Unregisters an event handler for a particular type of event occuring in this element.</shortdesc>
          <description> All arguments must be identical to those that were used to register the event handler.</description>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>Whether to call the handler only in the capturing phase of the event propagation.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="dispatchEvent">
          <shortdesc>Simulates the occurrence of an event in this target. </shortdesc>
          <description>
            A script can create a&#160;<a href="#/UIEvent">UIEvent</a>&#160;object for a specific event and pass it to this method to start the event propagation for the event.
          </description>
          <datatype>
            <type href="#/Event">Event</type>
          </datatype>
        </method>
      </elements>
      <elements type="event">
        <method name="callback">
          <shortdesc>A function definition for a callback from the Flash ActionScript environment.</shortdesc>
          <description>The Flash ActionScript code can call any callback function defined on the ExtendScript side of the FlashPlayer object, invoking it by name as a property of the control object. The function can take any arguments of a supported data types, and can return any value of a supported data type. data types:Number, String, Boolean, null, undefined, Object, Array. </description>
        </method>
      </elements>
    </classdef>
    <classdef name="Group" dynamic="true">
      <shortdesc>A container for other controls within a window.</shortdesc>
      <description>A group can specify layout options for its child elements. Hiding a group hides all its children. Making it visible makes visible those children that are not individually hidden. </description>
      <elements type="instance">
        <property name="graphics" rwaccess="readonly">
          <shortdesc>
            The graphics object that can be used to customize the element's appearance, in response to the&#160;<a href="#/Group/event/onDraw">onDraw()</a>&#160;event.
          </shortdesc>
          <datatype>
            <type href="#/ScriptUIGraphics">ScriptUIGraphics</type>
          </datatype>
        </property>
        <property name="visible">
          <shortdesc>True if this element is shown, false if it is hidden.</shortdesc>
          <description>When a container is hidden, its children are also hidden, but they retain their own visibility values, and are shown or hidden accordingly when the parent is next shown.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bounds">
          <shortdesc>The boundaries of the element, in parent-relative coordinates. </shortdesc>
          <description>Setting an element's size or location changes its bounds property, and vice-versa.</description>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="location">
          <shortdesc>The upper left corner of this element relative to its parent.</shortdesc>
          <description>The location is defined as [bounds.x, bounds.y]. Setting an element's location changes its bounds property, and vice-versa. </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="maximumSize">
          <shortdesc> The maximum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="minimumSize">
          <shortdesc> The minimum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="preferredSize">
          <shortdesc>The preferred size, used by layout managers to determine the best size for each element.</shortdesc>
          <description>If not explicitly set by a script, value is established by the UI framework in which ScriptUI is employed, and is based on such attributes of the element as its text, font, font size, icon size, and other UI framework-specific attributes.A script can explicitly set this value before the layout manager is invoked in order to establish an element size other than the default. </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="size">
          <shortdesc>The current dimensions of this element.</shortdesc>
          <description>
            Initially undefined, and unless explicitly set by a script, it is defined by a&#160;<a href="#LayoutManager">LayoutManager</a>&#160;. A script can explicitly set size before the layout manager is invoked to establish an element size other than the <i>preferredSize</i> or the default size, but this is not recommended. Defined as [bounds.width, bounds.height]. Setting an element's size changes its bounds property, and vice-versa.
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="windowBounds" rwaccess="readonly">
          <shortdesc>The bounds of this element relative to the top-level parent window.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="alignChildren">
          <shortdesc>Tells the layout manager how unlike-sized children of this container should be aligned within a column or row. </shortdesc>
          <description>
            Order of creation determines which children are at the top of a column or the left of a row; the earlier a child is created, the closer it is to the top or left of its column or row. If defined, <b>alignment</b> for a child element overrides the <b>alignChildren</b> setting for the parent container. See <b>alignment</b> property for values.
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="children" rwaccess="readonly">
          <shortdesc>An array of child elements.</shortdesc>
          <datatype>
            <type>Object</type>
            <array/>
          </datatype>
        </property>
        <property name="layout">
          <shortdesc>The layout manager for this container.</shortdesc>
          <description>
            The first time a container object is made visible, ScriptUI invokes this layout manager by calling its&#160;<a href="#/LayoutManager/layout">layout()</a>&#160;function. Default is an instance of the&#160;<a href="#/LayoutManager">LayoutManager</a>&#160;class that is automatically created when the container element is created.
          </description>
          <datatype>
            <type href="#/LayoutManager">LayoutManager</type>
          </datatype>
        </property>
        <property name="margins">
          <shortdesc>The number of pixels between the edges of a container and the outermost child elements.</shortdesc>
          <description> You can specify different margins for each edge of the container. The default value is based on the type of container, and is chosen to match the standard Adobe UI guidelines. </description>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="orientation">
          <shortdesc>The layout orientation of children in a container.</shortdesc>
          <description>
            Interpreted by the layout manager for the container. The default&#160;<a href="#LayoutManager">LayoutManager</a>&#160; Object accepts the (case-insensitive) values <b>row</b>, <b>column</b>, or <b>stack</b>.  For window and panel, the default is column, and for group the default is row. The allowed values for the container’s <b>alignChildren</b> and its children’s <b>alignment</b> properties depend on the orientation.
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="spacing">
          <shortdesc>The number of pixels separating one child element from its adjacent sibling element.</shortdesc>
          <description>Because each container holds only a single row or column of children, only a single spacing value is needed for a container. The default value is based on the type of container, and is chosen to match standard Adobe UI guidelines. </description>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="alignment">
          <shortdesc>
            The alignment style for this element. If defined, this value overrides the <i>alignChildren</i> setting for the parent container.
          </shortdesc>
          <description>
            This can be a single string, which indicates the alignment for the orientation specified in the parent container, or an array of two strings, indicating both the horizontal and vertical alignment (in that order). Allowed values depend on the orientation value of the parent container. They are not case sensitive.
            <li>
              For orientation=row:<b>top</b>, <b>bottom</b>, <b>fill</b>
            </li>
            <li>
              For orientation=column: <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
            <li>
              For orientation=stack:<b>top</b>, <b>bottom</b>, <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the control (properties used only when the element is created). </shortdesc>
          <description>A Group object has no creation properties.</description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="enabled">
          <shortdesc>True if this element is enabled.</shortdesc>
          <description>An enabled element can accept input, according to its type. When false, control elements do not accept input, and all types of elements have a dimmed appearance. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="helpTip">
          <shortdesc>The help text that is displayed when the mouse hovers over the element.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="indent">
          <shortdesc>The number of pixels to indent the element during automatic layout.</shortdesc>
          <description>Applies for column orientation and left alignment, or row orientation and top alignment.</description>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The parent element.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="window" rwaccess="readonly">
          <shortdesc>The window that this element belongs to.</shortdesc>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type; "group".</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <method name="show">
          <shortdesc>Shows this element.</shortdesc>
          <description> When a window or container is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states.</description>
        </method>
        <method name="hide">
          <shortdesc>Hides this element.</shortdesc>
        </method>
        <method name="add">
          <shortdesc>Adds a child element to this container.</shortdesc>
          <description>Creates and returns a new control or container object and adds it to the children of this group.</description>
          <parameters>
            <parameter name="type">
              <shortdesc>
                The type of the child element, as specified for the <i>type</i> property.
              </shortdesc>
              <description>
                Control types are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="bounds" optional="true">
              <shortdesc>A bounds specification that describes the size and position of the new control or container, relative to its parent. </shortdesc>
              <description>
                If supplied, this value creates a new&#160;<a href="#/Bounds">Bounds</a>&#160;object which is assigned to the new object’s <b>bounds</b> property.
              </description>
              <datatype>
                <type href="#/Bounds">Bounds</type>
              </datatype>
            </parameter>
            <parameter name="text" optional="true">
              <shortdesc>The text or label, a localizable string.</shortdesc>
              <description>
                Initial text to be displayed in the control as the title, label, or contents, depending on the control type. If supplied, this value is assigned to the new object’s <b>text</b> property.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="properties" optional="true">
              <shortdesc>An object that contains one or more creation properties of the new child (properties used only when the element is created). </shortdesc>
              <description>
                The creation properties depend on the element type. See <br>properties</br> property of each control type.
              </description>
              <datatype>
                <type>Object</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Object</type>
          </datatype>
        </method>
        <method name="remove">
          <shortdesc>
            Removes the specified child control from this group's&#160;<a href="#/Group/children">children</a>&#160;array.
          </shortdesc>
          <description> No error results if the child does not exist. </description>
          <parameters>
            <parameter name="what">
              <shortdesc>
                The child control to remove, specified by 0-based index, <b>text</b> property value, or as a control object.
              </shortdesc>
              <datatype>
                <type>Any</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="addEventListener">
          <shortdesc>Registers an event handler for a particular type of event occuring in this element.</shortdesc>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <description>
                Event names are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <description>
                This can be the name of a function defined in the extension, or a locally defined handler function to be executed when the event occurs. A handler function takes one argument, the&#160;<a href="#/UIEvent">UIEvent</a>&#160;object.
              </description>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>When true, the handler is called only in the capturing phase of the event propagation. </shortdesc>
              <description>Default is false, meaning that the handler is called in the bubbling phase if this object is an ancestor of the target, or in the at-target phase if this object is itself the target.</description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="removeEventListener">
          <shortdesc>Unregisters an event handler for a particular type of event occuring in this element.</shortdesc>
          <description> All arguments must be identical to those that were used to register the event handler.</description>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>Whether to call the handler only in the capturing phase of the event propagation.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="dispatchEvent">
          <shortdesc>Simulates the occurrence of an event in this target. </shortdesc>
          <description>
            A script can create a&#160;<a href="#/UIEvent">UIEvent</a>&#160;object for a specific event and pass it to this method to start the event propagation for the event.
          </description>
          <datatype>
            <type href="#/Event">Event</type>
          </datatype>
        </method>
      </elements>
      <elements type="event">
        <method name="onDraw">
          <shortdesc>An event-handler callback function, called when the group is about to be drawn. </shortdesc>
          <description>
            Allows the script to modify or control the appearance, using the control’s associated&#160;<a href="#/ScriptUIGraphics">ScriptUIGraphics</a>&#160;object. Handler takes one argument, a&#160;<a href="#/DrawState">DrawState</a>&#160;object.
          </description>
        </method>
      </elements>
    </classdef>
    <classdef name="Panel" dynamic="true">
      <shortdesc>A container for other types of controls, with an optional frame. </shortdesc>
      <description>A panel can specify layout options for its child elements. Hiding a panel hides all its children. Making it visible makes visible those children that are not individually hidden. </description>
      <elements type="instance">
        <property name="characters">
          <shortdesc>
            Reserve space for the specified number of characters; affects calculation of&#160;<a href="#Panel/preferredSize">preferredSize</a>&#160;.
          </shortdesc>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="justify">
          <shortdesc>The default text justification style for child text elements. </shortdesc>
          <description>
            One of <b>left</b>, <b>center</b>, or <b>right</b>. Justification only works if this value is set on creation of the element.
          </description>
          <datatype>
            <type>String</type>
            <value>left</value>
          </datatype>
        </property>
        <property name="text">
          <shortdesc>The title or label text, a localizable string.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="graphics" rwaccess="readonly">
          <shortdesc>
            The graphics object that can be used to customize the element's appearance, in response to the&#160;<a href="#Panel/event/onDraw">onDraw()</a>&#160;event.
          </shortdesc>
          <datatype>
            <type href="#/ScriptUIGraphics">ScriptUIGraphics</type>
          </datatype>
        </property>
        <property name="visible">
          <shortdesc>True if this element is shown, false if it is hidden.</shortdesc>
          <description>When a container is hidden, its children are also hidden, but they retain their own visibility values, and are shown or hidden accordingly when the parent is next shown.</description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bounds">
          <shortdesc>The boundaries of the element, in parent-relative coordinates. </shortdesc>
          <description>Setting an element's size or location changes its bounds property, and vice-versa.</description>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="location">
          <shortdesc>The upper left corner of this element's frame relative to its parent.</shortdesc>
          <description>The location is defined as [bounds.x, bounds.y]. Setting an element's location changes its bounds property, and vice-versa. </description>
          <datatype>
            <type href="#/Point">Point</type>
          </datatype>
        </property>
        <property name="maximumSize">
          <shortdesc> The maximum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="minimumSize">
          <shortdesc> The minimum height and width to which the element can be resized.</shortdesc>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="preferredSize">
          <shortdesc>The preferred size, used by layout managers to determine the best size for each element.</shortdesc>
          <description>If not explicitly set by a script, value is established by the UI framework in which ScriptUI is employed, and is based on such attributes of the element as its text, font, font size, icon size, and other UI framework-specific attributes.A script can explicitly set this value before the layout manager is invoked in order to establish an element size other than the default. </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="size">
          <shortdesc>The current dimensions of this element.</shortdesc>
          <description>
            Initially undefined, and unless explicitly set by a script, it is defined by a&#160;<a href="#LayoutManager">LayoutManager</a>&#160;. A script can explicitly set size before the layout manager is invoked to establish an element size other than the <i>preferredSize</i> or the default size, but this is not recommended. Defined as [bounds.width, bounds.height]. Setting an element's size changes its bounds property, and vice-versa.
          </description>
          <datatype>
            <type href="#/Dimension">Dimension</type>
          </datatype>
        </property>
        <property name="windowBounds" rwaccess="readonly">
          <shortdesc>The bounds of this element relative to the top-level parent window.</shortdesc>
          <datatype>
            <type href="#/Bounds">Bounds</type>
          </datatype>
        </property>
        <property name="alignChildren">
          <shortdesc>Specifies how to align the child elements.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="children" rwaccess="readonly">
          <shortdesc>An array of child elements.</shortdesc>
          <datatype>
            <type>Object</type>
            <array/>
          </datatype>
        </property>
        <property name="layout">
          <shortdesc>The layout manager for this container.</shortdesc>
          <description>
            The first time a container object is made visible, ScriptUI invokes this layout manager by calling its&#160;<a href="#LayoutManager/layout">layout()</a>&#160;function. Default is an instance of the&#160;<a href="#LayoutManager">LayoutManager</a>&#160;class that is automatically created when the container element is created.
          </description>
          <datatype>
            <type href="#/LayoutManager">LayoutManager</type>
          </datatype>
        </property>
        <property name="margins">
          <shortdesc>The number of pixels between the edges of a container and the outermost child elements.</shortdesc>
          <description> You can specify different margins for each edge of the container. The default value is based on the type of container, and is chosen to match the standard Adobe UI guidelines. </description>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="orientation">
          <shortdesc>The layout orientation of children in a container.</shortdesc>
          <description>
            Interpreted by the layout manager for the container. The default&#160;<a href="#LayoutManager">LayoutManager</a>&#160; Object accepts the (case-insensitive) values <b>row</b>, <b>column</b>, or <b>stack</b>.  For window and panel, the default is column, and for group the default is row. The allowed values for the container’s <b>alignChildren</b> and its children’s <b>alignment</b> properties depend on the orientation.
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="spacing">
          <shortdesc>The number of pixels separating one child element from its adjacent sibling element.</shortdesc>
          <description>Because each container holds only a single row or column of children, only a single spacing value is needed for a container. The default value is based on the type of container, and is chosen to match standard Adobe UI guidelines. </description>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="alignment">
          <shortdesc>
            The alignment style for this element. If defined, this value overrides the <i>alignChildren</i> setting for the parent container.
          </shortdesc>
          <description>
            This can be a single string, which indicates the alignment for the orientation specified in the parent container, or an array of two strings, indicating both the horizontal and vertical alignment (in that order). Allowed values depend on the orientation value of the parent container. They are not case sensitive.
            <li>
              For orientation=row:<b>top</b>, <b>bottom</b>, <b>fill</b>
            </li>
            <li>
              For orientation=column: <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
            <li>
              For orientation=stack:<b>top</b>, <b>bottom</b>, <b>left</b>, <b>right</b>, <b>fill</b>
            </li>
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="properties">
          <shortdesc>An object that contains one or more creation properties of the control (properties used only when the element is created). </shortdesc>
          <description>
            Creation properties of a Panel object can include:
            <li>
              <b>borderStyle</b>: A string that specifies the appearance of the border drawn around the panel. One of <b>black</b>, <b>etched</b>, <b>gray</b>, <b>raised</b>, <b>sunken</b>. Default is <b>etched</b>.
            </li>
            <li>
              <b>su1PanelCoordinates</b>: Photoshop only. When true, this panel automatically adjusts the positions of its children for compatability with Photoshop CS. Default is false, meaning that the panel does not adjust the positions of its children, even if the parent window has automatic adjustment enabled.
            </li>
          </description>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="enabled">
          <shortdesc>True if this element is enabled.</shortdesc>
          <description>An enabled element can accept input, according to its type. When false, control elements do not accept input, and all types of elements have a dimmed appearance. </description>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="helpTip">
          <shortdesc>The help text that is displayed when the mouse hovers over the element.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="indent">
          <shortdesc>The number of pixels to indent the element during automatic layout.</shortdesc>
          <description>Applies for column orientation and left alignment, or row orientation and top alignment.</description>
          <datatype>
            <type>Number</type>
            <min>0</min>
          </datatype>
        </property>
        <property name="parent" rwaccess="readonly">
          <shortdesc>The parent element.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="window" rwaccess="readonly">
          <shortdesc>The window that this element belongs to.</shortdesc>
          <datatype>
            <type href="#/Window">Window</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The element type; "panel".</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <method name="show">
          <shortdesc>Shows this element.</shortdesc>
          <description> When a window or container is hidden, its children are also hidden, but when it is shown again, the children retain their own visibility states.</description>
        </method>
        <method name="hide">
          <shortdesc>Hides this element.</shortdesc>
        </method>
        <method name="add">
          <shortdesc>Adds a child element to this container.</shortdesc>
          <description>Creates and returns a new control or container object and adds it to the children of this group.</description>
          <parameters>
            <parameter name="type">
              <shortdesc>
                The type of the child element, as specified for the <i>type</i> property.
              </shortdesc>
              <description>
                Control types are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="bounds" optional="true">
              <shortdesc>A bounds specification that describes the size and position of the new control or container, relative to its parent. </shortdesc>
              <description>
                If supplied, this value creates a new&#160;<a href="#/Bounds">Bounds</a>&#160;object which is assigned to the new object’s <b>bounds</b> property.
              </description>
              <datatype>
                <type href="#/Bounds">Bounds</type>
              </datatype>
            </parameter>
            <parameter name="text" optional="true">
              <shortdesc>The text or label, a localizable string.</shortdesc>
              <description>
                Initial text to be displayed in the control as the title, label, or contents, depending on the control type. If supplied, this value is assigned to the new object’s <b>text</b> property.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="properties" optional="true">
              <shortdesc>An object that contains one or more creation properties of the new child (properties used only when the element is created). </shortdesc>
              <description>
                The creation properties depend on the element type. See <br>properties</br> property of each control type.
              </description>
              <datatype>
                <type>Object</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Object</type>
          </datatype>
        </method>
        <method name="remove">
          <shortdesc>
            Removes the specified child control from this group's&#160;<a href="#/Panel/children">children</a>&#160;array.
          </shortdesc>
          <description> No error results if the child does not exist. </description>
          <parameters>
            <parameter name="what">
              <shortdesc>
                The child control to remove, specified by 0-based index, <b>text</b> property value, or as a control object.
              </shortdesc>
              <datatype>
                <type>Any</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="addEventListener">
          <shortdesc>Registers an event handler for a particular type of event occuring in this element.</shortdesc>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <description>
                Event names are listed in the <i>JavaScript Tools Guide</i>.
              </description>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <description>
                This can be the name of a function defined in the extension, or a locally defined handler function to be executed when the event occurs. A handler function takes one argument, the&#160;<a href="#/UIEvent">UIEvent</a>&#160;object.
              </description>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>When true, the handler is called only in the capturing phase of the event propagation. </shortdesc>
              <description>Default is false, meaning that the handler is called in the bubbling phase if this object is an ancestor of the target, or in the at-target phase if this object is itself the target.</description>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="removeEventListener">
          <shortdesc>Unregisters an event handler for a particular type of event occuring in this element.</shortdesc>
          <description> All arguments must be identical to those that were used to register the event handler.</description>
          <parameters>
            <parameter name="eventName">
              <shortdesc>The name of the event.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="handler">
              <shortdesc>The function that handles the event.</shortdesc>
              <datatype>
                <type href="$COMMON/javascript.xml#/Function">Function</type>
              </datatype>
            </parameter>
            <parameter name="capturePhase">
              <shortdesc>Whether to call the handler only in the capturing phase of the event propagation.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </method>
        <method name="dispatchEvent">
          <shortdesc>Simulates the occurrence of an event in this target. </shortdesc>
          <description>
            A script can create a&#160;<a href="#/UIEvent">UIEvent</a>&#160;object for a specific event and pass it to this method to start the event propagation for the event.
          </description>
          <datatype>
            <type href="#/Event">Event</type>
          </datatype>
        </method>
      </elements>
      <elements type="event">
        <method name="onDraw">
          <shortdesc>An event-handler callback function, called when the panel is about to be drawn. </shortdesc>
          <description>
            Allows the script to modify or control the appearance, using the control’s associated&#160;<a href="#/ScriptUIGraphics">ScriptUIGraphics</a>&#160;object. Handler takes one argument, a&#160;<a href="#/DrawState">DrawState</a>&#160;object.
          </description>
        </method>
      </elements>
    </classdef>
    <classdef name="Point" dynamic="true">
      <shortdesc>Defines the location of a window or UI element. Contains a 2-element array. </shortdesc>
      <description>
        Specifies the origin point of an element as horizontal and vertical pixel offsets from the origin of the element's coordinate space.
        A Point object is created when you set an element’s <b>location</b> property. You can set the property using a JavaScript object with properties named x and y, or an array with 2 values in the order [x, y].
      </description>
      <elements type="instance">
        <property name="x">
          <shortdesc>The horizontal coordinate, a pixel offset from the origin of the element's coordinate space.</shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="y">
          <shortdesc>The vertical coordinate, a pixel offset from the origin of the element's coordinate space.</shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="left">
          <shortdesc>The left coordinate.</shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="top">
          <shortdesc>The top coordinate.</shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="length" rwaccess="readonly">
          <shortdesc>The array length.</shortdesc>
          <datatype>
            <type>Number</type>
            <value>2</value>
          </datatype>
        </property>
      </elements>
    </classdef>
    <classdef name="Dimension" dynamic="true">
      <shortdesc>Defines the size of a window or UI element. Contains a 2-element array. </shortdesc>
      <description>
        Specifies the height and width of an element in pixels. A Dimension object is created when you set an element’s <b>size</b> property. You can set the property using a JavaScript object with named properties {width: wd, height: ht}, or an array with 2 values in the order [wd, ht].
      </description>
      <elements type="instance">
        <property name="width">
          <shortdesc>The width in pixels.</shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="height">
          <shortdesc>The height in pixels.</shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="length" rwaccess="readonly">
          <shortdesc>The array length.</shortdesc>
          <datatype>
            <type>Number</type>
            <value>2</value>
          </datatype>
        </property>
      </elements>
    </classdef>
    <classdef name="Bounds" dynamic="true">
      <shortdesc>Defines the boundaries of a window within the screen’s coordinate space, or of a UI element within the container’s coordinate space. </shortdesc>
      <description>
        A Bounds object is created when you set an element’s <b>bounds</b> property. You can set the property using a JavaScript object with properties named  left, top, right, bottom or x, y, width, height, or an array with 4 values in the order [x, y, wd, ht].
      </description>
      <elements type="instance">
        <property name="x">
          <shortdesc>The horizontal coordinate, a pixel offset from the origin of the element's coordinate space.</shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="y">
          <shortdesc>The vertical coordinate, a pixel offset from the origin of the element's coordinate space.</shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="width">
          <shortdesc>The width in pixels.</shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="height">
          <shortdesc>The height in pixels.</shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="left">
          <shortdesc>The horizontal coordinate, a pixel offset from the origin of the element's coordinate space.</shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="right">
          <shortdesc>The width in pixels.</shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="top">
          <shortdesc>The height in pixels.</shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="bottom">
          <shortdesc>The vertical coordinate, a pixel offset from the origin of the element's coordinate space.</shortdesc>
          <datatype>
            <type>Number</type>
          </datatype>
        </property>
        <property name="length" rwaccess="readonly">
          <shortdesc>The array length.</shortdesc>
          <datatype>
            <type>Number</type>
            <value>4</value>
          </datatype>
        </property>
      </elements>
    </classdef>
    <classdef name="UIEvent" dynamic="true">
      <shortdesc>Encapsulates input event information for an event that propagates through a container and control hierarchy. </shortdesc>
      <description>
        Implements W3C standard event handling. This object is passed to a function that you register to respond to events of a certain type that occur in a window or control. Use <i>windowObj</i>.<a href="#/Window/addEventListener">addEventListener()</a>&#160;or <i>controlObj</i>.addEventListener() to register a handler function.
      </description>
      <elements type="constructor">
        <method name="UIEvent">
          <shortdesc>Creates an event.</shortdesc>
          <description>
            The&#160;<a href="#/UIEvent">UIEvent</a>&#160;object is normally created by ScriptUI and passed to your event handler. However, you can simulate a user action by constructing an event object and sending it to a target object’s dispatchEvent() function.
          </description>
          <parameters>
            <parameter name="type">
              <shortdesc>
                The event type. See&#160;<a href="#/UIEvent/type">UIEvent.type</a>&#160;property.
              </shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="captures">
              <shortdesc>Set to true if this event can be captured.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
            <parameter name="bubbles">
              <shortdesc>Set to true if the event bubbles.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
            <parameter name="view" optional="true">
              <shortdesc>The ScriptUI element that this event relates to.</shortdesc>
              <datatype>
                <type>Object</type>
              </datatype>
            </parameter>
            <parameter name="detail" optional="true">
              <shortdesc>The click count for a mouse-click event.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/UIEvent">UIEvent</type>
          </datatype>
        </method>
      </elements>
      <elements type="instance">
        <property name="captures" rwaccess="readonly">
          <shortdesc>True if this event can be captured.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bubbles" rwaccess="readonly">
          <shortdesc>True if the event is of a type that bubbles.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="cancelable" rwaccess="readonly">
          <shortdesc>True if the default action associated with the event can be canceled with preventDefault().</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="currentTarget" rwaccess="readonly">
          <shortdesc>The event target object which is currently handling the event. During capturing and bubbling, this is different from the property target.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="eventPhase" rwaccess="readonly">
          <shortdesc>The current phase of event propagation; one of none, target, capture, bubble.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="target" rwaccess="readonly">
          <shortdesc>The event target object for this event.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="timeStamp" rwaccess="readonly">
          <shortdesc>The date and time at which the event occurred.</shortdesc>
          <datatype>
            <type href="$COMMON/javascript.xml#/Date">Date</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The name of the event that this  object represents.</shortdesc>
          <description>
            Event types are listed in the <i>JavaScript Tools Guide</i>.
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="view" rwaccess="readonly">
          <shortdesc>The ScriptUI element that this event relates to.</shortdesc>
          <datatype>
            <type>Any</type>
          </datatype>
        </property>
        <property name="detail" rwaccess="readonly">
          <shortdesc>The click count for a mouse-click event.</shortdesc>
          <datatype>
            <type>Any</type>
          </datatype>
        </property>
        <method name="preventDefault">
          <shortdesc>Prevents the default action associated with this event from being called.</shortdesc>
        </method>
        <method name="stopPropagation">
          <shortdesc>Stops the propagation of this event.</shortdesc>
        </method>
        <method name="initEvent">
          <shortdesc>Initializes a UI event as a core W3C event.</shortdesc>
          <parameters>
            <parameter name="type">
              <shortdesc>The event type.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="captures">
              <shortdesc>Set to true if this event can be captured.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
            <parameter name="bubbles">
              <shortdesc>Set to true if the event bubbles.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
            <parameter name="cancelable">
              <shortdesc>Set to true if the default action is cancelable.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
          </parameters>
        </method>
        <method name="initUIEvent">
          <shortdesc>Initializes an event.</shortdesc>
          <parameters>
            <parameter name="type">
              <shortdesc>The event type.</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
            <parameter name="captures">
              <shortdesc>Set to true if this event can be captured.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
            <parameter name="bubbles">
              <shortdesc>Set to true if the event bubbles.</shortdesc>
              <datatype>
                <type>Boolean</type>
                <value>false</value>
              </datatype>
            </parameter>
            <parameter name="view" optional="true">
              <shortdesc>The ScriptUI element that this event relates to.</shortdesc>
              <datatype>
                <type>Object</type>
              </datatype>
            </parameter>
            <parameter name="detail" optional="true">
              <shortdesc>The click count for a mouse-click event.</shortdesc>
              <datatype>
                <type>Number</type>
              </datatype>
            </parameter>
          </parameters>
        </method>
      </elements>
    </classdef>
    <classdef name="Event" dynamic="true">
      <shortdesc>
        Base class for <a href="#/UIEvent">UIEvent</a>.
      </shortdesc>
      <description>Encapsulates input event information for an event that propagates through a container and control hierarchy.  Implements W3C standard event handling. </description>
      <elements type="class">
        <property name="NOT_DISPATCHING" rwaccess="readonly">
          <datatype>
            <type>any</type>
          </datatype>
        </property>
        <property name="CAPTURING_PHASE" rwaccess="readonly">
          <datatype>
            <type>any</type>
          </datatype>
        </property>
        <property name="AT_TARGET" rwaccess="readonly">
          <datatype>
            <type>any</type>
          </datatype>
        </property>
        <property name="BUBBLING_PHASE" rwaccess="readonly">
          <datatype>
            <type>any</type>
          </datatype>
        </property>
      </elements>
      <elements type="instance">
        <property name="captures" rwaccess="readonly">
          <shortdesc>True if this event can be captured.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="bubbles" rwaccess="readonly">
          <shortdesc>True if the event is of a type that bubbles.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="cancelable" rwaccess="readonly">
          <shortdesc>True if the default action associated with the event can be canceled with preventDefault().</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="currentTarget" rwaccess="readonly">
          <shortdesc>The event target object which is currently handling the event. During capturing and bubbling, this is different from the property target.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="eventPhase" rwaccess="readonly">
          <shortdesc>The current phase of event propagation; one of none, target, capture, bubble.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="target" rwaccess="readonly">
          <shortdesc>The event target object for this event.</shortdesc>
          <datatype>
            <type>Object</type>
          </datatype>
        </property>
        <property name="timeStamp" rwaccess="readonly">
          <shortdesc>The date and time at which the event occurred.</shortdesc>
          <datatype>
            <type href="$COMMON/javascript.xml#/Date">Date</type>
          </datatype>
        </property>
        <property name="type" rwaccess="readonly">
          <shortdesc>The name of the event that this object represents.</shortdesc>
          <description>
            Event types are listed in the <i>JavaScript Tools Guide</i>.
          </description>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <method name="preventDefault">
          <shortdesc>Prevents the default action associated with this event from being called.</shortdesc>
        </method>
        <method name="stopPropagation">
          <shortdesc>Stops the propagation of this event.</shortdesc>
        </method>
      </elements>
    </classdef>
    <classdef name="Environment" dynamic="false">
      <shortdesc>Defines attributes of the ScriptUI environment.</shortdesc>
      <description>
        Access through the&#160;<a href="#/ScriptUI/class/environment">ScriptUI.environment</a>&#160;property.
      </description>
      <elements type="instance">
        <property name="keyboardState" rwaccess="readonly">
          <shortdesc>An object that reports the active state of the keyboard at any time.</shortdesc>
          <description>Provides access to the key state independent of the event-handling framework.</description>
          <datatype>
            <type href="#/KeyboardState">KeyboardState</type>
          </datatype>
        </property>
      </elements>
    </classdef>
    <classdef name="Events" dynamic="false">
      <shortdesc>Provides access to objects used in the ScriptUI event system.</shortdesc>
      <description>
        Access through the&#160;<a href="#/ScriptUI/class/events">ScriptUI.events</a>&#160;property.
      </description>
      <elements type="instance">
        <method name="createEvent">
          <shortdesc>
            Creates an instance of the specified&#160;<a href="#/Event">Event</a>&#160;subclass.
          </shortdesc>
          <description>
            The&#160;<a href="#/Event">Event</a>&#160;returned is a&#160;<a href="#/UIEvent">UIEvent</a>,
            <a href="#/KeyboardEvent">KeyboardEvent</a>&#160;or&#160;<a href="#/MouseEvent">MouseEvent</a>&#160;object,
            depending on the requested type. This object can be passed as a parameter to an element's dispatchEvent
            function in order to simulate a user-interaction event.
          </description>
          <parameters>
            <parameter name="eventType">
              <shortdesc>The name of an event type: one of "UIEvent", "KeyboardEvent", or "MouseEvent".</shortdesc>
              <datatype>
                <type>String</type>
              </datatype>
            </parameter>
          </parameters>
          <datatype>
            <type href="#/Event">Event</type>
          </datatype>
        </method>
      </elements>
    </classdef>
    <classdef name="KeyboardState" dynamic="false">
      <shortdesc>Reports the active state of the keyboard.</shortdesc>
      <description>
        Access through the&#160;<a href="#/Environment/keyboardState">ScriptUI.environment.keyboardState</a>&#160;property.
        Query the properties of this object at any time to determine the current key that is down and any modifiers that are pressed.
      </description>
      <elements type="instance">
        <property name="keyName" rwaccess="readonly">
          <shortdesc>A string containing the name of the currently pressed key, such as "a", or an empty string.</shortdesc>
          <datatype>
            <type>String</type>
          </datatype>
        </property>
        <property name="shiftKey" rwaccess="readonly">
          <shortdesc>True if the Shift key is pressed.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="ctrlKey" rwaccess="readonly">
          <shortdesc>True if the Ctrl key is pressed.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="altKey" rwaccess="readonly">
          <shortdesc>True if the Alt or Option key is pressed.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
        <property name="metaKey" rwaccess="readonly">
          <shortdesc>True if the Cmd key (in Mac OS) or Windows key (in Windows) is pressed.</shortdesc>
          <datatype>
            <type>Boolean</type>
          </datatype>
        </property>
      </elements>
    </classdef>
  </package>
</dictionary>