File:  [mozdev] / books / www / chapters / appc.html
Revision 1.3: download - view: text, annotated - select for diffs - revision graph
Mon Sep 30 01:22:45 2002 UTC (17 years, 9 months ago) by petejc
Branches: MAIN
CVS tags: HEAD
adding user notes to bottom of chapter pages
removing a line of excessive breaks at page ends


    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>
    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>.
    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.
   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>
   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=""></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>
  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 --> 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.
  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.
  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>
 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>
 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.
 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>
 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.
 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.
 1267: <HR>
 1268: <HR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
 1269: <?php require(NOTES); ?>
 1270: </BODY>
 1271: </HTML>

FreeBSD-CVSweb <>