org.gnu.gtk
Class TreeSelection

java.lang.Object
  extended by org.gnu.glib.Struct
      extended by org.gnu.glib.GObject
          extended by 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).

See Also:
TreeView

Method Summary
 void addListener(TreeSelectionListener listener)
          Register an object to handle Selection change events which are emitted whenever the selection has (possibly) changed
 int countRows()
          Returns the number of rows that have been selected.
 void forEachSelected(TreeSelectionForEach implementor)
          Calls the forEach method of the specified class for every selected value.
 java.lang.Class getEventListenerClass(java.lang.String signal)
           
 EventType getEventType(java.lang.String signal)
           
 SelectionMode getMode()
           
 boolean getSelected(TreeIter iter)
          Returns TRUE if the row pointed to by iter is currently selected.
 boolean getSelected(TreePath path)
          Returns TRUE if the row pointed to by path is currently selected.
 TreePath[] getSelectedRows()
          Returns an array of rows which are currently selected
 TreeView getTreeView()
          Returns the TreeView associated with the selection.
static Type getType()
          Retrieve the runtime type used by the GLib library.
 void removeListener(TreeSelectionListener listener)
          Removes a listener
 void select(TreeIter iter)
          Selects the specified iterator.
 void select(TreePath path)
          Select the row at path.
 void select(TreePath startPath, TreePath endPath)
          Selects a range of nodes, determined by startPath and endPath inclusive.
 void selectAll()
          Selects all the nodes.
 void setMode(SelectionMode mode)
          Sets the selection mode of the selection.
 void unselect(TreeIter iter)
          Unselects the specified iterator.
 void unselect(TreePath path)
          Unselects the row at path.
 void unselect(TreePath startPath, TreePath endPath)
           
 void unselectAll()
          Unselects all the nodes.
 
Methods inherited from class org.gnu.glib.GObject
addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addListener, collect, freezeNotify, getBooleanProperty, getData, getDoubleProperty, getFloatProperty, getGObjectFromHandle, getIntProperty, getJavaObjectProperty, getLongProperty, getPixbufProperty, getProperty, getStringProperty, hasProperty, notify, removeEventHandler, removeListener, setBooleanProperty, setData, setDoubleProperty, setFloatProperty, setIntProperty, setJavaObjectProperty, setLongProperty, setPixbufProperty, setProperty, setStringProperty, thawNotify
 
Methods inherited from class org.gnu.glib.Struct
equals, getHandle, getNullHandle, hashCode
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

forEachSelected

public void forEachSelected(TreeSelectionForEach implementor)
Calls the forEach method of the specified class for every selected value.


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.

Parameters:
mode - The selection mode to use.

getMode

public SelectionMode getMode()

getTreeView

public TreeView getTreeView()
Returns the TreeView associated with the selection.

Returns:
Associated widget

select

public void select(TreePath path)
Select the row at path.

Parameters:
path - The path to be selected.

unselect

public void unselect(TreePath path)
Unselects the row at path.

Parameters:
path - The path to be deselected

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

Parameters:
path - A patch to check the selection on
Returns:
True if the path is selected.

select

public void select(TreeIter iter)
Selects the specified iterator.

Parameters:
iter - The TreeIter to be selected.

unselect

public void unselect(TreeIter iter)
Unselects the specified iterator.

Parameters:
iter - The TreeIter to be unselected.

getSelected

public boolean getSelected(TreeIter iter)
Returns TRUE if the row pointed to by iter is currently selected.

Parameters:
iter - The iter to test the selection of
Returns:
true if the iter is selected.

selectAll

public void selectAll()
Selects all the nodes. Mode must be set to SelectionMode.MULTIPLE


unselectAll

public void unselectAll()
Unselects all the nodes.


select

public void select(TreePath startPath,
                   TreePath endPath)
Selects a range of nodes, determined by startPath and endPath inclusive.

Parameters:
startPath - The initial node of the range.
endPath - The final node of the range.

unselect

public void unselect(TreePath startPath,
                     TreePath endPath)

getSelectedRows

public TreePath[] getSelectedRows()
Returns an array of rows which are currently selected

Returns:
an empty array if there aren't any rows selected; or an array filled with TreePath objects, representing the selections.
Since:
2.2

countRows

public int countRows()
Returns the number of rows that have been selected.

Since:
2.2

addListener

public void addListener(TreeSelectionListener listener)
Register an object to handle Selection change events which are emitted whenever the selection has (possibly) changed

See Also:
TreeSelectionListener

removeListener

public void removeListener(TreeSelectionListener listener)
Removes a listener

See Also:
addListener(TreeSelectionListener)

getEventListenerClass

public java.lang.Class getEventListenerClass(java.lang.String signal)
Overrides:
getEventListenerClass in class GObject

getEventType

public EventType getEventType(java.lang.String signal)
Overrides:
getEventType in class GObject

getType

public static Type getType()
Retrieve the runtime type used by the GLib library.