diff options
Diffstat (limited to 'dom/interfaces/xul')
21 files changed, 679 insertions, 0 deletions
diff --git a/dom/interfaces/xul/moz.build b/dom/interfaces/xul/moz.build new file mode 100644 index 000000000..50bd1d511 --- /dev/null +++ b/dom/interfaces/xul/moz.build @@ -0,0 +1,31 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +XPIDL_SOURCES += [ + 'nsIDOMXULButtonElement.idl', + 'nsIDOMXULCheckboxElement.idl', + 'nsIDOMXULCommandDispatcher.idl', + 'nsIDOMXULCommandEvent.idl', + 'nsIDOMXULContainerElement.idl', + 'nsIDOMXULControlElement.idl', + 'nsIDOMXULDescriptionElement.idl', + 'nsIDOMXULDocument.idl', + 'nsIDOMXULElement.idl', + 'nsIDOMXULImageElement.idl', + 'nsIDOMXULLabeledControlEl.idl', + 'nsIDOMXULLabelElement.idl', + 'nsIDOMXULMenuListElement.idl', + 'nsIDOMXULMultSelectCntrlEl.idl', + 'nsIDOMXULPopupElement.idl', + 'nsIDOMXULRelatedElement.idl', + 'nsIDOMXULSelectCntrlEl.idl', + 'nsIDOMXULSelectCntrlItemEl.idl', + 'nsIDOMXULTextboxElement.idl', + 'nsIDOMXULTreeElement.idl', +] + +XPIDL_MODULE = 'dom_xul' + diff --git a/dom/interfaces/xul/nsIDOMXULButtonElement.idl b/dom/interfaces/xul/nsIDOMXULButtonElement.idl new file mode 100644 index 000000000..6549f0034 --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULButtonElement.idl @@ -0,0 +1,28 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIDOMXULLabeledControlEl.idl" + +[scriptable, uuid(d56f1f8f-fc4e-4650-9a85-25108bbd1980)] +interface nsIDOMXULButtonElement : nsIDOMXULLabeledControlElement { + const short CHECKSTATE_UNCHECKED = 0; + const short CHECKSTATE_CHECKED = 1; + const short CHECKSTATE_MIXED = 2; + + attribute DOMString type; + attribute DOMString dlgType; + + // For buttons of type="menu" only. + attribute boolean open; + + // For buttons of type="checkbox" only. + attribute boolean checked; + attribute long checkState; + attribute boolean autoCheck; + + // For buttons of type="radio" only. + attribute DOMString group; +}; + diff --git a/dom/interfaces/xul/nsIDOMXULCheckboxElement.idl b/dom/interfaces/xul/nsIDOMXULCheckboxElement.idl new file mode 100644 index 000000000..81c0ece92 --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULCheckboxElement.idl @@ -0,0 +1,18 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIDOMElement.idl" +#include "nsIDOMXULLabeledControlEl.idl" + +[scriptable, uuid(745518ad-3163-41f0-b358-c81fb5a587bc)] +interface nsIDOMXULCheckboxElement : nsIDOMXULLabeledControlElement { + const short CHECKSTATE_UNCHECKED = 0; + const short CHECKSTATE_CHECKED = 1; + const short CHECKSTATE_MIXED = 2; + + attribute boolean checked; + attribute long checkState; + attribute boolean autoCheck; +}; diff --git a/dom/interfaces/xul/nsIDOMXULCommandDispatcher.idl b/dom/interfaces/xul/nsIDOMXULCommandDispatcher.idl new file mode 100644 index 000000000..995feaf22 --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULCommandDispatcher.idl @@ -0,0 +1,34 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISupports.idl" + +interface nsIDOMElement; +interface nsIController; +interface nsIControllers; +interface mozIDOMWindowProxy; + + +[scriptable, uuid(a9fa9fd3-8d62-4f94-9ed8-3ea9c3cf0773)] +interface nsIDOMXULCommandDispatcher : nsISupports +{ + attribute nsIDOMElement focusedElement; + attribute mozIDOMWindowProxy focusedWindow; + + void addCommandUpdater(in nsIDOMElement updater, + in DOMString events, + in DOMString targets); + void removeCommandUpdater(in nsIDOMElement updater); + + void updateCommands(in DOMString eventName); + + nsIController getControllerForCommand(in string command); + nsIControllers getControllers(); + + void advanceFocus(); + void rewindFocus(); + void advanceFocusIntoSubtree(in nsIDOMElement elt); + attribute boolean suppressFocusScroll; +}; diff --git a/dom/interfaces/xul/nsIDOMXULCommandEvent.idl b/dom/interfaces/xul/nsIDOMXULCommandEvent.idl new file mode 100644 index 000000000..c32a9e47d --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULCommandEvent.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim:set ts=2 sw=2 sts=2 et cindent: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/** + * This interface is supported by command events, which are dispatched to + * XUL elements as a result of mouse or keyboard activation. + */ + +#include "nsIDOMUIEvent.idl" + +[builtinclass, uuid(564496b4-1174-48ec-927d-edeb66b86757)] +interface nsIDOMXULCommandEvent : nsIDOMUIEvent +{ + /** + * Command events support the same set of modifier keys as mouse and key + * events. + */ + readonly attribute boolean ctrlKey; + readonly attribute boolean shiftKey; + readonly attribute boolean altKey; + readonly attribute boolean metaKey; + + /** + * If the command event was redispatched because of a command= attribute + * on the original target, sourceEvent will be set to the original DOM Event. + * Otherwise, sourceEvent is null. + */ + readonly attribute nsIDOMEvent sourceEvent; + + /** + * Creates a new command event with the given attributes. + */ + void initCommandEvent(in DOMString typeArg, + in boolean canBubbleArg, + in boolean cancelableArg, + in mozIDOMWindow viewArg, + in long detailArg, + in boolean ctrlKeyArg, + in boolean altKeyArg, + in boolean shiftKeyArg, + in boolean metaKeyArg, + in nsIDOMEvent sourceEvent); +}; diff --git a/dom/interfaces/xul/nsIDOMXULContainerElement.idl b/dom/interfaces/xul/nsIDOMXULContainerElement.idl new file mode 100644 index 000000000..a60e6967e --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULContainerElement.idl @@ -0,0 +1,68 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIDOMXULElement.idl" +interface nsIDOMXULContainerElement; + +[scriptable, uuid(800a68c7-b854-4597-a436-3055ce5c5c96)] +interface nsIDOMXULContainerItemElement : nsISupports +{ + /** + * Returns the parent container if any. + */ + readonly attribute nsIDOMXULContainerElement parentContainer; +}; + +[scriptable, uuid(b2bc96b8-31fc-42f4-937a-bd27291af40b)] +interface nsIDOMXULContainerElement : nsIDOMXULContainerItemElement +{ + /** + * Creates an item for the given label and value and appends it to the + * container. + * + * @param aLabel - the label for the new item + * @param aValue - the value of the new item + */ + nsIDOMXULElement appendItem(in DOMString aLabel, in DOMString aValue); + + /** + * Creates an item for the given label and value and inserts it into the + * container at the specified position. + * + * @param aIndex - the index where the new item will be inserted + * @param aLabel - the label for the new item + * @param aValue - the value of the new item + */ + nsIDOMXULElement insertItemAt(in long aIndex, in DOMString aLabel, + in DOMString aValue); + + /** + * Removes an item from the container. + * + * @param aIndex - index of the item to remove + */ + nsIDOMXULElement removeItemAt(in long aIndex); + + /** + * Returns a count of items in the container. + */ + readonly attribute unsigned long itemCount; + + /** + * Returns the index of an item or -1 if the item is not in the container. + * + * @param aItem - the item to determine the index of + */ + long getIndexOfItem(in nsIDOMXULElement aItem); + + /** + * Returns the item at a given index or null if the item is not is the + * container. + * + * @param aIndex - the index of the item to return + */ + nsIDOMXULElement getItemAtIndex(in long aIndex); +}; + diff --git a/dom/interfaces/xul/nsIDOMXULControlElement.idl b/dom/interfaces/xul/nsIDOMXULControlElement.idl new file mode 100644 index 000000000..2c88ce9a2 --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULControlElement.idl @@ -0,0 +1,23 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIDOMElement.idl" +#include "nsIDOMXULElement.idl" + +interface nsIControllers; + +[scriptable, uuid(ea7f92d0-b379-4107-91b4-1e69bdd771e3)] +interface nsIDOMXULControlElement : nsISupports { + attribute boolean disabled; + attribute long tabIndex; + +// XXX defined in XULElement, but should be defined here +// readonly attribute nsIControllers controllers; + +// void focus(); +// void blur(); +}; + + diff --git a/dom/interfaces/xul/nsIDOMXULDescriptionElement.idl b/dom/interfaces/xul/nsIDOMXULDescriptionElement.idl new file mode 100644 index 000000000..5e772568c --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULDescriptionElement.idl @@ -0,0 +1,15 @@ + +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIDOMXULElement.idl" + +[scriptable, uuid(64c3500e-e258-4d49-b7ca-c93ab0931ce4)] +interface nsIDOMXULDescriptionElement : nsISupports { + attribute boolean disabled; + attribute boolean crop; + attribute DOMString value; +}; + diff --git a/dom/interfaces/xul/nsIDOMXULDocument.idl b/dom/interfaces/xul/nsIDOMXULDocument.idl new file mode 100644 index 000000000..42473226f --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULDocument.idl @@ -0,0 +1,71 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "domstubs.idl" +#include "nsIDOMDocument.idl" + +interface nsIDOMXULCommandDispatcher; +interface nsIObserver; +interface nsIBoxObject; + +[uuid(7790d4c3-e8f0-4e29-9887-d683ed2b2a44)] +interface nsIDOMXULDocument : nsIDOMDocument +{ + attribute nsIDOMNode popupNode; + + /** + * These attributes correspond to trustedGetPopupNode().rangeOffset and + * rangeParent. They will help you find where in the DOM the popup is + * happening. Can be accessed from chrome only, and only during a popup + * event. Accessing any other time will be an error. + */ + readonly attribute nsIDOMNode popupRangeParent; + readonly attribute long popupRangeOffset; + + attribute nsIDOMNode tooltipNode; + + readonly attribute nsIDOMXULCommandDispatcher commandDispatcher; + + readonly attribute long width; + readonly attribute long height; + + nsIDOMNodeList getElementsByAttribute(in DOMString name, + in DOMString value); + + nsIDOMNodeList getElementsByAttributeNS(in DOMString namespaceURI, + in DOMString name, + in DOMString value); + + void addBroadcastListenerFor(in nsIDOMElement broadcaster, + in nsIDOMElement observer, + in DOMString attr); + + void removeBroadcastListenerFor(in nsIDOMElement broadcaster, + in nsIDOMElement observer, + in DOMString attr); + + void persist(in DOMString id, in DOMString attr); + + nsIBoxObject getBoxObjectFor(in nsIDOMElement elt); + + /** + * Loads a XUL overlay and merges it with the current document, notifying an + * observer when the merge is complete. + * @param url + * The URL of the overlay to load and merge + * @param observer + * An object implementing nsIObserver that will be notified with a + * message of topic "xul-overlay-merged" when the merge is complete. + * The subject parameter of |observe| will QI to a nsIURI - the URI + * of the merged overlay. This parameter is optional and may be null. + * + * NOTICE: In the 2.0 timeframe this API will change such that the + * implementation will fire a DOMXULOverlayMerged event upon merge + * completion rather than notifying an observer. Do not rely on this + * API's behavior _not_ to change because it will! + * - Ben Goodger (8/23/2005) + */ + void loadOverlay(in DOMString url, in nsIObserver aObserver); +}; diff --git a/dom/interfaces/xul/nsIDOMXULElement.idl b/dom/interfaces/xul/nsIDOMXULElement.idl new file mode 100644 index 000000000..c28a3974a --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULElement.idl @@ -0,0 +1,83 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIDOMElement.idl" + +interface nsIRDFCompositeDataSource; +interface nsIXULTemplateBuilder; +interface nsIRDFResource; +interface nsIControllers; +interface nsIBoxObject; + + +[uuid(75435ab3-6863-42a1-ade3-025393d9e80e)] +interface nsIDOMXULElement : nsIDOMElement +{ + // Layout properties + attribute DOMString align; + attribute DOMString dir; + attribute DOMString flex; + attribute DOMString flexGroup; + attribute DOMString ordinal; + attribute DOMString orient; + attribute DOMString pack; + + // Properties for hiding elements. + attribute boolean hidden; + attribute boolean collapsed; + + // Property for hooking up to broadcasters + attribute DOMString observes; + + // Properties for hooking up to popups + attribute DOMString menu; + attribute DOMString contextMenu; + attribute DOMString tooltip; + + // Width/height properties + attribute DOMString width; + attribute DOMString height; + attribute DOMString minWidth; + attribute DOMString minHeight; + attribute DOMString maxWidth; + attribute DOMString maxHeight; + + // Persistence + attribute DOMString persist; + + // Position properties for + // * popups - these are screen coordinates + // * other elements - these are client coordinates relative to parent stack. + attribute DOMString left; + attribute DOMString top; + + // XUL Template Builder + attribute DOMString datasources; + attribute DOMString ref; + + // Tooltip and status info + attribute DOMString tooltipText; + attribute DOMString statusText; + + attribute boolean allowEvents; + + readonly attribute nsIRDFCompositeDataSource database; + readonly attribute nsIXULTemplateBuilder builder; + readonly attribute nsIRDFResource resource; + readonly attribute nsIControllers controllers; + readonly attribute nsIBoxObject boxObject; + + void focus(); + void blur(); + void click(); + void doCommand(); + + nsIDOMNodeList getElementsByAttribute(in DOMString name, + in DOMString value); + + nsIDOMNodeList getElementsByAttributeNS(in DOMString namespaceURI, + in DOMString name, + in DOMString value); +}; diff --git a/dom/interfaces/xul/nsIDOMXULImageElement.idl b/dom/interfaces/xul/nsIDOMXULImageElement.idl new file mode 100644 index 000000000..307d6b8af --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULImageElement.idl @@ -0,0 +1,12 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIDOMElement.idl" +#include "nsIDOMXULElement.idl" + +[scriptable, uuid(0a391077-c509-49d2-af73-72e2114edd65)] +interface nsIDOMXULImageElement : nsISupports { + attribute DOMString src; +}; + diff --git a/dom/interfaces/xul/nsIDOMXULLabelElement.idl b/dom/interfaces/xul/nsIDOMXULLabelElement.idl new file mode 100644 index 000000000..8418386a7 --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULLabelElement.idl @@ -0,0 +1,13 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIDOMXULDescriptionElement.idl" + +[scriptable, uuid(8b67286b-bf86-4808-8a68-ecdbc7d9877b)] +interface nsIDOMXULLabelElement : nsIDOMXULDescriptionElement { + attribute DOMString accessKey; + attribute DOMString control; +}; + diff --git a/dom/interfaces/xul/nsIDOMXULLabeledControlEl.idl b/dom/interfaces/xul/nsIDOMXULLabeledControlEl.idl new file mode 100644 index 000000000..619bca88e --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULLabeledControlEl.idl @@ -0,0 +1,19 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIDOMElement.idl" +#include "nsIDOMXULControlElement.idl" + +[scriptable, uuid(c58a159f-e27d-40c8-865a-d4dcfd928f62)] +interface nsIDOMXULLabeledControlElement : nsIDOMXULControlElement { + attribute DOMString crop; + attribute DOMString image; + attribute DOMString label; + attribute DOMString accessKey; + attribute DOMString command; + +// void doCommand(); +}; + diff --git a/dom/interfaces/xul/nsIDOMXULMenuListElement.idl b/dom/interfaces/xul/nsIDOMXULMenuListElement.idl new file mode 100644 index 000000000..8e87bc6ab --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULMenuListElement.idl @@ -0,0 +1,23 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIDOMXULSelectCntrlEl.idl" +interface nsIDOMXULTextBoxElement; + +[scriptable, uuid(36c16a17-c0e9-4b35-951b-81a147314ef1)] +interface nsIDOMXULMenuListElement : nsIDOMXULSelectControlElement { + attribute boolean editable; + attribute boolean open; + + // label of selected option or value of textfield for editable menu lists + readonly attribute DOMString label; + + attribute DOMString crop; + attribute DOMString image; + + // For editable menu lists only. + readonly attribute nsIDOMNode inputField; +}; + diff --git a/dom/interfaces/xul/nsIDOMXULMultSelectCntrlEl.idl b/dom/interfaces/xul/nsIDOMXULMultSelectCntrlEl.idl new file mode 100644 index 000000000..26a45df28 --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULMultSelectCntrlEl.idl @@ -0,0 +1,34 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIDOMXULSelectCntrlEl.idl" + +[scriptable, uuid(40654a10-8204-4f06-9f21-7baa31c7b1dd)] +interface nsIDOMXULMultiSelectControlElement : nsIDOMXULSelectControlElement +{ + attribute DOMString selType; + + attribute nsIDOMXULSelectControlItemElement currentItem; + attribute long currentIndex; + + readonly attribute nsIDOMNodeList selectedItems; + + void addItemToSelection(in nsIDOMXULSelectControlItemElement item); + void removeItemFromSelection(in nsIDOMXULSelectControlItemElement item); + void toggleItemSelection(in nsIDOMXULSelectControlItemElement item); + + void selectItem(in nsIDOMXULSelectControlItemElement item); + void selectItemRange(in nsIDOMXULSelectControlItemElement startItem, in nsIDOMXULSelectControlItemElement item); + + void selectAll(); + void invertSelection(); + void clearSelection(); + + // XXX - temporary, pending implementation of scriptable, + // mutable nsIDOMNodeList for selectedItems + readonly attribute long selectedCount; + [binaryname(MultiGetSelectedItem)] + nsIDOMXULSelectControlItemElement getSelectedItem(in long index); +}; diff --git a/dom/interfaces/xul/nsIDOMXULPopupElement.idl b/dom/interfaces/xul/nsIDOMXULPopupElement.idl new file mode 100644 index 000000000..59775174f --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULPopupElement.idl @@ -0,0 +1,30 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIDOMElement.idl" +#include "nsIDOMXULElement.idl" + +[scriptable, uuid(cb7eaa79-45d5-4ea3-ae17-b65fdcfe5e30)] +interface nsIDOMXULPopupElement : nsISupports { + const unsigned short BEFORE_START = 1; + const unsigned short BEFORE_END = 2; + const unsigned short AFTER_START = 3; + const unsigned short AFTER_END = 4; + const unsigned short START_BEFORE = 5; + const unsigned short START_AFTER = 6; + const unsigned short END_BEFORE = 7; + const unsigned short END_AFTER = 8; + const unsigned short OVERLAP = 9; + const unsigned short AT_POINTER = 10; + const unsigned short AFTER_POINTER = 11; + + attribute DOMString position; + + void showPopup(in unsigned short alignment, + in nsIDOMElement target, + in nsIDOMElement anchor); + void hidePopup(); +}; + diff --git a/dom/interfaces/xul/nsIDOMXULRelatedElement.idl b/dom/interfaces/xul/nsIDOMXULRelatedElement.idl new file mode 100644 index 000000000..33bc3d3c7 --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULRelatedElement.idl @@ -0,0 +1,18 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "domstubs.idl" + +[scriptable, uuid(9fbac05a-fb27-470d-8e5f-028b2dc54ad0)] +interface nsIDOMXULRelatedElement : nsISupports +{ + /** + * Retrun an element associated with the given element. It's implemented + * by container elements having relation between their items. For example, + * this interface is implemented by XUL tabs and XUL tabpanels elements + * and used to get XUL tab element by linked tab panel and vice versa. + */ + nsIDOMNode getRelatedElement(in nsIDOMNode aElement); +}; diff --git a/dom/interfaces/xul/nsIDOMXULSelectCntrlEl.idl b/dom/interfaces/xul/nsIDOMXULSelectCntrlEl.idl new file mode 100644 index 000000000..412638272 --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULSelectCntrlEl.idl @@ -0,0 +1,24 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIDOMXULControlElement.idl" +interface nsIDOMXULSelectControlItemElement; + +[scriptable, uuid(9bf188a7-d6f9-431b-b5c7-118013998e8b)] +interface nsIDOMXULSelectControlElement : nsIDOMXULControlElement { + attribute nsIDOMXULSelectControlItemElement selectedItem; + attribute long selectedIndex; + + attribute DOMString value; + + nsIDOMXULSelectControlItemElement appendItem(in DOMString label, in DOMString value); + nsIDOMXULSelectControlItemElement insertItemAt(in long index, in DOMString label, in DOMString value); + nsIDOMXULSelectControlItemElement removeItemAt(in long index); + + readonly attribute unsigned long itemCount; + long getIndexOfItem(in nsIDOMXULSelectControlItemElement item); + nsIDOMXULSelectControlItemElement getItemAtIndex(in long index); +}; + diff --git a/dom/interfaces/xul/nsIDOMXULSelectCntrlItemEl.idl b/dom/interfaces/xul/nsIDOMXULSelectCntrlItemEl.idl new file mode 100644 index 000000000..590f8cab8 --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULSelectCntrlItemEl.idl @@ -0,0 +1,28 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIDOMXULElement.idl" +interface nsIDOMXULSelectControlElement; + +[scriptable, uuid(5c6be58f-17df-4750-88a5-4a59ac28adc9)] +interface nsIDOMXULSelectControlItemElement : nsISupports { + attribute boolean disabled; + attribute DOMString crop; + attribute DOMString image; + attribute DOMString label; + attribute DOMString accessKey; + attribute DOMString command; + + attribute DOMString value; + + readonly attribute boolean selected; + + readonly attribute nsIDOMXULSelectControlElement control; + + // XXX defined in XULElement, but should be defined here + // void doCommand(); +}; + + diff --git a/dom/interfaces/xul/nsIDOMXULTextboxElement.idl b/dom/interfaces/xul/nsIDOMXULTextboxElement.idl new file mode 100644 index 000000000..8a2aab1e8 --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULTextboxElement.idl @@ -0,0 +1,29 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIDOMXULLabeledControlEl.idl" +interface nsIDOMHTMLInputElement; + +[scriptable, uuid(7edd8215-5155-4845-a02f-dc2c08645cb9)] +interface nsIDOMXULTextBoxElement : nsIDOMXULControlElement +{ + // inputField may be any type of editable field, such as an + // HTML <input type="text"> or <textarea> + readonly attribute nsIDOMNode inputField; + + readonly attribute long textLength; + attribute long maxLength; + attribute long size; + attribute long selectionStart; + attribute long selectionEnd; + + attribute DOMString value; + attribute DOMString type; + + void select(); + void setSelectionRange(in long selectionStart, + in long selectionEnd); +}; + diff --git a/dom/interfaces/xul/nsIDOMXULTreeElement.idl b/dom/interfaces/xul/nsIDOMXULTreeElement.idl new file mode 100644 index 000000000..a45bafdcf --- /dev/null +++ b/dom/interfaces/xul/nsIDOMXULTreeElement.idl @@ -0,0 +1,32 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIDOMXULElement.idl" +#include "nsIDOMElement.idl" + +interface nsITreeColumns; +interface nsITreeView; +interface nsIDOMXULTextBoxElement; + +/** + * @status UNDER_DEVELOPMENT + */ + +[scriptable, uuid(013b62af-1e2f-4b07-9091-d7c0fc4687e2)] +interface nsIDOMXULTreeElement : nsISupports +{ + + readonly attribute nsITreeColumns columns; + + attribute nsITreeView view; + + readonly attribute nsIDOMElement body; + + attribute boolean editable; + + // For editable trees only. + readonly attribute nsIDOMXULTextBoxElement inputField; + +}; |