File:  [mozdev] / books / www / chapters / appc.html
Revision 1.13: download - view: text, annotated - select for diffs - revision graph
Fri Apr 4 16:27:40 2003 UTC (17 years, 3 months ago) by cdn
Branches: MAIN
CVS tags: HEAD

    1:     <link rel="prev" href="" />
    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.
  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.
 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>
 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:     "">
 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: 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;
 1914: ...
 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.
 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 $hide_text_control=1; $post_to_list=NO; $author=''; // require(NOTES); ?>

FreeBSD-CVSweb <>