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

1.1       david       1: <HTML>
                      2: <HEAD><TITLE>Appendix C</TITLE></HEAD><BODY BGCOLOR=WHITE><H2>Appendix C</H2>
                      3: <H1><A NAME="77003"></A> Programmer's Reference</H1>
1.2       david       4: <P>This appendix is an easy-to-use reference that contains information about XUL elements, XBL elements, and event attributes. Details about how 
                      5: each element and event works within a Mozilla application are covered in the rest of the book; to learn how to use XUL or XBL, read <A 
                      6: HREF="ch03.html#32764">Chapter 3</A> and <A HREF="ch07.html#70326">Chapter 7</A>.
1.1       david       7: <P>Once you know how to use XUL and XBL, this reference allows you to look up all available tags and elements quickly. Each entry listed below includes a brief description of the element or event, its purpose, what attributes the element or event has, and what other related elements or events you can look at to get more information.
                      8: <H2><A NAME="77004"></A> XUL Element Set</H2>
                      9: <P>XUL isn't yet identified as a specification, and the  <!--INDEX STARTRANGE--XUL element set -->  <!--INDEX STARTRANGE--elements:XUL element set --> language is still changing. The elements and attributes given here represent a stable subset of the XUL widget set. XML allows you to define new elements and attributes arbitrarily (which is partly what makes a powerful extension like XBL possible) in your markup. Although it's discouraged in practice, Mozilla application developers-even those working on the Mozilla source itself-often use this flexibility to manage data in one-off attributes. For example, you may find XUL buttons in the source with attributes like "loading," which is not part of the XUL specification. In fact, XBL's presence, XML's flexibility, and DOM interfaces blur the distinction between valid XUL and other XML markup. This reference tries to document all widgets in the XUL 1.0 release, any additional attributes these elements have, and their use  <!--INDEX attributes:XUL:elements;XUL elements, attributes --> in Mozilla application development.
                     10: <P>All XUL elements have the attributes shown in Table C-1.
                     11: 
                     12: <P><I>Table C-1: <A NAME="77002"></A></I>
                     13: <I>Common XUL element attributes</I>
                     14: <P><TABLE WIDTH=100% BORDER=1><TR><TD><B>  Attribute</B></TD>  <TD><B>  Description</B></TD></TR>
                     15: <TR><TD> align</TD>    <TD>  Specifies how child elements are aligned: baseline, center, end, start, or stretch</TD></TR>
                     16: <TR><TD> allowevents</TD>      <TD>  (Boolean) Specifies whether events should be passed to the child elements</TD></TR>
                     17: <TR><TD> class</TD>    <TD>  The element class of the ; often used for class-based style rules</TD></TR>
                     18: <TR><TD> collapsed</TD>        <TD>  (Boolean) Specifies whether the element is collapsed or displayed; defaults to false</TD></TR>
                     19: <TR><TD> container</TD>        <TD>  (Boolean) Specifies whether the element can have child elements</TD></TR>
                     20: <TR><TD> containment</TD>      <TD>  Used in templates; points to RDF property represented by this XUL element</TD></TR>
                     21: <TR><TD> context</TD>  <TD>  Points to the context menu that this element should use</TD></TR>
                     22: <TR><TD> datasources</TD>      <TD>  Used in templates; points to the RDF data that gets processed</TD></TR>
                     23: <TR><TD> debug</TD>    <TD>  Used for debugging XUL; adds borders to make the element and its layout easily visible</TD></TR>
                     24: <TR><TD> dir</TD>      <TD>  Specifies the direction of the children: normal or reverse</TD></TR>
                     25: <TR><TD> empty</TD>    <TD>  (Boolean) Used for template; specifies that the container has no children</TD></TR>
                     26: <TR><TD> equalsize</TD>        <TD>  Specifies whether the children should be of the same size: always or never</TD></TR>
                     27: <TR><TD> flex</TD>     <TD>  Provides an integer or percent value that specifies the flexibility of an element relative to its siblings within a container</TD></TR>
                     28: <TR><TD> flexgroup</TD>        <TD>  Provides an integer that can group elements and give them the same degree of flexibility</TD></TR>
                     29: <TR><TD> height</TD>   <TD>  Specifies an element's height</TD></TR>
                     30: <TR><TD> hidden</TD>   <TD>  (Boolean) Specifies whether the element is displayed; defaults to </TD>false</TR>
                     31: <TR><TD> id</TD>       <TD>  A unique identifier for the element</TD></TR>
                     32: <TR><TD> insertafter</TD>      <TD>  Names the ID of the element after which this element should be overlaid; this attribute works only in overlays</TD></TR>
                     33: <TR><TD> insertbefore</TD>     <TD>  Names the ID of the element which this element should be overlaid before; this attribute works only in overlays</TD></TR>
                     34: <TR><TD> left</TD>     <TD>  Specifies an element's position within a container in pixels to the left</TD></TR>
                     35: <TR><TD> maxheight</TD>        <TD>  Specifies an element's maximum height</TD></TR>
                     36: <TR><TD> maxwidth</TD> <TD>  Specifies an element's maximum width</TD></TR>
                     37: <TR><TD> minheight</TD>        <TD>  Specifies an element's minimum height</TD></TR>
                     38: <TR><TD> minwidth</TD> <TD>  Specifies an element's minimum width</TD></TR>
                     39: <TR><TD> observes</TD> <TD>  Points to a broadcasting element whose state this element observes</TD></TR>
                     40: <TR><TD> ordinal</TD>  <TD>  (Integer) Specifies the element's order within the parent</TD></TR>
                     41: <TR><TD> orient</TD>   <TD>  Shows the element's orientation: vertical or horizontal</TD></TR>
                     42: <TR><TD> pack</TD>     <TD>  Shows how children should be distributed within this container: center, end, or start</TD></TR>
                     43: <TR><TD> persist</TD>  <TD>  Shows which of the element's attributes should be persisted/stored for reuse</TD></TR>
                     44: <TR><TD> position</TD> <TD>  Shows the element's position within a list (e.g., menuitems in a menu)</TD></TR>
                     45: <TR><TD> ref</TD>      <TD>  Specifies the RDF data root to begin processing (used in templates)</TD></TR>
                     46: <TR><TD> style</TD>    <TD>  Provides style rules for the current element</TD></TR>
                     47: <TR><TD> template</TD> <TD>  Specifies an existing template to use for this content (used in templates)</TD></TR>
                     48: <TR><TD> tooltip</TD>  <TD>  Specifies a pop up or tooltip ID to be used for this element</TD></TR>
                     49: <TR><TD> tooltiptext</TD>      <TD>  Specifies text to be displayed in the element's tooltip (doesn't require a separate tooltip attribute)</TD></TR>
                     50: <TR><TD> top</TD>      <TD>  Shows the current element's position within a container in pixels from the top</TD></TR>
                     51: <TR><TD> uri</TD>      <TD>  Specifies the root in the XUL where content processing begins (used in templates)</TD></TR>
                     52: <TR><TD> width</TD>    <TD>  Specifies an element's width</TD></TR></TABLE><P>
                     53: 
                     54: <HR><H3><A NAME="77008"></A> action</H3>
                     55: Child element in a XUL template structure that draws content for matched data
                     56: <H4><A NAME="77008"></A> Additional Attributes</H4>
                     57: None.
                     58: <H4><A NAME="77008"></A> Description</H4>
                     59: The <TT> <!--INDEX action element, XUL --> action</TT> element defines the content drawn into the XUL when the rules defined in a template's <TT>conditions</TT> structure are met. The content to be drawn is an <TT>action</TT> element's child.
                     60: <H4><A NAME="77008"></A> See Also</H4>
                     61: <TT>template</TT>, <TT>rule</TT>, <TT>condition</TT>, <TT>binding</TT>
                     62: <HR><H3><A NAME="77012"></A> arrowscrollbox</H3>
                     63: <P>Container box for scrolling contents
                     64: <H4><A NAME="77012"></A> Additional Attributes</H4>
                     65: None.
                     66: <H4><A NAME="77012"></A> Description</H4>
                     67: A <TT>box</TT> with arrows  <!--INDEX arrowscrollbox element, XUL --> that allow scrolling through its contents. The box scrolls when the user's mouse hovers over the arrows. It is commonly used in large menus that overflow a provided space.
                     68: <H4><A NAME="77012"></A> See Also</H4>
                     69: <TT>autorepeatbutton</TT>, <TT>scrollbox</TT>
                     70: <HR><H3><A NAME="77016"></A> autorepeatbutton</H3>
                     71: <P>Provides arrows for a scrolling area
                     72: <H4><A NAME="77016"></A> Additional Attributes</H4>
                     73: scrolldir
                     74: <H4><A NAME="77016"></A> Description</H4>
                     75: This element is used to  <!--INDEX autorepeatbutton element, XUL --> internally bind the <TT>arrowscrollbox</TT> element and it surrounds a <TT>scrollbox</TT> area to provide the navigation arrows. The <TT>scrolldir</TT> attribute, which can have a value of <TT>up</TT> or <TT>down</TT>, determines the direction of the arrows.
                     76: <H4><A NAME="77016"></A> See Also</H4>
                     77: <TT>arrowscrollbox</TT>, <TT>scrollbox</TT>
                     78: <HR><H3><A NAME="77020"></A> binding</H3>
                     79: <P>Child element in a XUL template that optionally matches in the data
                     80: <H4><A NAME="77020"></A> Additional Attributes</H4>
                     81: <TT>predicate</TT>,  <!--INDEX binding element, XUL --> <TT>object</TT>, <TT>subject</TT>, <TT>template</TT>, <TT>rule</TT>, <TT>condition</TT>, <TT>action</TT>,<TT> bindings</TT>
                     82: <H4><A NAME="77020"></A> Description</H4>
                     83: In contrast to the <TT>rule</TT> element, which must match to trigger the action, <TT>binding</TT> allows you to create an optional rule for data matching.
                     84: <H4><A NAME="77020"></A> See Also</H4>
                     85: <TT>action</TT>, <TT>template</TT>, <TT>rule</TT>, <TT>condition</TT>, <TT>bindings</TT>
                     86: <HR><H3><A NAME="77024"></A> bindings</H3>
                     87: <P>Substructure in a XUL template that collects the optional binding rules
                     88: Additional Attributes
                     89: None.
                     90: <H4><A NAME="77024"></A> Description</H4>
                     91: Individual bindings must be  <!--INDEX bindings element, XUL --> defined with a <TT>bindings</TT> parent to be a part of a valid XUL template.
                     92: <H4><A NAME="77024"></A> See Also</H4>
                     93: <TT>action</TT>, <TT>template</TT>, <TT>rule</TT>, <TT>condition</TT>, <TT>binding</TT>
                     94: <HR><H3><A NAME="77028"></A> box</H3>
                     95: <P>Generic container and layout element
                     96: <H4><A NAME="77028"></A> Additional Attributes</H4>
                     97: None.
                     98: <H4><A NAME="77028"></A> Description</H4>
                     99: This element can contain any  <!--INDEX box element, XUL --> type of content and any number of elements. Its default orientation is <TT>horizontal</TT>, unless otherwise overridden by the <TT>orient</TT> attribute, and the contents are laid out in the order they appear in the file. The <TT>box</TT> is the basic layout unit in a XUL interface. Many, if not most, XUL elements inherit from <TT>box</TT>.
                    100: <H4><A NAME="77028"></A> See Also</H4>
                    101: <TT>hbox</TT>, <TT>vbox</TT>
                    102: <HR><H3>broadcaster</H3>
                    103: <P>Notifies elements when a change occurs in the UI
                    104: Contained by
                    105: broadcasterset
                    106: <H4><A NAME="77033"></A> Additional Attributes</H4>
                    107: <TT>checked</TT>, <TT>accesskey</TT>, <TT>oncommand</TT>, <TT>value</TT>, <TT>label</TT>, <TT>disabled</TT>
                    108: <H4><A NAME="77033"></A> Description</H4>
                    109: A <TT>broadcaster</TT> acts as a host for  <!--INDEX broadcaster element, XUL --> other elements, detecting changes that occur in the UI and notifying those elements of the changes via attribute changes. The elements that use it are said to observe the broadcaster. The observed attribute is typically the <TT>oncommand</TT> attribute, but can be any attribute.
                    110: <H4><A NAME="77033"></A> See Also</H4>
                    111: <TT>broadcasterset</TT>, <TT>command</TT>, <TT>observes</TT>
                    112: <HR><H3><A NAME="77038"></A> broadcasterset</H3>
                    113: <P>Container for broadcaster elements
                    114: <A NAME="77038"></A> Contains
                    115: broadcaster
                    116: <H4><A NAME="77038"></A> Additional Attributes</H4>
                    117: None.
                    118: <H4><A NAME="77038"></A> Description</H4>
                    119: The purpose of this nonvisible  <!--INDEX broadcasterset element, XUL --> element is to group a set of broadcasters logically. The XUL document can contain one or multiple sets.
                    120: <H4><A NAME="77038"></A> See Also</H4>
                    121: <TT>broadcaster</TT>, <TT>commandset</TT>
                    122: <HR><H3><A NAME="77042"></A> browser</H3>
                    123: <P>Web-content container
                    124: <H4><A NAME="77042"></A> Additional Attributes</H4>
                    125: <TT>src</TT>, <TT>name</TT>, <TT>content</TT>, <TT>onclick</TT>, <TT>type</TT>, <TT>disablehistory</TT>,<TT> disablesecurity</TT>
                    126: <H4><A NAME="77042"></A> Description</H4>
                    127: A content widget or frame used  <!--INDEX browser element, XUL --> to load in web content for read-only viewing. This element is used by the main Mozilla browser, so it handles HTML, XML, and plain text. To load a page, set the <TT>src</TT> attribute to a URL. Other features include the attachment of a context menu that uses the <TT>context</TT> attribute and various methods and properties exposed for web navigation and display.
                    128: <H4><A NAME="77042"></A> See Also</H4>
                    129: <TT>editor</TT>, <TT>iframe</TT>
                    130: <HR><H3><A NAME="77046"></A> button</H3>
                    131: <P>A widget that activates some functionality when pressed
                    132: <H4><A NAME="77046"></A> Additional Attributes</H4>
                    133: <TT>accesskey</TT>, <TT>dir</TT>, <TT>disabled</TT>, <TT>dlgType</TT>, <TT>group</TT>, <TT>image</TT>, <TT>label</TT>, <TT>orient</TT>, <TT>type</TT>, <TT>value</TT>
                    134: <H4><A NAME="77046"></A> Description</H4>
                    135: A <TT>button</TT> typically gives the user  <!--INDEX button element, XUL --> an option to click it to carry out JavaScript code routine(s). This code can be a function call or inline script and is contained in the <TT>onclick</TT> attribute or the <TT>oncommand</TT> event handler. It can optionally have an image associated with a URL contained in the <TT>image</TT> attribute or by using the <TT>list-style-image</TT> CSS property. There are various types of buttons, determined by the type attribute, including <TT>checkbox</TT>, <TT>menu</TT>, <TT>menu-button</TT>, and <TT>radio</TT>. Leave this out for a normal button.
                    136: <H4><A NAME="77046"></A> See Also</H4>
                    137: <TT>autorepeatbutton</TT>, <TT>toolbarbutton</TT>
                    138: <HR><H3><A NAME="77051"></A> caption</H3>
                    139: <P>Provides heading for a groupbox element
                    140: <A NAME="77051"></A> Contained by
                    141: <TT>groupbox</TT>,  <!--INDEX caption element, XUL --> radiogroup
                    142: <H4><A NAME="77051"></A> Additional Attributes</H4>
                    143: None.
                    144: <H4><A NAME="77051"></A> Description</H4>
                    145: This element is most commonly used to provide a text label for a <TT>groupbox</TT> by setting the <TT>label</TT> attribute. However, it is flexible about other content it can contain, such as checkboxes or radio buttons.
                    146: <H4><A NAME="77051"></A> See Also</H4>
                    147: <TT>description</TT>, <TT>groupbox</TT>, <TT>label</TT>, <TT>radiogroup</TT>
                    148: <HR><H3><A NAME="77055"></A> checkbox</H3>
                    149: <P>Indicates a specified feature's on/off state
                    150: <H4><A NAME="77055"></A> Additional Attributes</H4>
                    151: <TT>accesskey</TT>, <TT>label</TT>, <TT>checked</TT>
                    152: <H4><A NAME="77055"></A> Description</H4>
                    153: A <TT>checkbox</TT> appears as a small  <!--INDEX checkbox element, XUL --> box that can be checked on or off. When checked on or off, the <TT>checked</TT> attribute is set to <TT>true</TT> or <TT>false</TT>. It can be set initially for a default value. To associate text with a <TT>checkbox</TT>, set the <TT>label</TT> attribute.
                    154: <H4><A NAME="77055"></A> See Also</H4>
                    155: radio
                    156: <HR><H3>colorpicker</H3>
                    157: <P>Widget used to choose a color
                    158: Additional Attributes
                    159: <TT>onchange</TT>, <TT> <!--INDEX colorpicker element, XUL --> type</TT>, <TT>id</TT>, <TT>palettename</TT>
                    160: <H4><A NAME="77059"></A> Description</H4>
                    161: When activated, this widget presents a choice of colors to the user in a grid format. The user selects a color by clicking on it. The <TT>palettename</TT> attribute determines the displayed colors. Three values for this attribute represent three types of palettes: standard, grey, and web.
                    162: <H4><A NAME="77059"></A> JavaScript Methods and Properties</H4>
                    163: color
                    164: <HR><H3><A NAME="77064"></A> column</H3>
                    165: <P>A column in a grid
                    166: <A NAME="77064"></A> Contained by
                    167: columns <!--INDEX column element, XUL -->
                    168: <H4><A NAME="77064"></A> Additional Attributes</H4>
                    169: None.
                    170: <H4><A NAME="77064"></A> Description</H4>
                    171: <TT>column</TT> is a column entry in a <TT>grid</TT>, of which there can be one or more contained in a <TT>columns</TT> element. The content of cells in a column is determined by the children of each <TT>row</TT> element.
                    172: <H4><A NAME="77064"></A> See Also</H4>
                    173: <TT>columns</TT>, <TT>grid</TT>, <TT>row</TT>, <TT>rows</TT>
                    174: <HR><H3><A NAME="77069"></A> columns</H3>
                    175: <P>Container for the number of columns in a grid
                    176: <A NAME="77069"></A> Contains
                    177: column <!--INDEX columns element, XUL -->
                    178: <H4><A NAME="77069"></A> Additional Attributes</H4>
                    179: None.
                    180: <H4><A NAME="77069"></A> Description</H4>
                    181: The children of this element are one or more <TT>column</TT> elements, the number of which determines the actual number of grid columns.
                    182: <H4><A NAME="77069"></A> See Also</H4>
                    183: <TT>column</TT>, <TT>grid</TT>, <TT>row</TT>, <TT>rows</TT>
                    184: <HR><H3>command</H3>
                    185: <P>Defines functionality that can be called from multiple sources
                    186: Contained by
                    187: commandset <!--INDEX command element, XUL -->
                    188: <H4><A NAME="77074"></A> Additional Attributes</H4>
                    189: <TT>disabled</TT>, <TT>accesskey</TT>, <TT>observes</TT>, <TT>label</TT>, <TT>checked</TT>
                    190: <H4><A NAME="77074"></A> Description</H4>
                    191: The <TT>command</TT> element provides a place to organize functionality used in more than one place in the interface-from a context menu, a keyboard shortcut, and a regular menu, for example. The element is identified and shared by using its <TT>ID</TT> value and an interested element's (i.e., a menu that wants the command) <TT>observes</TT> attribute. It also typically calls a JavaScript command from its <TT>oncommand</TT> event handler.
                    192: <H4><A NAME="77074"></A> See Also</H4>
                    193: <TT>commands</TT>, <TT>commandset</TT>
                    194: <HR><H3><A NAME="77078"></A> commands</H3>
                    195: <P>Container for a group of command sets
                    196: <H4><A NAME="77078"></A> Additional Attributes</H4>
                    197: None. <!--INDEX commands element, XUL -->
                    198: <H4><A NAME="77078"></A> Description</H4>
                    199: <TT>commandsets</TT> no longer need to be contained within a <TT>commands</TT> element. Still, the <TT>commands</TT> group can help you organize your code and user overlays to import commands, especially related sets.
                    200: <H4><A NAME="77078"></A> See Also</H4>
                    201: <TT>command</TT>, <TT>commandset</TT>
                    202: <HR><H3><A NAME="77083"></A> commandset</H3>
                    203: <P>A container for multiple command elements
                    204: <A NAME="77083"></A> Contains
                    205: command
                    206: <H4><A NAME="77083"></A> Additional Attributes</H4>
                    207: <TT>oncommandupdate</TT>,  <!--INDEX commandset element, XUL --> <TT>commandupdater</TT>, <TT>events</TT>
                    208: <H4><A NAME="77083"></A> Description</H4>
                    209: An invisible, document-level element that acts as a logical grouping for commands or other command sets.
                    210: <H4><A NAME="77083"></A> See Also</H4>
                    211: <TT>command</TT>, <TT>commands</TT>
                    212: <HR><H3><A NAME="77088"></A> conditions</H3>
                    213: <P>Defines the conditions within a template rule
                    214: <A NAME="77088"></A> Contains
                    215: <TT>content</TT>, <TT>member</TT>, triple <!--INDEX conditions element, XUL -->
                    216: <H4><A NAME="77088"></A> Additional Attributes</H4>
                    217: None.
                    218: <H4><A NAME="77088"></A> Description</H4>
                    219: Within a <TT>template</TT>, the <TT>conditions</TT>, <TT>action</TT>, and sometimes the <TT>bindings</TT> elements comprise a single rule. The children of the <TT>conditions</TT> element must be matched to the processed data for that rule's action to make content.
                    220: <H4><A NAME="77088"></A> See Also</H4>
                    221: <TT>template</TT>, <TT>rule</TT>, <TT>action</TT>, <TT>member</TT>, <TT>triple</TT>, <TT>content</TT>
                    222: <HR><H3><A NAME="77093"></A> content</H3>
                    223: <P>Binds variables in a template
                    224: <A NAME="77093"></A> Contained by
                    225: conditions <!--INDEX conditions element, XUL -->
                    226: <H4><A NAME="77093"></A> Additional Attributes</H4>
                    227: None.
                    228: <H4><A NAME="77093"></A> Description</H4>
                    229: The <TT>content</TT> element is the portion of a template's <TT>conditions</TT> element that associates a variable, often representing a URI (e.g., <TT>&lt;content uri="?uri"/&gt;</TT>) with the data.
                    230: <H4><A NAME="77093"></A> See Also</H4>
                    231: <TT>template</TT>, <TT>rule</TT>, <TT>action</TT>, <TT>conditions</TT>, <TT>member</TT>, <TT>triple</TT>
                    232: <HR><H3>deck</H3>
                    233: <P>Box container that displays one child element at a time
                    234: Additional Attributes
                    235: selectedIndex
                    236: <H4><A NAME="77097"></A> Description</H4>
                    237: <TT>deck</TT> uses the attribute <TT>selectedIndex</TT>  <!--INDEX deck element, XUL --> to determine which child element to display. The others are hidden until they are displayed by index. <TT>deck</TT> is often used dynamically via the DOM to cycle through child elements, such as buttons.
                    238: <H4><A NAME="77097"></A> See Also</H4>
                    239: stack
                    240: <HR><H3><A NAME="77101"></A> description</H3>
                    241: <P>Holder for block of text that can wrap to multiple lines
                    242: <H4><A NAME="77101"></A> Additional Attributes</H4>
                    243: <TT>crop</TT>, <TT>onmouseover</TT>,  <!--INDEX description element, XUL --> <TT>onmouseout</TT>, <TT>value</TT>
                    244: <H4><A NAME="77101"></A> Description</H4>
                    245: The <TT>description</TT> element replaces <TT>&lt;html:label&gt;</TT> and other HTML-namespaced elements to wrap text in XUL interfaces. Text in a <TT>description</TT> can be defined as content with the open and close tags or provided in the <TT>value</TT> attribute. Note that the text does not wrap when placed in the <TT>value</TT> attribute.
                    246: <H4><A NAME="77101"></A> See Also</H4>
                    247: <TT>caption</TT>, <TT>label</TT>
                    248: <HR><H3><A NAME="77105"></A> dialog</H3>
                    249: <P>Root element for secondary XUL window
                    250: <H4><A NAME="77105"></A> Additional Attributes</H4>
                    251: <TT>ondialogaccept</TT>, <TT>ondialogcancel</TT>, <TT>ondialoghelp</TT>, <TT>onunload</TT>, <TT>onload</TT>,<TT> title</TT>, <TT>buttons</TT>, <TT>windowtype</TT>, p<TT>ersist</TT>, <TT>y</TT>, <TT>x</TT>, <TT>screenY</TT>, <TT>screenX</TT>
                    252: <H4><A NAME="77105"></A> Description</H4>
                    253: <TT>dialog</TT> is a version of the <TT>window</TT> element  <!--INDEX dialog element, XUL --> built for displaying a secondary dialog window in the application. Like <TT>window</TT>, <TT>dialog</TT> is the root element in a XUL file. Event handlers such as <TT>ondialogaccept</TT> and <TT>ondialogcancel</TT> are included as conveniences for handling user input.
                    254: <H4><A NAME="77105"></A> See Also</H4>
                    255: <TT>window</TT>, <TT>page</TT>
                    256: <HR><H3><A NAME="77110"></A> dialogheader</H3>
                    257: <P>Styled text heading for UI panel
                    258: <A NAME="77110"></A> Contained by
                    259: dialog
                    260: <H4><A NAME="77110"></A> Additional Attributes</H4>
                    261: <TT>title</TT>,  <!--INDEX dialogheader element, XUL --> description
                    262: <H4><A NAME="77110"></A> Description</H4>
                    263: This is a formatted horizontal panel that contains text specified by the <TT>title</TT> attribute. This element is the heading that appears at the top of the right panel in the Mozilla global preferences dialog.
                    264: <H4><A NAME="77110"></A> See Also</H4>
                    265: <TT>window</TT>, <TT>dialog</TT>
                    266: <HR><H3><A NAME="77115"></A> editor</H3>
                    267: <P>Content area for editable web content
                    268: <H4><A NAME="77115"></A> Additional Attributes</H4>
                    269: src <!--INDEX editor element, XUL -->
                    270: <H4><A NAME="77115"></A> Description</H4>
                    271: This high-level widget edits text and HTML. <TT>contentDocument</TT> is a reference to the document contained within the editor.
                    272: <H4><A NAME="77115"></A> JavaScript Methods and Properties</H4>
                    273: contentDocument
                    274: <H4><A NAME="77115"></A> See Also</H4>
                    275: <TT>browser</TT>, <TT>iframe</TT>
                    276: <HR><H3><A NAME="77120"></A> grid</H3>
                    277: <P>Widget for laying out content in a structured tabular fashion
                    278: <A NAME="77120"></A> Contains
                    279: <TT>rows</TT>, <TT>columns</TT>
                    280: <H4><A NAME="77120"></A> Additional Attributes</H4>
                    281: None.
                    282: <H4><A NAME="77120"></A> Description</H4>
                    283: The number of column elements  <!--INDEX grid element, XUL --> that are placed in rows determines the number of columns and the content for each row is placed in the <TT>row</TT> element. The number of row children must correspond to the number of columns.
                    284: <H4><A NAME="77120"></A> See Also</H4>
                    285: <TT>column</TT>, <TT>columns</TT>, <TT>listbox</TT>, <TT>row</TT>, <TT>rows</TT>, <TT>tree</TT>
                    286: <HR><H3><A NAME="77124"></A> grippy</H3>
                    287: <P>Visible widget used on a grippy bar to expand or collapse a UI region
                    288: <A NAME="77124"></A> Contained by
                    289: splitter <!--INDEX grippy element, XUL -->
                    290: <H4><A NAME="77124"></A> Additional Attributes</H4>
                    291: None.
                    292: <H4><A NAME="77124"></A> Description</H4>
                    293: <TT>grippy</TT> appears as a child of a <TT>splitter</TT> and provides the little "handle" that opens and closes the <TT>sidebar</TT> and other collapsible elements in the interface.
                    294: <HR><H3><A NAME="77129"></A> groupbox</H3>
                    295: <P>Box with frame surrounding it
                    296: <A NAME="77129"></A> Contains
                    297: caption <!--INDEX groupbox element, XUL -->
                    298: <H4><A NAME="77129"></A> Additional Attributes</H4>
                    299: None.
                    300: <H4><A NAME="77129"></A> Description</H4>
                    301: The border that appears around and organizes elements in the interface (e.g., in dialogs where selectable elements are grouped together); often comes from a <TT>groupbox</TT> parent.
                    302: <H4><A NAME="77129"></A> See Also</H4>
                    303: box
                    304: <HR><H3><A NAME="77133"></A> hbox</H3>
                    305: <P>Box container whose children are laid out horizontally
                    306: <H4><A NAME="77133"></A> Additional Attributes</H4>
                    307: None. <!--INDEX hbox element, XUL -->
                    308: <H4><A NAME="77133"></A> Description</H4>
                    309: The <TT>hbox</TT> element is a shorthand for <TT>&lt;box orient="horizontal"&gt;</TT>. It is the preferred way to achieve horizontal orientation in box layout.
                    310: <H4><A NAME="77133"></A> See Also</H4>
                    311: <TT>box</TT>, <TT>vbox</TT>
                    312: <HR><H3><A NAME="77137"></A> iframe</H3>
                    313: <P>Web content area
                    314: <H4><A NAME="77137"></A> Additional Attributes</H4>
                    315: <TT>name</TT>, <TT>src</TT>, <TT>type</TT>
                    316: <H4><A NAME="77137"></A> Description</H4>
                    317: Like <TT>browser</TT>, <TT>iframe</TT> allows you to  <!--INDEX iframe element, XUL --> display web content, XML, and other data using the <TT>src</TT> attribute, but has less intrinsic browsing functionality available (such as browser history). You can use any number of iframes in a document.
                    318: <H4><A NAME="77137"></A> See Also</H4>
                    319: <TT>browser</TT>, <TT>editor</TT>
                    320: <HR><H3><A NAME="77140"></A> image</H3>
                    321: <P>Display of a supported type image
                    322: <H4><A NAME="77140"></A> Additional Attributes</H4>
                    323: src
                    324: <H4><A NAME="77140"></A> Description</H4>
                    325: The XUL image is analogous to the  <!--INDEX image element, XUL --> HTML <TT>&lt;img&gt;</TT> element. The supported types in Gecko are PNG, JPG, GIF, and BMP.
                    326: <HR><H3><A NAME="77145"></A> key</H3>
                    327: <P>Definition for a keyboard shortcut
                    328: <A NAME="77145"></A> Contained by
                    329: keyset <!--INDEX key element, XUL -->
                    330: <H4><A NAME="77145"></A> Additional Attributes</H4>
                    331: <TT>modifiers</TT>, <TT>command</TT>, <TT>key</TT> , <TT>keycode</TT>, <TT>observes</TT>
                    332: <H4><A NAME="77145"></A> Description</H4>
                    333: A <TT>key</TT> is often defined with a <TT>commandkey</TT> and a modifier (e.g., <TT>P</TT> + <TT>Ctrl</TT>), and uses an <TT>oncommand</TT> event handler to fire the given command when invoked.
                    334: <H4><A NAME="77145"></A> See Also</H4>
                    335: keyset
                    336: <HR><H3><A NAME="77150"></A> keybinding</H3>
                    337: <P>Container for a keyset or group of keysets
                    338: <A NAME="77150"></A> Contains
                    339: keyset <!--INDEX keybinding element, XUL -->
                    340: <H4><A NAME="77150"></A> Additional Attributes</H4>
                    341: None.
                    342: <H4><A NAME="77150"></A> Description</H4>
                    343: This element is used in an overlaid file to contain a group of platform-specific key sets. It uses the <TT>ID</TT> attribute to overlay itself into XUL files that pick up sets of key bindings.
                    344: <H4><A NAME="77150"></A> See Also</H4>
                    345: <TT>key</TT>, <TT>keyset</TT>
                    346: <HR><H3><A NAME="77154"></A> keyset</H3>
                    347: <P>Container for one or more key elements
                    348: Contains
                    349: key <!--INDEX keyset element, XUL -->
                    350: <H4><A NAME="77154"></A> Additional Attributes</H4>
                    351: None.
                    352: <H4><A NAME="77154"></A> Description</H4>
                    353: <TT>key</TT> elements no longer need to be contained within a <TT>keyset</TT> parent. Still, keysets can help organize groups of keys-particularly related ones.
                    354: <H4><A NAME="77154"></A> See Also</H4>
                    355: <TT>key</TT>, <TT>keybinding</TT>
                    356: <HR><H3><A NAME="77158"></A> label</H3>
                    357: <P>Simple text display element and label for a control element
                    358: <H4><A NAME="77158"></A> Additional Attributes</H4>
                    359: <TT>control</TT>, <TT>for</TT>, <TT>accesskey</TT>, <TT>crop</TT>,  <!--INDEX label element, XUL --> <TT>value</TT>
                    360: <H4><A NAME="77158"></A> Description</H4>
                    361: This text element can just display text in the UI. Unlike the <TT>description</TT> element, the text will not wrap. If you use it with a control element (the association occurs through the <TT>for</TT> attribute, the value of which must match the element's <TT>id</TT>) such as a <TT>textbox</TT>, the focus moves to the control element when the <TT>label</TT> is clicked.
                    362: <H4><A NAME="77158"></A> See Also</H4>
                    363: <TT>caption</TT>, <TT>description</TT>
                    364: <HR><H3><A NAME="77162"></A> listbox</H3>
                    365: <P>Used for display of a flat list of items
                    366: <H4><A NAME="77162"></A> Additional Attributes</H4>
                    367: <TT>datasources</TT>, <TT>sortResource</TT>, <TT> <!--INDEX listbox element, XUL --> sortDirection</TT>, <TT>rows</TT>, <TT>seltype</TT>, <TT>ref</TT>
                    368: <H4><A NAME="77162"></A> Description</H4>
                    369: <TT>listbox</TT> is a lightweight tabular display widget. Unlike <TT>tree</TT>, it cannot handle nested rows. It does support multiple columns, however. It is easy to use and renders content very quickly.
                    370: <H4><A NAME="77162"></A> See Also</H4>
                    371: <TT>listcell</TT>, <TT>listcol</TT>, <TT>listcols</TT>, <TT>listhead</TT>, <TT>listheader</TT>, <TT>listitem</TT>
                    372: <HR><H3><A NAME="77167"></A> listcell</H3>
                    373: <P>Single cell of a listbox
                    374: <A NAME="77167"></A> Contained by
                    375: listitem <!--INDEX listcell element, XUL -->
                    376: <H4><A NAME="77167"></A> Additional Attributes</H4>
                    377: <TT>label</TT>, <TT>flexlabel</TT>, <TT>crop</TT>, <TT>disabled</TT>, <TT>image</TT>, <TT>checked</TT>
                    378: <H4><A NAME="77167"></A> Description</H4>
                    379: The <TT>listcell</TT> is the element within a <TT>listbox</TT> that actually displays data.
                    380: <H4><A NAME="77167"></A> See Also</H4>
                    381: <TT>listbox</TT>, <TT>listcol</TT>, <TT>listcols</TT>, <TT>listheader</TT>, <TT>listitem</TT>
                    382: <HR><H3>listcol</H3>
                    383: <P>Listbox column definition
                    384: <A NAME="77171"></A> Contained by
                    385: listcols <!--INDEX listcol element, XUL -->
                    386: <H4><A NAME="77171"></A> Description</H4>
                    387: This element represents a column in a <TT>listbox</TT>.
                    388: <H4><A NAME="77171"></A> See Also</H4>
                    389: <TT>listbox</TT>, <TT>listcell</TT>, <TT>listcols</TT>, <TT>listheader</TT>, <TT>listitem</TT>
                    390: <HR><H3><A NAME="77176"></A> listcols</H3>
                    391: <P>Container for listbox columns (listcol)
                    392: <A NAME="77176"></A> Contained by
                    393: listbox <!--INDEX listcols element, XUL -->
                    394: <A NAME="77176"></A> Contains
                    395: listcol
                    396: <H4><A NAME="77176"></A> Description</H4>
                    397: This element contains any number of individual <TT>listbox</TT> columns.
                    398: <H4><A NAME="77176"></A> See Also</H4>
                    399: <TT>listbox</TT>, <TT>listcell</TT>, <TT>listcol</TT>, <TT>listheader</TT>, <TT>listitem</TT>
                    400: <HR><H3><A NAME="77181"></A> listhead</H3>
                    401: <P>Container for column header in list boxes (listheader)
                    402: <A NAME="77181"></A> Contained by
                    403: listbox <!--INDEX listhead element, XUL -->
                    404: <A NAME="77181"></A> Contains
                    405: listheader
                    406: <H4><A NAME="77181"></A> Description</H4>
                    407: The <TT>listhead</TT> element is analogous to the HTML <TT>thead</TT> element, and contains the header cells for an XUL listbox table.
                    408: <H4><A NAME="77181"></A> See Also</H4>
                    409: <TT>listbox</TT>, <TT>listcell</TT>, <TT>listcol, listcols</TT>, <TT>listheader</TT>, <TT>listitem</TT>
                    410: <HR><H3><A NAME="77186"></A> listheader</H3>
                    411: <P>Text header for listbox column
                    412: <A NAME="77186"></A> Contained by
                    413: listhead <!--INDEX listheader element, XUL -->
                    414: <H4><A NAME="77186"></A> Additional Attributes</H4>
                    415: <TT>sortActive</TT>, <TT>sortDirection</TT>, <TT>resource</TT>, <TT>sortable</TT>
                    416: <H4><A NAME="77186"></A> Description</H4>
                    417: The <TT>listheader</TT> element displays the header text.
                    418: <H4><A NAME="77186"></A> See Also</H4>
                    419: <TT>listbox</TT>, <TT>listcell, listcol</TT>, <TT>listcols</TT>, <TT>listhead</TT>, <TT>listitem</TT>
                    420: <HR><H3><A NAME="77192"></A> listitem</H3>
                    421: <P>Listbox row definition
                    422: <A NAME="77192"></A> Contained By
                    423: listbox <!--INDEX listitem element, XUL -->
                    424: <A NAME="77192"></A> Contains
                    425: listcell
                    426: <H4><A NAME="77192"></A> Additional Attributes</H4>
                    427: <TT>value</TT>, <TT>description</TT>, <TT>accesskey</TT>, <TT>label</TT>, <TT>context</TT>, <TT>type</TT>, <TT>name</TT>
                    428: <H4><A NAME="77192"></A> Description</H4>
                    429: A <TT>listitem</TT> is a row in a <TT>listbox</TT>. The number of <TT>listcell</TT> children corresponds to the number of columns in the <TT>listbox</TT>.
                    430: <H4><A NAME="77192"></A> See Also</H4>
                    431: <TT>listbox</TT>, <TT>listcell</TT>, <TT>listcol</TT>, <TT>listcols</TT>, <TT>listhead</TT>, <TT>listheader</TT>
                    432: <HR><H3><A NAME="77196"></A> member</H3>
                    433: <P>Matches container relationships  in which the parent element is given by  a container element and the child by a child element
                    434: Additional Attributes
                    435: <TT>container</TT>,  <!--INDEX member element, XUL --> <TT>child</TT>
                    436: <H4><A NAME="77196"></A> Description</H4>
                    437: The <TT>member</TT> element is part of the conditional structure in a XUL template. It creates a rule by which parent-child relationships are matched and used as a basis for drawing content in the XUL.
                    438: <H4><A NAME="77196"></A> See Also</H4>
                    439: <TT>conditions</TT>, <TT>rules</TT>, <TT>bindings</TT>, <TT>template</TT>
                    440: <HR><H3><A NAME="77200"></A> menu</H3>
                    441: <P>A menu element for containing menu items
                    442: <H4><A NAME="77200"></A> Additional Attributes</H4>
                    443: <TT>label</TT>, <TT>accesskey</TT>,  <!--INDEX menu element, XUL --> <TT>disabled</TT>, <TT>image</TT>, <TT>disabled</TT>
                    444: <H4><A NAME="77200"></A> Description</H4>
                    445: <TT>menu</TT> is the basic menu widget. It's often contained in a <TT>menubar</TT>, but may appear elsewhere. The actual <TT>menuitems</TT> are defined within a <TT>menupopup</TT> that is usually the direct child of <TT>menu</TT>.
                    446: <H4><A NAME="77200"></A> See Also</H4>
                    447: <TT>menubar</TT>, <TT>menubutton</TT>, <TT>menuitem</TT>, <TT>menulist</TT>, <TT>menupopup</TT>, <TT>menuseparator</TT>
                    448: <HR><H3><A NAME="77205"></A> menubar</H3>
                    449: <P>Containing element for one or more menus
                    450: <A NAME="77205"></A> Contains
                    451: menu
                    452: <H4><A NAME="77205"></A> Additional Attributes</H4>
                    453: None.
                    454: <H4><A NAME="77205"></A> Description</H4>
                    455: <TT>menubar</TT> is a special box for containing  <!--INDEX menubar element, XUL --> menus (though it can include other content). By default it has a <TT>grippy</TT> for expanding and collapsing the menubar.
                    456: <H4><A NAME="77205"></A> See Also</H4>
                    457: <TT>menu</TT>, <TT>menubutton</TT>, <TT>menuitem</TT>, <TT>menulist</TT>, <TT>menupopup</TT>, <TT>menuseparator</TT>,<TT> grippy</TT>
                    458: <HR><H3><A NAME="77210"></A> menuitem</H3>
                    459: <P>Single selectable choice in a menu
                    460: <A NAME="77210"></A> Contained by
                    461: menupopup <!--INDEX menuitem element, XUL -->
                    462: <H4><A NAME="77210"></A> Additional Attributes</H4>
                    463: <TT>label</TT>, <TT>accesskey</TT>, <TT>crop</TT>, <TT>image</TT>, <TT>disabled</TT>, <TT>checked</TT>
                    464: <H4><A NAME="77210"></A> Description</H4>
                    465: The <TT>menuitem</TT> is the basic element used to display a single item in a menu (e.g., <TT>&lt;menuitem</TT> <TT>label="File"/&gt;</TT>).
                    466: <H4><A NAME="77210"></A> See Also</H4>
                    467: menu, menubar, menubutton, menulist, menupopup, menuseparator
                    468: <HR><H3><A NAME="77215"></A> menulist</H3>
                    469: <P>Drop-down list of selectable items
                    470: <A NAME="77215"></A> Contains
                    471: menupopup <!--INDEX menulist element, XUL -->
                    472: <H4><A NAME="77215"></A> Additional Attributes</H4>
                    473: None.
                    474: <H4><A NAME="77215"></A> Description</H4>
                    475: The <TT>menulist</TT> displays a list of menuitems, the selected one of which is displayed in the <TT>menulist</TT> itself. It is a type of drop-down menu.
                    476: <H4><A NAME="77215"></A> See Also</H4>
                    477: <TT>menu</TT>, <TT>menubar</TT>, <TT>menubutton</TT>, <TT>menuitem</TT>, <TT>menupopup</TT>, <TT>menuseparator</TT>
                    478: <HR><H3><A NAME="77221"></A> menupopup</H3>
                    479: <P>Pop-up container for menu items
                    480: <A NAME="77221"></A> Contained By
                    481: <TT>menu</TT>, <TT> <!--INDEX menupopup element, XUL --> menubutton</TT>, <TT>menulist</TT>
                    482: <A NAME="77221"></A> Contains
                    483: menuitem
                    484: <H4><A NAME="77221"></A> Additional Attributes</H4>
                    485: <TT>popupalign</TT>, <TT>datasources</TT>, <TT>onpopupshowing</TT>, <TT>sortResource</TT>,<TT> onpopuphiding</TT>, <TT>sortDirection</TT>, <TT>context</TT>, <TT>position</TT>, <TT>popupanchor</TT>, <TT>ref</TT>
                    486: <H4><A NAME="77221"></A> Description</H4>
                    487: The <TT>menupopup</TT> contains the actual menu items defined for a menu and acts much like the <TT>popup</TT> element to show the window with a list of choices.
                    488: <H4><A NAME="77221"></A> See Also</H4>
                    489: popup, menu, menubar, menubutton, menuitem, menulist, menuseparator
                    490: <HR><H3><A NAME="77226"></A> menuseparator</H3>
                    491: <P>Line separating menu items
                    492: <A NAME="77226"></A> Contained By
                    493: menupopup <!--INDEX menuseparator element, XUL -->
                    494: <H4><A NAME="77226"></A> Additional Attributes</H4>
                    495: type
                    496: <H4><A NAME="77226"></A> Description</H4>
                    497: The <TT>menuseparator</TT> is a line through the menu that divides menu items into different groups. You can use the <TT>position</TT> attribute on the <TT>menuseparator</TT> to make sure it appears in a particular place, or you can use the common attribute <TT>insertAfter</TT>.
                    498: <H4><A NAME="77226"></A> See Also</H4>
                    499: <TT>menu</TT>, <TT>menubar</TT>, <TT>menubutton</TT>, <TT>menuitem</TT>, <TT>menulist</TT>, <TT>menuspopup</TT>
                    500: <HR><H3><A NAME="77230"></A> observes</H3>
                    501: <P>Broadcast event and attribute listener
                    502: <H4><A NAME="77230"></A> Additional Attributes</H4>
                    503: <TT>element</TT>, <TT>attribute</TT>,  <!--INDEX observes element, XUL --> <TT>onbroadcast</TT>
                    504: <H4><A NAME="77230"></A> Description</H4>
                    505: The <TT>observes</TT> element observes the state of a broadcasting element and its attributes. <TT>observes</TT> can be a separate element, defined as a child of the interested observer, or it can be an attribute on any element that wants to watch changes in a broadcasting element.
                    506: <H4><A NAME="77230"></A> See Also</H4>
                    507: broadcaster
                    508: <HR><H3><A NAME="77234"></A> overlay</H3>
                    509: <P>Root element in a separate file that contains reusable XUL content
                    510: <H4><A NAME="77234"></A> Additional Attributes</H4>
                    511: <TT>xmlns</TT>, title <!--INDEX overlay element, XUL -->
                    512: <H4><A NAME="77234"></A> Description</H4>
                    513: Like <TT>page</TT>, <TT>window</TT>, <TT>dialog</TT>, and <TT>wizard</TT>, <TT>overlay</TT> is a XUL document's root element. Overlay documents contain content blocks that are overlaid dynamically at runtime into XUL content whose IDs match theirs. For example, a <TT>menupopup</TT> with the <TT>ID</TT> "file" and a <TT>menuitem</TT> child in an overlay adds that new <TT>menuitem</TT> into any <TT>menupopup</TT> with the <TT>ID</TT> "file" that it finds in the base XUL.
                    514: <H4><A NAME="77234"></A> See Also</H4>
                    515: <TT>page</TT>, <TT>window</TT>
                    516: <HR><H3><A NAME="77238"></A> page</H3>
                    517: <P>Root element of XUL file loaded in a content frame
                    518: <H4><A NAME="77238"></A> Additional Attributes</H4>
                    519: <TT>context</TT>,  <!--INDEX page element, XUL --> <TT>headertitle</TT>, <TT>onload</TT>, <TT>onunload</TT>, <TT>title</TT>, <TT>xmlns</TT>
                    520: <H4><A NAME="77238"></A> Description</H4>
                    521: <TT>page</TT> is the root element for a XUL document that is meant to be loaded within another XUL document, such as a preference panel.
                    522: <H4><A NAME="77238"></A> See Also</H4>
                    523: <TT>dialog</TT>, <TT>overlay</TT>, <TT>window</TT>
                    524: <HR><H3><A NAME="77242"></A> popup</H3>
                    525: <P>Box container as child window
                    526: <H4><A NAME="77242"></A> Additional Attributes</H4>
                    527: <TT>onpopupshowing</TT>,  <!--INDEX popup element, XUL --> onpopuphiding
                    528: <H4><A NAME="77242"></A> Description</H4>
                    529: <TT>popup</TT> is a pop-up window that can be hooked up to any UI content. It is often used for context menus and invoked by elements that use its <TT>ID</TT> attribute in their <TT>popup</TT> or <TT>context</TT> attribute.
                    530: <H4><A NAME="77242"></A> See Also</H4>
                    531: <TT>menupopup</TT>, <TT>popupset</TT>
                    532: <HR><H3><A NAME="77246"></A> popupset</H3>
                    533: <P>Container for popup elements
                    534: <H4><A NAME="77246"></A> Additional Attributes</H4>
                    535: None. <!--INDEX popupset element, XUL -->
                    536: <H4><A NAME="77246"></A> Description</H4>
                    537: While not strictly necessary as a container for the <TT>popup</TT> element, <TT>popupset</TT> helps you organize and overlays groups of popups.
                    538: <H4><A NAME="77246"></A> See Also</H4>
                    539: popup
                    540: <HR><H3><A NAME="77249"></A> progressmeter</H3>
                    541: <P>Visual progress indicator of a time-consuming operation
                    542: <H4><A NAME="77249"></A> Additional Attributes</H4>
                    543: <TT>value</TT>,  <!--INDEX progressmeter element, XUL --> mode
                    544: <H4><A NAME="77249"></A> Description</H4>
                    545: This high-level widget uses its <TT>value</TT> attribute to fill in a meter that usually represents how long a particular task takes. You can change the <TT>value</TT> attribute dynamically to update the fill or set the mode to "undetermined" (as opposed to the default "determined" mode) to display a busy meter that doesn't chart actual progress.
                    546: <HR><H3><A NAME="77253"></A> radio</H3>
                    547: <P>Single on/off choice represented as selectable circle
                    548: <A NAME="77253"></A> Contained By
                    549: radiogroup <!--INDEX radio element, XUL -->
                    550: <H4><A NAME="77253"></A> Additional Attributes</H4>
                    551: <TT>selected</TT>, <TT>group</TT>, <TT>label</TT>, <TT>accesskey</TT>, <TT>value</TT>
                    552: <H4><A NAME="77253"></A> Description</H4>
                    553: Within a <TT>radiogroup</TT> element, a single <TT>radio</TT> widget is selected to indicate user choice. <TT>radio</TT> elements can also be used singularly to check an option on or off in the interface.
                    554: <HR><H3><A NAME="77257"></A> radiogroup</H3>
                    555: <P>Framed box for containing radio elements
                    556: <A NAME="77257"></A> Contains
                    557: radio <!--INDEX radiogroup element, XUL -->
                    558: <H4><A NAME="77257"></A> Additional Attributes</H4>
                    559: disabled
                    560: <H4><A NAME="77257"></A> Description</H4>
                    561: The <TT>radiogroup</TT> makes all <TT>radio</TT> elements within it belong to a single group from which only a single element can be selected.
                    562: <HR><H3><A NAME="77261"></A> resizer</H3>
                    563: <P>Window-resizing element
                    564: <H4><A NAME="77261"></A> Additional Attributes</H4>
                    565: direction <!--INDEX resizer element, XUL -->
                    566: <H4><A NAME="77261"></A> Description</H4>
                    567: A bar that changes the cursor when hovered over to signify that the bar can be dragged to resize the a window. The <TT>direction</TT> attribute specifies which way the window is resized, and can have values such as <TT>topleft</TT>, <TT>top</TT>, <TT>right</TT>, and <TT>bottomright</TT>. For example, a value of <TT>bottomleft</TT> resizes the window down and to the left.
                    568: <H4><A NAME="77261"></A> See Also</H4>
                    569: window
                    570: <HR><H3><A NAME="77266"></A> row</H3>
                    571: <P>Container for grid cells laid out consecutively
                    572: <A NAME="77266"></A> Contained By
                    573: rows <!--INDEX row element, XUL -->
                    574: <H4><A NAME="77266"></A> Additional Attributes</H4>
                    575: None.
                    576: <H4><A NAME="77266"></A> Description</H4>
                    577: <TT>row</TT> is a single row in a <TT>grid</TT>. It is analogous to the <TT>&lt;TR&gt;</TT> element in HTML.
                    578: <H4><A NAME="77266"></A> See Also</H4>
                    579: <TT>grid</TT>, <TT>rows</TT>
                    580: <HR><H3><A NAME="77271"></A> rows</H3>
                    581: <P>Definition for grid rows
                    582: <A NAME="77271"></A> Contains
                    583: row <!--INDEX rows element, XUL -->
                    584: <H4><A NAME="77271"></A> Additional Attributes</H4>
                    585: None.
                    586: <H4><A NAME="77271"></A> Description</H4>
                    587: The <TT>rows</TT> element is a child of the <TT>grid</TT> element that contains any number of individual <TT>row</TT> elements. It is a sibling of <TT>columns</TT> within the <TT>grid</TT>.
                    588: <H4><A NAME="77271"></A> See Also</H4>
                    589: <TT>grid</TT>, <TT>row</TT>, <TT>columns</TT>, <TT>column</TT>
                    590: <HR><H3><A NAME="77276"></A> rule</H3>
                    591: <P>Defines rules for rendering data as XUL
                    592: <A NAME="77276"></A> Contained by
                    593: template <!--INDEX rule element, XUL -->
                    594: <H4><A NAME="77276"></A> Additional Attributes</H4>
                    595: <TT>rdf:type</TT>, <TT>parent</TT>, <TT>isempty</TT>, <TT>iscontainer</TT>
                    596: <H4><A NAME="77276"></A> Description</H4>
                    597: The children of the <TT>rule</TT> element define a rule: the conditions stated in the <TT>conditions</TT> element must be met, the <TT>bindings</TT> provides optional matching, and the content in the <TT>action</TT> element is rendered if the rule is matched.
                    598: <H4><A NAME="77276"></A> See Also</H4>
                    599: <TT>template</TT>, <TT>action</TT>, <TT>conditions</TT>
                    600: <HR><H3><A NAME="77279"></A> script</H3>
                    601: <P>Declaration of script used in XUL file
                    602: <H4><A NAME="77279"></A> Additional Attributes</H4>
                    603: <TT>src</TT>, type <!--INDEX script element, XUL -->
                    604: <H4><A NAME="77279"></A> Description</H4>
                    605: The <TT>script</TT> element can contain script content (e.g., <TT>&lt;script&gt;alert("it")&lt;/script&gt;</TT>) and can also import scripts in JavaScript files, in which case the <TT>src</TT> attribute is used. The type for JavaScript is <TT>application/x-javascript</TT>, and the <TT>src</TT> attribute may also use <I>chrome://</I> type URLs to point at JavaScript in the chrome.
                    606: <HR><H3>scrollbar</H3>
                    607: <P>Widget for scrolling in a container
                    608: Contains
                    609: <TT>scrollbarbutton</TT>,  <!--INDEX scrollbar element, XUL --> <TT>slider</TT>
                    610: <H4><A NAME="77283"></A> Additional Attributes</H4>
                    611: <TT>curpos</TT>, <TT>increment</TT>, <TT>maxpos</TT>, <TT>pageincrement</TT>
                    612: <H4><A NAME="77283"></A> Description</H4>
                    613: The <TT>scrollbar</TT> element uses the <TT>curpos</TT> and <TT>maxpos</TT> attributes to determine where the <TT>scrollbarbutton</TT> element is drawn within its length. <TT>increment</TT> specifies how much the scrollbar should move on user input. <TT>pageincrement</TT> specifies how many pages it should move.
                    614: <HR><H3><A NAME="77287"></A> scrollbarbutton</H3>
                    615: <P>Button used to move position of scrollbar thumb
                    616: <A NAME="77287"></A> Contained By
                    617: scrollbar <!--INDEX scrollbarbutton element, XUL -->
                    618: <H4><A NAME="77287"></A> Additional Attributes</H4>
                    619: <TT>sborient</TT>, <TT>type</TT>
                    620: <H4><A NAME="77287"></A> Description</H4>
                    621: The <TT>scrollbarbutton</TT> can use its <TT>src</TT> attribute to point to an image that should be drawn over it.
                    622: <HR><H3><A NAME="77291"></A> scrollbox</H3>
                    623: <P>Box for scrolling content
                    624: <H4><A NAME="77291"></A> Additional Attributes</H4>
                    625: crop <!--INDEX scrollbox element, XUL -->
                    626: <H4><A NAME="77291"></A> Description</H4>
                    627: The <TT>scrollbox</TT> is a regular box with scrollbars that display automatically when the content inside the box overflows the size of the box itself.
                    628: <H4><A NAME="77291"></A> See Also</H4>
                    629: <TT>box</TT>, <TT>hbox</TT>, <TT>vbox</TT>
                    630: <HR><H3><A NAME="77295"></A> separator</H3>
                    631: <P>Bar between elements
                    632: <H4><A NAME="77295"></A> Additional Attributes</H4>
                    633: None.
                    634: <H4><A NAME="77295"></A> Description</H4>
                    635: The <TT>separator</TT> is a  <!--INDEX separator element, XUL --> general-purpose divider. In menus, use <TT>menuseparator</TT>.
                    636: <H4><A NAME="77295"></A> See Also</H4>
                    637: menuseparator
                    638: <HR><H3><A NAME="77299"></A> slider</H3>
                    639: <P>A scrollbar without buttons
                    640: <H4><A NAME="77299"></A> Additional Attributes</H4>
                    641: <TT>curpos</TT>, <TT>increment</TT>,  <!--INDEX slider element, XUL --> <TT>maxpos</TT>, <TT>pageincrement</TT>
                    642: <H4><A NAME="77299"></A> Description</H4>
                    643: The <TT>slider</TT> element provides simpler user input-a <TT>thumb</TT> button and no arrows-for scrolling large content. Like <TT>scrollbar</TT>, it uses <TT>curpos</TT> and <TT>maxpos</TT> to display its position.
                    644: <H4><A NAME="77299"></A> See Also</H4>
                    645: <TT>scrollbar</TT>, <TT>scrollbarbutton</TT>
                    646: <HR><H3><A NAME="77302"></A> spacer</H3>
                    647: <P>Blank space separating element
                    648: <H4><A NAME="77302"></A> Additional Attributes</H4>
                    649: None. <!--INDEX spacer element, XUL -->
                    650: <H4><A NAME="77302"></A> Description</H4>
                    651: This element is a general-purpose blank space. The use of a <TT>spacer</TT> with <TT>flex</TT> to take up available space within a <TT>box</TT> and shrink its siblings is a staple of the box layout model that XUL uses.
                    652: <HR><H3><A NAME="77306"></A> splitter</H3>
                    653: <P>Element for dragging and resizing associated elements
                    654: <H4><A NAME="77306"></A> Additional Attributes</H4>
                    655: <TT>persist</TT>,  <!--INDEX splitter element, XUL --> state
                    656: <H4><A NAME="77306"></A> Description</H4>
                    657: Users can drag a <TT>splitter</TT> to resize an associated element or panel that holds content and click a <TT>splitter</TT> to collapse the specified element within a box. To specify which element you manipulate with a <TT>splitter</TT>, set this element's <TT>collapse</TT> attribute accordingly: <TT>before</TT> to control the element before it in the parent; <TT>after</TT> to control the element after it.
                    658: <H4><A NAME="77306"></A> See Also</H4>
                    659: <TT>grippy</TT>, <TT>toolbar</TT>
                    660: <HR><H3><A NAME="77309"></A> stack</H3>
                    661: <P>Shows children one on top of one another, all at the same time
                    662: <H4><A NAME="77309"></A> Description</H4>
                    663: In contrast to the <TT>deck</TT>, <TT>stack</TT> is a <TT>box</TT>  <!--INDEX stack element, XUL --> that displays all of its children at once. You can use a <TT>stack</TT> to display elements and blend them together, as when you use different stack children as background images and visual layers.
                    664: <H4><A NAME="77309"></A> See Also</H4>
                    665: <TT>deck</TT>, <TT>box</TT>
                    666: <HR><H3><A NAME="77314"></A> statusbar</H3>
                    667: <P>Box container for status elements
                    668: <A NAME="77314"></A> Contains
                    669: statusbarpanel <!--INDEX statusbar element, XUL -->
                    670: <H4><A NAME="77314"></A> Additional Attributes</H4>
                    671: None.
                    672: <H4><A NAME="77314"></A> Description</H4>
                    673: In Mozilla, the <TT>statusbar</TT> is placed at the bottom of the main windows, where it is hooked up to the <TT>window.status</TT> property and can be used to display status text. It is divided into panels, one of which is the <TT>taskbar</TT> where some main component icons are displayed.
                    674: <H4><A NAME="77314"></A> See Also</H4>
                    675: statusbarpanel
                    676: <HR><H3><A NAME="77319"></A> statusbarpanel</H3>
                    677: <P>Single unit of a statusbar
                    678: <A NAME="77319"></A> Contained by
                    679: statusbar <!--INDEX statusbarpanel element, XUL -->
                    680: <H4><A NAME="77319"></A> Additional Attributes</H4>
                    681: <TT>persist</TT>, <TT>label</TT>
                    682: <H4><A NAME="77319"></A> Description</H4>
                    683: <TT>statusbarpanel</TT>s are subdivisions of the <TT>statusbar</TT> at the bottom of main browser windows. They can contain other content, text using the <TT>label</TT> attribute and an image using the <TT>list-style-image</TT> CSS style rule.
                    684: <H4><A NAME="77319"></A> See Also</H4>
                    685: statusbar
                    686: <HR><H3><A NAME="77324"></A> stringbundle</H3>
                    687: <P>Holder of localized properties for use in script
                    688: <A NAME="77324"></A> Contained by
                    689: stringbundleset <!--INDEX stringbundle element, XUL -->
                    690: <H4><A NAME="77324"></A> Additional Attributes</H4>
                    691: src
                    692: <H4><A NAME="77324"></A> Description</H4>
                    693: Like the <TT>script</TT> element, <TT>stringbundle</TT> uses the <TT>src</TT> attribute to locate a file for use. In this case, the files is a string bundle (properties file) that is used for holding localizable strings used in the UI.
                    694: <H4><A NAME="77324"></A> See Also</H4>
                    695: stringbundleset
                    696: <HR><H3><A NAME="77329"></A> stringbundleset</H3>
                    697: <P>Container for stringbundle elements
                    698: <A NAME="77329"></A> Contains
                    699: stringbundle <!--INDEX stringbundleset element, XUL -->
                    700: <H4><A NAME="77329"></A> Additional Attributes</H4>
                    701: None.
                    702: <H4><A NAME="77329"></A> Description</H4>
                    703: <TT>stringbundleset</TT> is an optional container for groups of <TT>stringbundle</TT> elements. Like <TT>commandset</TT> use for commands, <TT>stringbundle</TT> organizes sets of related <TT>stringbundle</TT>s, particularly when those sets are overlaid into the UI.
                    704: <H4><A NAME="77329"></A> See Also</H4>
                    705: stringbundle
                    706: <HR><H3><A NAME="77334"></A> tab</H3>
                    707: <P>A single selectable tab of a tabbox
                    708: <A NAME="77334"></A> Contained by
                    709: tabs
                    710: <H4><A NAME="77334"></A> Additional Attributes</H4>
                    711: <TT>accesskey</TT>,  <!--INDEX tab element, XUL --> <TT>crop</TT>, <TT>disabled</TT>, <TT>label</TT>, <TT>image</TT>
                    712: <H4><A NAME="77334"></A> Description</H4>
                    713: Individual tabs correspond to panels in the <TT>tabbox</TT>.
                    714: <H4><A NAME="77334"></A> See Also</H4>
                    715: <TT>tabbox</TT>, <TT>tabpanel</TT>, <TT>tabpanels</TT>, <TT>tabs</TT>
                    716: <HR><H3>tabbox</H3>
                    717: <P>Box container for tab panels
                    718: Contains
                    719: <TT>tabs</TT>, tabpanels <!--INDEX tabbox element, XUL -->
                    720: <H4><A NAME="77339"></A> Additional Attributes</H4>
                    721: None.
                    722: <H4><A NAME="77339"></A> Description</H4>
                    723: <TT>tabbox</TT> is the container in which the tabs and tabpanels are defined. It lays out children like a regular box to the orientation specified, which defaults to vertical. The panels are defined in the <TT>tabpanels</TT> element.
                    724: <H4><A NAME="77339"></A> See Also</H4>
                    725: <TT>tab</TT>, <TT>tabpanel</TT>, <TT>tabpanels</TT>, <TT>tabs</TT>
                    726: <HR><H3><A NAME="77343"></A> tabbrowser</H3>
                    727: <P>Tabbed holder for a set of web content views
                    728: <H4><A NAME="77343"></A> Additional Attributes</H4>
                    729: <TT>contentcontextmenu</TT>,  <!--INDEX tabbrowser element, XUL --> <TT>contenttooltip</TT>
                    730: <H4><A NAME="77343"></A> Description</H4>
                    731: <TT>tabbrowser</TT> derives from the <TT>browser</TT> widget. Like <TT>browser</TT>, it lets you view HTML pages and other content. <TT>tabbrowser</TT> has additional methods on it that manage tabbed windows (e.g., <TT>addTab</TT>, <TT>enterTabbedMode</TT>).
                    732: <H4><A NAME="77343"></A> See Also</H4>
                    733: browser
                    734: <HR><H3><A NAME="77349"></A> tabpanel</H3>
                    735: <P>A single panel of a tabbox
                    736: <A NAME="77349"></A> Contained by
                    737: tabpanels <!--INDEX tabpanel element, XUL -->
                    738: <A NAME="77349"></A> Contains
                    739: XUL content
                    740: <H4><A NAME="77349"></A> Additional Attributes</H4>
                    741: None.
                    742: <H4><A NAME="77349"></A> Description</H4>
                    743: A <TT>tabpanel</TT> is one of the special <TT>box</TT> elements that correspond to a particular tab within a <TT>tabbox</TT>. It can hold any XUL content to be displayed on a particular tab panel.
                    744: <H4><A NAME="77349"></A> See Also</H4>
                    745: <TT>tab</TT>, <TT>tabbox</TT>, <TT>tabpanels</TT>, <TT>tabs</TT>
                    746: <HR><H3><A NAME="77355"></A> tabpanels</H3>
                    747: <P>Container for tabpanel elements
                    748: <A NAME="77355"></A> Contained by
                    749: tabbox <!--INDEX tabpanels element, XUL -->
                    750: <A NAME="77355"></A> Contains
                    751: <TT>tabpanel</TT>, <TT>box</TT>
                    752: <H4><A NAME="77355"></A> Additional Attributes</H4>
                    753: None.
                    754: <H4><A NAME="77355"></A> Description</H4>
                    755: The <TT>tabpanels</TT> container corresponds to the <TT>tabs</TT> element that holds all individual tabs, and is a container for the <TT>tabpanel</TT> associated with that tab. This child panel can be either an optional <TT>tabpanel</TT> element that holds XUL content, or just the XUL content.
                    756: <H4><A NAME="77355"></A> See Also</H4>
                    757: <TT>tab</TT>, <TT>tabbox</TT>, <TT>tabpanel</TT>, <TT>tabs</TT>
                    758: <HR><H3><A NAME="77361"></A> tabs</H3>
                    759: <P>Container for tab elements
                    760: <A NAME="77361"></A> Contained by
                    761: tabbox <!--INDEX tabs element, XUL -->
                    762: <A NAME="77361"></A> Contains
                    763: tab
                    764: <H4><A NAME="77361"></A> Additional Attributes</H4>
                    765: None.
                    766: <H4><A NAME="77361"></A> Description</H4>
                    767: This element is a required container for individual tabs.
                    768: <H4><A NAME="77361"></A> See Also</H4>
                    769: <TT>tab</TT>, <TT>tabbox</TT>, <TT>tabpanel</TT>, <TT>tabpanels</TT>
                    770: <HR><H3><A NAME="77365"></A> template</H3>
                    771: <P>A high-level widget used to build content dynamically from data
                    772: <A NAME="77365"></A> Contains
                    773: rule <!--INDEX template element, XUL -->
                    774: <H4><A NAME="77365"></A> Additional Attributes</H4>
                    775: <TT>xmlns:nc</TT>, <TT>xmlns:chrome</TT>
                    776: <H4><A NAME="77365"></A> Description</H4>
                    777: The <TT>template</TT> element has several <TT>rule</TT> children, each of which defines rules for matching data in a datasource and rendering that data as XUL content. A template is defined within the regular XUL content.
                    778: <HR><H3><A NAME="77369"></A> textbox</H3>
                    779: <P>Accepts text input from user
                    780: <H4><A NAME="77369"></A> Additional Attributes</H4>
                    781: <TT>multiline</TT>, <TT> <!--INDEX textbox element, XUL --> maxlength</TT>, <TT>disabled</TT>, <TT>readonly</TT>, <TT>type</TT>, <TT>size</TT>
                    782: <H4><A NAME="77369"></A> Description</H4>
                    783: <TT>textbox</TT> is a user-input element. Expand it beyond its single-line default by setting <TT>multiline</TT> to <TT>true</TT>. You can also disable it, and set its size.
                    784: <H4><A NAME="77369"></A> See Also</H4>
                    785: label
                    786: <HR><H3><A NAME="77373"></A> thumb</H3>
                    787: <P>Object used to move content in scrollable area
                    788: <H4><A NAME="77373"></A> Additional Attributes</H4>
                    789: sborient <!--INDEX thumb element, XUL -->
                    790: <H4><A NAME="77373"></A> Description</H4>
                    791: The <TT>thumb</TT> element appears in the <TT>slider</TT> and the <TT>scrollbar</TT>.
                    792: <H4><A NAME="77373"></A> See Also</H4>
                    793: <TT>scrollbar</TT>, <TT>scrollbarbutton</TT>, <TT>slider</TT>
                    794: <HR><H3><A NAME="77378"></A> toolbar</H3>
                    795: <P>Holder of buttons for quick-access UI functionality
                    796: <A NAME="77378"></A> Contains
                    797: <TT>toolbarbutton</TT>,  <!--INDEX toolbar element, XUL --> <TT>toolbarseparator</TT>
                    798: <H4><A NAME="77378"></A> Additional Attributes</H4>
                    799: <TT>grippyhidden</TT>, <TT>tborient</TT>, <TT>tbalign</TT>, <TT>tbpack</TT>
                    800: <H4><A NAME="77378"></A> Description</H4>
                    801: Toolbars usually have horizontal orientation at the top of an application window, but this does not have to be the case. You can use the <TT>orient</TT> attribute to set it vertically and run its content down and not across. While the most common content for a toolbar is buttons and menus, it can contain any type of content.
                    802: <H4><A NAME="77378"></A> See Also</H4>
                    803: <TT>toolbarbutton</TT>, <TT>toolbarseparator</TT>, <TT>toolbox</TT>
                    804: <HR><H3><A NAME="77383"></A> toolbarbutton</H3>
                    805: <P>Specially adapted button for use in a toolbar
                    806: <A NAME="77383"></A> Contained by
                    807: toolbar <!--INDEX toolbarbutton element, XUL -->
                    808: <H4><A NAME="77383"></A> Additional Attributes</H4>
                    809: <TT>accesskey</TT>, <TT>dir</TT>, <TT>disabled</TT>, <TT>dlgType</TT>, <TT>group</TT>, <TT>image</TT>, <TT>label</TT>, <TT>orient</TT>, <TT>type</TT>, <TT>value</TT>
                    810: <H4><A NAME="77383"></A> Description</H4>
                    811: This is a button designed especially for a toolbar, with special stylings for this purpose. The current theme determines a <TT>toolbarbutton</TT>'s look. See <I>toolbar.css</I> in the theme JARs to view styles and bindings for this common button.
                    812: <H4><A NAME="77383"></A> See Also</H4>
                    813: <TT>toolbar</TT>, <TT>toolbarseparator</TT>, <TT>toolbox</TT>
                    814: <HR><H3><A NAME="77388"></A> toolbarseparator</H3>
                    815: <P>Visible separator for elements contained in a toolbar
                    816: <A NAME="77388"></A> Contained by
                    817: toolbar <!--INDEX toolbarseparator element, XUL -->
                    818: <H4><A NAME="77388"></A> Additional Attributes</H4>
                    819: None.
                    820: <H4><A NAME="77388"></A> Description</H4>
                    821: Like the <TT>menuseparator</TT> in a <TT>menu</TT>, <TT>toolbarseparator</TT> divides elements in a <TT>toolbar</TT>.
                    822: <H4><A NAME="77388"></A> See Also</H4>
                    823: <TT>toolbar</TT>, <TT>toolbarbutton</TT>, <TT>toolbox</TT>
                    824: <HR><H3><A NAME="77393"></A> toolbox</H3>
                    825: <P>Optional container for menu bars and toolbars
                    826: <A NAME="77393"></A> Contains
                    827: <TT>menubar</TT>,  <!--INDEX toolbox element, XUL --> <TT>toolbar</TT>
                    828: <H4><A NAME="77393"></A> Additional Attributes</H4>
                    829: None.
                    830: <H4><A NAME="77393"></A> Description</H4>
                    831: <TT>toolbox</TT> can organize several toolbars into one parent element. <TT>toolbox</TT> inherits from <TT>box</TT>, so you can use box layout attributes to control the positioning and layout of toolbars within.
                    832: <H4><A NAME="77393"></A> See Also</H4>
                    833: <TT>menubar</TT>, <TT>toolbar</TT>
                    834: <HR><H3><A NAME="77396"></A> tooltip</H3>
                    835: <P>Pop-up window for context-sensitive help
                    836: <H4><A NAME="77396"></A> Additional Attributes</H4>
                    837: <TT>noautohide</TT>,  <!--INDEX tooltip element, XUL --> <TT>onpopupshowing</TT>, <TT>onpopuphiding</TT>, <TT>position</TT>
                    838: <H4><A NAME="77396"></A> Description</H4>
                    839: The <TT>tooltip</TT> element defines text to be displayed. It is associated by <TT>ID</TT> with elements that want to use its content in the pop ups they display. However, elements can also use the <TT>tooltip</TT> attribute to display a tooltip more directly for themselves.
                    840: <HR><H3><A NAME="77401"></A> tree</H3>
                    841: <P>Hierarchical holder of information represented as rows
                    842: <A NAME="77401"></A> Contains
                    843: <TT>treecols</TT>, <TT>treechildren</TT>
                    844: <H4><A NAME="77401"></A> Additional Attributes</H4>
                    845: <TT>multiple</TT>,  <!--INDEX tree element, XUL --> <TT>datasources</TT>, <TT>enableColumnDrag</TT>, <TT>containment</TT>,<TT> sortResource</TT>, <TT>sortDirection</TT>, <TT>border</TT>, <TT>seltype</TT>, <TT>sortActive</TT>, <TT>flags, context</TT>, <TT>persist</TT>, <TT>hidecolumnpicker</TT>
                    846: <H4><A NAME="77401"></A> Description</H4>
                    847: The <TT>tree</TT> element is a high-level widget that displays tabular data. More complex than <TT>listbox</TT>, <TT>tree</TT> allows you to define nested content, different views, and data display, and provides methods that sort and manipulate its contents.
                    848: <H4><A NAME="77401"></A> See Also</H4>
                    849: <TT>treecell</TT>, <TT>treechildren</TT>, <TT>treecol</TT>, <TT>treecols</TT>, <TT>treeitem</TT>, <TT>treerow</TT>
                    850: <HR><H3><A NAME="77406"></A> treecell</H3>
                    851: <P>A single cell in a tree
                    852: <A NAME="77406"></A> Contained by
                    853: treerow
                    854: <H4><A NAME="77406"></A> Additional Attributes</H4>
                    855: <TT>src</TT>, <TT>indent</TT>,  <!--INDEX treecell element, XUL --> <TT>observes</TT>, <TT>url</TT>, <TT>value</TT>, <TT>label</TT>, <TT>sortActive, sortDirection</TT>, <TT>tag</TT>, <TT>mode</TT>, <TT>resource</TT>, <TT>allowevents</TT>, <TT>properties</TT>
                    856: <H4><A NAME="77406"></A> Description</H4>
                    857: The <TT>treecell</TT> contains the actual content to be displayed in a tree. That content can be in the form of a value for the <TT>label</TT> attribute. It can also be content in the <TT>treecell</TT>'s start and end tags (e.g., <TT>&lt;treecell&gt;data&lt;/treecell&gt;</TT>).
                    858: <H4><A NAME="77406"></A> See Also</H4>
                    859: tree, treechildren, treecol, treecols, treeitem, treerow
                    860: <HR><H3><A NAME="77412"></A> treechildren</H3>
                    861: <P>The main body of a tree; a container for treeitems
                    862: <A NAME="77412"></A> Contains
                    863: treeitem <!--INDEX treechildren element, XUL -->
                    864: <A NAME="77412"></A> Contained by
                    865: tree
                    866: <H4><A NAME="77412"></A> Additional Attributes</H4>
                    867: open
                    868: <H4><A NAME="77412"></A> Description</H4>
                    869: The <TT>treechildren</TT> element defines the subset of the <TT>tree</TT> where the content is actually contained (in contrast to <TT>treecols</TT>, which defines aspects of the layout).
                    870: <H4><A NAME="77412"></A> See Also</H4>
                    871: <TT>tree</TT>, <TT>treecell</TT>, <TT>treecol</TT>, <TT>treecols</TT>, <TT>treeitem</TT>, <TT>treerow</TT>
                    872: <HR><H3><A NAME="77417"></A> treecol</H3>
                    873: <P>A single column of a tree
                    874: <A NAME="77417"></A> Contained by
                    875: treecols <!--INDEX treecol element, XUL -->
                    876: <H4><A NAME="77417"></A> Additional Attributes</H4>
                    877: <TT>sort</TT>, <TT>resource</TT>, <TT>primary</TT>, <TT>sortSeparators</TT>, <TT>label</TT>, <TT>sortActive</TT>,<TT> sortDirection</TT>, <TT>hideheader</TT>, <TT>accesskey</TT>, <TT>type</TT>
                    878: <H4><A NAME="77417"></A> Description</H4>
                    879: The <TT>treecol</TT> typically does not contain content. Instead, it defines the header for the columns whose contents are defined in the <TT>treerow</TT>s.
                    880: <H4><A NAME="77417"></A> See Also</H4>
                    881: <TT>tree</TT>, <TT>treecell</TT>, <TT>treechildren</TT>, <TT>treecols</TT>, <TT>treeitem</TT>, <TT>treerow</TT>
                    882: <HR><H3><A NAME="77423"></A> treecols</H3>
                    883: <P>Container for tree columns
                    884: <A NAME="77423"></A> Contained by
                    885: tree
                    886: <A NAME="77423"></A> Contains
                    887: treecol
                    888: <H4><A NAME="77423"></A> Additional Attributes</H4>
                    889: None.
                    890: <H4><A NAME="77423"></A> Description</H4>
                    891: This element is a container for a group of <TT>treecol</TT> elements, or columns, in a tree. A tree should have only one <TT>treecols</TT>.
                    892: <H4><A NAME="77423"></A> See Also</H4>
                    893: <TT>tree</TT>, <TT>treecell</TT>, <TT>treechildren</TT>, <TT>treecol</TT>, <TT>treeitem</TT>, <TT>treerow</TT>
                    894: <HR><H3><A NAME="77429"></A> treeitem</H3>
                    895: <P>A treerow container
                    896: <A NAME="77429"></A> Contained by
                    897: treechildren <!--INDEX treeitem element, XUL -->
                    898: <A NAME="77429"></A> Contains
                    899: treerow
                    900: <H4><A NAME="77429"></A> Additional Attributes</H4>
                    901: <TT>rdf:type</TT>, <TT>container</TT>, <TT>open</TT>
                    902: <H4><A NAME="77429"></A> Description</H4>
                    903: The <TT>treeitem</TT> element is a container for a <TT>treerow</TT>, and makes <TT>treerow</TT> a selectable element within the <TT>tree</TT>.
                    904: <H4><A NAME="77429"></A> See Also</H4>
                    905: <TT>tree</TT>, <TT>treecell</TT>, <TT>treechildren</TT>, <TT>treecol</TT>, <TT>treecols</TT>, <TT>treerow</TT>
                    906: <HR><H3><A NAME="77435"></A> treerow</H3>
                    907: <P>A single row of a tree
                    908: <A NAME="77435"></A> Contained by
                    909: treeitem <!--INDEX treerow element, XUL -->
                    910: <A NAME="77435"></A> Contains
                    911: treecell
                    912: <H4><A NAME="77435"></A> Additional Attributes</H4>
                    913: properties
                    914: <H4><A NAME="77435"></A> Description</H4>
                    915: Contained within a <TT>treeitem</TT>, this element represents a single row of a tree.
                    916: <H4><A NAME="77435"></A> See Also</H4>
                    917: <TT>tree</TT>, <TT>treecell</TT>, <TT>treechildren</TT>, <TT>treecol</TT>, <TT>treecols</TT>, <TT>treeitem</TT>
                    918: <HR><H3><A NAME="77439"></A> triple</H3>
                    919: <P>Substructure of a template that matches RDF statements in the data
                    920: <H4><A NAME="77439"></A> Additional Attributes</H4>
                    921: <TT>predicate</TT>,  <!--INDEX triple element, XUL --> <TT>object</TT>, <TT>subject</TT>
                    922: <H4><A NAME="77439"></A> Description</H4>
                    923: The children of <TT>triple-predicate</TT>, <TT>object</TT>, and <TT>subject-</TT>match RDF statements that appear in the data processed in the template.
                    924: <H4><A NAME="77439"></A> See Also</H4>
                    925: <TT>template</TT>, <TT>member</TT>, <TT>content</TT>, <TT>conditions</TT>
                    926: <HR><H3><A NAME="77442"></A> vbox</H3>
                    927: <P>Box container with vertically laid out children
                    928: <H4><A NAME="77442"></A> Additional Attributes</H4>
                    929: None.
                    930: <H4><A NAME="77442"></A> See Also</H4>
                    931: <TT>box</TT>,  <!--INDEX vbox element, XUL --> hbox
                    932: <HR><H3><A NAME="77446"></A> window</H3>
                    933: <P>Root element of a top-level XUL window document
                    934: <H4><A NAME="77446"></A> Additional Attributes</H4>
                    935: <TT>windowtype</TT>, <TT> <!--INDEX window element, XUL --> xmlns:rdf</TT>, <TT>xmlns:web</TT>, <TT>titlepreface</TT>, <TT>onload</TT>, <TT>onunload</TT>,<TT> xmlns</TT>, <TT>titlemodifier</TT>, <TT>xmlns:html</TT>, <TT>title</TT>, <TT>onclose</TT>,<TT> titlemenuseparator</TT>, <TT>contenttitlesetting</TT>, <TT>y</TT>, <TT>x</TT>, <TT>screenY</TT>, <TT>screenX</TT>
                    936: <H4><A NAME="77446"></A> Description</H4>
                    937: The <TT>window</TT> is an XUL document's basic root element. The contents of a XUL document, including the <TT>script</TT> elements, commands, keys, and broadcasters, appear as children of the window. Overlays, the XML and stylesheet-processing instructions, and the <TT>DOCTYPE</TT> declaration appear before and outside a document's root element. The window should have a unique ID and use minimally, the XUL namespace to identify markup elements as XUL: <TT>xmlns="<A HREF="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</A>"</TT>.
                    938: <H4><A NAME="77446"></A> See Also</H4>
                    939: <TT>overlay</TT>, <TT>page</TT>
                    940: <HR><H3><A NAME="77451"></A> wizard</H3>
                    941: <P>Window used to step though a task
                    942: <A NAME="77451"></A> Contains
                    943: wizardpage
                    944: <H4><A NAME="77451"></A> Additional Attributes</H4>
                    945: <TT>onwizardaccept</TT>, <TT>onwizardcancel</TT>, <TT>xmlns</TT>, <TT>onwizardfinish</TT>,<TT> xmlns:nc</TT>
                    946: <H4><A NAME="77451"></A> Description</H4>
                    947: Like <TT>dialog</TT>, <TT>wizard</TT> is a specialized version of the <TT>window</TT> root element. It easily creates multistep dialog windows that help users set up accounts, password data, and other customizable information. A <TT>wizard</TT> contains one or more <TT>wizardpage</TT>s.
                    948: <H4><A NAME="77451"></A> See Also</H4>
                    949: <TT>wizardpage</TT>, <TT>window</TT>, <TT>dialog</TT>
                    950: <HR><H3><A NAME="77456"></A> wizardpage</H3>
                    951: <P>A single panel (step) of a wizard
                    952: <A NAME="77456"></A> Contained by
                    953: wizard
                    954: <H4><A NAME="77456"></A> Additional Attributes</H4>
                    955: <TT>label</TT>, <TT>pageid</TT>, <TT>onpageadvanced</TT>, <TT>onpageshow</TT>, <TT>onpagecancel</TT>
                    956: <H4><A NAME="77456"></A> Description</H4>
                    957: The <TT>wizardpage</TT> can contain  <!--INDEX wizardpage element, XUL --> arbitrary XUL content. One or more wizardpages are defined in a <TT>wizard</TT> window. The intrinsic functionality of a wizard window allows you to step through <TT>wizardpage</TT>s by setting the <TT>onpageshow</TT> and <TT>onpagecancel</TT> event handlers on individual pages and using the <TT>onwizardaccept</TT> and <TT>onwizardcancel</TT> event handlers on  <!--INDEX ENDRANGE--XUL element set --> the  <!--INDEX ENDRANGE--elements:XUL element set --> <TT>wizard</TT> parent element.
                    958: <H4><A NAME="77456"></A> See Also</H4>
                    959: <TT>wizard</TT>, <TT>window</TT>, <TT>dialog</TT>
                    960: 
                    961: <H2><A NAME="77457"></A> XBL Element Set</H2>
                    962: <P>The XBL 1.0 specification published on the <!--INDEX STARTRANGE--XBL element set;elements:XBL element set -->  mozilla.org web site appeared to be a beacon for application developers. Because the specification was available early in the development process, XBL seemed to be a tighter, more comprehensible language that was easier to learn and master than XUL. Since then, XBL development has strayed from the specification quite a bit, however, and now people consider XBL as opaque as XUL without good documentation that helps people learn and to create a roadmap for use based on continuing development.
1.2       david     963: <P>This reference section tries to capture basic elements and attributes in XBL. Because it binds rather than creates content, XBL is smaller and 
                    964: inherently more formal than XUL. Nonetheless, as you will see, the language has quite a bit of range and complexity. Each entry in this section describes the XBL element and its purpose, its position in the hierarchy (i.e., which elements it contains and which elements it is contained by), and lists the element's attributes. <A HREF="ch07.html#77027">Chapter 7</A> introduces XBL and shows how to use it. However, once you are familiar with the basics of XBL, you can consult this reference to find the XBL items you want.
1.1       david     965: <HR><H3><A NAME="77463"></A> binding</H3>
                    966: <P>A single XBL binding
                    967: <A NAME="77463"></A> Contains
                    968: <TT>content</TT>, <TT>implementation</TT>,  <!--INDEX binding element, XBL --> handlers
                    969: <A NAME="77463"></A> Contained by
                    970: bindings
                    971: <A NAME="77463"></A> Attributes
                    972: <TT>id</TT>, <TT>extends</TT>, <TT>display</TT>, <TT>applyauthorstyles</TT>, <TT>styleexplicitcontent</TT>
                    973: <H4><A NAME="77463"></A> Description</H4>
                    974: This element defines a single XBL binding that can be attached to a bound document. It enables the creation of self-contained widgets that can contain content, implementation, and handlers. This element must have an <TT>id</TT> attribute value; this value is how it is associated-either through a CSS style rule or a DOM method-to the bound element that acts a placeholder for the binding that is filled out during attachment. The <TT>extends</TT> attribute inherits from a XUL element or another binding.
                    975: <H4><A NAME="77463"></A> See Also</H4>
                    976: bindings
                    977: <HR><H3><A NAME="77468"></A> bindings</H3>
                    978: <P>An XBL document's root element
                    979: <A NAME="77468"></A> Contains
                    980: <TT>binding</TT>, <TT>resources</TT>,  <!--INDEX bindings element, XBL --> stylesheet
                    981: <A NAME="77468"></A> Attributes
                    982: <TT>id</TT>, <TT>type</TT>
                    983: <H4><A NAME="77468"></A> Description</H4>
                    984: This root container can hold one or more bindings, represented by the <TT>&lt;binding&gt;</TT> markup. The Mozilla code base references an XBL document through its name, which has an <I>.xml</I> extension. The document <TT>id</TT> has to be unique. The other children of <TT>&lt;bindings&gt;</TT> are <TT>&lt;resources&gt;</TT> and <TT>&lt;stylesheet&gt;</TT>, which contain style and image information to be used by the document's bindings.
                    985: <H4><A NAME="77468"></A> See Also</H4>
                    986: binding
                    987: <HR><H3><A NAME="77473"></A> body</H3>
                    988: <P>Container for JavaScript code to be executed by an XBL method
                    989: <A NAME="77473"></A> Contained by
                    990: method <!--INDEX body element, XBL -->
                    991: <A NAME="77473"></A> Attributes
                    992: id
                    993: <H4><A NAME="77473"></A> Description</H4>
                    994: This element is designed as a holder for the method's script. It defines a logical block and differentiates the script from the parameter element, which also lies within the method. Script contained in a method has to be in a body element, which in turn should contain a CDATA section. &lt;![CDATA[...]]&gt; escapes JavaScript characters like quotes and slashes that may otherwise conflict with the XML parser.
                    995: <H4><A NAME="77473"></A> See Also</H4>
                    996: method
                    997: <HR><H3><A NAME="77477"></A> children</H3>
                    998: <P>Insertion point for children of a bound element, or inherited binding
                    999: <A NAME="77477"></A> Contained by
                   1000: content <!--INDEX children element, XBL -->
                   1001: <A NAME="77477"></A> Attributes
                   1002: <TT>id</TT>, <TT>includes</TT>, <TT>type</TT>
                   1003: <H4><A NAME="77477"></A> Description</H4>
                   1004: This element needs to be placed in the binding content at the point where you want to place children of the bound element when the binding is rendered. If the children tag contains its own elements, then that element will be default content. If the element the binding attaches to contains children, the default content is ignored.
                   1005: <HR><H3><A NAME="77482"></A> constructor</H3>
                   1006: <P>Container for code to be executed when a binding is created
                   1007: <A NAME="77482"></A> Contained by
                   1008: implementation <!--INDEX constructor element, XBL -->
                   1009: <A NAME="77482"></A> Attributes
                   1010: <TT>action</TT>, <TT>class</TT>, <TT>id</TT>
                   1011: <H4><A NAME="77482"></A> Description</H4>
                   1012: This behavior element is contained in the <TT>implementation</TT> element and holds code that will be carried out when the binding attachment first takes place. If you picture a binding as an object, your vision is initialization code. The code can alternatively be contained as the <TT>action</TT> attribute's value.
                   1013: <H4><A NAME="77482"></A> See Also</H4>
                   1014: destructor
                   1015: <HR><H3><A NAME="77487"></A> content</H3>
                   1016: <P>Container for anonymous content to be inserted into a bound document
                   1017: <A NAME="77487"></A> Contains
                   1018: <TT>children</TT>; any markup  <!--INDEX content element, XBL --> content
                   1019: <A NAME="77487"></A> Contained by
                   1020: binding
                   1021: <A NAME="77487"></A> Attributes
                   1022: id
                   1023: <H4><A NAME="77487"></A> Description</H4>
                   1024: This container for the anonymous binding content is placed at the point where the element using it is in the bound document. <TT>children</TT> is the only XBL element allowed as a child of <TT>content</TT>. All other content is either HTML or XUL, depending on the context in which you use the binding.
                   1025: <HR><H3><A NAME="77492"></A> destructor</H3>
                   1026: <P>Container for code to be executed when a binding is destroyed
                   1027: <A NAME="77492"></A> Contained by
                   1028: implementation <!--INDEX destructor element, XBL -->
                   1029: <A NAME="77492"></A> Attributes
                   1030: <TT>action</TT>, <TT>class</TT>, <TT>id</TT>
                   1031: <H4><A NAME="77492"></A> Description</H4>
                   1032: Contained in the binding's <TT>implementation</TT>, this element carries out code placed within it when the binding is detached or destroyed. This detachment and destruction occurs when the bound element matches a different style rule, the bound element is removed from the document, or the document is closed or destroyed. The code can alternatively be a value of the <TT>action</TT> attribute.
                   1033: <H4><A NAME="77492"></A> See Also</H4>
                   1034: constructor
                   1035: <HR><H3><A NAME="77497"></A> element</H3>
                   1036: <P>Insertion point for bound elements in anonymous content
                   1037: <A NAME="77497"></A> Contained by
                   1038: content
                   1039: <A NAME="77497"></A> Attributes
                   1040: id
                   1041: <H4><A NAME="77497"></A> Description</H4>
                   1042: This element allows placement of a  <!--INDEX element element, XBL --> bound element at a point in the anonymous content (other than the top level that is the default for it). To use it, place it at the point in the binding content where you want the bound element to be rendered. This element is part of the XBL 1.0 specification, but is not yet implemented.
                   1043: <H4><A NAME="77497"></A> See Also</H4>
                   1044: content
                   1045: <HR><H3><A NAME="77502"></A> field</H3>
                   1046: <P>Holder property for simple data
                   1047: <A NAME="77502"></A> Contained by
                   1048: implementation <!--INDEX field element, XBL -->
                   1049: <A NAME="77502"></A> Attributes
                   1050: <TT>class</TT>, <TT>id</TT> <TT>name</TT>, <TT>readonly</TT>
                   1051: <H4><A NAME="77502"></A> Description</H4>
                   1052: This element is a simple data holder and an alternative to a <TT>property</TT>. It differs from <TT>property</TT> because it does not use a <TT>getter</TT> or <TT>setter</TT>. It is useful for holding static/constant values for use elsewhere in the binding.
                   1053: <H4><A NAME="77502"></A> See Also</H4>
                   1054: <TT>implementation</TT>, <TT>property</TT>
                   1055: <HR><H3><A NAME="77507"></A> getter</H3>
                   1056: <P>Script access point for an element's property
                   1057: <A NAME="77507"></A> Contained by
                   1058: property
                   1059: <A NAME="77507"></A> Attributes
                   1060: <TT>id</TT>, <TT>type</TT>
                   1061: <H4><A NAME="77507"></A> Description</H4>
                   1062: This element executes script when the <TT>property</TT> it is attached to is accessed. This is most commonly used to return the value of the property.
                   1063: <H4><A NAME="77507"></A> See Also</H4>
                   1064: <TT>property</TT>, <TT>setter</TT>
                   1065: <HR><H3><A NAME="77512"></A> handler</H3>
                   1066: <P>Single event handler for an XBL element
                   1067: <A NAME="77512"></A> Contained by
                   1068: handlers
                   1069: <A NAME="77512"></A> Attributes
                   1070: <TT>id</TT>, <TT>event</TT>, <TT>action</TT>, <TT>phase</TT>, <TT>attachto</TT>, <TT>button</TT>, <TT>modifiers</TT>, <TT>keycode</TT>, <TT>charcode</TT>, <TT>type</TT>
                   1071: <H4><A NAME="77512"></A> Description</H4>
                   1072: This element defines an  <!--INDEX handler element, XBL --> event handler on a binding that reacts to a mouse movement or keyboard press on the binding. Some executed code is contained in the handler. This code can go directly under the element or in the <TT>action</TT> attribute.
                   1073: The <TT>attachto</TT> attribute determines where the event is received-in the element, document, or window. The default receiver is the bound element. The <TT>phase</TT> attribute has three possible values-capturing, bubbling, and target-that determine which part of the event flow and default is bubbling
                   1074: The <TT>button</TT>, <TT>charcode</TT>, <TT>keycode</TT>, and <TT>modifiers</TT> attributes act as filters. For example, the value of <TT>button</TT> must match the label of the button that triggers the event.
                   1075: The section "Event Attributes," later in this chapter, contains a complete list of events.
                   1076: <H4><A NAME="77512"></A> See Also</H4>
                   1077: handlers
                   1078: <HR><H3><A NAME="77518"></A> handlers</H3>
                   1079: <P>Container for event-handler elements
                   1080: <A NAME="77518"></A> Contains
                   1081: handler <!--INDEX handlers element, XBL -->
                   1082: <A NAME="77518"></A> Contained by
                   1083: binding
                   1084: <A NAME="77518"></A> Attributes
                   1085: <TT>id</TT>, <TT>type</TT>
                   1086: <H4><A NAME="77518"></A> Description</H4>
                   1087: This element is placed under the binding element and contains the event handlers used by that binding.
                   1088: <H4><A NAME="77518"></A> See Also</H4>
                   1089: handler
                   1090: <HR><H3><A NAME="77523"></A> image</H3>
                   1091: <P>An image resource in a binding
                   1092: <A NAME="77523"></A> Contained by
                   1093: resources
                   1094: <A NAME="77523"></A> Attributes
                   1095: <TT>class</TT>,<TT>id</TT>, <TT>src</TT>
                   1096: <H4><A NAME="77523"></A> Description</H4>
                   1097: This element preloads images; all included image resources are loaded when the binding is used.
                   1098: <H4><A NAME="77523"></A> See Also</H4>
                   1099: <TT>resources</TT>, <TT>stylesheet</TT>
                   1100: <HR><H3><A NAME="77529"></A> implementation</H3>
                   1101: <P>Container for binding methods and properties
                   1102: <A NAME="77529"></A> Contains
                   1103: <TT>method</TT>,  <!--INDEX implementation element, XBL --> property
                   1104: <A NAME="77529"></A> Contained by
                   1105: binding
                   1106: <A NAME="77529"></A> Attributes
                   1107: <TT>id</TT>, <TT>name</TT>, <TT>implements</TT>, <TT>type</TT>
                   1108: <H4><A NAME="77529"></A> Description</H4>
                   1109: This element holds a binding's <TT>&lt;method&gt;</TT> and <TT>&lt;property&gt;</TT> elements that, as a whole, make up a binding's behavior. The optional <TT>implements</TT> attribute can hold a list of comma-separated XPCOM interfaces that are used by the implementation's methods and properties. The optional <TT>type</TT> attribute represents the scripting language to be used. This attribute defaults to JavaScript, the only implemented language that scripts Mozilla's XPFE.
                   1110: <PRE>&lt;implementation type="application/x-javascript" implements="nsIAccessibleProvider"&gt;
                   1111: ...
                   1112: &lt;/implementation&gt;</PRE>
                   1113: <H4><A NAME="77529"></A> See Also</H4>
                   1114: <TT>binding</TT>, <TT>method</TT>, <TT>property</TT>
                   1115: <HR><H3><A NAME="77535"></A> method</H3>
                   1116: <P>Script function to be accessed on a binding object
                   1117: <A NAME="77535"></A> Contains
                   1118: <TT>body</TT>,  <!--INDEX method element, XBL --> parameter
                   1119: <A NAME="77535"></A> Contained by
                   1120: implementation
                   1121: <A NAME="77535"></A> Attributes
                   1122: <TT>id</TT>, <TT>name</TT>, <TT>type</TT>
                   1123: <H4><A NAME="77535"></A> Description</H4>
                   1124: This element supplies a single function to the bound element or binding object. The most important attribute is <TT>name</TT>, which calls the method and is compulsory. The method can have the <TT>&lt;parameter&gt;</TT> element define parameters. A <TT>&lt;body&gt;</TT> element contains the code that will be executed.
                   1125: <H4><A NAME="77535"></A> See Also</H4>
                   1126: <TT>body</TT>, <TT>implementation</TT>, <TT>parameter</TT>
                   1127: <HR><H3><A NAME="77540"></A> parameter</H3>
                   1128: <P>Single paramter declaration for a method
                   1129: <A NAME="77540"></A> Contained by
                   1130: method
                   1131: <A NAME="77540"></A> Attributes
                   1132: <TT>id</TT>, <TT>name</TT>
                   1133: <H4><A NAME="77540"></A> Description</H4>
                   1134: Each <TT>&lt;parameter&gt;</TT> element  <!--INDEX parameter element, XBL --> lists a single parameter for a method. The <TT>name</TT> attribute is compulsory and is used by the method code to access the parameter's value.
                   1135: <H4><A NAME="77540"></A> See Also</H4>
                   1136: method
                   1137: <HR><H3><A NAME="77546"></A> property</H3>
                   1138: <P>Definition of a single binding object property
                   1139: <A NAME="77546"></A> Contains
                   1140: <TT>getter</TT>,  <!--INDEX property element, XBL --> <TT>setter</TT>
                   1141: <A NAME="77546"></A> Contained by
                   1142: implementation
                   1143: <A NAME="77546"></A> Attributes
                   1144: <TT>id</TT>, <TT>name</TT>, <TT>readonly</TT>, <TT>onget</TT>, <TT>onset</TT>, <TT>element</TT>, <TT>attribute</TT>, <TT>property</TT>, <TT>type</TT>
                   1145: <H4><A NAME="77546"></A> Description</H4>
                   1146: This element defines a bound element's or binding object's property. The name attribute is compulsory because it accesses the property. <TT>&lt;getter&gt;</TT> and <TT>&lt;setter&gt;</TT> child elements are optional and get and set the property value, respectively. The <TT>onget</TT> and <TT>onset</TT> attributes are alternatives. The <TT>element</TT> attribute is a reference to the anonymous content's node <TT>id</TT>. When the property is set, it is also set on that node. The property can be set to <TT>readonly</TT>.
                   1147: <H4><A NAME="77546"></A> See Also</H4>
                   1148: <TT>field</TT>, <TT>getter</TT>, <TT>setter</TT>
                   1149: <HR><H3><A NAME="77551"></A> resources</H3>
                   1150: <P>Container for list of resources that can be used by a binding
                   1151: <A NAME="77551"></A> Contains
                   1152: <TT>image</TT>,  <!--INDEX resources element, XBL --> stylesheet
                   1153: <A NAME="77551"></A> Contained by
                   1154: binding
                   1155: <H4><A NAME="77551"></A> Description</H4>
                   1156: Along with <TT>&lt;content&gt;</TT>, <TT>&lt;implementation&gt;</TT>, and <TT>&lt;handlers&gt;</TT>, this element is one of the binding element's top-level children. It defines the binding's resources. Stylesheets and images are the current resources available to bindings. It is common for a single binding to contain all resources, which another binding can then inherit.
                   1157: <H4><A NAME="77551"></A> See Also</H4>
                   1158: <TT>image</TT>, <TT>stylesheet</TT>
                   1159: <HR><H3><A NAME="77556"></A> setter</H3>
                   1160: <P>Change a binding property's value
                   1161: <A NAME="77556"></A> Contained by
                   1162: property
                   1163: <A NAME="77556"></A> Attributes
                   1164: <TT>id</TT>, <TT>type</TT>
                   1165: <H4><A NAME="77556"></A> Description</H4>
                   1166: This element commonly sets the  <!--INDEX setter element, XBL --> value of the property, and optionally executes other script for the property.
                   1167: <H4><A NAME="77556"></A> See Also</H4>
                   1168: <TT>getter</TT>, <TT>property</TT>
                   1169: <HR><H3><A NAME="77561"></A> stylesheet</H3>
                   1170: <P>Captures an external stylesheet for use by anonymous content
                   1171: <A NAME="77561"></A> Contained by
                   1172: resources
                   1173: <A NAME="77561"></A> Attributes
                   1174: src
                   1175: <H4><A NAME="77561"></A> Description</H4>
                   1176: This element defines a stylesheet  <!--INDEX stylesheet element, XBL --> to be used by a binding. An element's bound element and explicit children as well as anonymous content can use <TT>stylesheet</TT>. The <TT>src</TT> attribute has a URL value that points to the stylesheet. If you use the <TT>xml-stylesheet</TT> processing instruction on a binding, it can be applied only at a document level. It  <!--INDEX ENDRANGE--XBL element set;elements:XBL element set --> cannot be applied at a binding level, which is covered by the <TT>&lt;stylesheet&gt;</TT> element.
                   1177: <H4><A NAME="77561"></A> See Also</H4>
                   1178: <TT>image</TT>, <TT>resources</TT>
                   1179: 
                   1180: <H2><A NAME="77562"></A> Event Attributes</H2>
                   1181: <P>Events are built-in constructs that  <!--INDEX STARTRANGE--events:attributes;attributes:events --> are part of the interaction between JavaScript and HTML. These constructs have been crucial to DHTML for many years. They are designed to capture and handle actions triggered by the user, such as a mouse click or the pressing of a certain key. Event handlers have been brought into the world of XUL/XBL and allow dynamic, interactive Mozilla applications. In XUL, events can exist on any attribute, and typically bubble up through the hierarchy. An event attribute of the empty string generates a JS strict warning (if this is turned on in the user preferences), and removing an event attribute from a XUL event does not remove the event listener (although it does in HTML).
                   1182: <P>The events are listed in the form <TT>on&lt;eventName&gt;</TT>, which is how events are used as attributes on XUL elements. The attribute contains lines of script or a function call, when a script is too long. Here is an example of an event attribute that carries out a function each time a <TT>menulist</TT> value changes:
                   1183: <PRE>&lt;menulist id="eventList" editable="true" flex="1" onchange="addEvent(this)"&gt;</PRE>
                   1184: <P>The syntax is different in XBL. Here the event is specified as the value of the <TT>name</TT> attribute, which is attached to the <TT>handler</TT> element. One or more of these elements can optionally be contained in a binding. The given value is the event's name, minus the "on" prefix. The executed code is contained in the body of the handler inline, or in the <TT>action</TT> attribute, as shown in this example:
                   1185: <PRE>&lt;handler name="focus" action="this.activate( )"/&gt;</PRE>
1.2       david    1186: <P><A HREF="ch07.html#77027">Chapter 7</A> provides a closer look at events in XBL. All the events listed here are available for use in XUL and 
                   1187: XBL.
1.1       david    1188: <HR><H3><A NAME="77563"></A> onblur</H3>
                   1189: Usually used for input element  <!--INDEX onblur event;events onblur --> such as a textbox, this event triggers actions when the focus leaves a widget. This action is the opposite of the <TT>onfocus</TT> event.
                   1190: <HR><H3><A NAME="77564"></A> onbroadcast</H3>
1.2       david    1191: This event is activated when the  <!--INDEX onbroadcast event;events:onbroadcast --> broadcaster attributes being "listened to" are changed. It 
                   1192: can be placed on the <TT>observes</TT> element, which is placed in an element that is being listened to, or on an element that uses the <TT>observes</TT> attribute. Refer to <A HREF="ch03.html#77084">Chapter 3</A> for more information on broadcasters and observers.
1.1       david    1193: <HR><H3><A NAME="77565"></A> onchange</H3>
                   1194: This event is fired when the value  <!--INDEX onchange event;events:onchange --> of a particular widget's (element) attribute that uses it changes. A menulist selection is one example. It can also be used on an observer when the attribute the observer listens to changes.
                   1195: <HR><H3><A NAME="77566"></A> onclick</H3>
                   1196: Relevant to any element that can be  <!--INDEX onclick event;events:onchange --> clicked on, such as a button, this event occurs when the mouse is clicked on an element that uses it. For some widgets that use this event, using <TT>oncommand</TT> attribute (which covers clicking) is recommended to avoid excluding keyboard selection. Here are some commonly used properties associated with this event:
                   1197: <DL><DT>button
                   1198: <DD>This property tells you which mouse button was clicked. Its values are 0 for the left mouse button, 1 for middle button, and 2 for right button.<P>
                   1199: <DT>detail
                   1200: <DD>This property counts how many clicks occur over an element before the mouse is moved. The values for this property start at 1 and increment for every click.<P></DL>
                   1201: Instead of catching double clicks this way, you can use the <TT>ondblclick</TT> event.
                   1202: <HR><H3><A NAME="77567"></A> onclose</H3>
                   1203: Usually used to evaluate script when  <!--INDEX onclose event;events:onclose --> a window is closed with the close button or via a <TT>window.close( )</TT> call, this event traps the closure of a widow. If the JavaScript evaluates to "true," the window closes; otherwise, the window remains open.
                   1204: <HR><H3><A NAME="77568"></A> oncommand</H3>
                   1205: This event is sent when an element  <!--INDEX oncommand event;events:oncommand --> is activated. Activation can mean more than one thing. You can activate by selecting a menu item, hitting Enter on the keyboard when an element has focus, or clicking on an element. Use this event if you want to cover the most possibilities available for activation.
                   1206: <HR><H3><A NAME="77569"></A> oncommandupdate</H3>
                   1207: This event is used on a command set  <!--INDEX oncommandupdate event;events:oncommandupdate --> when one of its commands is updated, such as when its disabled attribute changes.
                   1208: <HR><H3><A NAME="77570"></A> oncontextmenu</H3>
                   1209: This event occurs when a request  <!--INDEX oncontextmenu event;events:oncontextmenu --> is made for a context menu-usually a right click, depending on the platform-and is activated before the menu appears. <TT>oncontextmenu</TT> is similar to the <TT>oncreate</TT> and <TT>onpopupshowing</TT> events.
                   1210: <HR><H3><A NAME="77571"></A> oncreate</H3>
                   1211: Called on a <TT>popup</TT> element, this event carries  <!--INDEX oncreate event;events:oncreate --> out some code before the <TT>popup</TT> appears. It can be useful for dynamically determining which items appear in the resulting menu.
                   1212: <HR><H3><A NAME="77572"></A> ondblclick</H3>
                   1213: This event cccurs when there are two  <!--INDEX ondblclick event;events:ondblclick --> consecutive mouse clicks on an element. You could also use the <TT>onclick</TT> event's detail property with a value of 2.
                   1214: <HR><H3><A NAME="77573"></A> ondestroy</H3>
                   1215: Designed to carry out functions after a  <!--INDEX ondestroy event;events:ondestroy --> pop-up window disappears, this event can be used with a <TT>popup</TT> or <TT>menupopup</TT> element.
                   1216: <HR><H3><A NAME="77574"></A> ondragdrop</H3>
                   1217: When a drag and drop session completes  <!--INDEX ondragdrop event;events:ondragdrop --> and the user releases the mouse over the element, this event is triggered. The accessed code can acknowledge the drop and carry out an operation after accepting the dragged object.
                   1218: <HR><H3><A NAME="77575"></A> ondragenter</H3>
                   1219: The <TT>ondragenter</TT> event is sent when the  <!--INDEX ondragenter event;events:ondragenter --> mouse cursor first moves over an element during a drag and drop session. This element differs from the <TT>mouseover</TT> event because it occurs during a drag and drop session.
                   1220: <HR><H3><A NAME="77576"></A> ondragexit</H3>
                   1221: This element is activated when the  <!--INDEX ondragexit event;events:ondragexit --> cursor moves away from an element during a drag and drop session. It occurs after the <TT>ondragdrop</TT> event.
                   1222: <HR><H3><A NAME="77577"></A> ondraggesture</H3>
                   1223: The event is triggered at the beginning  <!--INDEX ondraggesture event;events:ondraggesture --> of a drag and drop session when the user holds the mouse button on the dragged object.
                   1224: <HR><H3><A NAME="77578"></A> ondragover</H3>
                   1225: When an object is dragged over an  <!--INDEX ondragover event;events:ondragover --> element, this event is commonly used by an element to determine whether the drop can occur.
                   1226: <HR><H3><A NAME="77579"></A> onfocus</H3>
                   1227: This event is triggered when an element  <!--INDEX onfocus event;events:onfocus --> receives focus in the UI. When it has focus, it can accept keyboard events. The opposite of <TT>onfocus</TT> is <TT>onblur</TT>.
                   1228: <HR><H3><A NAME="77580"></A> oninput</H3>
                   1229: Used on <TT>textbox</TT> elements, this event is  <!--INDEX oninput event;events:oninput --> activated when displayable keys change the text in the box.
                   1230: <HR><H3><A NAME="77581"></A> onkeydown</H3>
                   1231: This event occurs when the user presses  <!--INDEX onkeydown event;events:onkeydown --> a key on an element that has focus and the key press is not released.
                   1232: <HR><H3><A NAME="77582"></A> onkeypress</H3>
                   1233: Similar to <TT>onkeydown</TT>, this event occurs  <!--INDEX onkeypress event;events:onkeypress --> on a focused element when a key is pressed. The distinction is that with this event, the key is released soon after being pressed. The check for which key was pressed can be using the <TT>event.keyCode</TT> property.
                   1234: <HR><H3><A NAME="77583"></A> onkeyup</H3>
                   1235: This event is activated when the key press  <!--INDEX onkeyup event;events:onkeyup --> is released on a focused element.
                   1236: <HR><H3><A NAME="77584"></A> onload</H3>
                   1237: This event is activated on a XUL window  <!--INDEX onload event;events:onload --> or dialog after it has fully loaded. It should be attached to the elements of the same name. It can also be attached to <TT>image</TT> elements or elements that display images.
                   1238: <HR><H3><A NAME="77585"></A> onmousedown</H3>
                   1239: This event occurs when a mouse  <!--INDEX onmousedown event;events:onmousedown --> is pressed on an element but not released.
                   1240: <HR><H3><A NAME="77586"></A> onmousemove</H3>
                   1241: A reoccuring event, this event  <!--INDEX onmousemove event;events:onmousemove --> repeatedly fires when a mouse moves over an element.
                   1242: <HR><H3><A NAME="77587"></A> onmouseout</H3>
                   1243: When the mouse moves away  <!--INDEX onmouseout event;events:onmouseout --> from an element, this event occurs.
                   1244: <HR><H3><A NAME="77588"></A> onmouseover</H3>
                   1245: A hover event, this event fires  <!--INDEX onmouseover event;events:onmouseover --> when the mouse initially moves into an element's space.
                   1246: <HR><H3><A NAME="77589"></A> onmouseup</H3>
                   1247: This event occurs when a  <!--INDEX onmouseup event;events:onmouseup --> mouse is clicked and the button is released on an element immediately afterwards.
                   1248: <HR><H3><A NAME="77590"></A> onoverflow</H3>
                   1249: Relating to a box or layout  <!--INDEX onoverflow event;events:onoverflow --> element, this event is activated when the content contained in the box is too big for its given size and and "falls over the edge."
                   1250: <HR><H3><A NAME="77591"></A> onoverflowchanged</H3>
                   1251: This element is called when an  <!--INDEX onoverflowchanged event;events:onoverflowchanged --> element's overflow state changes. This can indicate that it did not have enough space to display it contents fully but does now, or that it does not have enough space and thus overflowed.
                   1252: <HR><H3><A NAME="77592"></A> onpopuphidden</H3>
                   1253: This event is activated on a <TT>popup</TT>  <!--INDEX onpopuphidden event;events:onpopuphidden --> when the pop-up window is hidden.
                   1254: <HR><H3><A NAME="77593"></A> onpopuphiding</H3>
                   1255: This event is activated on a <TT>popup</TT>  <!--INDEX onpopuphidden event;events:onpopuphidden --> while it is hidden.
                   1256: <HR><H3><A NAME="77594"></A> onpopupshowing</H3>
                   1257: This event is activated on a <TT>popup</TT>  <!--INDEX onpopupshowing event;events:onpopupshowing --> just before it opens. It is commonly used to dynamically set the contents of the <TT>popup</TT> when it is requested in the UI.
                   1258: <HR><H3><A NAME="77595"></A> onpopupshown</H3>
                   1259: This is event is activated on a <TT>popup</TT>  <!--INDEX onpopupshown event;events:onpopupshown --> after it is opened.
                   1260: <HR><H3><A NAME="77596"></A> onselect</H3>
                   1261: When you activate or select an  <!--INDEX onselect event;events:onselect --> available option in a widget, this event is fired. This event applies to such widgets as trees and listboxes.
                   1262: <HR><H3><A NAME="77597"></A> onunderflow</H3>
                   1263: This event can be used in tandem  <!--INDEX onunderflow event;events:onunderflow --> with the <TT>onoverflow</TT> event. It is activated when a layout element's content changes to fit into its given constraints after being in an overflow state.
                   1264: <HR><H3><A NAME="77598"></A> onunload</H3>
                   1265: This event is activated when a window  <!--INDEX onunload event;events:onunload --> or dialog closes. It should be used on the root elements of these  <!--INDEX ENDRANGE--events:attributes;attributes:events --> window documents.
                   1266: 
                   1267: <HR>
                   1268: <HR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
1.4       david    1269: <!-- ?php require(NOTES); ? -->
1.5     ! petejc   1270: <?php $post_to_list=NO; $author='reviewers@mozdev.org'; $target_page='appc'; require(NOTES); ?>
1.3       petejc   1271: </BODY>
1.1       david    1272: </HTML>

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