Annotation of books/www/chapters/appc.html, revision 1.11

1.8       petejc      1:     <link rel="prev" href="http://books.mozdev.org/chapters/appb.html" />
                      2: 
1.7       petejc      3:     <h2>Appendix C</h2>
                      4:     <h1><a name="77003"></a> Programmer's Reference</h1>
                      5:     <p>This appendix is an easy-to-use reference that contains
                      6:     information about XUL elements, XBL elements, and event
                      7:     attributes. Details about how each element and event works
                      8:     within a Mozilla application are covered in the rest of the
                      9:     book; to learn how to use XUL or XBL, read <a href=
                     10:     "ch03.html#32764">Chapter 3</a> and <a href=
                     11:     "ch07.html#70326">Chapter 7</a>.</p>
                     12:     <p>Once you know how to use XUL and XBL, this reference allows
                     13:     you to look up all available tags and elements quickly. Each
                     14:     entry listed below includes a brief description of the element
                     15:     or event, its purpose, what attributes the element or event
                     16:     has, and what other related elements or events you can look at
                     17:     to get more information.</p>
                     18:     <h2><a name="77004"></a> XUL Element Set</h2>
                     19:     <p>XUL isn't yet identified as a specification, and the 
                     20:     <!--INDEX STARTRANGE==XUL element set --> 
                     21:     <!--INDEX STARTRANGE==elements:XUL element set --> language is
                     22:     still changing. The elements and attributes given here
                     23:     represent a stable subset of the XUL widget set. XML allows you
                     24:     to define new elements and attributes arbitrarily (which is
                     25:     partly what makes a powerful extension like XBL possible) in
                     26:     your markup. Although it's discouraged in practice, Mozilla
                     27:     application developers-even those working on the Mozilla source
                     28:     itself-often use this flexibility to manage data in one-off
                     29:     attributes. For example, you may find XUL buttons in the source
                     30:     with attributes like "loading," which is not part of the XUL
                     31:     specification. In fact, XBL's presence, XML's flexibility, and
                     32:     DOM interfaces blur the distinction between valid XUL and other
                     33:     XML markup. This reference tries to document all widgets in the
                     34:     XUL 1.0 release, any additional attributes these elements have,
                     35:     and their use 
                     36:     <!--INDEX attributes:XUL:elements;XUL elements, attributes -->
                     37:     in Mozilla application development.</p>
                     38:     <p>All XUL elements have the attributes shown in Table C-1.</p>
                     39:     <p><i>Table C-1: <a name="77002"></a></i> <i>Common XUL element
                     40:     attributes</i></p>
                     41:     false
                     42:     <table width="100%" border="1">
                     43:       <tr>
                     44:         <td><b>Attribute</b></td>
                     45:         <td><b>Description</b></td>
                     46:       </tr>
                     47:       <tr>
                     48:         <td>align</td>
                     49:         <td>Specifies how child elements are aligned: baseline,
                     50:         center, end, start, or stretch</td>
                     51:       </tr>
                     52:       <tr>
                     53:         <td>allowevents</td>
                     54:         <td>(Boolean) Specifies whether events should be passed to
                     55:         the child elements</td>
                     56:       </tr>
                     57:       <tr>
                     58:         <td>class</td>
                     59:         <td>The element class of the ; often used for class-based
                     60:         style rules</td>
                     61:       </tr>
                     62:       <tr>
                     63:         <td>collapsed</td>
                     64:         <td>(Boolean) Specifies whether the element is collapsed or
                     65:         displayed; defaults to false</td>
                     66:       </tr>
                     67:       <tr>
                     68:         <td>container</td>
                     69:         <td>(Boolean) Specifies whether the element can have child
                     70:         elements</td>
                     71:       </tr>
                     72:       <tr>
                     73:         <td>containment</td>
                     74:         <td>Used in templates; points to RDF property represented
                     75:         by this XUL element</td>
                     76:       </tr>
                     77:       <tr>
                     78:         <td>context</td>
                     79:         <td>Points to the context menu that this element should
                     80:         use</td>
                     81:       </tr>
                     82:       <tr>
                     83:         <td>datasources</td>
                     84:         <td>Used in templates; points to the RDF data that gets
                     85:         processed</td>
                     86:       </tr>
                     87:       <tr>
                     88:         <td>debug</td>
                     89:         <td>Used for debugging XUL; adds borders to make the
                     90:         element and its layout easily visible</td>
                     91:       </tr>
                     92:       <tr>
                     93:         <td>dir</td>
                     94:         <td>Specifies the direction of the children: normal or
                     95:         reverse</td>
                     96:       </tr>
                     97:       <tr>
                     98:         <td>empty</td>
                     99:         <td>(Boolean) Used for template; specifies that the
                    100:         container has no children</td>
                    101:       </tr>
                    102:       <tr>
                    103:         <td>equalsize</td>
                    104:         <td>Specifies whether the children should be of the same
                    105:         size: always or never</td>
                    106:       </tr>
                    107:       <tr>
                    108:         <td>flex</td>
                    109:         <td>Provides an integer or percent value that specifies the
                    110:         flexibility of an element relative to its siblings within a
                    111:         container</td>
                    112:       </tr>
                    113:       <tr>
                    114:         <td>flexgroup</td>
                    115:         <td>Provides an integer that can group elements and give
                    116:         them the same degree of flexibility</td>
                    117:       </tr>
                    118:       <tr>
                    119:         <td>height</td>
                    120:         <td>Specifies an element's height</td>
                    121:       </tr>
                    122:       <tr>
                    123:         <td>hidden</td>
                    124:         <td>(Boolean) Specifies whether the element is displayed;
                    125:         defaults to</td>
                    126:       </tr>
                    127:       <tr>
                    128:         <td>id</td>
                    129:         <td>A unique identifier for the element</td>
                    130:       </tr>
                    131:       <tr>
                    132:         <td>insertafter</td>
                    133:         <td>Names the ID of the element after which this element
                    134:         should be overlaid; this attribute works only in
                    135:         overlays</td>
                    136:       </tr>
                    137:       <tr>
                    138:         <td>insertbefore</td>
                    139:         <td>Names the ID of the element which this element should
                    140:         be overlaid before; this attribute works only in
                    141:         overlays</td>
                    142:       </tr>
                    143:       <tr>
                    144:         <td>left</td>
                    145:         <td>Specifies an element's position within a container in
                    146:         pixels to the left</td>
                    147:       </tr>
                    148:       <tr>
                    149:         <td>maxheight</td>
                    150:         <td>Specifies an element's maximum height</td>
                    151:       </tr>
                    152:       <tr>
                    153:         <td>maxwidth</td>
                    154:         <td>Specifies an element's maximum width</td>
                    155:       </tr>
                    156:       <tr>
                    157:         <td>minheight</td>
                    158:         <td>Specifies an element's minimum height</td>
                    159:       </tr>
                    160:       <tr>
                    161:         <td>minwidth</td>
                    162:         <td>Specifies an element's minimum width</td>
                    163:       </tr>
                    164:       <tr>
                    165:         <td>observes</td>
                    166:         <td>Points to a broadcasting element whose state this
                    167:         element observes</td>
                    168:       </tr>
                    169:       <tr>
                    170:         <td>ordinal</td>
                    171:         <td>(Integer) Specifies the element's order within the
                    172:         parent</td>
                    173:       </tr>
                    174:       <tr>
                    175:         <td>orient</td>
                    176:         <td>Shows the element's orientation: vertical or
                    177:         horizontal</td>
                    178:       </tr>
                    179:       <tr>
                    180:         <td>pack</td>
                    181:         <td>Shows how children should be distributed within this
                    182:         container: center, end, or start</td>
                    183:       </tr>
                    184:       <tr>
                    185:         <td>persist</td>
                    186:         <td>Shows which of the element's attributes should be
                    187:         persisted/stored for reuse</td>
                    188:       </tr>
                    189:       <tr>
                    190:         <td>position</td>
                    191:         <td>Shows the element's position within a list (e.g.,
                    192:         menuitems in a menu)</td>
                    193:       </tr>
                    194:       <tr>
                    195:         <td>ref</td>
                    196:         <td>Specifies the RDF data root to begin processing (used
                    197:         in templates)</td>
                    198:       </tr>
                    199:       <tr>
                    200:         <td>style</td>
                    201:         <td>Provides style rules for the current element</td>
                    202:       </tr>
                    203:       <tr>
                    204:         <td>template</td>
                    205:         <td>Specifies an existing template to use for this content
                    206:         (used in templates)</td>
                    207:       </tr>
                    208:       <tr>
                    209:         <td>tooltip</td>
                    210:         <td>Specifies a pop up or tooltip ID to be used for this
                    211:         element</td>
                    212:       </tr>
                    213:       <tr>
                    214:         <td>tooltiptext</td>
                    215:         <td>Specifies text to be displayed in the element's tooltip
                    216:         (doesn't require a separate tooltip attribute)</td>
                    217:       </tr>
                    218:       <tr>
                    219:         <td>top</td>
                    220:         <td>Shows the current element's position within a container
                    221:         in pixels from the top</td>
                    222:       </tr>
                    223:       <tr>
                    224:         <td>uri</td>
                    225:         <td>Specifies the root in the XUL where content processing
                    226:         begins (used in templates)</td>
                    227:       </tr>
                    228:       <tr>
                    229:         <td>width</td>
                    230:         <td>Specifies an element's width</td>
                    231:       </tr>
                    232:     </table>
                    233:     <hr>
                    234:     <h3><a name="77008"></a> action</h3>
                    235:     Child element in a XUL template structure that draws content
                    236:     for matched data 
                    237:     <h4><a name="77008"></a> Additional Attributes</h4>
                    238:     None. 
                    239:     <h4><a name="77008"></a> Description</h4>
                    240:     The <tt><!--INDEX action element, XUL --> action</tt> element
                    241:     defines the content drawn into the XUL when the rules defined
                    242:     in a template's <tt>conditions</tt> structure are met. The
                    243:     content to be drawn is an <tt>action</tt> element's child. 
                    244:     <h4><a name="77008"></a> See Also</h4>
                    245:     <tt>template</tt>, <tt>rule</tt>, <tt>condition</tt>,
                    246:     <tt>binding</tt> 
                    247:     <hr>
                    248:     <h3><a name="77012"></a> arrowscrollbox</h3>
                    249:     <p>Container box for scrolling contents</p>
                    250:     <h4><a name="77012"></a> Additional Attributes</h4>
                    251:     None. 
                    252:     <h4><a name="77012"></a> Description</h4>
                    253:     A <tt>box</tt> with arrows 
                    254:     <!--INDEX arrowscrollbox element, XUL --> that allow scrolling
                    255:     through its contents. The box scrolls when the user's mouse
                    256:     hovers over the arrows. It is commonly used in large menus that
                    257:     overflow a provided space. 
                    258:     <h4><a name="77012"></a> See Also</h4>
                    259:     <tt>autorepeatbutton</tt>, <tt>scrollbox</tt> 
                    260:     <hr>
                    261:     <h3><a name="77016"></a> autorepeatbutton</h3>
                    262:     <p>Provides arrows for a scrolling area</p>
                    263:     <h4><a name="77016"></a> Additional Attributes</h4>
                    264:     scrolldir 
                    265:     <h4><a name="77016"></a> Description</h4>
                    266:     This element is used to 
                    267:     <!--INDEX autorepeatbutton element, XUL --> internally bind the
                    268:     <tt>arrowscrollbox</tt> element and it surrounds a
                    269:     <tt>scrollbox</tt> area to provide the navigation arrows. The
                    270:     <tt>scrolldir</tt> attribute, which can have a value of
                    271:     <tt>up</tt> or <tt>down</tt>, determines the direction of the
                    272:     arrows. 
                    273:     <h4><a name="77016"></a> See Also</h4>
                    274:     <tt>arrowscrollbox</tt>, <tt>scrollbox</tt> 
                    275:     <hr>
                    276:     <h3><a name="77020"></a> binding</h3>
                    277:     <p>Child element in a XUL template that optionally matches in
                    278:     the data</p>
                    279:     <h4><a name="77020"></a> Additional Attributes</h4>
                    280:     <tt>predicate</tt>, <!--INDEX binding element, XUL -->
                    281:     <tt>object</tt>, <tt>subject</tt>, <tt>template</tt>,
                    282:     <tt>rule</tt>, <tt>condition</tt>, <tt>action</tt>,
                    283:     <tt>bindings</tt> 
                    284:     <h4><a name="77020"></a> Description</h4>
                    285:     In contrast to the <tt>rule</tt> element, which must match to
                    286:     trigger the action, <tt>binding</tt> allows you to create an
                    287:     optional rule for data matching. 
                    288:     <h4><a name="77020"></a> See Also</h4>
                    289:     <tt>action</tt>, <tt>template</tt>, <tt>rule</tt>,
                    290:     <tt>condition</tt>, <tt>bindings</tt> 
                    291:     <hr>
                    292:     <h3><a name="77024"></a> bindings</h3>
                    293:     <p>Substructure in a XUL template that collects the optional
                    294:     binding rules Additional Attributes None.</p>
                    295:     <h4><a name="77024"></a> Description</h4>
                    296:     Individual bindings must be <!--INDEX bindings element, XUL -->
                    297:     defined with a <tt>bindings</tt> parent to be a part of a valid
                    298:     XUL template. 
                    299:     <h4><a name="77024"></a> See Also</h4>
                    300:     <tt>action</tt>, <tt>template</tt>, <tt>rule</tt>,
                    301:     <tt>condition</tt>, <tt>binding</tt> 
                    302:     <hr>
                    303:     <h3><a name="77028"></a> box</h3>
                    304:     <p>Generic container and layout element</p>
                    305:     <h4><a name="77028"></a> Additional Attributes</h4>
                    306:     None. 
                    307:     <h4><a name="77028"></a> Description</h4>
                    308:     This element can contain any <!--INDEX box element, XUL -->
                    309:     type of content and any number of elements. Its default
                    310:     orientation is <tt>horizontal</tt>, unless otherwise overridden
                    311:     by the <tt>orient</tt> attribute, and the contents are laid out
                    312:     in the order they appear in the file. The <tt>box</tt> is the
                    313:     basic layout unit in a XUL interface. Many, if not most, XUL
                    314:     elements inherit from <tt>box</tt>. 
                    315:     <h4><a name="77028"></a> See Also</h4>
                    316:     <tt>hbox</tt>, <tt>vbox</tt> 
                    317:     <hr>
                    318:     <h3>broadcaster</h3>
                    319:     <p>Notifies elements when a change occurs in the UI Contained
                    320:     by broadcasterset</p>
                    321:     <h4><a name="77033"></a> Additional Attributes</h4>
                    322:     <tt>checked</tt>, <tt>accesskey</tt>, <tt>oncommand</tt>,
                    323:     <tt>value</tt>, <tt>label</tt>, <tt>disabled</tt> 
                    324:     <h4><a name="77033"></a> Description</h4>
                    325:     A <tt>broadcaster</tt> acts as a host for 
                    326:     <!--INDEX broadcaster element, XUL --> other elements,
                    327:     detecting changes that occur in the UI and notifying those
                    328:     elements of the changes via attribute changes. The elements
                    329:     that use it are said to observe the broadcaster. The observed
                    330:     attribute is typically the <tt>oncommand</tt> attribute, but
                    331:     can be any attribute. 
                    332:     <h4><a name="77033"></a> See Also</h4>
                    333:     <tt>broadcasterset</tt>, <tt>command</tt>, <tt>observes</tt> 
                    334:     <hr>
                    335:     <h3><a name="77038"></a> broadcasterset</h3>
                    336:     <p>Container for broadcaster elements <a name="77038"></a>
                    337:     Contains broadcaster</p>
                    338:     <h4><a name="77038"></a> Additional Attributes</h4>
                    339:     None. 
                    340:     <h4><a name="77038"></a> Description</h4>
                    341:     The purpose of this nonvisible 
                    342:     <!--INDEX broadcasterset element, XUL --> element is to group a
                    343:     set of broadcasters logically. The XUL document can contain one
                    344:     or multiple sets. 
                    345:     <h4><a name="77038"></a> See Also</h4>
                    346:     <tt>broadcaster</tt>, <tt>commandset</tt> 
                    347:     <hr>
                    348:     <h3><a name="77042"></a> browser</h3>
                    349:     <p>Web-content container</p>
                    350:     <h4><a name="77042"></a> Additional Attributes</h4>
                    351:     <tt>src</tt>, <tt>name</tt>, <tt>content</tt>,
                    352:     <tt>onclick</tt>, <tt>type</tt>, <tt>disablehistory</tt>,
                    353:     <tt>disablesecurity</tt> 
                    354:     <h4><a name="77042"></a> Description</h4>
                    355:     A content widget or frame used 
                    356:     <!--INDEX browser element, XUL --> to load in web content for
                    357:     read-only viewing. This element is used by the main Mozilla
                    358:     browser, so it handles HTML, XML, and plain text. To load a
                    359:     page, set the <tt>src</tt> attribute to a URL. Other features
                    360:     include the attachment of a context menu that uses the
                    361:     <tt>context</tt> attribute and various methods and properties
                    362:     exposed for web navigation and display. 
                    363:     <h4><a name="77042"></a> See Also</h4>
                    364:     <tt>editor</tt>, <tt>iframe</tt> 
                    365:     <hr>
                    366:     <h3><a name="77046"></a> button</h3>
                    367:     <p>A widget that activates some functionality when pressed</p>
                    368:     <h4><a name="77046"></a> Additional Attributes</h4>
                    369:     <tt>accesskey</tt>, <tt>dir</tt>, <tt>disabled</tt>,
                    370:     <tt>dlgType</tt>, <tt>group</tt>, <tt>image</tt>,
                    371:     <tt>label</tt>, <tt>orient</tt>, <tt>type</tt>, <tt>value</tt> 
                    372:     <h4><a name="77046"></a> Description</h4>
                    373:     A <tt>button</tt> typically gives the user 
                    374:     <!--INDEX button element, XUL --> an option to click it to
                    375:     carry out JavaScript code routine(s). This code can be a
                    376:     function call or inline script and is contained in the
                    377:     <tt>onclick</tt> attribute or the <tt>oncommand</tt> event
                    378:     handler. It can optionally have an image associated with a URL
                    379:     contained in the <tt>image</tt> attribute or by using the
                    380:     <tt>list-style-image</tt> CSS property. There are various types
                    381:     of buttons, determined by the type attribute, including
                    382:     <tt>checkbox</tt>, <tt>menu</tt>, <tt>menu-button</tt>, and
                    383:     <tt>radio</tt>. Leave this out for a normal button. 
                    384:     <h4><a name="77046"></a> See Also</h4>
                    385:     <tt>autorepeatbutton</tt>, <tt>toolbarbutton</tt> 
                    386:     <hr>
                    387:     <h3><a name="77051"></a> caption</h3>
                    388:     <p>Provides heading for a groupbox element <a name="77051"></a>
                    389:     Contained by <tt>groupbox</tt>, 
                    390:     <!--INDEX caption element, XUL --> radiogroup</p>
                    391:     <h4><a name="77051"></a> Additional Attributes</h4>
                    392:     None. 
                    393:     <h4><a name="77051"></a> Description</h4>
                    394:     This element is most commonly used to provide a text label for
                    395:     a <tt>groupbox</tt> by setting the <tt>label</tt> attribute.
                    396:     However, it is flexible about other content it can contain,
                    397:     such as checkboxes or radio buttons. 
                    398:     <h4><a name="77051"></a> See Also</h4>
                    399:     <tt>description</tt>, <tt>groupbox</tt>, <tt>label</tt>,
                    400:     <tt>radiogroup</tt> 
                    401:     <hr>
                    402:     <h3><a name="77055"></a> checkbox</h3>
                    403:     <p>Indicates a specified feature's on/off state</p>
                    404:     <h4><a name="77055"></a> Additional Attributes</h4>
                    405:     <tt>accesskey</tt>, <tt>label</tt>, <tt>checked</tt> 
                    406:     <h4><a name="77055"></a> Description</h4>
                    407:     A <tt>checkbox</tt> appears as a small 
                    408:     <!--INDEX checkbox element, XUL --> box that can be checked on
                    409:     or off. When checked on or off, the <tt>checked</tt> attribute
                    410:     is set to <tt>true</tt> or <tt>false</tt>. It can be set
                    411:     initially for a default value. To associate text with a
                    412:     <tt>checkbox</tt>, set the <tt>label</tt> attribute. 
                    413:     <h4><a name="77055"></a> See Also</h4>
                    414:     radio 
                    415:     <hr>
                    416:     <h3>colorpicker</h3>
                    417:     <p>Widget used to choose a color Additional Attributes
                    418:     <tt>onchange</tt>, <tt><!--INDEX colorpicker element, XUL -->
                    419:     type</tt>, <tt>id</tt>, <tt>palettename</tt></p>
                    420:     <h4><a name="77059"></a> Description</h4>
                    421:     When activated, this widget presents a choice of colors to the
                    422:     user in a grid format. The user selects a color by clicking on
                    423:     it. The <tt>palettename</tt> attribute determines the displayed
                    424:     colors. Three values for this attribute represent three types
                    425:     of palettes: standard, grey, and web. 
                    426:     <h4><a name="77059"></a> JavaScript Methods and Properties</h4>
                    427:     color 
                    428:     <hr>
                    429:     <h3><a name="77064"></a> column</h3>
                    430:     <p>A column in a grid <a name="77064"></a> Contained by columns
                    431:     <!--INDEX column element, XUL -->
                    432:     </p>
                    433:     <h4><a name="77064"></a> Additional Attributes</h4>
                    434:     None. 
                    435:     <h4><a name="77064"></a> Description</h4>
                    436:     <tt>column</tt> is a column entry in a <tt>grid</tt>, of which
                    437:     there can be one or more contained in a <tt>columns</tt>
                    438:     element. The content of cells in a column is determined by the
                    439:     children of each <tt>row</tt> element. 
                    440:     <h4><a name="77064"></a> See Also</h4>
                    441:     <tt>columns</tt>, <tt>grid</tt>, <tt>row</tt>, <tt>rows</tt> 
                    442:     <hr>
                    443:     <h3><a name="77069"></a> columns</h3>
                    444:     <p>Container for the number of columns in a grid <a name=
                    445:     "77069"></a> Contains column <!--INDEX columns element, XUL -->
                    446:     </p>
                    447:     <h4><a name="77069"></a> Additional Attributes</h4>
                    448:     None. 
                    449:     <h4><a name="77069"></a> Description</h4>
                    450:     The children of this element are one or more <tt>column</tt>
                    451:     elements, the number of which determines the actual number of
                    452:     grid columns. 
                    453:     <h4><a name="77069"></a> See Also</h4>
                    454:     <tt>column</tt>, <tt>grid</tt>, <tt>row</tt>, <tt>rows</tt> 
                    455:     <hr>
                    456:     <h3>command</h3>
                    457:     <p>Defines functionality that can be called from multiple
                    458:     sources Contained by commandset 
                    459:     <!--INDEX command element, XUL -->
                    460:     </p>
                    461:     <h4><a name="77074"></a> Additional Attributes</h4>
                    462:     <tt>disabled</tt>, <tt>accesskey</tt>, <tt>observes</tt>,
                    463:     <tt>label</tt>, <tt>checked</tt> 
                    464:     <h4><a name="77074"></a> Description</h4>
                    465:     The <tt>command</tt> element provides a place to organize
                    466:     functionality used in more than one place in the interface-from
                    467:     a context menu, a keyboard shortcut, and a regular menu, for
                    468:     example. The element is identified and shared by using its
                    469:     <tt>ID</tt> value and an interested element's (i.e., a menu
                    470:     that wants the command) <tt>observes</tt> attribute. It also
                    471:     typically calls a JavaScript command from its
                    472:     <tt>oncommand</tt> event handler. 
                    473:     <h4><a name="77074"></a> See Also</h4>
                    474:     <tt>commands</tt>, <tt>commandset</tt> 
                    475:     <hr>
                    476:     <h3><a name="77078"></a> commands</h3>
                    477:     <p>Container for a group of command sets</p>
                    478:     <h4><a name="77078"></a> Additional Attributes</h4>
                    479:     None. <!--INDEX commands element, XUL -->
                    480:     <h4><a name="77078"></a> Description</h4>
                    481:     <tt>commandsets</tt> no longer need to be contained within a
                    482:     <tt>commands</tt> element. Still, the <tt>commands</tt> group
                    483:     can help you organize your code and user overlays to import
                    484:     commands, especially related sets. 
                    485:     <h4><a name="77078"></a> See Also</h4>
                    486:     <tt>command</tt>, <tt>commandset</tt> 
                    487:     <hr>
                    488:     <h3><a name="77083"></a> commandset</h3>
                    489:     <p>A container for multiple command elements <a name=
                    490:     "77083"></a> Contains command</p>
                    491:     <h4><a name="77083"></a> Additional Attributes</h4>
                    492:     <tt>oncommandupdate</tt>, <!--INDEX commandset element, XUL -->
                    493:     <tt>commandupdater</tt>, <tt>events</tt> 
                    494:     <h4><a name="77083"></a> Description</h4>
                    495:     An invisible, document-level element that acts as a logical
                    496:     grouping for commands or other command sets. 
                    497:     <h4><a name="77083"></a> See Also</h4>
                    498:     <tt>command</tt>, <tt>commands</tt> 
                    499:     <hr>
                    500:     <h3><a name="77088"></a> conditions</h3>
                    501:     <p>Defines the conditions within a template rule <a name=
                    502:     "77088"></a> Contains <tt>content</tt>, <tt>member</tt>, triple
                    503:     <!--INDEX conditions element, XUL -->
                    504:     </p>
                    505:     <h4><a name="77088"></a> Additional Attributes</h4>
                    506:     None. 
                    507:     <h4><a name="77088"></a> Description</h4>
                    508:     Within a <tt>template</tt>, the <tt>conditions</tt>,
                    509:     <tt>action</tt>, and sometimes the <tt>bindings</tt> elements
                    510:     comprise a single rule. The children of the <tt>conditions</tt>
                    511:     element must be matched to the processed data for that rule's
                    512:     action to make content. 
                    513:     <h4><a name="77088"></a> See Also</h4>
                    514:     <tt>template</tt>, <tt>rule</tt>, <tt>action</tt>,
                    515:     <tt>member</tt>, <tt>triple</tt>, <tt>content</tt> 
                    516:     <hr>
                    517:     <h3><a name="77093"></a> content</h3>
                    518:     <p>Binds variables in a template <a name="77093"></a> Contained
                    519:     by conditions <!--INDEX conditions element, XUL -->
                    520:     </p>
                    521:     <h4><a name="77093"></a> Additional Attributes</h4>
                    522:     None. 
                    523:     <h4><a name="77093"></a> Description</h4>
                    524:     The <tt>content</tt> element is the portion of a template's
                    525:     <tt>conditions</tt> element that associates a variable, often
                    526:     representing a URI (e.g., <tt>&lt;content uri="?uri"/&gt;</tt>)
                    527:     with the data. 
                    528:     <h4><a name="77093"></a> See Also</h4>
                    529:     <tt>template</tt>, <tt>rule</tt>, <tt>action</tt>,
                    530:     <tt>conditions</tt>, <tt>member</tt>, <tt>triple</tt> 
                    531:     <hr>
                    532:     <h3>deck</h3>
                    533:     <p>Box container that displays one child element at a time
                    534:     Additional Attributes selectedIndex</p>
                    535:     <h4><a name="77097"></a> Description</h4>
                    536:     <tt>deck</tt> uses the attribute <tt>selectedIndex</tt> 
                    537:     <!--INDEX deck element, XUL --> to determine which child
                    538:     element to display. The others are hidden until they are
                    539:     displayed by index. <tt>deck</tt> is often used dynamically via
                    540:     the DOM to cycle through child elements, such as buttons. 
                    541:     <h4><a name="77097"></a> See Also</h4>
                    542:     stack 
                    543:     <hr>
                    544:     <h3><a name="77101"></a> description</h3>
                    545:     <p>Holder for block of text that can wrap to multiple lines</p>
                    546:     <h4><a name="77101"></a> Additional Attributes</h4>
                    547:     <tt>crop</tt>, <tt>onmouseover</tt>, 
                    548:     <!--INDEX description element, XUL --> <tt>onmouseout</tt>,
                    549:     <tt>value</tt> 
                    550:     <h4><a name="77101"></a> Description</h4>
                    551:     The <tt>description</tt> element replaces
                    552:     <tt>&lt;html:label&gt;</tt> and other HTML-namespaced elements
                    553:     to wrap text in XUL interfaces. Text in a <tt>description</tt>
                    554:     can be defined as content with the open and close tags or
                    555:     provided in the <tt>value</tt> attribute. Note that the text
                    556:     does not wrap when placed in the <tt>value</tt> attribute. 
                    557:     <h4><a name="77101"></a> See Also</h4>
                    558:     <tt>caption</tt>, <tt>label</tt> 
                    559:     <hr>
                    560:     <h3><a name="77105"></a> dialog</h3>
                    561:     <p>Root element for secondary XUL window</p>
                    562:     <h4><a name="77105"></a> Additional Attributes</h4>
                    563:     <tt>ondialogaccept</tt>, <tt>ondialogcancel</tt>,
                    564:     <tt>ondialoghelp</tt>, <tt>onunload</tt>, <tt>onload</tt>,
                    565:     <tt>title</tt>, <tt>buttons</tt>, <tt>windowtype</tt>,
                    566:     p<tt>ersist</tt>, <tt>y</tt>, <tt>x</tt>, <tt>screenY</tt>,
                    567:     <tt>screenX</tt> 
                    568:     <h4><a name="77105"></a> Description</h4>
                    569:     <tt>dialog</tt> is a version of the <tt>window</tt> element 
                    570:     <!--INDEX dialog element, XUL --> built for displaying a
                    571:     secondary dialog window in the application. Like
                    572:     <tt>window</tt>, <tt>dialog</tt> is the root element in a XUL
                    573:     file. Event handlers such as <tt>ondialogaccept</tt> and
                    574:     <tt>ondialogcancel</tt> are included as conveniences for
                    575:     handling user input. 
                    576:     <h4><a name="77105"></a> See Also</h4>
                    577:     <tt>window</tt>, <tt>page</tt> 
                    578:     <hr>
                    579:     <h3><a name="77110"></a> dialogheader</h3>
                    580:     <p>Styled text heading for UI panel <a name="77110"></a>
                    581:     Contained by dialog</p>
                    582:     <h4><a name="77110"></a> Additional Attributes</h4>
                    583:     <tt>title</tt>, <!--INDEX dialogheader element, XUL -->
                    584:     description 
                    585:     <h4><a name="77110"></a> Description</h4>
                    586:     This is a formatted horizontal panel that contains text
                    587:     specified by the <tt>title</tt> attribute. This element is the
                    588:     heading that appears at the top of the right panel in the
                    589:     Mozilla global preferences dialog. 
                    590:     <h4><a name="77110"></a> See Also</h4>
                    591:     <tt>window</tt>, <tt>dialog</tt> 
                    592:     <hr>
                    593:     <h3><a name="77115"></a> editor</h3>
                    594:     <p>Content area for editable web content</p>
                    595:     <h4><a name="77115"></a> Additional Attributes</h4>
                    596:     src <!--INDEX editor element, XUL -->
                    597:     <h4><a name="77115"></a> Description</h4>
                    598:     This high-level widget edits text and HTML.
                    599:     <tt>contentDocument</tt> is a reference to the document
                    600:     contained within the editor. 
                    601:     <h4><a name="77115"></a> JavaScript Methods and Properties</h4>
                    602:     contentDocument 
                    603:     <h4><a name="77115"></a> See Also</h4>
                    604:     <tt>browser</tt>, <tt>iframe</tt> 
                    605:     <hr>
                    606:     <h3><a name="77120"></a> grid</h3>
                    607:     <p>Widget for laying out content in a structured tabular
                    608:     fashion <a name="77120"></a> Contains <tt>rows</tt>,
                    609:     <tt>columns</tt></p>
                    610:     <h4><a name="77120"></a> Additional Attributes</h4>
                    611:     None. 
                    612:     <h4><a name="77120"></a> Description</h4>
                    613:     The number of column elements <!--INDEX grid element, XUL -->
                    614:     that are placed in rows determines the number of columns and
                    615:     the content for each row is placed in the <tt>row</tt> element.
                    616:     The number of row children must correspond to the number of
                    617:     columns. 
                    618:     <h4><a name="77120"></a> See Also</h4>
                    619:     <tt>column</tt>, <tt>columns</tt>, <tt>listbox</tt>,
                    620:     <tt>row</tt>, <tt>rows</tt>, <tt>tree</tt> 
                    621:     <hr>
                    622:     <h3><a name="77124"></a> grippy</h3>
                    623:     <p>Visible widget used on a grippy bar to expand or collapse a
                    624:     UI region <a name="77124"></a> Contained by splitter 
                    625:     <!--INDEX grippy element, XUL -->
                    626:     </p>
                    627:     <h4><a name="77124"></a> Additional Attributes</h4>
                    628:     None. 
                    629:     <h4><a name="77124"></a> Description</h4>
                    630:     <tt>grippy</tt> appears as a child of a <tt>splitter</tt> and
                    631:     provides the little "handle" that opens and closes the
                    632:     <tt>sidebar</tt> and other collapsible elements in the
                    633:     interface. 
                    634:     <hr>
                    635:     <h3><a name="77129"></a> groupbox</h3>
                    636:     <p>Box with frame surrounding it <a name="77129"></a> Contains
                    637:     caption <!--INDEX groupbox element, XUL -->
                    638:     </p>
                    639:     <h4><a name="77129"></a> Additional Attributes</h4>
                    640:     None. 
                    641:     <h4><a name="77129"></a> Description</h4>
                    642:     The border that appears around and organizes elements in the
                    643:     interface (e.g., in dialogs where selectable elements are
                    644:     grouped together); often comes from a <tt>groupbox</tt> parent.
                    645:     
                    646:     <h4><a name="77129"></a> See Also</h4>
                    647:     box 
                    648:     <hr>
                    649:     <h3><a name="77133"></a> hbox</h3>
                    650:     <p>Box container whose children are laid out horizontally</p>
                    651:     <h4><a name="77133"></a> Additional Attributes</h4>
                    652:     None. <!--INDEX hbox element, XUL -->
                    653:     <h4><a name="77133"></a> Description</h4>
                    654:     The <tt>hbox</tt> element is a shorthand for <tt>&lt;box
                    655:     orient="horizontal"&gt;</tt>. It is the preferred way to
                    656:     achieve horizontal orientation in box layout. 
                    657:     <h4><a name="77133"></a> See Also</h4>
                    658:     <tt>box</tt>, <tt>vbox</tt> 
                    659:     <hr>
                    660:     <h3><a name="77137"></a> iframe</h3>
                    661:     <p>Web content area</p>
                    662:     <h4><a name="77137"></a> Additional Attributes</h4>
                    663:     <tt>name</tt>, <tt>src</tt>, <tt>type</tt> 
                    664:     <h4><a name="77137"></a> Description</h4>
                    665:     Like <tt>browser</tt>, <tt>iframe</tt> allows you to 
                    666:     <!--INDEX iframe element, XUL --> display web content, XML, and
                    667:     other data using the <tt>src</tt> attribute, but has less
                    668:     intrinsic browsing functionality available (such as browser
                    669:     history). You can use any number of iframes in a document. 
                    670:     <h4><a name="77137"></a> See Also</h4>
                    671:     <tt>browser</tt>, <tt>editor</tt> 
                    672:     <hr>
                    673:     <h3><a name="77140"></a> image</h3>
                    674:     <p>Display of a supported type image</p>
                    675:     <h4><a name="77140"></a> Additional Attributes</h4>
                    676:     src 
                    677:     <h4><a name="77140"></a> Description</h4>
                    678:     The XUL image is analogous to the 
                    679:     <!--INDEX image element, XUL --> HTML <tt>&lt;img&gt;</tt>
                    680:     element. The supported types in Gecko are PNG, JPG, GIF, and
                    681:     BMP. 
                    682:     <hr>
                    683:     <h3><a name="77145"></a> key</h3>
                    684:     <p>Definition for a keyboard shortcut <a name="77145"></a>
                    685:     Contained by keyset <!--INDEX key element, XUL -->
                    686:     </p>
                    687:     <h4><a name="77145"></a> Additional Attributes</h4>
                    688:     <tt>modifiers</tt>, <tt>command</tt>, <tt>key</tt> ,
                    689:     <tt>keycode</tt>, <tt>observes</tt> 
                    690:     <h4><a name="77145"></a> Description</h4>
                    691:     A <tt>key</tt> is often defined with a <tt>commandkey</tt> and
                    692:     a modifier (e.g., <tt>P</tt> + <tt>Ctrl</tt>), and uses an
                    693:     <tt>oncommand</tt> event handler to fire the given command when
                    694:     invoked. 
                    695:     <h4><a name="77145"></a> See Also</h4>
                    696:     keyset 
                    697:     <hr>
                    698:     <h3><a name="77150"></a> keybinding</h3>
                    699:     <p>Container for a keyset or group of keysets <a name=
                    700:     "77150"></a> Contains keyset 
                    701:     <!--INDEX keybinding element, XUL -->
                    702:     </p>
                    703:     <h4><a name="77150"></a> Additional Attributes</h4>
                    704:     None. 
                    705:     <h4><a name="77150"></a> Description</h4>
                    706:     This element is used in an overlaid file to contain a group of
                    707:     platform-specific key sets. It uses the <tt>ID</tt> attribute
                    708:     to overlay itself into XUL files that pick up sets of key
                    709:     bindings. 
                    710:     <h4><a name="77150"></a> See Also</h4>
                    711:     <tt>key</tt>, <tt>keyset</tt> 
                    712:     <hr>
                    713:     <h3><a name="77154"></a> keyset</h3>
                    714:     <p>Container for one or more key elements Contains key 
                    715:     <!--INDEX keyset element, XUL -->
                    716:     </p>
                    717:     <h4><a name="77154"></a> Additional Attributes</h4>
                    718:     None. 
                    719:     <h4><a name="77154"></a> Description</h4>
                    720:     <tt>key</tt> elements no longer need to be contained within a
                    721:     <tt>keyset</tt> parent. Still, keysets can help organize groups
                    722:     of keys-particularly related ones. 
                    723:     <h4><a name="77154"></a> See Also</h4>
                    724:     <tt>key</tt>, <tt>keybinding</tt> 
                    725:     <hr>
                    726:     <h3><a name="77158"></a> label</h3>
                    727:     <p>Simple text display element and label for a control
                    728:     element</p>
                    729:     <h4><a name="77158"></a> Additional Attributes</h4>
                    730:     <tt>control</tt>, <tt>for</tt>, <tt>accesskey</tt>,
                    731:     <tt>crop</tt>, <!--INDEX label element, XUL --> <tt>value</tt> 
                    732:     <h4><a name="77158"></a> Description</h4>
                    733:     This text element can just display text in the UI. Unlike the
                    734:     <tt>description</tt> element, the text will not wrap. If you
                    735:     use it with a control element (the association occurs through
                    736:     the <tt>for</tt> attribute, the value of which must match the
                    737:     element's <tt>id</tt>) such as a <tt>textbox</tt>, the focus
                    738:     moves to the control element when the <tt>label</tt> is
                    739:     clicked. 
                    740:     <h4><a name="77158"></a> See Also</h4>
                    741:     <tt>caption</tt>, <tt>description</tt> 
                    742:     <hr>
                    743:     <h3><a name="77162"></a> listbox</h3>
                    744:     <p>Used for display of a flat list of items</p>
                    745:     <h4><a name="77162"></a> Additional Attributes</h4>
                    746:     <tt>datasources</tt>, <tt>sortResource</tt>, <tt>
                    747:     <!--INDEX listbox element, XUL --> sortDirection</tt>,
                    748:     <tt>rows</tt>, <tt>seltype</tt>, <tt>ref</tt> 
                    749:     <h4><a name="77162"></a> Description</h4>
                    750:     <tt>listbox</tt> is a lightweight tabular display widget.
                    751:     Unlike <tt>tree</tt>, it cannot handle nested rows. It does
                    752:     support multiple columns, however. It is easy to use and
                    753:     renders content very quickly. 
                    754:     <h4><a name="77162"></a> See Also</h4>
                    755:     <tt>listcell</tt>, <tt>listcol</tt>, <tt>listcols</tt>,
                    756:     <tt>listhead</tt>, <tt>listheader</tt>, <tt>listitem</tt> 
                    757:     <hr>
                    758:     <h3><a name="77167"></a> listcell</h3>
                    759:     <p>Single cell of a listbox <a name="77167"></a> Contained by
                    760:     listitem <!--INDEX listcell element, XUL -->
                    761:     </p>
                    762:     <h4><a name="77167"></a> Additional Attributes</h4>
                    763:     <tt>label</tt>, <tt>flexlabel</tt>, <tt>crop</tt>,
                    764:     <tt>disabled</tt>, <tt>image</tt>, <tt>checked</tt> 
                    765:     <h4><a name="77167"></a> Description</h4>
                    766:     The <tt>listcell</tt> is the element within a <tt>listbox</tt>
                    767:     that actually displays data. 
                    768:     <h4><a name="77167"></a> See Also</h4>
                    769:     <tt>listbox</tt>, <tt>listcol</tt>, <tt>listcols</tt>,
                    770:     <tt>listheader</tt>, <tt>listitem</tt> 
                    771:     <hr>
                    772:     <h3>listcol</h3>
                    773:     <p>Listbox column definition <a name="77171"></a> Contained by
                    774:     listcols <!--INDEX listcol element, XUL -->
                    775:     </p>
                    776:     <h4><a name="77171"></a> Description</h4>
                    777:     This element represents a column in a <tt>listbox</tt>. 
                    778:     <h4><a name="77171"></a> See Also</h4>
                    779:     <tt>listbox</tt>, <tt>listcell</tt>, <tt>listcols</tt>,
                    780:     <tt>listheader</tt>, <tt>listitem</tt> 
                    781:     <hr>
                    782:     <h3><a name="77176"></a> listcols</h3>
                    783:     <p>Container for listbox columns (listcol) <a name="77176"></a>
                    784:     Contained by listbox <!--INDEX listcols element, XUL -->
                    785:     <a name="77176"></a> Contains listcol</p>
                    786:     <h4><a name="77176"></a> Description</h4>
                    787:     This element contains any number of individual <tt>listbox</tt>
                    788:     columns. 
                    789:     <h4><a name="77176"></a> See Also</h4>
                    790:     <tt>listbox</tt>, <tt>listcell</tt>, <tt>listcol</tt>,
                    791:     <tt>listheader</tt>, <tt>listitem</tt> 
                    792:     <hr>
                    793:     <h3><a name="77181"></a> listhead</h3>
                    794:     <p>Container for column header in list boxes (listheader) <a
                    795:     name="77181"></a> Contained by listbox 
                    796:     <!--INDEX listhead element, XUL -->
                    797:     <a name="77181"></a> Contains listheader</p>
                    798:     <h4><a name="77181"></a> Description</h4>
                    799:     The <tt>listhead</tt> element is analogous to the HTML
                    800:     <tt>thead</tt> element, and contains the header cells for an
                    801:     XUL listbox table. 
                    802:     <h4><a name="77181"></a> See Also</h4>
                    803:     <tt>listbox</tt>, <tt>listcell</tt>, <tt>listcol,
                    804:     listcols</tt>, <tt>listheader</tt>, <tt>listitem</tt> 
                    805:     <hr>
                    806:     <h3><a name="77186"></a> listheader</h3>
                    807:     <p>Text header for listbox column <a name="77186"></a>
                    808:     Contained by listhead <!--INDEX listheader element, XUL -->
                    809:     </p>
                    810:     <h4><a name="77186"></a> Additional Attributes</h4>
                    811:     <tt>sortActive</tt>, <tt>sortDirection</tt>, <tt>resource</tt>,
                    812:     <tt>sortable</tt> 
                    813:     <h4><a name="77186"></a> Description</h4>
                    814:     The <tt>listheader</tt> element displays the header text. 
                    815:     <h4><a name="77186"></a> See Also</h4>
                    816:     <tt>listbox</tt>, <tt>listcell, listcol</tt>,
                    817:     <tt>listcols</tt>, <tt>listhead</tt>, <tt>listitem</tt> 
                    818:     <hr>
                    819:     <h3><a name="77192"></a> listitem</h3>
                    820:     <p>Listbox row definition <a name="77192"></a> Contained By
                    821:     listbox <!--INDEX listitem element, XUL -->
                    822:     <a name="77192"></a> Contains listcell</p>
                    823:     <h4><a name="77192"></a> Additional Attributes</h4>
                    824:     <tt>value</tt>, <tt>description</tt>, <tt>accesskey</tt>,
                    825:     <tt>label</tt>, <tt>context</tt>, <tt>type</tt>, <tt>name</tt> 
                    826:     <h4><a name="77192"></a> Description</h4>
                    827:     A <tt>listitem</tt> is a row in a <tt>listbox</tt>. The number
                    828:     of <tt>listcell</tt> children corresponds to the number of
                    829:     columns in the <tt>listbox</tt>. 
                    830:     <h4><a name="77192"></a> See Also</h4>
                    831:     <tt>listbox</tt>, <tt>listcell</tt>, <tt>listcol</tt>,
                    832:     <tt>listcols</tt>, <tt>listhead</tt>, <tt>listheader</tt> 
                    833:     <hr>
                    834:     <h3><a name="77196"></a> member</h3>
                    835:     <p>Matches container relationships in which the parent element
                    836:     is given by a container element and the child by a child
                    837:     element Additional Attributes <tt>container</tt>, 
                    838:     <!--INDEX member element, XUL --> <tt>child</tt></p>
                    839:     <h4><a name="77196"></a> Description</h4>
                    840:     The <tt>member</tt> element is part of the conditional
                    841:     structure in a XUL template. It creates a rule by which
                    842:     parent-child relationships are matched and used as a basis for
                    843:     drawing content in the XUL. 
                    844:     <h4><a name="77196"></a> See Also</h4>
                    845:     <tt>conditions</tt>, <tt>rules</tt>, <tt>bindings</tt>,
                    846:     <tt>template</tt> 
                    847:     <hr>
                    848:     <h3><a name="77200"></a> menu</h3>
                    849:     <p>A menu element for containing menu items</p>
                    850:     <h4><a name="77200"></a> Additional Attributes</h4>
                    851:     <tt>label</tt>, <tt>accesskey</tt>, 
                    852:     <!--INDEX menu element, XUL --> <tt>disabled</tt>,
                    853:     <tt>image</tt>, <tt>disabled</tt> 
                    854:     <h4><a name="77200"></a> Description</h4>
                    855:     <tt>menu</tt> is the basic menu widget. It's often contained in
                    856:     a <tt>menubar</tt>, but may appear elsewhere. The actual
                    857:     <tt>menuitems</tt> are defined within a <tt>menupopup</tt> that
                    858:     is usually the direct child of <tt>menu</tt>. 
                    859:     <h4><a name="77200"></a> See Also</h4>
                    860:     <tt>menubar</tt>, <tt>menubutton</tt>, <tt>menuitem</tt>,
                    861:     <tt>menulist</tt>, <tt>menupopup</tt>, <tt>menuseparator</tt> 
                    862:     <hr>
                    863:     <h3><a name="77205"></a> menubar</h3>
                    864:     <p>Containing element for one or more menus <a name=
                    865:     "77205"></a> Contains menu</p>
                    866:     <h4><a name="77205"></a> Additional Attributes</h4>
                    867:     None. 
                    868:     <h4><a name="77205"></a> Description</h4>
                    869:     <tt>menubar</tt> is a special box for containing 
                    870:     <!--INDEX menubar element, XUL --> menus (though it can include
                    871:     other content). By default it has a <tt>grippy</tt> for
                    872:     expanding and collapsing the menubar. 
                    873:     <h4><a name="77205"></a> See Also</h4>
                    874:     <tt>menu</tt>, <tt>menubutton</tt>, <tt>menuitem</tt>,
                    875:     <tt>menulist</tt>, <tt>menupopup</tt>, <tt>menuseparator</tt>,
                    876:     <tt>grippy</tt> 
                    877:     <hr>
                    878:     <h3><a name="77210"></a> menuitem</h3>
                    879:     <p>Single selectable choice in a menu <a name="77210"></a>
                    880:     Contained by menupopup <!--INDEX menuitem element, XUL -->
                    881:     </p>
                    882:     <h4><a name="77210"></a> Additional Attributes</h4>
                    883:     <tt>label</tt>, <tt>accesskey</tt>, <tt>crop</tt>,
                    884:     <tt>image</tt>, <tt>disabled</tt>, <tt>checked</tt> 
                    885:     <h4><a name="77210"></a> Description</h4>
                    886:     The <tt>menuitem</tt> is the basic element used to display a
                    887:     single item in a menu (e.g., <tt>&lt;menuitem</tt>
                    888:     <tt>label="File"/&gt;</tt>). 
                    889:     <h4><a name="77210"></a> See Also</h4>
                    890:     menu, menubar, menubutton, menulist, menupopup, menuseparator 
                    891:     <hr>
                    892:     <h3><a name="77215"></a> menulist</h3>
                    893:     <p>Drop-down list of selectable items <a name="77215"></a>
                    894:     Contains menupopup <!--INDEX menulist element, XUL -->
                    895:     </p>
                    896:     <h4><a name="77215"></a> Additional Attributes</h4>
                    897:     None. 
                    898:     <h4><a name="77215"></a> Description</h4>
                    899:     The <tt>menulist</tt> displays a list of menuitems, the
                    900:     selected one of which is displayed in the <tt>menulist</tt>
                    901:     itself. It is a type of drop-down menu. 
                    902:     <h4><a name="77215"></a> See Also</h4>
                    903:     <tt>menu</tt>, <tt>menubar</tt>, <tt>menubutton</tt>,
                    904:     <tt>menuitem</tt>, <tt>menupopup</tt>, <tt>menuseparator</tt> 
                    905:     <hr>
                    906:     <h3><a name="77221"></a> menupopup</h3>
                    907:     <p>Pop-up container for menu items <a name="77221"></a>
                    908:     Contained By <tt>menu</tt>, <tt>
                    909:     <!--INDEX menupopup element, XUL --> menubutton</tt>,
                    910:     <tt>menulist</tt> <a name="77221"></a> Contains menuitem</p>
                    911:     <h4><a name="77221"></a> Additional Attributes</h4>
                    912:     <tt>popupalign</tt>, <tt>datasources</tt>,
                    913:     <tt>onpopupshowing</tt>, <tt>sortResource</tt>,
                    914:     <tt>onpopuphiding</tt>, <tt>sortDirection</tt>,
                    915:     <tt>context</tt>, <tt>position</tt>, <tt>popupanchor</tt>,
                    916:     <tt>ref</tt> 
                    917:     <h4><a name="77221"></a> Description</h4>
                    918:     The <tt>menupopup</tt> contains the actual menu items defined
                    919:     for a menu and acts much like the <tt>popup</tt> element to
                    920:     show the window with a list of choices. 
                    921:     <h4><a name="77221"></a> See Also</h4>
                    922:     popup, menu, menubar, menubutton, menuitem, menulist,
                    923:     menuseparator 
                    924:     <hr>
                    925:     <h3><a name="77226"></a> menuseparator</h3>
                    926:     <p>Line separating menu items <a name="77226"></a> Contained By
                    927:     menupopup <!--INDEX menuseparator element, XUL -->
                    928:     </p>
                    929:     <h4><a name="77226"></a> Additional Attributes</h4>
                    930:     type 
                    931:     <h4><a name="77226"></a> Description</h4>
                    932:     The <tt>menuseparator</tt> is a line through the menu that
                    933:     divides menu items into different groups. You can use the
                    934:     <tt>position</tt> attribute on the <tt>menuseparator</tt> to
                    935:     make sure it appears in a particular place, or you can use the
                    936:     common attribute <tt>insertAfter</tt>. 
                    937:     <h4><a name="77226"></a> See Also</h4>
                    938:     <tt>menu</tt>, <tt>menubar</tt>, <tt>menubutton</tt>,
                    939:     <tt>menuitem</tt>, <tt>menulist</tt>, <tt>menuspopup</tt> 
                    940:     <hr>
                    941:     <h3><a name="77230"></a> observes</h3>
                    942:     <p>Broadcast event and attribute listener</p>
                    943:     <h4><a name="77230"></a> Additional Attributes</h4>
                    944:     <tt>element</tt>, <tt>attribute</tt>, 
                    945:     <!--INDEX observes element, XUL --> <tt>onbroadcast</tt> 
                    946:     <h4><a name="77230"></a> Description</h4>
                    947:     The <tt>observes</tt> element observes the state of a
                    948:     broadcasting element and its attributes. <tt>observes</tt> can
                    949:     be a separate element, defined as a child of the interested
                    950:     observer, or it can be an attribute on any element that wants
                    951:     to watch changes in a broadcasting element. 
                    952:     <h4><a name="77230"></a> See Also</h4>
                    953:     broadcaster 
                    954:     <hr>
                    955:     <h3><a name="77234"></a> overlay</h3>
                    956:     <p>Root element in a separate file that contains reusable XUL
                    957:     content</p>
                    958:     <h4><a name="77234"></a> Additional Attributes</h4>
                    959:     <tt>xmlns</tt>, title <!--INDEX overlay element, XUL -->
                    960:     <h4><a name="77234"></a> Description</h4>
                    961:     Like <tt>page</tt>, <tt>window</tt>, <tt>dialog</tt>, and
                    962:     <tt>wizard</tt>, <tt>overlay</tt> is a XUL document's root
                    963:     element. Overlay documents contain content blocks that are
                    964:     overlaid dynamically at runtime into XUL content whose IDs
                    965:     match theirs. For example, a <tt>menupopup</tt> with the
                    966:     <tt>ID</tt> "file" and a <tt>menuitem</tt> child in an overlay
                    967:     adds that new <tt>menuitem</tt> into any <tt>menupopup</tt>
                    968:     with the <tt>ID</tt> "file" that it finds in the base XUL. 
                    969:     <h4><a name="77234"></a> See Also</h4>
                    970:     <tt>page</tt>, <tt>window</tt> 
                    971:     <hr>
                    972:     <h3><a name="77238"></a> page</h3>
                    973:     <p>Root element of XUL file loaded in a content frame</p>
                    974:     <h4><a name="77238"></a> Additional Attributes</h4>
                    975:     <tt>context</tt>, <!--INDEX page element, XUL -->
                    976:     <tt>headertitle</tt>, <tt>onload</tt>, <tt>onunload</tt>,
                    977:     <tt>title</tt>, <tt>xmlns</tt> 
                    978:     <h4><a name="77238"></a> Description</h4>
                    979:     <tt>page</tt> is the root element for a XUL document that is
                    980:     meant to be loaded within another XUL document, such as a
                    981:     preference panel. 
                    982:     <h4><a name="77238"></a> See Also</h4>
                    983:     <tt>dialog</tt>, <tt>overlay</tt>, <tt>window</tt> 
                    984:     <hr>
                    985:     <h3><a name="77242"></a> popup</h3>
                    986:     <p>Box container as child window</p>
                    987:     <h4><a name="77242"></a> Additional Attributes</h4>
                    988:     <tt>onpopupshowing</tt>, <!--INDEX popup element, XUL -->
                    989:     onpopuphiding 
                    990:     <h4><a name="77242"></a> Description</h4>
                    991:     <tt>popup</tt> is a pop-up window that can be hooked up to any
                    992:     UI content. It is often used for context menus and invoked by
                    993:     elements that use its <tt>ID</tt> attribute in their
                    994:     <tt>popup</tt> or <tt>context</tt> attribute. 
                    995:     <h4><a name="77242"></a> See Also</h4>
                    996:     <tt>menupopup</tt>, <tt>popupset</tt> 
                    997:     <hr>
                    998:     <h3><a name="77246"></a> popupset</h3>
                    999:     <p>Container for popup elements</p>
                   1000:     <h4><a name="77246"></a> Additional Attributes</h4>
                   1001:     None. <!--INDEX popupset element, XUL -->
                   1002:     <h4><a name="77246"></a> Description</h4>
                   1003:     While not strictly necessary as a container for the
                   1004:     <tt>popup</tt> element, <tt>popupset</tt> helps you organize
                   1005:     and overlays groups of popups. 
                   1006:     <h4><a name="77246"></a> See Also</h4>
                   1007:     popup 
                   1008:     <hr>
                   1009:     <h3><a name="77249"></a> progressmeter</h3>
                   1010:     <p>Visual progress indicator of a time-consuming operation</p>
                   1011:     <h4><a name="77249"></a> Additional Attributes</h4>
                   1012:     <tt>value</tt>, <!--INDEX progressmeter element, XUL --> mode 
                   1013:     <h4><a name="77249"></a> Description</h4>
                   1014:     This high-level widget uses its <tt>value</tt> attribute to
                   1015:     fill in a meter that usually represents how long a particular
                   1016:     task takes. You can change the <tt>value</tt> attribute
                   1017:     dynamically to update the fill or set the mode to
                   1018:     "undetermined" (as opposed to the default "determined" mode) to
                   1019:     display a busy meter that doesn't chart actual progress. 
                   1020:     <hr>
                   1021:     <h3><a name="77253"></a> radio</h3>
                   1022:     <p>Single on/off choice represented as selectable circle <a
                   1023:     name="77253"></a> Contained By radiogroup 
                   1024:     <!--INDEX radio element, XUL -->
                   1025:     </p>
                   1026:     <h4><a name="77253"></a> Additional Attributes</h4>
                   1027:     <tt>selected</tt>, <tt>group</tt>, <tt>label</tt>,
                   1028:     <tt>accesskey</tt>, <tt>value</tt> 
                   1029:     <h4><a name="77253"></a> Description</h4>
                   1030:     Within a <tt>radiogroup</tt> element, a single <tt>radio</tt>
                   1031:     widget is selected to indicate user choice. <tt>radio</tt>
                   1032:     elements can also be used singularly to check an option on or
                   1033:     off in the interface. 
                   1034:     <hr>
                   1035:     <h3><a name="77257"></a> radiogroup</h3>
                   1036:     <p>Framed box for containing radio elements <a name=
                   1037:     "77257"></a> Contains radio 
                   1038:     <!--INDEX radiogroup element, XUL -->
                   1039:     </p>
                   1040:     <h4><a name="77257"></a> Additional Attributes</h4>
                   1041:     disabled 
                   1042:     <h4><a name="77257"></a> Description</h4>
                   1043:     The <tt>radiogroup</tt> makes all <tt>radio</tt> elements
                   1044:     within it belong to a single group from which only a single
                   1045:     element can be selected. 
                   1046:     <hr>
                   1047:     <h3><a name="77261"></a> resizer</h3>
                   1048:     <p>Window-resizing element</p>
                   1049:     <h4><a name="77261"></a> Additional Attributes</h4>
                   1050:     direction <!--INDEX resizer element, XUL -->
                   1051:     <h4><a name="77261"></a> Description</h4>
                   1052:     A bar that changes the cursor when hovered over to signify that
                   1053:     the bar can be dragged to resize the a window. The
                   1054:     <tt>direction</tt> attribute specifies which way the window is
                   1055:     resized, and can have values such as <tt>topleft</tt>,
                   1056:     <tt>top</tt>, <tt>right</tt>, and <tt>bottomright</tt>. For
                   1057:     example, a value of <tt>bottomleft</tt> resizes the window down
                   1058:     and to the left. 
                   1059:     <h4><a name="77261"></a> See Also</h4>
                   1060:     window 
                   1061:     <hr>
                   1062:     <h3><a name="77266"></a> row</h3>
                   1063:     <p>Container for grid cells laid out consecutively <a name=
                   1064:     "77266"></a> Contained By rows <!--INDEX row element, XUL -->
                   1065:     </p>
                   1066:     <h4><a name="77266"></a> Additional Attributes</h4>
                   1067:     None. 
                   1068:     <h4><a name="77266"></a> Description</h4>
                   1069:     <tt>row</tt> is a single row in a <tt>grid</tt>. It is
                   1070:     analogous to the <tt>&lt;TR&gt;</tt> element in HTML. 
                   1071:     <h4><a name="77266"></a> See Also</h4>
                   1072:     <tt>grid</tt>, <tt>rows</tt> 
                   1073:     <hr>
                   1074:     <h3><a name="77271"></a> rows</h3>
                   1075:     <p>Definition for grid rows <a name="77271"></a> Contains row 
                   1076:     <!--INDEX rows element, XUL -->
                   1077:     </p>
                   1078:     <h4><a name="77271"></a> Additional Attributes</h4>
                   1079:     None. 
                   1080:     <h4><a name="77271"></a> Description</h4>
                   1081:     The <tt>rows</tt> element is a child of the <tt>grid</tt>
                   1082:     element that contains any number of individual <tt>row</tt>
                   1083:     elements. It is a sibling of <tt>columns</tt> within the
                   1084:     <tt>grid</tt>. 
                   1085:     <h4><a name="77271"></a> See Also</h4>
                   1086:     <tt>grid</tt>, <tt>row</tt>, <tt>columns</tt>, <tt>column</tt> 
                   1087:     <hr>
                   1088:     <h3><a name="77276"></a> rule</h3>
                   1089:     <p>Defines rules for rendering data as XUL <a name="77276"></a>
                   1090:     Contained by template <!--INDEX rule element, XUL -->
                   1091:     </p>
                   1092:     <h4><a name="77276"></a> Additional Attributes</h4>
                   1093:     <tt>rdf:type</tt>, <tt>parent</tt>, <tt>isempty</tt>,
                   1094:     <tt>iscontainer</tt> 
                   1095:     <h4><a name="77276"></a> Description</h4>
                   1096:     The children of the <tt>rule</tt> element define a rule: the
                   1097:     conditions stated in the <tt>conditions</tt> element must be
                   1098:     met, the <tt>bindings</tt> provides optional matching, and the
                   1099:     content in the <tt>action</tt> element is rendered if the rule
                   1100:     is matched. 
                   1101:     <h4><a name="77276"></a> See Also</h4>
                   1102:     <tt>template</tt>, <tt>action</tt>, <tt>conditions</tt> 
                   1103:     <hr>
                   1104:     <h3><a name="77279"></a> script</h3>
                   1105:     <p>Declaration of script used in XUL file</p>
                   1106:     <h4><a name="77279"></a> Additional Attributes</h4>
                   1107:     <tt>src</tt>, type <!--INDEX script element, XUL -->
                   1108:     <h4><a name="77279"></a> Description</h4>
                   1109:     The <tt>script</tt> element can contain script content (e.g.,
                   1110:     <tt>&lt;script&gt;alert("it")&lt;/script&gt;</tt>) and can also
                   1111:     import scripts in JavaScript files, in which case the
                   1112:     <tt>src</tt> attribute is used. The type for JavaScript is
                   1113:     <tt>application/x-javascript</tt>, and the <tt>src</tt>
                   1114:     attribute may also use <i>chrome://</i> type URLs to point at
                   1115:     JavaScript in the chrome. 
                   1116:     <hr>
                   1117:     <h3>scrollbar</h3>
                   1118:     <p>Widget for scrolling in a container Contains
                   1119:     <tt>scrollbarbutton</tt>, <!--INDEX scrollbar element, XUL -->
                   1120:     <tt>slider</tt></p>
                   1121:     <h4><a name="77283"></a> Additional Attributes</h4>
                   1122:     <tt>curpos</tt>, <tt>increment</tt>, <tt>maxpos</tt>,
                   1123:     <tt>pageincrement</tt> 
                   1124:     <h4><a name="77283"></a> Description</h4>
                   1125:     The <tt>scrollbar</tt> element uses the <tt>curpos</tt> and
                   1126:     <tt>maxpos</tt> attributes to determine where the
                   1127:     <tt>scrollbarbutton</tt> element is drawn within its length.
                   1128:     <tt>increment</tt> specifies how much the scrollbar should move
                   1129:     on user input. <tt>pageincrement</tt> specifies how many pages
                   1130:     it should move. 
                   1131:     <hr>
                   1132:     <h3><a name="77287"></a> scrollbarbutton</h3>
                   1133:     <p>Button used to move position of scrollbar thumb <a name=
                   1134:     "77287"></a> Contained By scrollbar 
                   1135:     <!--INDEX scrollbarbutton element, XUL -->
                   1136:     </p>
                   1137:     <h4><a name="77287"></a> Additional Attributes</h4>
                   1138:     <tt>sborient</tt>, <tt>type</tt> 
                   1139:     <h4><a name="77287"></a> Description</h4>
                   1140:     The <tt>scrollbarbutton</tt> can use its <tt>src</tt> attribute
                   1141:     to point to an image that should be drawn over it. 
                   1142:     <hr>
                   1143:     <h3><a name="77291"></a> scrollbox</h3>
                   1144:     <p>Box for scrolling content</p>
                   1145:     <h4><a name="77291"></a> Additional Attributes</h4>
                   1146:     crop <!--INDEX scrollbox element, XUL -->
                   1147:     <h4><a name="77291"></a> Description</h4>
                   1148:     The <tt>scrollbox</tt> is a regular box with scrollbars that
                   1149:     display automatically when the content inside the box overflows
                   1150:     the size of the box itself. 
                   1151:     <h4><a name="77291"></a> See Also</h4>
                   1152:     <tt>box</tt>, <tt>hbox</tt>, <tt>vbox</tt> 
                   1153:     <hr>
                   1154:     <h3><a name="77295"></a> separator</h3>
                   1155:     <p>Bar between elements</p>
                   1156:     <h4><a name="77295"></a> Additional Attributes</h4>
                   1157:     None. 
                   1158:     <h4><a name="77295"></a> Description</h4>
                   1159:     The <tt>separator</tt> is a 
                   1160:     <!--INDEX separator element, XUL --> general-purpose divider.
                   1161:     In menus, use <tt>menuseparator</tt>. 
                   1162:     <h4><a name="77295"></a> See Also</h4>
                   1163:     menuseparator 
                   1164:     <hr>
                   1165:     <h3><a name="77299"></a> slider</h3>
                   1166:     <p>A scrollbar without buttons</p>
                   1167:     <h4><a name="77299"></a> Additional Attributes</h4>
                   1168:     <tt>curpos</tt>, <tt>increment</tt>, 
                   1169:     <!--INDEX slider element, XUL --> <tt>maxpos</tt>,
                   1170:     <tt>pageincrement</tt> 
                   1171:     <h4><a name="77299"></a> Description</h4>
                   1172:     The <tt>slider</tt> element provides simpler user input-a
                   1173:     <tt>thumb</tt> button and no arrows-for scrolling large
                   1174:     content. Like <tt>scrollbar</tt>, it uses <tt>curpos</tt> and
                   1175:     <tt>maxpos</tt> to display its position. 
                   1176:     <h4><a name="77299"></a> See Also</h4>
                   1177:     <tt>scrollbar</tt>, <tt>scrollbarbutton</tt> 
                   1178:     <hr>
                   1179:     <h3><a name="77302"></a> spacer</h3>
                   1180:     <p>Blank space separating element</p>
                   1181:     <h4><a name="77302"></a> Additional Attributes</h4>
                   1182:     None. <!--INDEX spacer element, XUL -->
                   1183:     <h4><a name="77302"></a> Description</h4>
                   1184:     This element is a general-purpose blank space. The use of a
                   1185:     <tt>spacer</tt> with <tt>flex</tt> to take up available space
                   1186:     within a <tt>box</tt> and shrink its siblings is a staple of
                   1187:     the box layout model that XUL uses. 
                   1188:     <hr>
                   1189:     <h3><a name="77306"></a> splitter</h3>
                   1190:     <p>Element for dragging and resizing associated elements</p>
                   1191:     <h4><a name="77306"></a> Additional Attributes</h4>
                   1192:     <tt>persist</tt>, <!--INDEX splitter element, XUL --> state 
                   1193:     <h4><a name="77306"></a> Description</h4>
                   1194:     Users can drag a <tt>splitter</tt> to resize an associated
                   1195:     element or panel that holds content and click a
                   1196:     <tt>splitter</tt> to collapse the specified element within a
                   1197:     box. To specify which element you manipulate with a
                   1198:     <tt>splitter</tt>, set this element's <tt>collapse</tt>
                   1199:     attribute accordingly: <tt>before</tt> to control the element
                   1200:     before it in the parent; <tt>after</tt> to control the element
                   1201:     after it. 
                   1202:     <h4><a name="77306"></a> See Also</h4>
                   1203:     <tt>grippy</tt>, <tt>toolbar</tt> 
                   1204:     <hr>
                   1205:     <h3><a name="77309"></a> stack</h3>
                   1206:     <p>Shows children one on top of one another, all at the same
                   1207:     time</p>
                   1208:     <h4><a name="77309"></a> Description</h4>
                   1209:     In contrast to the <tt>deck</tt>, <tt>stack</tt> is a
                   1210:     <tt>box</tt> <!--INDEX stack element, XUL --> that displays all
                   1211:     of its children at once. You can use a <tt>stack</tt> to
                   1212:     display elements and blend them together, as when you use
                   1213:     different stack children as background images and visual
                   1214:     layers. 
                   1215:     <h4><a name="77309"></a> See Also</h4>
                   1216:     <tt>deck</tt>, <tt>box</tt> 
                   1217:     <hr>
                   1218:     <h3><a name="77314"></a> statusbar</h3>
                   1219:     <p>Box container for status elements <a name="77314"></a>
                   1220:     Contains statusbarpanel <!--INDEX statusbar element, XUL -->
                   1221:     </p>
                   1222:     <h4><a name="77314"></a> Additional Attributes</h4>
                   1223:     None. 
                   1224:     <h4><a name="77314"></a> Description</h4>
                   1225:     In Mozilla, the <tt>statusbar</tt> is placed at the bottom of
                   1226:     the main windows, where it is hooked up to the
                   1227:     <tt>window.status</tt> property and can be used to display
                   1228:     status text. It is divided into panels, one of which is the
                   1229:     <tt>taskbar</tt> where some main component icons are displayed.
                   1230:     
                   1231:     <h4><a name="77314"></a> See Also</h4>
                   1232:     statusbarpanel 
                   1233:     <hr>
                   1234:     <h3><a name="77319"></a> statusbarpanel</h3>
                   1235:     <p>Single unit of a statusbar <a name="77319"></a> Contained by
                   1236:     statusbar <!--INDEX statusbarpanel element, XUL -->
                   1237:     </p>
                   1238:     <h4><a name="77319"></a> Additional Attributes</h4>
                   1239:     <tt>persist</tt>, <tt>label</tt> 
                   1240:     <h4><a name="77319"></a> Description</h4>
                   1241:     <tt>statusbarpanel</tt>s are subdivisions of the
                   1242:     <tt>statusbar</tt> at the bottom of main browser windows. They
                   1243:     can contain other content, text using the <tt>label</tt>
                   1244:     attribute and an image using the <tt>list-style-image</tt> CSS
                   1245:     style rule. 
                   1246:     <h4><a name="77319"></a> See Also</h4>
                   1247:     statusbar 
                   1248:     <hr>
                   1249:     <h3><a name="77324"></a> stringbundle</h3>
                   1250:     <p>Holder of localized properties for use in script <a name=
                   1251:     "77324"></a> Contained by stringbundleset 
                   1252:     <!--INDEX stringbundle element, XUL -->
                   1253:     </p>
                   1254:     <h4><a name="77324"></a> Additional Attributes</h4>
                   1255:     src 
                   1256:     <h4><a name="77324"></a> Description</h4>
                   1257:     Like the <tt>script</tt> element, <tt>stringbundle</tt> uses
                   1258:     the <tt>src</tt> attribute to locate a file for use. In this
                   1259:     case, the files is a string bundle (properties file) that is
                   1260:     used for holding localizable strings used in the UI. 
                   1261:     <h4><a name="77324"></a> See Also</h4>
                   1262:     stringbundleset 
                   1263:     <hr>
                   1264:     <h3><a name="77329"></a> stringbundleset</h3>
                   1265:     <p>Container for stringbundle elements <a name="77329"></a>
                   1266:     Contains stringbundle 
                   1267:     <!--INDEX stringbundleset element, XUL -->
                   1268:     </p>
                   1269:     <h4><a name="77329"></a> Additional Attributes</h4>
                   1270:     None. 
                   1271:     <h4><a name="77329"></a> Description</h4>
                   1272:     <tt>stringbundleset</tt> is an optional container for groups of
                   1273:     <tt>stringbundle</tt> elements. Like <tt>commandset</tt> use
                   1274:     for commands, <tt>stringbundle</tt> organizes sets of related
                   1275:     <tt>stringbundle</tt>s, particularly when those sets are
                   1276:     overlaid into the UI. 
                   1277:     <h4><a name="77329"></a> See Also</h4>
                   1278:     stringbundle 
                   1279:     <hr>
                   1280:     <h3><a name="77334"></a> tab</h3>
                   1281:     <p>A single selectable tab of a tabbox <a name="77334"></a>
                   1282:     Contained by tabs</p>
                   1283:     <h4><a name="77334"></a> Additional Attributes</h4>
                   1284:     <tt>accesskey</tt>, <!--INDEX tab element, XUL -->
                   1285:     <tt>crop</tt>, <tt>disabled</tt>, <tt>label</tt>,
                   1286:     <tt>image</tt> 
                   1287:     <h4><a name="77334"></a> Description</h4>
                   1288:     Individual tabs correspond to panels in the <tt>tabbox</tt>. 
                   1289:     <h4><a name="77334"></a> See Also</h4>
                   1290:     <tt>tabbox</tt>, <tt>tabpanel</tt>, <tt>tabpanels</tt>,
                   1291:     <tt>tabs</tt> 
                   1292:     <hr>
                   1293:     <h3>tabbox</h3>
                   1294:     <p>Box container for tab panels Contains <tt>tabs</tt>,
                   1295:     tabpanels <!--INDEX tabbox element, XUL -->
                   1296:     </p>
                   1297:     <h4><a name="77339"></a> Additional Attributes</h4>
                   1298:     None. 
                   1299:     <h4><a name="77339"></a> Description</h4>
                   1300:     <tt>tabbox</tt> is the container in which the tabs and
                   1301:     tabpanels are defined. It lays out children like a regular box
                   1302:     to the orientation specified, which defaults to vertical. The
                   1303:     panels are defined in the <tt>tabpanels</tt> element. 
                   1304:     <h4><a name="77339"></a> See Also</h4>
                   1305:     <tt>tab</tt>, <tt>tabpanel</tt>, <tt>tabpanels</tt>,
                   1306:     <tt>tabs</tt> 
                   1307:     <hr>
                   1308:     <h3><a name="77343"></a> tabbrowser</h3>
                   1309:     <p>Tabbed holder for a set of web content views</p>
                   1310:     <h4><a name="77343"></a> Additional Attributes</h4>
                   1311:     <tt>contentcontextmenu</tt>, 
                   1312:     <!--INDEX tabbrowser element, XUL --> <tt>contenttooltip</tt> 
                   1313:     <h4><a name="77343"></a> Description</h4>
                   1314:     <tt>tabbrowser</tt> derives from the <tt>browser</tt> widget.
                   1315:     Like <tt>browser</tt>, it lets you view HTML pages and other
                   1316:     content. <tt>tabbrowser</tt> has additional methods on it that
                   1317:     manage tabbed windows (e.g., <tt>addTab</tt>,
                   1318:     <tt>enterTabbedMode</tt>). 
                   1319:     <h4><a name="77343"></a> See Also</h4>
                   1320:     browser 
                   1321:     <hr>
                   1322:     <h3><a name="77349"></a> tabpanel</h3>
                   1323:     <p>A single panel of a tabbox <a name="77349"></a> Contained by
                   1324:     tabpanels <!--INDEX tabpanel element, XUL -->
                   1325:     <a name="77349"></a> Contains XUL content</p>
                   1326:     <h4><a name="77349"></a> Additional Attributes</h4>
                   1327:     None. 
                   1328:     <h4><a name="77349"></a> Description</h4>
                   1329:     A <tt>tabpanel</tt> is one of the special <tt>box</tt> elements
                   1330:     that correspond to a particular tab within a <tt>tabbox</tt>.
                   1331:     It can hold any XUL content to be displayed on a particular tab
                   1332:     panel. 
                   1333:     <h4><a name="77349"></a> See Also</h4>
                   1334:     <tt>tab</tt>, <tt>tabbox</tt>, <tt>tabpanels</tt>,
                   1335:     <tt>tabs</tt> 
                   1336:     <hr>
                   1337:     <h3><a name="77355"></a> tabpanels</h3>
                   1338:     <p>Container for tabpanel elements <a name="77355"></a>
                   1339:     Contained by tabbox <!--INDEX tabpanels element, XUL -->
                   1340:     <a name="77355"></a> Contains <tt>tabpanel</tt>,
                   1341:     <tt>box</tt></p>
                   1342:     <h4><a name="77355"></a> Additional Attributes</h4>
                   1343:     None. 
                   1344:     <h4><a name="77355"></a> Description</h4>
                   1345:     The <tt>tabpanels</tt> container corresponds to the
                   1346:     <tt>tabs</tt> element that holds all individual tabs, and is a
                   1347:     container for the <tt>tabpanel</tt> associated with that tab.
                   1348:     This child panel can be either an optional <tt>tabpanel</tt>
                   1349:     element that holds XUL content, or just the XUL content. 
                   1350:     <h4><a name="77355"></a> See Also</h4>
                   1351:     <tt>tab</tt>, <tt>tabbox</tt>, <tt>tabpanel</tt>, <tt>tabs</tt>
                   1352:     
                   1353:     <hr>
                   1354:     <h3><a name="77361"></a> tabs</h3>
                   1355:     <p>Container for tab elements <a name="77361"></a> Contained by
                   1356:     tabbox <!--INDEX tabs element, XUL -->
                   1357:     <a name="77361"></a> Contains tab</p>
                   1358:     <h4><a name="77361"></a> Additional Attributes</h4>
                   1359:     None. 
                   1360:     <h4><a name="77361"></a> Description</h4>
                   1361:     This element is a required container for individual tabs. 
                   1362:     <h4><a name="77361"></a> See Also</h4>
                   1363:     <tt>tab</tt>, <tt>tabbox</tt>, <tt>tabpanel</tt>,
                   1364:     <tt>tabpanels</tt> 
                   1365:     <hr>
                   1366:     <h3><a name="77365"></a> template</h3>
                   1367:     <p>A high-level widget used to build content dynamically from
                   1368:     data <a name="77365"></a> Contains rule 
                   1369:     <!--INDEX template element, XUL -->
                   1370:     </p>
                   1371:     <h4><a name="77365"></a> Additional Attributes</h4>
                   1372:     <tt>xmlns:nc</tt>, <tt>xmlns:chrome</tt> 
                   1373:     <h4><a name="77365"></a> Description</h4>
                   1374:     The <tt>template</tt> element has several <tt>rule</tt>
                   1375:     children, each of which defines rules for matching data in a
                   1376:     datasource and rendering that data as XUL content. A template
                   1377:     is defined within the regular XUL content. 
                   1378:     <hr>
                   1379:     <h3><a name="77369"></a> textbox</h3>
                   1380:     <p>Accepts text input from user</p>
                   1381:     <h4><a name="77369"></a> Additional Attributes</h4>
                   1382:     <tt>multiline</tt>, <tt><!--INDEX textbox element, XUL -->
                   1383:     maxlength</tt>, <tt>disabled</tt>, <tt>readonly</tt>,
                   1384:     <tt>type</tt>, <tt>size</tt> 
                   1385:     <h4><a name="77369"></a> Description</h4>
                   1386:     <tt>textbox</tt> is a user-input element. Expand it beyond its
                   1387:     single-line default by setting <tt>multiline</tt> to
                   1388:     <tt>true</tt>. You can also disable it, and set its size. 
                   1389:     <h4><a name="77369"></a> See Also</h4>
                   1390:     label 
                   1391:     <hr>
                   1392:     <h3><a name="77373"></a> thumb</h3>
                   1393:     <p>Object used to move content in scrollable area</p>
                   1394:     <h4><a name="77373"></a> Additional Attributes</h4>
                   1395:     sborient <!--INDEX thumb element, XUL -->
                   1396:     <h4><a name="77373"></a> Description</h4>
                   1397:     The <tt>thumb</tt> element appears in the <tt>slider</tt> and
                   1398:     the <tt>scrollbar</tt>. 
                   1399:     <h4><a name="77373"></a> See Also</h4>
                   1400:     <tt>scrollbar</tt>, <tt>scrollbarbutton</tt>, <tt>slider</tt> 
                   1401:     <hr>
                   1402:     <h3><a name="77378"></a> toolbar</h3>
                   1403:     <p>Holder of buttons for quick-access UI functionality <a name=
                   1404:     "77378"></a> Contains <tt>toolbarbutton</tt>, 
                   1405:     <!--INDEX toolbar element, XUL -->
                   1406:     <tt>toolbarseparator</tt></p>
                   1407:     <h4><a name="77378"></a> Additional Attributes</h4>
                   1408:     <tt>grippyhidden</tt>, <tt>tborient</tt>, <tt>tbalign</tt>,
                   1409:     <tt>tbpack</tt> 
                   1410:     <h4><a name="77378"></a> Description</h4>
                   1411:     Toolbars usually have horizontal orientation at the top of an
                   1412:     application window, but this does not have to be the case. You
                   1413:     can use the <tt>orient</tt> attribute to set it vertically and
                   1414:     run its content down and not across. While the most common
                   1415:     content for a toolbar is buttons and menus, it can contain any
                   1416:     type of content. 
                   1417:     <h4><a name="77378"></a> See Also</h4>
                   1418:     <tt>toolbarbutton</tt>, <tt>toolbarseparator</tt>,
                   1419:     <tt>toolbox</tt> 
                   1420:     <hr>
                   1421:     <h3><a name="77383"></a> toolbarbutton</h3>
                   1422:     <p>Specially adapted button for use in a toolbar <a name=
                   1423:     "77383"></a> Contained by toolbar 
                   1424:     <!--INDEX toolbarbutton element, XUL -->
                   1425:     </p>
                   1426:     <h4><a name="77383"></a> Additional Attributes</h4>
                   1427:     <tt>accesskey</tt>, <tt>dir</tt>, <tt>disabled</tt>,
                   1428:     <tt>dlgType</tt>, <tt>group</tt>, <tt>image</tt>,
                   1429:     <tt>label</tt>, <tt>orient</tt>, <tt>type</tt>, <tt>value</tt> 
                   1430:     <h4><a name="77383"></a> Description</h4>
                   1431:     This is a button designed especially for a toolbar, with
                   1432:     special stylings for this purpose. The current theme determines
                   1433:     a <tt>toolbarbutton</tt>'s look. See <i>toolbar.css</i> in the
                   1434:     theme JARs to view styles and bindings for this common button. 
                   1435:     <h4><a name="77383"></a> See Also</h4>
                   1436:     <tt>toolbar</tt>, <tt>toolbarseparator</tt>, <tt>toolbox</tt> 
                   1437:     <hr>
                   1438:     <h3><a name="77388"></a> toolbarseparator</h3>
                   1439:     <p>Visible separator for elements contained in a toolbar <a
                   1440:     name="77388"></a> Contained by toolbar 
                   1441:     <!--INDEX toolbarseparator element, XUL -->
                   1442:     </p>
                   1443:     <h4><a name="77388"></a> Additional Attributes</h4>
                   1444:     None. 
                   1445:     <h4><a name="77388"></a> Description</h4>
                   1446:     Like the <tt>menuseparator</tt> in a <tt>menu</tt>,
                   1447:     <tt>toolbarseparator</tt> divides elements in a
                   1448:     <tt>toolbar</tt>. 
                   1449:     <h4><a name="77388"></a> See Also</h4>
                   1450:     <tt>toolbar</tt>, <tt>toolbarbutton</tt>, <tt>toolbox</tt> 
                   1451:     <hr>
                   1452:     <h3><a name="77393"></a> toolbox</h3>
                   1453:     <p>Optional container for menu bars and toolbars <a name=
                   1454:     "77393"></a> Contains <tt>menubar</tt>, 
                   1455:     <!--INDEX toolbox element, XUL --> <tt>toolbar</tt></p>
                   1456:     <h4><a name="77393"></a> Additional Attributes</h4>
                   1457:     None. 
                   1458:     <h4><a name="77393"></a> Description</h4>
                   1459:     <tt>toolbox</tt> can organize several toolbars into one parent
                   1460:     element. <tt>toolbox</tt> inherits from <tt>box</tt>, so you
                   1461:     can use box layout attributes to control the positioning and
                   1462:     layout of toolbars within. 
                   1463:     <h4><a name="77393"></a> See Also</h4>
                   1464:     <tt>menubar</tt>, <tt>toolbar</tt> 
                   1465:     <hr>
                   1466:     <h3><a name="77396"></a> tooltip</h3>
                   1467:     <p>Pop-up window for context-sensitive help</p>
                   1468:     <h4><a name="77396"></a> Additional Attributes</h4>
                   1469:     <tt>noautohide</tt>, <!--INDEX tooltip element, XUL -->
                   1470:     <tt>onpopupshowing</tt>, <tt>onpopuphiding</tt>,
                   1471:     <tt>position</tt> 
                   1472:     <h4><a name="77396"></a> Description</h4>
                   1473:     The <tt>tooltip</tt> element defines text to be displayed. It
                   1474:     is associated by <tt>ID</tt> with elements that want to use its
                   1475:     content in the pop ups they display. However, elements can also
                   1476:     use the <tt>tooltip</tt> attribute to display a tooltip more
                   1477:     directly for themselves. 
                   1478:     <hr>
                   1479:     <h3><a name="77401"></a> tree</h3>
                   1480:     <p>Hierarchical holder of information represented as rows <a
                   1481:     name="77401"></a> Contains <tt>treecols</tt>,
                   1482:     <tt>treechildren</tt></p>
                   1483:     <h4><a name="77401"></a> Additional Attributes</h4>
                   1484:     <tt>multiple</tt>, <!--INDEX tree element, XUL -->
                   1485:     <tt>datasources</tt>, <tt>enableColumnDrag</tt>,
                   1486:     <tt>containment</tt>, <tt>sortResource</tt>,
                   1487:     <tt>sortDirection</tt>, <tt>border</tt>, <tt>seltype</tt>,
                   1488:     <tt>sortActive</tt>, <tt>flags, context</tt>, <tt>persist</tt>,
                   1489:     <tt>hidecolumnpicker</tt> 
                   1490:     <h4><a name="77401"></a> Description</h4>
                   1491:     The <tt>tree</tt> element is a high-level widget that displays
                   1492:     tabular data. More complex than <tt>listbox</tt>, <tt>tree</tt>
                   1493:     allows you to define nested content, different views, and data
                   1494:     display, and provides methods that sort and manipulate its
                   1495:     contents. 
                   1496:     <h4><a name="77401"></a> See Also</h4>
                   1497:     <tt>treecell</tt>, <tt>treechildren</tt>, <tt>treecol</tt>,
                   1498:     <tt>treecols</tt>, <tt>treeitem</tt>, <tt>treerow</tt> 
                   1499:     <hr>
                   1500:     <h3><a name="77406"></a> treecell</h3>
                   1501:     <p>A single cell in a tree <a name="77406"></a> Contained by
                   1502:     treerow</p>
                   1503:     <h4><a name="77406"></a> Additional Attributes</h4>
                   1504:     <tt>src</tt>, <tt>indent</tt>, 
                   1505:     <!--INDEX treecell element, XUL --> <tt>observes</tt>,
                   1506:     <tt>url</tt>, <tt>value</tt>, <tt>label</tt>, <tt>sortActive,
                   1507:     sortDirection</tt>, <tt>tag</tt>, <tt>mode</tt>,
                   1508:     <tt>resource</tt>, <tt>allowevents</tt>, <tt>properties</tt> 
                   1509:     <h4><a name="77406"></a> Description</h4>
                   1510:     The <tt>treecell</tt> contains the actual content to be
                   1511:     displayed in a tree. That content can be in the form of a value
                   1512:     for the <tt>label</tt> attribute. It can also be content in the
                   1513:     <tt>treecell</tt>'s start and end tags (e.g.,
                   1514:     <tt>&lt;treecell&gt;data&lt;/treecell&gt;</tt>). 
                   1515:     <h4><a name="77406"></a> See Also</h4>
                   1516:     tree, treechildren, treecol, treecols, treeitem, treerow 
                   1517:     <hr>
                   1518:     <h3><a name="77412"></a> treechildren</h3>
                   1519:     <p>The main body of a tree; a container for treeitems <a name=
                   1520:     "77412"></a> Contains treeitem 
                   1521:     <!--INDEX treechildren element, XUL -->
                   1522:     <a name="77412"></a> Contained by tree</p>
                   1523:     <h4><a name="77412"></a> Additional Attributes</h4>
                   1524:     open 
                   1525:     <h4><a name="77412"></a> Description</h4>
                   1526:     The <tt>treechildren</tt> element defines the subset of the
                   1527:     <tt>tree</tt> where the content is actually contained (in
                   1528:     contrast to <tt>treecols</tt>, which defines aspects of the
                   1529:     layout). 
                   1530:     <h4><a name="77412"></a> See Also</h4>
                   1531:     <tt>tree</tt>, <tt>treecell</tt>, <tt>treecol</tt>,
                   1532:     <tt>treecols</tt>, <tt>treeitem</tt>, <tt>treerow</tt> 
                   1533:     <hr>
                   1534:     <h3><a name="77417"></a> treecol</h3>
                   1535:     <p>A single column of a tree <a name="77417"></a> Contained by
                   1536:     treecols <!--INDEX treecol element, XUL -->
                   1537:     </p>
                   1538:     <h4><a name="77417"></a> Additional Attributes</h4>
                   1539:     <tt>sort</tt>, <tt>resource</tt>, <tt>primary</tt>,
                   1540:     <tt>sortSeparators</tt>, <tt>label</tt>, <tt>sortActive</tt>,
                   1541:     <tt>sortDirection</tt>, <tt>hideheader</tt>,
                   1542:     <tt>accesskey</tt>, <tt>type</tt> 
                   1543:     <h4><a name="77417"></a> Description</h4>
                   1544:     The <tt>treecol</tt> typically does not contain content.
                   1545:     Instead, it defines the header for the columns whose contents
                   1546:     are defined in the <tt>treerow</tt>s. 
                   1547:     <h4><a name="77417"></a> See Also</h4>
                   1548:     <tt>tree</tt>, <tt>treecell</tt>, <tt>treechildren</tt>,
                   1549:     <tt>treecols</tt>, <tt>treeitem</tt>, <tt>treerow</tt> 
                   1550:     <hr>
                   1551:     <h3><a name="77423"></a> treecols</h3>
                   1552:     <p>Container for tree columns <a name="77423"></a> Contained by
                   1553:     tree <a name="77423"></a> Contains treecol</p>
                   1554:     <h4><a name="77423"></a> Additional Attributes</h4>
                   1555:     None. 
                   1556:     <h4><a name="77423"></a> Description</h4>
                   1557:     This element is a container for a group of <tt>treecol</tt>
                   1558:     elements, or columns, in a tree. A tree should have only one
                   1559:     <tt>treecols</tt>. 
                   1560:     <h4><a name="77423"></a> See Also</h4>
                   1561:     <tt>tree</tt>, <tt>treecell</tt>, <tt>treechildren</tt>,
                   1562:     <tt>treecol</tt>, <tt>treeitem</tt>, <tt>treerow</tt> 
                   1563:     <hr>
                   1564:     <h3><a name="77429"></a> treeitem</h3>
                   1565:     <p>A treerow container <a name="77429"></a> Contained by
                   1566:     treechildren <!--INDEX treeitem element, XUL -->
                   1567:     <a name="77429"></a> Contains treerow</p>
                   1568:     <h4><a name="77429"></a> Additional Attributes</h4>
                   1569:     <tt>rdf:type</tt>, <tt>container</tt>, <tt>open</tt> 
                   1570:     <h4><a name="77429"></a> Description</h4>
                   1571:     The <tt>treeitem</tt> element is a container for a
                   1572:     <tt>treerow</tt>, and makes <tt>treerow</tt> a selectable
                   1573:     element within the <tt>tree</tt>. 
                   1574:     <h4><a name="77429"></a> See Also</h4>
                   1575:     <tt>tree</tt>, <tt>treecell</tt>, <tt>treechildren</tt>,
                   1576:     <tt>treecol</tt>, <tt>treecols</tt>, <tt>treerow</tt> 
                   1577:     <hr>
                   1578:     <h3><a name="77435"></a> treerow</h3>
                   1579:     <p>A single row of a tree <a name="77435"></a> Contained by
                   1580:     treeitem <!--INDEX treerow element, XUL -->
                   1581:     <a name="77435"></a> Contains treecell</p>
                   1582:     <h4><a name="77435"></a> Additional Attributes</h4>
                   1583:     properties 
                   1584:     <h4><a name="77435"></a> Description</h4>
                   1585:     Contained within a <tt>treeitem</tt>, this element represents a
                   1586:     single row of a tree. 
                   1587:     <h4><a name="77435"></a> See Also</h4>
                   1588:     <tt>tree</tt>, <tt>treecell</tt>, <tt>treechildren</tt>,
                   1589:     <tt>treecol</tt>, <tt>treecols</tt>, <tt>treeitem</tt> 
                   1590:     <hr>
                   1591:     <h3><a name="77439"></a> triple</h3>
                   1592:     <p>Substructure of a template that matches RDF statements in
                   1593:     the data</p>
                   1594:     <h4><a name="77439"></a> Additional Attributes</h4>
                   1595:     <tt>predicate</tt>, <!--INDEX triple element, XUL -->
                   1596:     <tt>object</tt>, <tt>subject</tt> 
                   1597:     <h4><a name="77439"></a> Description</h4>
                   1598:     The children of <tt>triple-predicate</tt>, <tt>object</tt>, and
                   1599:     <tt>subject-</tt>match RDF statements that appear in the data
                   1600:     processed in the template. 
                   1601:     <h4><a name="77439"></a> See Also</h4>
                   1602:     <tt>template</tt>, <tt>member</tt>, <tt>content</tt>,
                   1603:     <tt>conditions</tt> 
                   1604:     <hr>
                   1605:     <h3><a name="77442"></a> vbox</h3>
                   1606:     <p>Box container with vertically laid out children</p>
                   1607:     <h4><a name="77442"></a> Additional Attributes</h4>
                   1608:     None. 
                   1609:     <h4><a name="77442"></a> See Also</h4>
                   1610:     <tt>box</tt>, <!--INDEX vbox element, XUL --> hbox 
                   1611:     <hr>
                   1612:     <h3><a name="77446"></a> window</h3>
                   1613:     <p>Root element of a top-level XUL window document</p>
                   1614:     <h4><a name="77446"></a> Additional Attributes</h4>
                   1615:     <tt>windowtype</tt>, <tt><!--INDEX window element, XUL -->
                   1616:     xmlns:rdf</tt>, <tt>xmlns:web</tt>, <tt>titlepreface</tt>,
                   1617:     <tt>onload</tt>, <tt>onunload</tt>, <tt>xmlns</tt>,
                   1618:     <tt>titlemodifier</tt>, <tt>xmlns:html</tt>, <tt>title</tt>,
                   1619:     <tt>onclose</tt>, <tt>titlemenuseparator</tt>,
                   1620:     <tt>contenttitlesetting</tt>, <tt>y</tt>, <tt>x</tt>,
                   1621:     <tt>screenY</tt>, <tt>screenX</tt> 
                   1622:     <h4><a name="77446"></a> Description</h4>
                   1623:     The <tt>window</tt> is an XUL document's basic root element.
                   1624:     The contents of a XUL document, including the <tt>script</tt>
                   1625:     elements, commands, keys, and broadcasters, appear as children
                   1626:     of the window. Overlays, the XML and stylesheet-processing
                   1627:     instructions, and the <tt>DOCTYPE</tt> declaration appear
                   1628:     before and outside a document's root element. The window should
                   1629:     have a unique ID and use minimally, the XUL namespace to
                   1630:     identify markup elements as XUL: <tt>xmlns="<a href=
                   1631:     "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
                   1632:     http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</a>"</tt>.
                   1633:     
                   1634:     <h4><a name="77446"></a> See Also</h4>
                   1635:     <tt>overlay</tt>, <tt>page</tt> 
                   1636:     <hr>
                   1637:     <h3><a name="77451"></a> wizard</h3>
                   1638:     <p>Window used to step though a task <a name="77451"></a>
                   1639:     Contains wizardpage</p>
                   1640:     <h4><a name="77451"></a> Additional Attributes</h4>
                   1641:     <tt>onwizardaccept</tt>, <tt>onwizardcancel</tt>,
                   1642:     <tt>xmlns</tt>, <tt>onwizardfinish</tt>, <tt>xmlns:nc</tt> 
                   1643:     <h4><a name="77451"></a> Description</h4>
                   1644:     Like <tt>dialog</tt>, <tt>wizard</tt> is a specialized version
                   1645:     of the <tt>window</tt> root element. It easily creates
                   1646:     multistep dialog windows that help users set up accounts,
                   1647:     password data, and other customizable information. A
                   1648:     <tt>wizard</tt> contains one or more <tt>wizardpage</tt>s. 
                   1649:     <h4><a name="77451"></a> See Also</h4>
                   1650:     <tt>wizardpage</tt>, <tt>window</tt>, <tt>dialog</tt> 
                   1651:     <hr>
                   1652:     <h3><a name="77456"></a> wizardpage</h3>
                   1653:     <p>A single panel (step) of a wizard <a name="77456"></a>
                   1654:     Contained by wizard</p>
                   1655:     <h4><a name="77456"></a> Additional Attributes</h4>
                   1656:     <tt>label</tt>, <tt>pageid</tt>, <tt>onpageadvanced</tt>,
                   1657:     <tt>onpageshow</tt>, <tt>onpagecancel</tt> 
                   1658:     <h4><a name="77456"></a> Description</h4>
                   1659:     The <tt>wizardpage</tt> can contain 
                   1660:     <!--INDEX wizardpage element, XUL --> arbitrary XUL content.
                   1661:     One or more wizardpages are defined in a <tt>wizard</tt>
                   1662:     window. The intrinsic functionality of a wizard window allows
                   1663:     you to step through <tt>wizardpage</tt>s by setting the
                   1664:     <tt>onpageshow</tt> and <tt>onpagecancel</tt> event handlers on
                   1665:     individual pages and using the <tt>onwizardaccept</tt> and
                   1666:     <tt>onwizardcancel</tt> event handlers on 
                   1667:     <!--INDEX ENDRANGE==XUL element set --> the 
                   1668:     <!--INDEX ENDRANGE==elements:XUL element set -->
                   1669:     <tt>wizard</tt> parent element. 
                   1670:     <h4><a name="77456"></a> See Also</h4>
                   1671:     <tt>wizard</tt>, <tt>window</tt>, <tt>dialog</tt> 
                   1672:     <h2><a name="77457"></a> XBL Element Set</h2>
                   1673:     <p>The XBL 1.0 specification published on the 
                   1674:     <!--INDEX STARTRANGE==XBL element set;elements:XBL element set -->
                   1675:     mozilla.org web site appeared to be a beacon for application
                   1676:     developers. Because the specification was available early in
                   1677:     the development process, XBL seemed to be a tighter, more
                   1678:     comprehensible language that was easier to learn and master
                   1679:     than XUL. Since then, XBL development has strayed from the
                   1680:     specification quite a bit, however, and now people consider XBL
                   1681:     as opaque as XUL without good documentation that helps people
                   1682:     learn and to create a roadmap for use based on continuing
                   1683:     development.</p>
                   1684:     <p>This reference section tries to capture basic elements and
                   1685:     attributes in XBL. Because it binds rather than creates
                   1686:     content, XBL is smaller and inherently more formal than XUL.
                   1687:     Nonetheless, as you will see, the language has quite a bit of
                   1688:     range and complexity. Each entry in this section describes the
                   1689:     XBL element and its purpose, its position in the hierarchy
                   1690:     (i.e., which elements it contains and which elements it is
                   1691:     contained by), and lists the element's attributes. <a href=
                   1692:     "ch07.html#77027">Chapter 7</a> introduces XBL and shows how to
                   1693:     use it. However, once you are familiar with the basics of XBL,
                   1694:     you can consult this reference to find the XBL items you
                   1695:     want.</p>
                   1696:     <hr>
                   1697:     <h3><a name="77463"></a> binding</h3>
                   1698:     <p>A single XBL binding <a name="77463"></a> Contains
                   1699:     <tt>content</tt>, <tt>implementation</tt>, 
                   1700:     <!--INDEX binding element, XBL --> handlers <a name=
                   1701:     "77463"></a> Contained by bindings <a name="77463"></a>
                   1702:     Attributes <tt>id</tt>, <tt>extends</tt>, <tt>display</tt>,
                   1703:     <tt>applyauthorstyles</tt>, <tt>styleexplicitcontent</tt></p>
                   1704:     <h4><a name="77463"></a> Description</h4>
                   1705:     This element defines a single XBL binding that can be attached
                   1706:     to a bound document. It enables the creation of self-contained
                   1707:     widgets that can contain content, implementation, and handlers.
                   1708:     This element must have an <tt>id</tt> attribute value; this
                   1709:     value is how it is associated-either through a CSS style rule
                   1710:     or a DOM method-to the bound element that acts a placeholder
                   1711:     for the binding that is filled out during attachment. The
                   1712:     <tt>extends</tt> attribute inherits from a XUL element or
                   1713:     another binding. 
                   1714:     <h4><a name="77463"></a> See Also</h4>
                   1715:     bindings 
                   1716:     <hr>
                   1717:     <h3><a name="77468"></a> bindings</h3>
                   1718:     <p>An XBL document's root element <a name="77468"></a> Contains
                   1719:     <tt>binding</tt>, <tt>resources</tt>, 
                   1720:     <!--INDEX bindings element, XBL --> stylesheet <a name=
                   1721:     "77468"></a> Attributes <tt>id</tt>, <tt>type</tt></p>
                   1722:     <h4><a name="77468"></a> Description</h4>
                   1723:     This root container can hold one or more bindings, represented
                   1724:     by the <tt>&lt;binding&gt;</tt> markup. The Mozilla code base
                   1725:     references an XBL document through its name, which has an
                   1726:     <i>.xml</i> extension. The document <tt>id</tt> has to be
                   1727:     unique. The other children of <tt>&lt;bindings&gt;</tt> are
                   1728:     <tt>&lt;resources&gt;</tt> and <tt>&lt;stylesheet&gt;</tt>,
                   1729:     which contain style and image information to be used by the
                   1730:     document's bindings. 
                   1731:     <h4><a name="77468"></a> See Also</h4>
                   1732:     binding 
                   1733:     <hr>
                   1734:     <h3><a name="77473"></a> body</h3>
                   1735:     <p>Container for JavaScript code to be executed by an XBL
                   1736:     method <a name="77473"></a> Contained by method 
                   1737:     <!--INDEX body element, XBL -->
                   1738:     <a name="77473"></a> Attributes id</p>
                   1739:     <h4><a name="77473"></a> Description</h4>
                   1740:     This element is designed as a holder for the method's script.
                   1741:     It defines a logical block and differentiates the script from
                   1742:     the parameter element, which also lies within the method.
                   1743:     Script contained in a method has to be in a body element, which
                   1744:     in turn should contain a CDATA section. &lt;![CDATA[...]]&gt;
                   1745:     escapes JavaScript characters like quotes and slashes that may
                   1746:     otherwise conflict with the XML parser. 
                   1747:     <h4><a name="77473"></a> See Also</h4>
                   1748:     method 
                   1749:     <hr>
                   1750:     <h3><a name="77477"></a> children</h3>
                   1751:     <p>Insertion point for children of a bound element, or
                   1752:     inherited binding <a name="77477"></a> Contained by content 
                   1753:     <!--INDEX children element, XBL -->
                   1754:     <a name="77477"></a> Attributes <tt>id</tt>, <tt>includes</tt>,
                   1755:     <tt>type</tt></p>
                   1756:     <h4><a name="77477"></a> Description</h4>
                   1757:     This element needs to be placed in the binding content at the
                   1758:     point where you want to place children of the bound element
                   1759:     when the binding is rendered. If the children tag contains its
                   1760:     own elements, then that element will be default content. If the
                   1761:     element the binding attaches to contains children, the default
                   1762:     content is ignored. 
                   1763:     <hr>
                   1764:     <h3><a name="77482"></a> constructor</h3>
                   1765:     <p>Container for code to be executed when a binding is created
                   1766:     <a name="77482"></a> Contained by implementation 
                   1767:     <!--INDEX constructor element, XBL -->
                   1768:     <a name="77482"></a> Attributes <tt>action</tt>,
                   1769:     <tt>class</tt>, <tt>id</tt></p>
                   1770:     <h4><a name="77482"></a> Description</h4>
                   1771:     This behavior element is contained in the
                   1772:     <tt>implementation</tt> element and holds code that will be
                   1773:     carried out when the binding attachment first takes place. If
                   1774:     you picture a binding as an object, your vision is
                   1775:     initialization code. The code can alternatively be contained as
                   1776:     the <tt>action</tt> attribute's value. 
                   1777:     <h4><a name="77482"></a> See Also</h4>
                   1778:     destructor 
                   1779:     <hr>
                   1780:     <h3><a name="77487"></a> content</h3>
                   1781:     <p>Container for anonymous content to be inserted into a bound
                   1782:     document <a name="77487"></a> Contains <tt>children</tt>; any
                   1783:     markup <!--INDEX content element, XBL --> content <a name=
                   1784:     "77487"></a> Contained by binding <a name="77487"></a>
                   1785:     Attributes id</p>
                   1786:     <h4><a name="77487"></a> Description</h4>
                   1787:     This container for the anonymous binding content is placed at
                   1788:     the point where the element using it is in the bound document.
                   1789:     <tt>children</tt> is the only XBL element allowed as a child of
                   1790:     <tt>content</tt>. All other content is either HTML or XUL,
                   1791:     depending on the context in which you use the binding. 
                   1792:     <hr>
                   1793:     <h3><a name="77492"></a> destructor</h3>
                   1794:     <p>Container for code to be executed when a binding is
                   1795:     destroyed <a name="77492"></a> Contained by implementation 
                   1796:     <!--INDEX destructor element, XBL -->
                   1797:     <a name="77492"></a> Attributes <tt>action</tt>,
                   1798:     <tt>class</tt>, <tt>id</tt></p>
                   1799:     <h4><a name="77492"></a> Description</h4>
                   1800:     Contained in the binding's <tt>implementation</tt>, this
                   1801:     element carries out code placed within it when the binding is
                   1802:     detached or destroyed. This detachment and destruction occurs
                   1803:     when the bound element matches a different style rule, the
                   1804:     bound element is removed from the document, or the document is
                   1805:     closed or destroyed. The code can alternatively be a value of
                   1806:     the <tt>action</tt> attribute. 
                   1807:     <h4><a name="77492"></a> See Also</h4>
                   1808:     constructor 
                   1809:     <hr>
                   1810:     <h3><a name="77497"></a> element</h3>
                   1811:     <p>Insertion point for bound elements in anonymous content <a
                   1812:     name="77497"></a> Contained by content <a name="77497"></a>
                   1813:     Attributes id</p>
                   1814:     <h4><a name="77497"></a> Description</h4>
                   1815:     This element allows placement of a 
                   1816:     <!--INDEX element element, XBL --> bound element at a point in
                   1817:     the anonymous content (other than the top level that is the
                   1818:     default for it). To use it, place it at the point in the
                   1819:     binding content where you want the bound element to be
                   1820:     rendered. This element is part of the XBL 1.0 specification,
                   1821:     but is not yet implemented. 
                   1822:     <h4><a name="77497"></a> See Also</h4>
                   1823:     content 
                   1824:     <hr>
                   1825:     <h3><a name="77502"></a> field</h3>
                   1826:     <p>Holder property for simple data <a name="77502"></a>
                   1827:     Contained by implementation <!--INDEX field element, XBL -->
                   1828:     <a name="77502"></a> Attributes <tt>class</tt>, <tt>id</tt>
                   1829:     <tt>name</tt>, <tt>readonly</tt></p>
                   1830:     <h4><a name="77502"></a> Description</h4>
                   1831:     This element is a simple data holder and an alternative to a
                   1832:     <tt>property</tt>. It differs from <tt>property</tt> because it
                   1833:     does not use a <tt>getter</tt> or <tt>setter</tt>. It is useful
                   1834:     for holding static/constant values for use elsewhere in the
                   1835:     binding. 
                   1836:     <h4><a name="77502"></a> See Also</h4>
                   1837:     <tt>implementation</tt>, <tt>property</tt> 
                   1838:     <hr>
                   1839:     <h3><a name="77507"></a> getter</h3>
                   1840:     <p>Script access point for an element's property <a name=
                   1841:     "77507"></a> Contained by property <a name="77507"></a>
                   1842:     Attributes <tt>id</tt>, <tt>type</tt></p>
                   1843:     <h4><a name="77507"></a> Description</h4>
                   1844:     This element executes script when the <tt>property</tt> it is
                   1845:     attached to is accessed. This is most commonly used to return
                   1846:     the value of the property. 
                   1847:     <h4><a name="77507"></a> See Also</h4>
                   1848:     <tt>property</tt>, <tt>setter</tt> 
                   1849:     <hr>
                   1850:     <h3><a name="77512"></a> handler</h3>
                   1851:     <p>Single event handler for an XBL element <a name="77512"></a>
                   1852:     Contained by handlers <a name="77512"></a> Attributes
                   1853:     <tt>id</tt>, <tt>event</tt>, <tt>action</tt>, <tt>phase</tt>,
                   1854:     <tt>attachto</tt>, <tt>button</tt>, <tt>modifiers</tt>,
                   1855:     <tt>keycode</tt>, <tt>charcode</tt>, <tt>type</tt></p>
                   1856:     <h4><a name="77512"></a> Description</h4>
                   1857:     This element defines an <!--INDEX handler element, XBL -->
                   1858:     event handler on a binding that reacts to a mouse movement or
                   1859:     keyboard press on the binding. Some executed code is contained
                   1860:     in the handler. This code can go directly under the element or
                   1861:     in the <tt>action</tt> attribute. The <tt>attachto</tt>
                   1862:     attribute determines where the event is received-in the
                   1863:     element, document, or window. The default receiver is the bound
                   1864:     element. The <tt>phase</tt> attribute has three possible
                   1865:     values-capturing, bubbling, and target-that determine which
                   1866:     part of the event flow and default is bubbling The
                   1867:     <tt>button</tt>, <tt>charcode</tt>, <tt>keycode</tt>, and
                   1868:     <tt>modifiers</tt> attributes act as filters. For example, the
                   1869:     value of <tt>button</tt> must match the label of the button
                   1870:     that triggers the event. The section "Event Attributes," later
                   1871:     in this chapter, contains a complete list of events. 
                   1872:     <h4><a name="77512"></a> See Also</h4>
                   1873:     handlers 
                   1874:     <hr>
                   1875:     <h3><a name="77518"></a> handlers</h3>
                   1876:     <p>Container for event-handler elements <a name="77518"></a>
                   1877:     Contains handler <!--INDEX handlers element, XBL -->
                   1878:     <a name="77518"></a> Contained by binding <a name="77518"></a>
                   1879:     Attributes <tt>id</tt>, <tt>type</tt></p>
                   1880:     <h4><a name="77518"></a> Description</h4>
                   1881:     This element is placed under the binding element and contains
                   1882:     the event handlers used by that binding. 
                   1883:     <h4><a name="77518"></a> See Also</h4>
                   1884:     handler 
                   1885:     <hr>
                   1886:     <h3><a name="77523"></a> image</h3>
                   1887:     <p>An image resource in a binding <a name="77523"></a>
                   1888:     Contained by resources <a name="77523"></a> Attributes
                   1889:     <tt>class</tt>,<tt>id</tt>, <tt>src</tt></p>
                   1890:     <h4><a name="77523"></a> Description</h4>
                   1891:     This element preloads images; all included image resources are
                   1892:     loaded when the binding is used. 
                   1893:     <h4><a name="77523"></a> See Also</h4>
                   1894:     <tt>resources</tt>, <tt>stylesheet</tt> 
                   1895:     <hr>
                   1896:     <h3><a name="77529"></a> implementation</h3>
                   1897:     <p>Container for binding methods and properties <a name=
                   1898:     "77529"></a> Contains <tt>method</tt>, 
                   1899:     <!--INDEX implementation element, XBL --> property <a name=
                   1900:     "77529"></a> Contained by binding <a name="77529"></a>
                   1901:     Attributes <tt>id</tt>, <tt>name</tt>, <tt>implements</tt>,
                   1902:     <tt>type</tt></p>
                   1903:     <h4><a name="77529"></a> Description</h4>
                   1904:     This element holds a binding's <tt>&lt;method&gt;</tt> and
                   1905:     <tt>&lt;property&gt;</tt> elements that, as a whole, make up a
                   1906:     binding's behavior. The optional <tt>implements</tt> attribute
                   1907:     can hold a list of comma-separated XPCOM interfaces that are
                   1908:     used by the implementation's methods and properties. The
                   1909:     optional <tt>type</tt> attribute represents the scripting
                   1910:     language to be used. This attribute defaults to JavaScript, the
                   1911:     only implemented language that scripts Mozilla's XPFE. 
                   1912: <pre>
                   1913: &lt;implementation type="application/x-javascript" implements="nsIAccessibleProvider"&gt;
