summaryrefslogtreecommitdiffstats
path: root/layout/xul/tree/nsITreeColumns.idl
diff options
context:
space:
mode:
Diffstat (limited to 'layout/xul/tree/nsITreeColumns.idl')
-rw-r--r--layout/xul/tree/nsITreeColumns.idl96
1 files changed, 96 insertions, 0 deletions
diff --git a/layout/xul/tree/nsITreeColumns.idl b/layout/xul/tree/nsITreeColumns.idl
new file mode 100644
index 000000000..a601f3776
--- /dev/null
+++ b/layout/xul/tree/nsITreeColumns.idl
@@ -0,0 +1,96 @@
+/* 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 nsITreeColumns;
+interface nsIDOMElement;
+interface nsIAtom;
+
+[scriptable, uuid(ae835ecf-6b32-4660-9b43-8a270df56e02)]
+interface nsITreeColumn : nsISupports
+{
+ readonly attribute nsIDOMElement element;
+
+ readonly attribute nsITreeColumns columns;
+
+ readonly attribute long x;
+ readonly attribute long width;
+
+ readonly attribute AString id;
+ [noscript] void getIdConst([shared] out wstring idConst);
+ [noscript] readonly attribute nsIAtom atom;
+
+ readonly attribute long index;
+
+ readonly attribute boolean primary;
+ readonly attribute boolean cycler;
+ readonly attribute boolean editable;
+ readonly attribute boolean selectable;
+
+ const short TYPE_TEXT = 1;
+ const short TYPE_CHECKBOX = 2;
+ const short TYPE_PROGRESSMETER = 3;
+ const short TYPE_PASSWORD = 4;
+ readonly attribute short type;
+
+ nsITreeColumn getNext();
+ nsITreeColumn getPrevious();
+
+ void invalidate();
+};
+
+interface nsITreeBoxObject;
+
+[scriptable, uuid(f8a8d6b4-6788-438d-9009-7142798767ab)]
+interface nsITreeColumns : nsISupports
+{
+ /**
+ * The tree widget for these columns.
+ */
+ readonly attribute nsITreeBoxObject tree;
+
+ /**
+ * The number of columns.
+ */
+ readonly attribute long count;
+
+ /**
+ * An alias for count (for the benefit of scripts which treat this as an
+ * array).
+ */
+ readonly attribute long length;
+
+ /**
+ * Get the first/last column.
+ */
+ nsITreeColumn getFirstColumn();
+ nsITreeColumn getLastColumn();
+
+ /**
+ * Attribute based column getters.
+ */
+ nsITreeColumn getPrimaryColumn();
+ nsITreeColumn getSortedColumn();
+ nsITreeColumn getKeyColumn();
+
+ /**
+ * Get the column for the given element.
+ */
+ nsITreeColumn getColumnFor(in nsIDOMElement element);
+
+ /**
+ * Parametric column getters.
+ */
+ nsITreeColumn getNamedColumn(in AString id);
+ nsITreeColumn getColumnAt(in long index);
+
+ /**
+ * This method is called whenever a treecol is added or removed and
+ * the column cache needs to be rebuilt.
+ */
+ void invalidateColumns();
+
+ void restoreNaturalOrder();
+};