File:  [mozdev] / books / www / chapters / appc.html
Revision 1.7: download - view: text, annotated - select for diffs - revision graph
Wed Dec 11 18:57:10 2002 UTC (17 years, 5 months ago) by petejc
Branches: MAIN
CVS tags: HEAD
cleaned up html code w/ html tidy

--pete

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

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