org.gnu.gtk

Class TreeView


public class TreeView
extends Container

TreeView is GTK's Widget for displaying trees and lists. A TreeView itself is the parent container for presenting the data on screen; other classes control the layout of that presentation and the mapping from underlying data to that layout.

Gtk Tree and List Widgets Overview

The standard tree and list widgets in GTK+ are very powerful, but unfortunately are also rather complex and there is only so much that can be done to mitigate this. If you patiently work though the following explaination and review the tutorial on the java-gnome website, you should find yourself quickly up to speed.

TreeView

There is only one widget which is placed in any applications to create trees, lists and tables. This is the TreeView. An application can have any number of treeviews and they can be placed as can normal widgets. The data for the widget, and the method in which it is displayed is controlled by other classes. Gtk has been designed so that any number of treeview widgets can be linked to the same data store. TreeViewColumns, CellRenderers and TreeSelections are created for each view, so Views can use the same data store but have their own column layout, data display within those columns (linked to any of the dataBlocks in the store); and their own selections.

TreeModel

Models are used to store data. Data is stored in what could be considered a table. There are a number of DataColumns, which could be considered the columns of that table (in fact, in the C version of GTK, they are always referred to as columns; but this can get confused with TreeViewColumns which are quite a different matter). These DataColumns each store one type of data (String, boolean, int, etc.). The 'rows' of this data table (the individual records) can be accessed using iterators called TreeIters. These are used extensively in many methods. Setting data involves getting an iterator (creating a new row gets you a TreeIter) and then setting the value for each of the DataColumns. The ordering of the DataColumns in the Model has no meaning. For presentation, you decide exactly which DataColumns are to be used on screen by mapping them to a a TreeViewColumn via a CellRenderer (see below).

GTK provides two implementations of TreeModel:

ListStore - This is used for tables and lists. Data is organised in rows and columns.

TreeStore - This is for data organized in hierarchical trees. You order your data using TreePaths.

TreeViewColumn

Both modes of TreeView (displaying a tree or displaying a list) can have multiple columns of data. As each TreeViewColumns is set up, you add it to the parent TreeView you're creating. The TreeViewColumns determine how the data is displayed. They have settings such as the column title, whether the column can be resized, and even whether the columns can be reorganized (by dragging the columns). Each TreeView widget has it's own set of TreeViewColumns. Determining how the data is displayed in the columns is done by CellRenderers (see below). Any number of CellRenderers can be packed into a given column.

CellRenderer