1.1       david    1914: ...
1.7       petejc   1915: &lt;/implementation&gt;
                   1916: </pre>
                   1917:     <h4><a name="77529"></a> See Also</h4>
                   1918:     <tt>binding</tt>, <tt>method</tt>, <tt>property</tt> 
                   1919:     <hr>
                   1920:     <h3><a name="77535"></a> method</h3>
                   1921:     <p>Script function to be accessed on a binding object <a name=
                   1922:     "77535"></a> Contains <tt>body</tt>, 
                   1923:     <!--INDEX method element, XBL --> parameter <a name=
                   1924:     "77535"></a> Contained by implementation <a name="77535"></a>
                   1925:     Attributes <tt>id</tt>, <tt>name</tt>, <tt>type</tt></p>
                   1926:     <h4><a name="77535"></a> Description</h4>
                   1927:     This element supplies a single function to the bound element or
                   1928:     binding object. The most important attribute is <tt>name</tt>,
                   1929:     which calls the method and is compulsory. The method can have
                   1930:     the <tt>&lt;parameter&gt;</tt> element define parameters. A
                   1931:     <tt>&lt;body&gt;</tt> element contains the code that will be
                   1932:     executed. 
                   1933:     <h4><a name="77535"></a> See Also</h4>
                   1934:     <tt>body</tt>, <tt>implementation</tt>, <tt>parameter</tt> 
                   1935:     <hr>
                   1936:     <h3><a name="77540"></a> parameter</h3>
                   1937:     <p>Single paramter declaration for a method <a name=
                   1938:     "77540"></a> Contained by method <a name="77540"></a>
                   1939:     Attributes <tt>id</tt>, <tt>name</tt></p>
                   1940:     <h4><a name="77540"></a> Description</h4>
                   1941:     Each <tt>&lt;parameter&gt;</tt> element 
                   1942:     <!--INDEX parameter element, XBL --> lists a single parameter
                   1943:     for a method. The <tt>name</tt> attribute is compulsory and is
                   1944:     used by the method code to access the parameter's value. 
                   1945:     <h4><a name="77540"></a> See Also</h4>
                   1946:     method 
                   1947:     <hr>
                   1948:     <h3><a name="77546"></a> property</h3>
                   1949:     <p>Definition of a single binding object property <a name=
                   1950:     "77546"></a> Contains <tt>getter</tt>, 
                   1951:     <!--INDEX property element, XBL --> <tt>setter</tt> <a name=
                   1952:     "77546"></a> Contained by implementation <a name="77546"></a>
                   1953:     Attributes <tt>id</tt>, <tt>name</tt>, <tt>readonly</tt>,
                   1954:     <tt>onget</tt>, <tt>onset</tt>, <tt>element</tt>,
                   1955:     <tt>attribute</tt>, <tt>property</tt>, <tt>type</tt></p>
                   1956:     <h4><a name="77546"></a> Description</h4>
                   1957:     This element defines a bound element's or binding object's
                   1958:     property. The name attribute is compulsory because it accesses
                   1959:     the property. <tt>&lt;getter&gt;</tt> and
                   1960:     <tt>&lt;setter&gt;</tt> child elements are optional and get and
                   1961:     set the property value, respectively. The <tt>onget</tt> and
                   1962:     <tt>onset</tt> attributes are alternatives. The
                   1963:     <tt>element</tt> attribute is a reference to the anonymous
                   1964:     content's node <tt>id</tt>. When the property is set, it is
                   1965:     also set on that node. The property can be set to
                   1966:     <tt>readonly</tt>. 
                   1967:     <h4><a name="77546"></a> See Also</h4>
                   1968:     <tt>field</tt>, <tt>getter</tt>, <tt>setter</tt> 
                   1969:     <hr>
                   1970:     <h3><a name="77551"></a> resources</h3>
                   1971:     <p>Container for list of resources that can be used by a
                   1972:     binding <a name="77551"></a> Contains <tt>image</tt>, 
                   1973:     <!--INDEX resources element, XBL --> stylesheet <a name=
                   1974:     "77551"></a> Contained by binding</p>
                   1975:     <h4><a name="77551"></a> Description</h4>
                   1976:     Along with <tt>&lt;content&gt;</tt>,
                   1977:     <tt>&lt;implementation&gt;</tt>, and <tt>&lt;handlers&gt;</tt>,
                   1978:     this element is one of the binding element's top-level
                   1979:     children. It defines the binding's resources. Stylesheets and
                   1980:     images are the current resources available to bindings. It is
                   1981:     common for a single binding to contain all resources, which
                   1982:     another binding can then inherit. 
                   1983:     <h4><a name="77551"></a> See Also</h4>
                   1984:     <tt>image</tt>, <tt>stylesheet</tt> 
                   1985:     <hr>
                   1986:     <h3><a name="77556"></a> setter</h3>
                   1987:     <p>Change a binding property's value <a name="77556"></a>
                   1988:     Contained by property <a name="77556"></a> Attributes
                   1989:     <tt>id</tt>, <tt>type</tt></p>
                   1990:     <h4><a name="77556"></a> Description</h4>
                   1991:     This element commonly sets the 
                   1992:     <!--INDEX setter element, XBL --> value of the property, and
                   1993:     optionally executes other script for the property. 
                   1994:     <h4><a name="77556"></a> See Also</h4>
                   1995:     <tt>getter</tt>, <tt>property</tt> 
                   1996:     <hr>
                   1997:     <h3><a name="77561"></a> stylesheet</h3>
                   1998:     <p>Captures an external stylesheet for use by anonymous content
                   1999:     <a name="77561"></a> Contained by resources <a name=
                   2000:     "77561"></a> Attributes src</p>
                   2001:     <h4><a name="77561"></a> Description</h4>
                   2002:     This element defines a stylesheet 
                   2003:     <!--INDEX stylesheet element, XBL --> to be used by a binding.
                   2004:     An element's bound element and explicit children as well as
                   2005:     anonymous content can use <tt>stylesheet</tt>. The <tt>src</tt>
                   2006:     attribute has a URL value that points to the stylesheet. If you
                   2007:     use the <tt>xml-stylesheet</tt> processing instruction on a
                   2008:     binding, it can be applied only at a document level. It 
                   2009:     <!--INDEX ENDRANGE==XBL element set;elements:XBL element set -->
                   2010:     cannot be applied at a binding level, which is covered by the
                   2011:     <tt>&lt;stylesheet&gt;</tt> element. 
                   2012:     <h4><a name="77561"></a> See Also</h4>
                   2013:     <tt>image</tt>, <tt>resources</tt> 
                   2014:     <h2><a name="77562"></a> Event Attributes</h2>
                   2015:     <p>Events are built-in constructs that 
                   2016:     <!--INDEX STARTRANGE==events:attributes;attributes:events -->
                   2017:     are part of the interaction between JavaScript and HTML. These
                   2018:     constructs have been crucial to DHTML for many years. They are
                   2019:     designed to capture and handle actions triggered by the user,
                   2020:     such as a mouse click or the pressing of a certain key. Event
                   2021:     handlers have been brought into the world of XUL/XBL and allow
                   2022:     dynamic, interactive Mozilla applications. In XUL, events can
                   2023:     exist on any attribute, and typically bubble up through the
                   2024:     hierarchy. An event attribute of the empty string generates a
                   2025:     JS strict warning (if this is turned on in the user
                   2026:     preferences), and removing an event attribute from a XUL event
                   2027:     does not remove the event listener (although it does in
                   2028:     HTML).</p>
                   2029:     <p>The events are listed in the form
                   2030:     <tt>on&lt;eventName&gt;</tt>, which is how events are used as
                   2031:     attributes on XUL elements. The attribute contains lines of
                   2032:     script or a function call, when a script is too long. Here is
                   2033:     an example of an event attribute that carries out a function
                   2034:     each time a <tt>menulist</tt> value changes:</p>
                   2035: <pre>
                   2036: &lt;menulist id="eventList" editable="true" flex="1" onchange="addEvent(this)"&gt;
                   2037: </pre>
                   2038:     <p>The syntax is different in XBL. Here the event is specified
                   2039:     as the value of the <tt>name</tt> attribute, which is attached
                   2040:     to the <tt>handler</tt> element. One or more of these elements
                   2041:     can optionally be contained in a binding. The given value is
                   2042:     the event's name, minus the "on" prefix. The executed code is
                   2043:     contained in the body of the handler inline, or in the
                   2044:     <tt>action</tt> attribute, as shown in this example:</p>
                   2045: <pre>
                   2046: &lt;handler name="focus" action="this.activate( )"/&gt;
                   2047: </pre>
                   2048:     <p><a href="ch07.html#77027">Chapter 7</a> provides a closer
                   2049:     look at events in XBL. All the events listed here are available
                   2050:     for use in XUL and XBL.</p>
                   2051:     <hr>
                   2052:     <h3><a name="77563"></a> onblur</h3>
                   2053:     Usually used for input element 
                   2054:     <!--INDEX onblur event;events onblur --> such as a textbox,
                   2055:     this event triggers actions when the focus leaves a widget.
                   2056:     This action is the opposite of the <tt>onfocus</tt> event. 
                   2057:     <hr>
                   2058:     <h3><a name="77564"></a> onbroadcast</h3>
                   2059:     This event is activated when the 
                   2060:     <!--INDEX onbroadcast event;events:onbroadcast --> broadcaster
                   2061:     attributes being "listened to" are changed. It can be placed on
                   2062:     the <tt>observes</tt> element, which is placed in an element
                   2063:     that is being listened to, or on an element that uses the
                   2064:     <tt>observes</tt> attribute. Refer to <a href=
                   2065:     "ch03.html#77084">Chapter 3</a> for more information on
                   2066:     broadcasters and observers. 
                   2067:     <hr>
                   2068:     <h3><a name="77565"></a> onchange</h3>
                   2069:     This event is fired when the value 
                   2070:     <!--INDEX onchange event;events:onchange --> of a particular
                   2071:     widget's (element) attribute that uses it changes. A menulist
                   2072:     selection is one example. It can also be used on an observer
                   2073:     when the attribute the observer listens to changes. 
                   2074:     <hr>
                   2075:     <h3><a name="77566"></a> onclick</h3>
                   2076:     Relevant to any element that can be 
                   2077:     <!--INDEX onclick event;events:onchange --> clicked on, such as
                   2078:     a button, this event occurs when the mouse is clicked on an
                   2079:     element that uses it. For some widgets that use this event,
                   2080:     using <tt>oncommand</tt> attribute (which covers clicking) is
                   2081:     recommended to avoid excluding keyboard selection. Here are
                   2082:     some commonly used properties associated with this event: 
                   2083:     <dl>
                   2084:       <dt>button</dt>
                   2085:       <dd>This property tells you which mouse button was clicked.
                   2086:       Its values are 0 for the left mouse button, 1 for middle
                   2087:       button, and 2 for right button.</dd>
                   2088:       <dt>detail</dt>
                   2089:       <dd>This property counts how many clicks occur over an
                   2090:       element before the mouse is moved. The values for this
                   2091:       property start at 1 and increment for every click.</dd>
                   2092:     </dl>
                   2093:     Instead of catching double clicks this way, you can use the
                   2094:     <tt>ondblclick</tt> event. 
                   2095:     <hr>
                   2096:     <h3><a name="77567"></a> onclose</h3>
                   2097:     Usually used to evaluate script when 
                   2098:     <!--INDEX onclose event;events:onclose --> a window is closed
                   2099:     with the close button or via a <tt>window.close( )</tt> call,
                   2100:     this event traps the closure of a widow. If the JavaScript
                   2101:     evaluates to "true," the window closes; otherwise, the window
                   2102:     remains open. 
                   2103:     <hr>
                   2104:     <h3><a name="77568"></a> oncommand</h3>
                   2105:     This event is sent when an element 
                   2106:     <!--INDEX oncommand event;events:oncommand --> is activated.
                   2107:     Activation can mean more than one thing. You can activate by
                   2108:     selecting a menu item, hitting Enter on the keyboard when an
                   2109:     element has focus, or clicking on an element. Use this event if
                   2110:     you want to cover the most possibilities available for
                   2111:     activation. 
                   2112:     <hr>
                   2113:     <h3><a name="77569"></a> oncommandupdate</h3>
                   2114:     This event is used on a command set 
                   2115:     <!--INDEX oncommandupdate event;events:oncommandupdate --> when
                   2116:     one of its commands is updated, such as when its disabled
                   2117:     attribute changes. 
                   2118:     <hr>
                   2119:     <h3><a name="77570"></a> oncontextmenu</h3>
                   2120:     This event occurs when a request 
                   2121:     <!--INDEX oncontextmenu event;events:oncontextmenu --> is made
                   2122:     for a context menu-usually a right click, depending on the
                   2123:     platform-and is activated before the menu appears.
                   2124:     <tt>oncontextmenu</tt> is similar to the <tt>oncreate</tt> and
                   2125:     <tt>onpopupshowing</tt> events. 
                   2126:     <hr>
                   2127:     <h3><a name="77571"></a> oncreate</h3>
                   2128:     Called on a <tt>popup</tt> element, this event carries 
                   2129:     <!--INDEX oncreate event;events:oncreate --> out some code
                   2130:     before the <tt>popup</tt> appears. It can be useful for
                   2131:     dynamically determining which items appear in the resulting
                   2132:     menu. 
                   2133:     <hr>
                   2134:     <h3><a name="77572"></a> ondblclick</h3>
                   2135:     This event cccurs when there are two 
                   2136:     <!--INDEX ondblclick event;events:ondblclick --> consecutive
                   2137:     mouse clicks on an element. You could also use the
                   2138:     <tt>onclick</tt> event's detail property with a value of 2. 
                   2139:     <hr>
                   2140:     <h3><a name="77573"></a> ondestroy</h3>
                   2141:     Designed to carry out functions after a 
                   2142:     <!--INDEX ondestroy event;events:ondestroy --> pop-up window
                   2143:     disappears, this event can be used with a <tt>popup</tt> or
                   2144:     <tt>menupopup</tt> element. 
                   2145:     <hr>
                   2146:     <h3><a name="77574"></a> ondragdrop</h3>
                   2147:     When a drag and drop session completes 
                   2148:     <!--INDEX ondragdrop event;events:ondragdrop --> and the user
                   2149:     releases the mouse over the element, this event is triggered.
                   2150:     The accessed code can acknowledge the drop and carry out an
                   2151:     operation after accepting the dragged object. 
                   2152:     <hr>
                   2153:     <h3><a name="77575"></a> ondragenter</h3>
                   2154:     The <tt>ondragenter</tt> event is sent when the 
                   2155:     <!--INDEX ondragenter event;events:ondragenter --> mouse cursor
                   2156:     first moves over an element during a drag and drop session.
                   2157:     This element differs from the <tt>mouseover</tt> event because
                   2158:     it occurs during a drag and drop session. 
                   2159:     <hr>
                   2160:     <h3><a name="77576"></a> ondragexit</h3>
                   2161:     This element is activated when the 
                   2162:     <!--INDEX ondragexit event;events:ondragexit --> cursor moves
                   2163:     away from an element during a drag and drop session. It occurs
                   2164:     after the <tt>ondragdrop</tt> event. 
                   2165:     <hr>
                   2166:     <h3><a name="77577"></a> ondraggesture</h3>
                   2167:     The event is triggered at the beginning 
                   2168:     <!--INDEX ondraggesture event;events:ondraggesture --> of a
                   2169:     drag and drop session when the user holds the mouse button on
                   2170:     the dragged object. 
                   2171:     <hr>
                   2172:     <h3><a name="77578"></a> ondragover</h3>
                   2173:     When an object is dragged over an 
                   2174:     <!--INDEX ondragover event;events:ondragover --> element, this
                   2175:     event is commonly used by an element to determine whether the
                   2176:     drop can occur. 
                   2177:     <hr>
                   2178:     <h3><a name="77579"></a> onfocus</h3>
                   2179:     This event is triggered when an element 
                   2180:     <!--INDEX onfocus event;events:onfocus --> receives focus in
                   2181:     the UI. When it has focus, it can accept keyboard events. The
                   2182:     opposite of <tt>onfocus</tt> is <tt>onblur</tt>. 
                   2183:     <hr>
                   2184:     <h3><a name="77580"></a> oninput</h3>
                   2185:     Used on <tt>textbox</tt> elements, this event is 
                   2186:     <!--INDEX oninput event;events:oninput --> activated when
                   2187:     displayable keys change the text in the box. 
                   2188:     <hr>
                   2189:     <h3><a name="77581"></a> onkeydown</h3>
                   2190:     This event occurs when the user presses 
                   2191:     <!--INDEX onkeydown event;events:onkeydown --> a key on an
                   2192:     element that has focus and the key press is not released. 
                   2193:     <hr>
                   2194:     <h3><a name="77582"></a> onkeypress</h3>
                   2195:     Similar to <tt>onkeydown</tt>, this event occurs 
                   2196:     <!--INDEX onkeypress event;events:onkeypress --> on a focused
                   2197:     element when a key is pressed. The distinction is that with
                   2198:     this event, the key is released soon after being pressed. The
                   2199:     check for which key was pressed can be using the
                   2200:     <tt>event.keyCode</tt> property. 
                   2201:     <hr>
                   2202:     <h3><a name="77583"></a> onkeyup</h3>
                   2203:     This event is activated when the key press 
                   2204:     <!--INDEX onkeyup event;events:onkeyup --> is released on a
                   2205:     focused element. 
                   2206:     <hr>
                   2207:     <h3><a name="77584"></a> onload</h3>
                   2208:     This event is activated on a XUL window 
                   2209:     <!--INDEX onload event;events:onload --> or dialog after it has
                   2210:     fully loaded. It should be attached to the elements of the same
                   2211:     name. It can also be attached to <tt>image</tt> elements or
                   2212:     elements that display images. 
                   2213:     <hr>
                   2214:     <h3><a name="77585"></a> onmousedown</h3>
                   2215:     This event occurs when a mouse 
                   2216:     <!--INDEX onmousedown event;events:onmousedown --> is pressed
                   2217:     on an element but not released. 
                   2218:     <hr>
                   2219:     <h3><a name="77586"></a> onmousemove</h3>
                   2220:     A reoccuring event, this event 
                   2221:     <!--INDEX onmousemove event;events:onmousemove --> repeatedly
                   2222:     fires when a mouse moves over an element. 
                   2223:     <hr>
                   2224:     <h3><a name="77587"></a> onmouseout</h3>
                   2225:     When the mouse moves away 
                   2226:     <!--INDEX onmouseout event;events:onmouseout --> from an
                   2227:     element, this event occurs. 
                   2228:     <hr>
                   2229:     <h3><a name="77588"></a> onmouseover</h3>
                   2230:     A hover event, this event fires 
                   2231:     <!--INDEX onmouseover event;events:onmouseover --> when the
                   2232:     mouse initially moves into an element's space. 
                   2233:     <hr>
                   2234:     <h3><a name="77589"></a> onmouseup</h3>
                   2235:     This event occurs when a 
                   2236:     <!--INDEX onmouseup event;events:onmouseup --> mouse is clicked
                   2237:     and the button is released on an element immediately
                   2238:     afterwards. 
                   2239:     <hr>
                   2240:     <h3><a name="77590"></a> onoverflow</h3>
                   2241:     Relating to a box or layout 
                   2242:     <!--INDEX onoverflow event;events:onoverflow --> element, this
                   2243:     event is activated when the content contained in the box is too
                   2244:     big for its given size and and "falls over the edge." 
                   2245:     <hr>
                   2246:     <h3><a name="77591"></a> onoverflowchanged</h3>
                   2247:     This element is called when an 
                   2248:     <!--INDEX onoverflowchanged event;events:onoverflowchanged -->
                   2249:     element's overflow state changes. This can indicate that it did
                   2250:     not have enough space to display it contents fully but does
                   2251:     now, or that it does not have enough space and thus overflowed.
                   2252:     
                   2253:     <hr>
                   2254:     <h3><a name="77592"></a> onpopuphidden</h3>
                   2255:     This event is activated on a <tt>popup</tt> 
                   2256:     <!--INDEX onpopuphidden event;events:onpopuphidden --> when the
                   2257:     pop-up window is hidden. 
                   2258:     <hr>
                   2259:     <h3><a name="77593"></a> onpopuphiding</h3>
                   2260:     This event is activated on a <tt>popup</tt> 
                   2261:     <!--INDEX onpopuphidden event;events:onpopuphidden --> while it
                   2262:     is hidden. 
                   2263:     <hr>
                   2264:     <h3><a name="77594"></a> onpopupshowing</h3>
                   2265:     This event is activated on a <tt>popup</tt> 
                   2266:     <!--INDEX onpopupshowing event;events:onpopupshowing --> just
                   2267:     before it opens. It is commonly used to dynamically set the
                   2268:     contents of the <tt>popup</tt> when it is requested in the UI. 
                   2269:     <hr>
                   2270:     <h3><a name="77595"></a> onpopupshown</h3>
                   2271:     This is event is activated on a <tt>popup</tt> 
                   2272:     <!--INDEX onpopupshown event;events:onpopupshown --> after it
                   2273:     is opened. 
                   2274:     <hr>
                   2275:     <h3><a name="77596"></a> onselect</h3>
                   2276:     When you activate or select an 
                   2277:     <!--INDEX onselect event;events:onselect --> available option
                   2278:     in a widget, this event is fired. This event applies to such
                   2279:     widgets as trees and listboxes. 
                   2280:     <hr>
                   2281:     <h3><a name="77597"></a> onunderflow</h3>
                   2282:     This event can be used in tandem 
                   2283:     <!--INDEX onunderflow event;events:onunderflow --> with the
                   2284:     <tt>onoverflow</tt> event. It is activated when a layout
                   2285:     element's content changes to fit into its given constraints
                   2286:     after being in an overflow state. 
                   2287:     <hr>
                   2288:     <h3><a name="77598"></a> onunload</h3>
                   2289:     This event is activated when a window 
                   2290:     <!--INDEX onunload event;events:onunload --> or dialog closes.
                   2291:     It should be used on the root elements of these 
                   2292:     <!--INDEX ENDRANGE==events:attributes;attributes:events -->
                   2293:     window documents. 
                   2294:     <hr>
                   2295:     <!-- ?php require(NOTES); ? -->
1.11    ! brian    2296:     <!-- ?php $hide_text_control=1; $post_to_list=NO; $author='reviewers@mozdev.org'; require(NOTES); ? -->

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>