summaryrefslogtreecommitdiffstats
path: root/dom/interfaces/xul
diff options
context:
space:
mode:
Diffstat (limited to 'dom/interfaces/xul')
-rw-r--r--dom/interfaces/xul/moz.build23
-rw-r--r--dom/interfaces/xul/nsIDOMXULButtonElement.idl20
-rw-r--r--dom/interfaces/xul/nsIDOMXULCommandDispatcher.idl41
-rw-r--r--dom/interfaces/xul/nsIDOMXULContainerElement.idl23
-rw-r--r--dom/interfaces/xul/nsIDOMXULControlElement.idl19
-rw-r--r--dom/interfaces/xul/nsIDOMXULMenuListElement.idl19
-rw-r--r--dom/interfaces/xul/nsIDOMXULMultSelectCntrlEl.idl36
-rw-r--r--dom/interfaces/xul/nsIDOMXULRadioGroupElement.idl13
-rw-r--r--dom/interfaces/xul/nsIDOMXULRelatedElement.idl21
-rw-r--r--dom/interfaces/xul/nsIDOMXULSelectCntrlEl.idl21
-rw-r--r--dom/interfaces/xul/nsIDOMXULSelectCntrlItemEl.idl27
11 files changed, 263 insertions, 0 deletions
diff --git a/dom/interfaces/xul/moz.build b/dom/interfaces/xul/moz.build
new file mode 100644
index 0000000000..5c7b5d3a9d
--- /dev/null
+++ b/dom/interfaces/xul/moz.build
@@ -0,0 +1,23 @@
+# -*- 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/.
+
+with Files("**"):
+ BUG_COMPONENT = ("Core", "XUL")
+
+XPIDL_SOURCES += [
+ "nsIDOMXULButtonElement.idl",
+ "nsIDOMXULCommandDispatcher.idl",
+ "nsIDOMXULContainerElement.idl",
+ "nsIDOMXULControlElement.idl",
+ "nsIDOMXULMenuListElement.idl",
+ "nsIDOMXULMultSelectCntrlEl.idl",
+ "nsIDOMXULRadioGroupElement.idl",
+ "nsIDOMXULRelatedElement.idl",
+ "nsIDOMXULSelectCntrlEl.idl",
+ "nsIDOMXULSelectCntrlItemEl.idl",
+]
+
+XPIDL_MODULE = "dom_xul"
diff --git a/dom/interfaces/xul/nsIDOMXULButtonElement.idl b/dom/interfaces/xul/nsIDOMXULButtonElement.idl
new file mode 100644
index 0000000000..88fefa94ce
--- /dev/null
+++ b/dom/interfaces/xul/nsIDOMXULButtonElement.idl
@@ -0,0 +1,20 @@
+/* -*- 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"
+
+[scriptable, uuid(6ed53cfb-9e59-424c-af8d-e74582381951)]
+interface nsIDOMXULButtonElement : nsIDOMXULControlElement {
+ attribute AString type;
+
+ // For buttons of type="menu" only.
+ attribute boolean open;
+
+ // For buttons of type="checkbox" only.
+ attribute boolean checked;
+
+ // For buttons of type="radio" only.
+ attribute AString group;
+};
diff --git a/dom/interfaces/xul/nsIDOMXULCommandDispatcher.idl b/dom/interfaces/xul/nsIDOMXULCommandDispatcher.idl
new file mode 100644
index 0000000000..21ac541505
--- /dev/null
+++ b/dom/interfaces/xul/nsIDOMXULCommandDispatcher.idl
@@ -0,0 +1,41 @@
+/* -*- 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 nsIController;
+interface nsIControllers;
+interface mozIDOMWindowProxy;
+
+webidl Element;
+
+[scriptable, uuid(a9fa9fd3-8d62-4f94-9ed8-3ea9c3cf0773)]
+interface nsIDOMXULCommandDispatcher : nsISupports
+{
+ [setter_can_run_script]
+ attribute Element focusedElement;
+ [setter_can_run_script]
+ attribute mozIDOMWindowProxy focusedWindow;
+
+ void addCommandUpdater(in Element updater,
+ in AString events,
+ in AString targets);
+ void removeCommandUpdater(in Element updater);
+
+ [can_run_script]
+ void updateCommands(in AString eventName);
+
+ nsIController getControllerForCommand(in string command);
+ nsIControllers getControllers();
+
+ void advanceFocus();
+ void rewindFocus();
+ void advanceFocusIntoSubtree(in Element elt);
+
+ // When locked, command updating is batched until unlocked. Always ensure that
+ // lock and unlock is called in a pair.
+ void lock();
+ void unlock();
+};
diff --git a/dom/interfaces/xul/nsIDOMXULContainerElement.idl b/dom/interfaces/xul/nsIDOMXULContainerElement.idl
new file mode 100644
index 0000000000..78b8275f35
--- /dev/null
+++ b/dom/interfaces/xul/nsIDOMXULContainerElement.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 "nsISupports.idl"
+interface nsIDOMXULContainerElement;
+
+webidl Element;
+
+[scriptable, uuid(800a68c7-b854-4597-a436-3055ce5c5c96)]
+interface nsIDOMXULContainerItemElement : nsISupports
+{
+ /**
+ * Returns the parent container if any.
+ */
+ readonly attribute Element parentContainer;
+};
+
+[scriptable, uuid(b2bc96b8-31fc-42f4-937a-bd27291af40b)]
+interface nsIDOMXULContainerElement : nsIDOMXULContainerItemElement
+{
+};
diff --git a/dom/interfaces/xul/nsIDOMXULControlElement.idl b/dom/interfaces/xul/nsIDOMXULControlElement.idl
new file mode 100644
index 0000000000..0ddf5e8864
--- /dev/null
+++ b/dom/interfaces/xul/nsIDOMXULControlElement.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 "nsISupports.idl"
+
+interface nsIControllers;
+
+[scriptable, uuid(bdc1d047-6d22-4813-bc50-638ccb349c7d)]
+interface nsIDOMXULControlElement : nsISupports {
+ attribute boolean disabled;
+
+// XXX defined in XULElement, but should be defined here
+// readonly attribute nsIControllers controllers;
+
+// void focus();
+// void blur();
+};
diff --git a/dom/interfaces/xul/nsIDOMXULMenuListElement.idl b/dom/interfaces/xul/nsIDOMXULMenuListElement.idl
new file mode 100644
index 0000000000..689c823ff0
--- /dev/null
+++ b/dom/interfaces/xul/nsIDOMXULMenuListElement.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 "nsIDOMXULSelectCntrlEl.idl"
+
+webidl Element;
+
+[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 AString label;
+
+ attribute AString image;
+};
diff --git a/dom/interfaces/xul/nsIDOMXULMultSelectCntrlEl.idl b/dom/interfaces/xul/nsIDOMXULMultSelectCntrlEl.idl
new file mode 100644
index 0000000000..03db9c3bc8
--- /dev/null
+++ b/dom/interfaces/xul/nsIDOMXULMultSelectCntrlEl.idl
@@ -0,0 +1,36 @@
+/* -*- 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"
+
+webidl Element;
+webidl NodeList;
+
+[scriptable, uuid(40654a10-8204-4f06-9f21-7baa31c7b1dd)]
+interface nsIDOMXULMultiSelectControlElement : nsIDOMXULSelectControlElement
+{
+ attribute AString selType;
+
+ attribute Element currentItem;
+ attribute long currentIndex;
+
+ readonly attribute NodeList 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 clearSelection();
+
+ // XXX - temporary, pending implementation of scriptable,
+ // mutable NodeList for selectedItems
+ readonly attribute long selectedCount;
+ [binaryname(MultiGetSelectedItem)]
+ Element getSelectedItem(in long index);
+};
diff --git a/dom/interfaces/xul/nsIDOMXULRadioGroupElement.idl b/dom/interfaces/xul/nsIDOMXULRadioGroupElement.idl
new file mode 100644
index 0000000000..6ec16d833c
--- /dev/null
+++ b/dom/interfaces/xul/nsIDOMXULRadioGroupElement.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 "nsISupports.idl"
+
+webidl Element;
+
+[scriptable, uuid(2cc1d24b-ec9f-4e18-aa34-a298a9007f23)]
+interface nsIDOMXULRadioGroupElement : nsISupports {
+ attribute Element focusedItem;
+};
diff --git a/dom/interfaces/xul/nsIDOMXULRelatedElement.idl b/dom/interfaces/xul/nsIDOMXULRelatedElement.idl
new file mode 100644
index 0000000000..428db2ba5d
--- /dev/null
+++ b/dom/interfaces/xul/nsIDOMXULRelatedElement.idl
@@ -0,0 +1,21 @@
+/* -*- 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"
+
+webidl Element;
+webidl Node;
+
+[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.
+ */
+ Element getRelatedElement(in Node aElement);
+};
diff --git a/dom/interfaces/xul/nsIDOMXULSelectCntrlEl.idl b/dom/interfaces/xul/nsIDOMXULSelectCntrlEl.idl
new file mode 100644
index 0000000000..197791cb04
--- /dev/null
+++ b/dom/interfaces/xul/nsIDOMXULSelectCntrlEl.idl
@@ -0,0 +1,21 @@
+/* -*- 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;
+
+webidl Element;
+
+[scriptable, uuid(9bf188a7-d6f9-431b-b5c7-118013998e8b)]
+interface nsIDOMXULSelectControlElement : nsIDOMXULControlElement {
+ attribute Element selectedItem;
+ attribute long selectedIndex;
+
+ attribute AString value;
+
+ readonly attribute unsigned long itemCount;
+ long getIndexOfItem(in nsIDOMXULSelectControlItemElement item);
+ Element getItemAtIndex(in long index);
+};
diff --git a/dom/interfaces/xul/nsIDOMXULSelectCntrlItemEl.idl b/dom/interfaces/xul/nsIDOMXULSelectCntrlItemEl.idl
new file mode 100644
index 0000000000..e3f031bd50
--- /dev/null
+++ b/dom/interfaces/xul/nsIDOMXULSelectCntrlItemEl.idl
@@ -0,0 +1,27 @@
+/* -*- 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 nsIDOMXULSelectControlElement;
+
+webidl Element;
+
+[scriptable, uuid(5c6be58f-17df-4750-88a5-4a59ac28adc9)]
+interface nsIDOMXULSelectControlItemElement : nsISupports {
+ attribute boolean disabled;
+ attribute AString image;
+ attribute AString label;
+ attribute AString accessKey;
+ attribute AString command;
+
+ attribute AString value;
+
+ readonly attribute boolean selected;
+
+ readonly attribute Element control;
+
+ // XXX defined in XULElement, but should be defined here
+ // void doCommand();
+};