Tree and list `cells' may contain a large variety of data types. Determining how they are displayed is done by the CellRenderer family of classes. If the data is unusual, or you want to combine a number of data types in a single column, you may need to construct your own renderer. However, you are recommended to stick with the regular choices:

CellRendererPixbuf
CellRendererText
CellRendererToggle

The CellRenderers need to be told what data to display. This is done using the TreeViewColumn.addAttributeMapping(CellRenderer,CellRendererAttribute,DataColumn). The renderer attributes vary with each renderer, for example CellRendererText has a TEXT attribute for the text the be displayed. The final parameter is for the DataColumn in the store in which the data is contained.

Java-Gnome comes with a number of simple example applications involving trees. They may be useful for learning the functionality of these classes.

Finally, some people may find use for a convenience wrapper that Java-Gnome derived; see SimpleList to display a single column list of string values.

Constructor Summary

TreeView()
Create a new TreeView object.
TreeView(Handle handle)
Creates a new tree view from a native handle
TreeView(TreeModel model)
Creates a new TreeView Widget with the initial model set

Method Summary

void
activateCell(TreePath path, TreeViewColumn column)
Activates the cell determined by path and column.
void
addListener(TreeViewListener listener)
Register an object to handle events related to user actions on the TreeView widget.
int
appendColumn(TreeViewColumn column)
Appends column to the list of columns.
TreeViewColumn
appendDataColumn(TreeViewColumn aExistingCol, int aCol)
Appends a data column of the model to an existing TreeViewColumn, previously created with one of the showDataColumn methods.
TreeViewColumn
appendDataColumn(TreeViewColumn aExistingCol, int aCol, boolean expand)
Appends a data column of the model to an existing TreeViewColumn, previously created with one of the showDataColumn methods.
TreeViewColumn
appendDataColumn(TreeViewColumn aExistingCol, int aCol, CellRenderer aRenderer, aAttr[] )
Appends a data column of the model to an existing TreeViewColumn, previously created with one of the showDataColumn methods, and lets you use a specific renderer and rendering attributes.
TreeViewColumn
appendDataColumn(TreeViewColumn aExistingCol, int aCol, CellRenderer aRenderer, aAttr[] , boolean expand)
Appends a data column of the model to an existing TreeViewColumn, previously created with one of the showDataColumn methods, and lets you use a specific renderer and rendering attributes.
TreeViewColumn
appendDataColumn(TreeViewColumn aExistingCol, int aCol, CellRenderer aRenderer, CellRendererAttribute aAttr)
Appends a data column of the model to an existing TreeViewColumn, previously created with one of the showDataColumn methods, and lets you use a specific renderer and rendering attributes.
TreeViewColumn
appendDataColumn(TreeViewColumn aExistingCol, int aCol, CellRenderer aRenderer, CellRendererAttribute aAttr, boolean expand)
Appends a data column of the model to an existing TreeViewColumn, previously created with one of the showDataColumn methods, and lets you use a specific renderer and rendering attributes.
void
autoSizeColumns()
Resizes all columns to their optimal width.
void
collapseAll()
Recursively collapses all visible, expanded nodes.
boolean
collapseRow(TreePath path)
Collapses a row (hides its child rows, if they exist).
void
expandAll()
Recursively expands all nodes
boolean
expandRow(TreePath path, boolean openAll)
Opens the row so its children are visible.
void
expandToPath(TreePath path)
Expands the row at path.
boolean
getAlternateRowColor()
TreeViewColumn
getColumn(int position)
Gets the column at the given position in the tree view.
TreeViewColumn[]
getColumns()
Returns an array of all the columns currently in the view
TreeViewColumn
getCursorColumn()
Returns the current column
TreePath
getCursorPath()
Returns the current path
boolean
getEnableSearch()
Class
getEventListenerClass(String signal)
EventType
getEventType(String signal)
TreeViewColumn
getExpanderColumn()
boolean
getFixedHeightMode()
Returns whether fixed height mode is turned on for this TreeView.
Adjustment
getHAdjustment()
Gets the GtkAdjustment currently being used for the horizontal aspect.
boolean
getHeadersVisible()
Returns true if the headers on the TreeView are visible.
boolean
getHoverExpand()
Returns whether hover expansion mode is turned on for TreeView.
boolean
getHoverSelection()
Returns whether hover selection mode is turned on for this TreeView.
TreeModel
getModel()
Returns the model associated with this tree.
boolean
getReorderable()
boolean
getRowExpanded(TreePath path)
Returns true if the node pointed to by path is expanded.
TreeViewRowSeparatorMethod
getRowSeparatorMethod()
Get the object which is used to determine whether a row should be drawn as a separator.
TreeViewColumn
getSearchColumn()
Deprecated. This method is broken and has been deprecated in favor of the getSearchDataColumn() method.
DataColumn
getSearchDataColumn()
Gets the column searched on by the interactive search code.
TreeSelection
getSelection()
Gets the TreeSelection associated with this widget
static TreeView
getTreeView(Handle handle)
Creates a new tree view from a native handle
static Type
getType()
Retrieve the runtime type used by the GLib library.
Adjustment
getVAdjustment()
Gets the Adjustment currently being used for the vertical aspect.
int
insertColumn(TreeViewColumn column, int position)
This inserts the column into the tree_view at position.
void
moveColumn(TreeViewColumn column, TreeViewColumn baseColumn)
Moves column to be after to baseColumn.
int
removeColumn(TreeViewColumn column)
Removes column from tree_view.
void
removeListener(TreeViewListener listener)
Removes a listener
void
scrollToCell(TreePath path)
Moves the alignments of the view to the position specified by path.
void
scrollToCell(TreePath path, TreeViewColumn column)
Moves the alignments of the view to the position specified by column and path.
void
scrollToCell(TreePath path, TreeViewColumn column, double rowAlign, double colAlign)
Moves the alignments of the view to the position specified by column and path.
void
scrollToCell(TreeViewColumn column)
Moves the alignments of the view to the position specified by column
void
scrollToPoint(int x, int y)
Scrolls the TreeView such that the top-left corner of the visible area is x, y, where x and y are specified in tree window coordinates.
void
setAlternateRowColor(boolean setting)
This function tells GTK+ that the user interface for your application requires users to read across tree rows and associate cells with one another.
void
setCursor(TreePath path, TreeViewColumn focusColumn, boolean startEditing)
Sets the current keyboard focus to be at path, and selects it.
void
setCursor(TreePath path, TreeViewColumn focusColumn, CellRenderer focusCell, boolean startEditing)
Sets the current keyboard focus to be at path, and selects it.
void
setEnableSearch(boolean enableSearch)
If enable search is set, then the user can type in text to search through the tree interactively.
void
setExpanderColumn(TreeViewColumn column)
Sets the column to draw the expander arrow at.
void
setFixedHeightMode(boolean enable)
Enables or disables the fixed height mode of this TreeView.
void
setHAdjustment(Adjustment hadj)
Sets the Adjustment for the current horizontal aspect.
void
setHeadersClickable(boolean setting)
Allow the column title buttons to be clicked.
void
setHeadersVisible(boolean headersVisible)
Sets the the visibility state of the headers.
void
setHoverExpand(boolean expand)
Enables or disables the hover expansion mode of this TreeView.
void
setHoverSelection(boolean hover)
Enables of disables the hover selection mode of this TreeView.
void
setModel(TreeModel model)
Sets the model for a GtkTreeView.
void
setReorderable(boolean reorderable)
This function is a convenience function to allow you to reorder models that support the DragSourceIface and the DragDestIface.
void
setRowSeparatorMethod(TreeViewRowSeparatorMethod method)
Set the object which is used to determine whether a row should be drawn as a separator.
void
setSearchColumn(TreeViewColumn column)
Deprecated. This method is broken and has been deprecated in favor of the setSearchDataColumn(DataColumn) method.
void
setSearchDataColumn(DataColumn column)
Sets column as the column where the interactive search code should search in.
void
setVAdjustment(Adjustment vadj)
Sets the Adjustment for the current vertical aspect.
TreeViewColumn
showDataColumn(int aCol)
Shows a data column of the model in this TreeView.
TreeViewColumn
showDataColumn(int aCol, boolean expand)
Shows a data column of the model in this TreeView.
TreeViewColumn
showDataColumn(int aCol, CellRenderer aRenderer, aAttr[] )
Shows a data column of the model in this TreeView, with a specific renderer and rendering attributes.
TreeViewColumn
showDataColumn(int aCol, CellRenderer aRenderer, aAttr[] , boolean expand)
Shows a data column of the model in this TreeView, with a specific renderer and rendering attributes.
TreeViewColumn
showDataColumn(int aCol, CellRenderer aRenderer, CellRendererAttribute aAttr)
Shows a data column of the model in this TreeView, with a specific renderer and rendering attributes.
TreeViewColumn
showDataColumn(int aCol, CellRenderer aRenderer, CellRendererAttribute aAttr, boolean expand)
Shows a data column of the model in this TreeView, with a specific renderer and rendering attributes.

Methods inherited from class org.gnu.gtk.Container

add, addListener, getBooleanChildProperty, getBorderWidth, getChildProperty, getChildren, getEventListenerClass, getEventType, getIntChildProperty, getResizeMode, getType, remove, removeListener, resizeChildren, setBooleanChildProperty, setBorderWidth, setChildProperty, setIntChildProperty, setResizeMode

Methods inherited from class org.gnu.gtk.Widget

activate, addAccelerator, addEvents, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, canActivateAccel, createContext, createLayout, draw, drawArea, drawArea, finish, getAccessible, getAllocation, getCanFocus, getColormap, getContext, getData, getDisplay, getDragData, getEventListenerClass, getEventType, getExtensionEvents, getModifierStyle, getName, getParent, getParentWindow, getPointer, getRootWindow, getScreen, getSensitive, getStyle, getToplevel, getType, getWidget, getWindow, grabDefault, grabFocus, hasFocus, hasScreen, hide, hideAll, highlight, highlight, intersect, isAncestor, makeWidget, modifyStyle, popColormap, pushColormap, realize, removeAccelerator, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, reparent, setBackgroundColor, setBaseColor, setCanFocus, setColormap, setDoubleBuffered, setDragDestination, setDragIcon, setDragIconPixbuf, setDragIconStock, setDragSource, setEvents, setExtensionEvents, setFont, setForegroundColor, setMinimumSize, setName, setNoDragDestination, setNoDragSource, setSensitive, setTextColor, shapeCombineMask, show, showAll, unHighlight, unHighlight

Methods inherited from class org.gnu.gtk.GtkObject

destroy, getType, sink

Constructor Details

TreeView

public TreeView()
Create a new TreeView object.

TreeView

public TreeView(Handle handle)
Creates a new tree view from a native handle

TreeView

public TreeView(TreeModel model)
Creates a new TreeView Widget with the initial model set

Method Details

activateCell

public void activateCell(TreePath path,
                         TreeViewColumn column)
Activates the cell determined by path and column.
Parameters:
path - The TreePath to be activated.
column - The TreeViewColumn to be activated.

addListener

public void addListener(TreeViewListener listener)
Register an object to handle events related to user actions on the TreeView widget.

appendColumn

public int appendColumn(TreeViewColumn column)
Appends column to the list of columns.
Parameters:
column - The GtkTreeViewColumn to add.
Returns:
The number of columns in tree_view after appending.

appendDataColumn

public TreeViewColumn appendDataColumn(TreeViewColumn aExistingCol,
                                       int aCol)
Appends a data column of the model to an existing TreeViewColumn, previously created with one of the showDataColumn methods. It should be used when it's desired to have more than one data in just one column.

This method will try to guess the renderer to use, and because of that, it has some limitations. For instance, you should only use it to show these kinds of DataColumns: DataColumnBoolean, DataColumnString, DataColumnPixbuf, DataColumnStockItem.

For other kinds of DataColumn, the method appendDataColumn(TreeViewColumn, int, CellRenderer, CellRendererAttribute) should be used, which is more flexible, allowing you to specify which renderer to use, and its rendering attributes.

Parameters:
aExistingCol - an existing TreeViewColumn.
aCol - the number of the column in the model to be shown; starting from 0.
Returns:
an instance to the updated column.

appendDataColumn

public TreeViewColumn appendDataColumn(TreeViewColumn aExistingCol,
                                       int aCol,
                                       boolean expand)
Appends a data column of the model to an existing TreeViewColumn, previously created with one of the showDataColumn methods. It should be used when it's desired to have more than one data in just one column.

This method will try to guess the renderer to use, and because of that, it has some limitations. For instance, you should only use it to show these kinds of DataColumns: DataColumnBoolean, DataColumnString, DataColumnPixbuf, DataColumnStockItem.

For other kinds of DataColumn, the method appendDataColumn(TreeViewColumn, int, CellRenderer, CellRendererAttribute) should be used, which is more flexible, allowing you to specify which renderer to use, and its rendering attributes.

Parameters:
aExistingCol - an existing TreeViewColumn.
aCol - the number of the column in the model to be shown; starting from 0.
expand - true if this column should expand to fill the available space in the row, false otherwise.
Returns:
an instance to the updated column.

appendDataColumn

public TreeViewColumn appendDataColumn(TreeViewColumn aExistingCol,
                                       int aCol,
                                       CellRenderer aRenderer,
                                       aAttr[] )
Appends a data column of the model to an existing TreeViewColumn, previously created with one of the showDataColumn methods, and lets you use a specific renderer and rendering attributes.

It should be used when it's desired to have more than one data in just one column.

Parameters:
aCol - the number of the column in the model to be shown; starting from 0.
aRenderer - the renderer to be used
Returns:
an instance to the updated column.

appendDataColumn

public TreeViewColumn appendDataColumn(TreeViewColumn aExistingCol,
                                       int aCol,
                                       CellRenderer aRenderer,
                                       aAttr[] ,
                                       boolean expand)
Appends a data column of the model to an existing TreeViewColumn, previously created with one of the showDataColumn methods, and lets you use a specific renderer and rendering attributes.

It should be used when it's desired to have more than one data in just one column.

Parameters:
aCol - the number of the column in the model to be shown; starting from 0.
aRenderer - the renderer to be used
expand - true if this column should expand to fill the available space in the row, false otherwise.
Returns:
an instance to the updated column.

appendDataColumn

public TreeViewColumn appendDataColumn(TreeViewColumn aExistingCol,
                                       int aCol,
                                       CellRenderer aRenderer,
                                       CellRendererAttribute aAttr)
Appends a data column of the model to an existing TreeViewColumn, previously created with one of the showDataColumn methods, and lets you use a specific renderer and rendering attributes.

It should be used when it's desired to have more than one data in just one column.

Parameters:
aCol - the number of the column in the model to be shown; starting from 0.
aRenderer - the renderer to be used
aAttr - the rendering attributes to be used
Returns:
an instance to the updated column.

appendDataColumn

public TreeViewColumn appendDataColumn(TreeViewColumn aExistingCol,
                                       int aCol,
                                       CellRenderer aRenderer,
                                       CellRendererAttribute aAttr,
                                       boolean expand)
Appends a data column of the model to an existing TreeViewColumn, previously created with one of the showDataColumn methods, and lets you use a specific renderer and rendering attributes.

It should be used when it's desired to have more than one data in just one column.

Parameters:
aCol - the number of the column in the model to be shown; starting from 0.
aRenderer - the renderer to be used
aAttr - the rendering attributes to be used
expand - true if this column should expand to fill the available space in the row, false otherwise.
Returns:
an instance to the updated column.

autoSizeColumns

public void autoSizeColumns()
Resizes all columns to their optimal width. Only works after the treeview has been realized.

collapseAll

public void collapseAll()
Recursively collapses all visible, expanded nodes.

collapseRow

public boolean collapseRow(TreePath path)
Collapses a row (hides its child rows, if they exist).
Parameters:
path - Path to a row in the view
Returns:
true if the row was collapsed.

expandAll

public void expandAll()
Recursively expands all nodes

expandRow

public boolean expandRow(TreePath path,
                         boolean openAll)
Opens the row so its children are visible.
Parameters:
path - Path to a row
openAll - Whether to recursively expand, or just expand immediate children
Returns:
true if the row existed and had children

expandToPath

public void expandToPath(TreePath path)
Expands the row at path. This will also expand all parent rows of path as necessary.
Parameters:
path - path to a row
Since:
2.2

getAlternateRowColor

public boolean getAlternateRowColor()

getColumn

public TreeViewColumn getColumn(int position)
Gets the column at the given position in the tree view.
Parameters:
position - The position of the column, counting from 0.
Returns:
The TreeViewColumn, or null if the position is outside the range of columns.

getColumns

public TreeViewColumn[] getColumns()
Returns an array of all the columns currently in the view

getCursorColumn

public TreeViewColumn getCursorColumn()
Returns the current column

getCursorPath

public TreePath getCursorPath()
Returns the current path

getEnableSearch

public boolean getEnableSearch()

getEventListenerClass

public Class getEventListenerClass(String signal)
Overrides:
getEventListenerClass in interface Container

getEventType

public EventType getEventType(String signal)
Overrides:
getEventType in interface Container

getExpanderColumn

public TreeViewColumn getExpanderColumn()

getFixedHeightMode

public boolean getFixedHeightMode()
Returns whether fixed height mode is turned on for this TreeView.

getHAdjustment

public Adjustment getHAdjustment()
Gets the GtkAdjustment currently being used for the horizontal aspect.
Returns:
A GtkAdjustment object, or null if none is currently being used.

getHeadersVisible

public boolean getHeadersVisible()
Returns true if the headers on the TreeView are visible.

getHoverExpand

public boolean getHoverExpand()
Returns whether hover expansion mode is turned on for TreeView.

getHoverSelection

public boolean getHoverSelection()
Returns whether hover selection mode is turned on for this TreeView.

getModel

public TreeModel getModel()
Returns the model associated with this tree.

getReorderable

public boolean getReorderable()

getRowExpanded

public boolean getRowExpanded(TreePath path)
Returns true if the node pointed to by path is expanded.
Parameters:
path - A TreePath to test expansion state.
Returns:
true if path is expanded.

getRowSeparatorMethod

public TreeViewRowSeparatorMethod getRowSeparatorMethod()
Get the object which is used to determine whether a row should be drawn as a separator.
Returns:
The TreeViewRowSeparatorMethod or null if no method has been set.

getSearchColumn

public TreeViewColumn getSearchColumn()

Deprecated. This method is broken and has been deprecated in favor of the getSearchDataColumn() method.


getSearchDataColumn

public DataColumn getSearchDataColumn()
Gets the column searched on by the interactive search code.
Returns:
A DataColumn object representing the column of the data model in which the interactive search takes place.

getSelection

public TreeSelection getSelection()
Gets the TreeSelection associated with this widget

getTreeView

public static TreeView getTreeView(Handle handle)
Creates a new tree view from a native handle

getType

public static Type getType()
Retrieve the runtime type used by the GLib library.
Overrides:
getType in interface Container

getVAdjustment

public Adjustment getVAdjustment()
Gets the Adjustment currently being used for the vertical aspect.

insertColumn

public int insertColumn(TreeViewColumn column,
                        int position)
This inserts the column into the tree_view at position. If position is -1, then the column is inserted at the end.
Parameters:
column - The GtkTreeViewColumn to be inserted.
position - The position to insert column in.
Returns:
The number of columns in tree_view after insertion.

moveColumn

public void moveColumn(TreeViewColumn column,
                       TreeViewColumn baseColumn)
Moves column to be after to baseColumn. If baseColumn is null, then column is placed in the first position.
Parameters:
column - The GtkTreeViewColumn to be moved.
baseColumn - The GtkTreeViewColumn to be moved relative to, or null.

removeColumn

public int removeColumn(TreeViewColumn column)
Removes column from tree_view.
Parameters:
column - The GtkTreeViewColumn to remove.
Returns:
The number of columns in tree_view after removing.

removeListener

public void removeListener(TreeViewListener listener)
Removes a listener

scrollToCell

public void scrollToCell(TreePath path)
Moves the alignments of the view to the position specified by path.
Parameters:
path - The path of the row to move to, or null.

scrollToCell

public void scrollToCell(TreePath path,
                         TreeViewColumn column)
Moves the alignments of the view to the position specified by column and path.
Parameters:
path - The path of the row to move to
column - The TreeViewColumn to move horizontally to

scrollToCell

public void scrollToCell(TreePath path,
                         TreeViewColumn column,
                         double rowAlign,
                         double colAlign)
Moves the alignments of the view to the position specified by column and path. rowAlign determines where the row is placed, and colAlign determines where column is placed. Both are expected to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means center.
Parameters:
path - The path of the row to move to
column - The TreeViewColumn to move horizontally to
rowAlign - The vertical alignment of the row specified by path.
colAlign - : The horizontal alignment of the column specified by column.

scrollToCell

public void scrollToCell(TreeViewColumn column)
Moves the alignments of the view to the position specified by column
Parameters:
column - The TreeViewColumn to move horizontally to

scrollToPoint

public void scrollToPoint(int x,
                          int y)
Scrolls the TreeView such that the top-left corner of the visible area is x, y, where x and y are specified in tree window coordinates. If either x or y are -1 then that direction isn't scrolled.
Parameters:
x -
y -

setAlternateRowColor

public void setAlternateRowColor(boolean setting)
This function tells GTK+ that the user interface for your application requires users to read across tree rows and associate cells with one another. By default, GTK+ will then render the tree with alternating row colors. Do not use it just because you prefer the appearance of the ruled tree; that's a question for the theme. Some themes will draw tree rows in alternating colors even when rules are turned off, and users who prefer that appearance all the time can choose those themes. You should call this function only as a semantic hint to the theme engine that your tree makes alternating colors useful from a functional standpoint (since it has lots of columns, generally).
Parameters:
setting - true if the tree requires reading across rows

setCursor

public void setCursor(TreePath path,
                      TreeViewColumn focusColumn,
                      boolean startEditing)
Sets the current keyboard focus to be at path, and selects it. This is useful when you want to focus the user's attention on a particular row. If column is specified, and startEditing is true, then editing should be started in the specified cell. This function is often followed by Widget.grabFocus() in order to give keyboard focus to the widget. Please note that editing can only happen when the widget is realized.
Parameters:
path - A TreePath
focusColumn - A TreeViewColumn, or null
startEditing - true if the specified cell should start being edited.

setCursor

public void setCursor(TreePath path,
                      TreeViewColumn focusColumn,
                      CellRenderer focusCell,
                      boolean startEditing)
Sets the current keyboard focus to be at path, and selects it. This is useful when you want to focus the user's attention on a particular row. If column is specified, and startEditing is true, then editing should be started in the specified cell. If focusCell is also specified, the particular cellRenderer in that column will get focusThis function is often followed by Widget.grabFocus() in order to give keyboard focus to the widget. Please note that editing can only happen when the widget is realized.
Parameters:
path - A TreePath
focusColumn - A TreeViewColumn, or null
focusCell - A cellrenderer, or null
startEditing - true if the specified cell should start being edited.
Since:
2.2

setEnableSearch

public void setEnableSearch(boolean enableSearch)
Parameters:
enableSearch - true, if the user can search interactively

setExpanderColumn

public void setExpanderColumn(TreeViewColumn column)
Sets the column to draw the expander arrow at. If column is null, then the expander arrow is always at the first visible column.
Parameters:
column - null, or the column to draw the expander arrow at.

setFixedHeightMode

public void setFixedHeightMode(boolean enable)
Parameters:
enable - true to enable fixed height mode.

setHAdjustment

public void setHAdjustment(Adjustment hadj)
Sets the Adjustment for the current horizontal aspect.

setHeadersClickable

public void setHeadersClickable(boolean setting)
Allow the column title buttons to be clicked.
Parameters:
setting - true if the columns are clickable.

setHeadersVisible

public void setHeadersVisible(boolean headersVisible)
Sets the the visibility state of the headers.
Parameters:
headersVisible - true if the headers are visible

setHoverExpand

public void setHoverExpand(boolean expand)
Enables or disables the hover expansion mode of this TreeView. Hover expansion makes rows expand or collapse if the pointer moves over them.
Parameters:
expand - true to enable hover selection mode.

setHoverSelection

public void setHoverSelection(boolean hover)
Parameters:
hover - true to enable hover selection mode.

setModel

public void setModel(TreeModel model)
Sets the model for a GtkTreeView. If the TreeView already has a model set, it will remove it before setting the new model. If model is null, then it will unset the old model.
Parameters:
model - the new model for the TreeView

setReorderable

public void setReorderable(boolean reorderable)
This function is a convenience function to allow you to reorder models that support the DragSourceIface and the DragDestIface. Both TreeStore and ListStore support these. If reorderable is true, then the user can reorder the model by dragging and dropping rows. The developer can listen to these changes by adding listeners.

This function does not give you any degree of control over the order -- any reorderering is allowed. If more control is needed, you should probably handle drag and drop manually.

Parameters:
reorderable - true, if the tree can be reordered.

setRowSeparatorMethod

public void setRowSeparatorMethod(TreeViewRowSeparatorMethod method)
Set the object which is used to determine whether a row should be drawn as a separator.
Parameters:
method - The TreeViewRowSeparatorMethod or null if no separators are to be drawn (the default).

setSearchColumn

public void setSearchColumn(TreeViewColumn column)

Deprecated. This method is broken and has been deprecated in favor of the setSearchDataColumn(DataColumn) method.


setSearchDataColumn

public void setSearchDataColumn(DataColumn column)
Sets column as the column where the interactive search code should search in. Additionally, turns on interactive searching (ie setEnableSearch(true))
Parameters:
column - The column of the data model to search in.

setVAdjustment

public void setVAdjustment(Adjustment vadj)
Sets the Adjustment for the current vertical aspect.

showDataColumn

public TreeViewColumn showDataColumn(int aCol)
Shows a data column of the model in this TreeView. This method will try to guess the renderer to use, and because of that, it has some limitations. For instance, you should only use it to show these kinds of DataColumns: DataColumnBoolean, DataColumnString, DataColumnPixbuf, DataColumnStockItem.

For other kinds of DataColumn, the method showDataColumn(int, CellRenderer, CellRendererAttribute) should be used, which is more flexible, allowing you to specify which renderer to use, and its rendering attributes.

Parameters:
aCol - the number of the column in the model to be shown; starting from 0.
Returns:
an instance to the new shown column.

showDataColumn

public TreeViewColumn showDataColumn(int aCol,
                                     boolean expand)
Shows a data column of the model in this TreeView. This method will try to guess the renderer to use, and because of that, it has some limitations. For instance, you should only use it to show these kinds of DataColumns: DataColumnBoolean, DataColumnString, DataColumnPixbuf, DataColumnStockItem.

For other kinds of DataColumn, the method showDataColumn(int, CellRenderer, CellRendererAttribute) should be used, which is more flexible, allowing you to specify which renderer to use, and its rendering attributes.

Parameters:
aCol - the number of the column in the model to be shown; starting from 0.
expand - true if this column should expand to fill the available space in the row, false otherwise.
Returns:
an instance to the new shown column.

showDataColumn

public TreeViewColumn showDataColumn(int aCol,
                                     CellRenderer aRenderer,
                                     aAttr[] )
Shows a data column of the model in this TreeView, with a specific renderer and rendering attributes.
Parameters:
aCol - the number of the column in the model to be shown; starting from 0.
aRenderer - the renderer to be used
Returns:
an instance to the new shown column.

showDataColumn

public TreeViewColumn showDataColumn(int aCol,
                                     CellRenderer aRenderer,
                                     aAttr[] ,
                                     boolean expand)
Shows a data column of the model in this TreeView, with a specific renderer and rendering attributes.
Parameters:
aCol - the number of the column in the model to be shown; starting from 0.
aRenderer - the renderer to be used
expand - true if this column should expand to fill the available space in the row, false otherwise.
Returns:
an instance to the new shown column.

showDataColumn

public TreeViewColumn showDataColumn(int aCol,
                                     CellRenderer aRenderer,
                                     CellRendererAttribute aAttr)
Shows a data column of the model in this TreeView, with a specific renderer and rendering attributes.
Parameters:
aCol - the number of the column in the model to be shown; starting from 0.
aRenderer - the renderer to be used
aAttr - the rendering attributes to be used
Returns:
an instance to the new shown column.

showDataColumn

public TreeViewColumn showDataColumn(int aCol,
                                     CellRenderer aRenderer,
                                     CellRendererAttribute aAttr,
                                     boolean expand)
Shows a data column of the model in this TreeView, with a specific renderer and rendering attributes.
Parameters:
aCol - the number of the column in the model to be shown; starting from 0.
aRenderer - the renderer to be used
aAttr - the rendering attributes to be used
expand - true if this column should expand to fill the available space in the row, false otherwise.
Returns:
an instance to the new shown column.