Implemented by
- @mozilla.org/security/nsASN1Tree;1
- @mozilla.org/security/nsCertTree;1
- @mozilla.org/xul/xul-tree-builder;1
- @mozilla.org/filepicker/fileview;1
- @mozilla.org/autocomplete/controller;1
[scriptable, uuid(22f034b7-a879-43ad-baee-ba6fd4d466ce)]
interface nsITreeView : nsISupports
Constants
const
short
DROP_BEFORE = -1
const
short
DROP_ON = 0
const
short
DROP_AFTER = 1
The progress mode for a given cell. This method is only called for columns of type |progressmeter|.
const
short
PROGRESS_NORMAL = 1
const
short
PROGRESS_UNDETERMINED = 2
const
short
PROGRESS_NONE = 3
Attributes
The total number of rows in the tree (including the offscreen rows).
readonly attribute
long
rowCount
The selection for this view.
attribute
nsITreeSelection
selection
Methods
Methods used by the drag feedback code to determine if a drag is allowable at the current location. To get the behavior where drops are only allowed on items, such as the mailNews folder pane, always return false when the orientation is not DROP_ON.
boolean
canDrop(in long index, in long orientation)
Called on the view when a cell in a non-selectable cycling column (e.g., unread/flag/etc.) is clicked.
void
cycleCell(in long row, in nsITreeColumn col)
Called on the view when a header is clicked.
void
cycleHeader(in nsITreeColumn col)
Called when the user drops something on this view. The |orientation| param specifies before/on/after the given |row|.
void
drop(in long row, in long orientation)
An atomized list of properties for a given cell. Each property, x, that the view gives back will cause the pseudoclass :moz-tree-cell-x to be matched on the ::moz-tree-cell pseudoelement.
void
getCellProperties(in long row, in nsITreeColumn col, in nsISupportsArray properties)
The text for a given cell. If a column consists only of an image, then the empty string is returned.
AString
getCellText(in long row, in nsITreeColumn col)
The value for a given cell. This method is only called for columns of type other than |text|.
AString
getCellValue(in long row, in nsITreeColumn col)
Called to get properties to paint a column background. For shading the sort column, etc.
void
getColumnProperties(in nsITreeColumn col, in nsISupportsArray properties)
The image path for a given cell. For defining an icon for a cell. If the empty string is returned, the :moz-tree-image pseudoelement will be used.
AString
getImageSrc(in long row, in nsITreeColumn col)
The level is an integer value that represents the level of indentation. It is multiplied by the width specified in the :moz-tree-indentation pseudoelement to compute the exact indendation.
long
getLevel(in long index)
Methods used by the tree to draw thread lines in the tree. getParentIndex is used to obtain the index of a parent row. If there is no parent row, getParentIndex returns -1.
long
getParentIndex(in long rowIndex)
long
getProgressMode(in long row, in nsITreeColumn col)
An atomized list of properties for a given row. Each property, x, that the view gives back will cause the pseudoclass :moz-tree-row-x to be matched on the pseudoelement ::moz-tree-row.
void
getRowProperties(in long index, in nsISupportsArray properties)
hasNextSibling is used to determine if the row at rowIndex has a nextSibling that occurs *after* the index specified by afterIndex. Code that is forced to march down the view looking at levels can optimize the march by starting at afterIndex+1.
boolean
hasNextSibling(in long rowIndex, in long afterIndex)
Methods that can be used to test whether or not a twisty should be drawn, and if so, whether an open or closed twisty should be used.
boolean
isContainer(in long index)
boolean
isContainerEmpty(in long index)
boolean
isContainerOpen(in long index)
isEditable is called to ask the view if the cell contents are editable. A value of true will result in the tree popping up a text field when the user tries to inline edit the cell.
boolean
isEditable(in long row, in nsITreeColumn col)
isSeparator is used to determine if the row at index is a separator. A value of true will result in the tree drawing a horizontal separator. The tree uses the ::moz-tree-separator pseudoclass to draw the separator.
boolean
isSeparator(in long index)
Specifies if there is currently a sort on any column. Used mostly by dragdrop to affect drop feedback.
boolean
isSorted()
A command API that can be used to invoke commands on the selection. The tree will automatically invoke this method when certain keys are pressed. For example, when the DEL key is pressed, performAction will be called with the "delete" string.
void
performAction(in wstring action)
A command API that can be used to invoke commands on a specific cell.
void
performActionOnCell(in wstring action, in long row, in nsITreeColumn col)
A command API that can be used to invoke commands on a specific row.
void
performActionOnRow(in wstring action, in long row)
Should be called from a XUL onselect handler whenever the selection changes.
void
selectionChanged()
setCellText is called when the contents of the cell have been edited by the user.
void
setCellText(in long row, in nsITreeColumn col, in AString value)
setCellValue is called when the value of the cell has been set by the user. This method is only called for columns of type other than |text|.
void
setCellValue(in long row, in nsITreeColumn col, in AString value)
Called during initialization to link the view to the front end box object.
void
setTree(in nsITreeBoxObject tree)
Called on the view when an item is opened or closed.
void
toggleOpenState(in long index)
Compare to: