tenfourfox/layout/xul/tree/nsITreeColumns.idl
Cameron Kaiser c9b2922b70 hello FPR
2017-04-19 00:56:45 -07:00

97 lines
2.3 KiB
Plaintext

/* 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();
};