A panel is a used as a temporary floating popup window that may contain any type of content. It does not have any window decorations. When open, it floats above the window and may extend outside the border of the main window. Typically, it will be attached to a button using the button's
type attribute so that when the button is pressed, the panel will be displayed. A panel may also be opened via a script using the
The panel is closed when the user clicks outside the panel, presses Escape or when the panel's
hidePopup method is called.
editorinside a panel is not supported. Some features may work, but only on some platforms. For those versions of Firefox, it is best to avoid child frames in a panel, if possible. This limitation was resolved as of Firefox 4.0.
The following example shows how a panel may be attached to a label.
<panel id="thepanel"> <hbox align="start"> <image src="warning.png"/> <vbox> <description value="You have 6 new messages."/> <hbox> <button label="Read Mail"/> <button label="New Message"/> </hbox> </vbox> </hbox> </panel> <description value="6 New Messages" popup="thepanel"/>
backdragattribute on a XUL panel lets the user move the panel by clicking and dragging anywhere on its background area.
trueto have a close button appear on the titlebar. Pressing the close button will close the panel.
truethe rollup event is consumed. If set to
false, the rollup event is not consumed. This attribute should be used instead of
fadeattribute, which may only be used with arrow panels, lets you set up a panel that will automatically fade away after a short time. The default is
both, permits that behavior. You will not normally have to use this attribute, since it's automatically applied to arrow panels.
slide, which causes the arrow to "slide" instead of flipping when the panel doesn't have room. A sliding panel will have the start (or end) position extended such that the panel can be the requested size, meaning the arrow will no longer be at the start (or end) of the panel - i.e., the arrow will appear to have been slid along the panel to ensure the arrow is still pointing at the anchor.
flip="slide"and has a width which is greater than the distance from the anchor to the right of the screen (or window), so the panel extends past the left of the anchor, and the arrow slides towards the middle of the panel such that it is still aligned with the anchor. Without
flip="slide", the panel would have had its width truncated and the panel would not extend to the left of the anchor.
false, the default value, the Escape key may be used to close the panel. If
true, the Escape key cannot be used to close the panel.
top, otherwise, the default value is
parent. If a panel has one or more text fields, this attribute should not be set, otherwise IME or on-screen keyboard popups will appear incorrectly. For these reasons, you should avoid setting the level if not needed.
false, the default value, the panel will be hidden when the user clicks outside the panel or switches focus to another application. If
true, the panel will only be closed when the hidePopup method is called.
false, the default value, then when the panel is hidden, the keyboard focus will be restored to whatever had the focus before the panel was opened. If
true, the focus will not be reset, although it will be cleared if the focus is within the panel.
falsefrom this event handler prevents the popup from appearing.
onloadevent is sent to a window when it is opened.
positionattribute determines where the popup appears relative to the element the user clicked to invoke the popup. This allows you to place the popup on one side of a button. Note that a context menu will never respect this attribute, always appearing relative to the mouse cursor.
bottomcenter. The popup value (ie, the second word) can be one of
closed: The popup is closed and not visible.
open: The popup is open and visible on screen.
showing: A request has been made to open the popup, but it has not yet been shown. This state will occur during the popupshowing event.
hiding: The popup is about to be hidden. This state will occur during the popuphiding event.
moveTo( x, y )
openPopup( anchor , position , x , y , isContextMenu, attributesOverride, triggerEvent )
Opens the popup relative to a specified node at a specific location.
nullas the anchor node. The direction in which the popup is oriented depends on the direction of the anchor.
after_pointer. Check Positioning of the Popup Guide for a precise description of the effect of the different values.
yarguments may be used to offset the popup from its anchored position by some number, measured in CSS pixels. An unanchored popup appears at the position specified by x and y, relative to the viewport of the document containing the popup node. In this case, the
attributesOverridearguments are ignored.
isContextMenuargument should be
truefor context menus and
falsefor all other types of popups. It affects menu item highlighting; that is, while a context menu is open, menus opened earlier do not highlight or execute their items.
true, the position attribute on the popup node overrides the
positionvalue argument. If
false, the attribute is only used if the
positionargument is empty.
openPopupAtScreen( x, y, isContextMenu )
sizeTo( width, height )