org.gnu.gtk
Class TreeSelection
GObject
org.gnu.gtk.TreeSelection
public class TreeSelection
extends GObject
The TreeSelection object is a helper object to manage the selection for a
TreeView
widget. The TreeSelection object is automatically created
when a newTreeView widget is created, and cannot exist independentally of
this widget. The primary reason the TreeSelection objects exists is for
cleanliness of code and API. That is, there is no conceptual reason all these
functions could not be methods on the TreeView widget instead of a separate
function.
The TreeSelection object is gotten from a TreeView by calling
TreeView.getSelection()
. It can be manipulated to check the
selection status of the tree, as well as select and deselect individual rows.
Selection is done completely view side. As a result, multiple views of the
same model can have completely different selections. Additionally, you cannot
change the selection of a row on the model that is not currently displayed by
the view without expanding its parents first.
One of the important things to remember when monitoring the selection of a
view is that the
CHANGED
event is mostly a hint. That is, it may only emit one signal when a range of
rows is selected. Additionally, it may on occasion emit a "changed" event
when nothing has happened (mostly as a result of programmers calling
selectRow on an already selected row).
addListener
public void addListener(TreeSelectionListener listener)
Register an object to handle Selection change events which are emitted
whenever the selection has (possibly) changed
countRows
public int countRows()
Returns the number of rows that have been selected.
forEachSelected
public void forEachSelected(TreeSelectionForEach implementor)
Calls the forEach method of the specified class for every selected value.
getEventListenerClass
public Class getEventListenerClass(String signal)
getEventType
public EventType getEventType(String signal)
getSelected
public boolean getSelected(TreeIter iter)
Returns TRUE if the row pointed to by iter is currently selected.
iter
- The iter to test the selection of
- true if the iter is selected.
getSelected
public boolean getSelected(TreePath path)
Returns TRUE if the row pointed to by path is currently selected. If path
does not point to a valid location, FALSE is returned
path
- A patch to check the selection on
- True if the path is selected.
getSelectedRows
public TreePath[] getSelectedRows()
Returns an array of rows which are currently selected
- an empty array if there aren't any rows selected; or an array
filled with TreePath objects, representing the selections.
getTreeView
public TreeView getTreeView()
Returns the
TreeView
associated with the selection.
getType
public static Type getType()
Retrieve the runtime type used by the GLib library.
select
public void select(TreeIter iter)
Selects the specified iterator.
select
public void select(TreePath path)
Select the row at path.
path
- The path to be selected.
select
public void select(TreePath startPath,
TreePath endPath)
Selects a range of nodes, determined by startPath and endPath inclusive.
startPath
- The initial node of the range.endPath
- The final node of the range.
selectAll
public void selectAll()
Selects all the nodes. Mode must be set to SelectionMode.MULTIPLE
setMode
public void setMode(SelectionMode mode)
Sets the selection mode of the selection. If the previous type was
SelectionMode.MULTIPLE, then the anchor is kept selected, if it was
previously selected.
mode
- The selection mode to use.
unselect
public void unselect(TreeIter iter)
Unselects the specified iterator.
unselect
public void unselect(TreePath path)
Unselects the row at path.
path
- The path to be deselected
unselectAll
public void unselectAll()
Unselects all the nodes.