|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.gnu.glib.GObject
org.gnu.gtk.GtkObject
org.gnu.gtk.Widget
org.gnu.gtk.Container
org.gnu.gtk.TreeView
The TreeView object is a widget for displaying trees and lists. The sole purpose of this widget is for displaying the data on the screen and setting other parts of the view using the associated objects.
The standard tree and list widgets in Gtk are very powerful, but somewhat complex. For your conveniance, the Java-Gnome project has derived a number of simpler classes for common uses of these widgets.
SimpleList
If you choose not to use those, or your requirements are such that you cannot use them, you will have to learn how to use the full objects.
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. TreeViewColumn
s, CellRenderer
s and TreeSelection
s 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 DataColumn
s, which could be considered as
data columns (in fact, in the C version of gtk, they are always refered to as
columns; but this can get confused with TreeViewColumns which are quite a
different matter). These dataBlocks each store one type of data
(String, boolean, int, etc.). The 'rows' of the data table, or the individual
records in the data store are accessible using iterators called TreeIter
s. These are used extensively in many methods. Setting data involves
getting an iterator (usually be creating a new row) and then setting the
value for each of the dataBlocks. The ordering of these dataBlocks has
absolutely no meaning - you can decide exactly which blocks are used on
screen by setting Attribute mappings to the CellRenderers which render data
on the screen (see below).
Currently, there are two implementations of TreeModel
ListStore
- This is used for tables and lists. Data is organised
in rows and columns.
TreeStore
- This is for the hierarchical trees. Data is organised
using TreePath
's.
TreeViewColumn
Both trees and lists can have multiple columns of data. Columns are added
and removed using the TreeView
class. Columns are objects which
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 columns. Determining how the data is displayed in the columns is
done by CellRenderers (see below). Any number of renderers can be added to
the same 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 construct your own renderer. However, you are recommended to stick with the regular choices:
CellRendererPixbuf
CellRendererText
CellRendererToggle
The CellRenderer's need data to be able to display. This is set 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 dataBlock 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.
Field Summary |
Fields inherited from class org.gnu.glib.GObject |
eventsInitialized |
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 button events. |
int |
appendColumn(TreeViewColumn column)
Appends column to the list of columns. |
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. |
protected static int |
findListener(java.util.Vector list,
java.lang.Object listener)
Give us a way to locate a specific listener in a Vector. |
protected void |
fireTreeViewEvent(TreeViewEvent event)
|
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()
|
java.lang.Class |
getEventListenerClass(java.lang.String signal)
|
EventType |
getEventType(java.lang.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 Type |
getType()
Retrieve the runtime type used by the GLib library. |
Adjustment |
getVAdjustment()
Gets the Adjustment currently being used for the vertical aspect. |
protected static int |
gtk_tree_view_append_column(Handle treeView,
Handle column)
|
protected static void |
gtk_tree_view_collapse_all(Handle treeView)
|
protected static boolean |
gtk_tree_view_collapse_row(Handle treeView,
Handle path)
|
protected static void |
gtk_tree_view_columns_autosize(Handle treeView)
|
protected static void |
gtk_tree_view_expand_all(Handle treeView)
|
protected static boolean |
gtk_tree_view_expand_row(Handle treeView,
Handle path,
boolean openAll)
|
protected static void |
gtk_tree_view_expand_to_path(Handle treeView,
Handle path)
|
protected static Handle |
gtk_tree_view_get_bin_window(Handle treeView)
|
protected static Handle |
gtk_tree_view_get_column(Handle treeView,
int n)
|
protected static Handle[] |
gtk_tree_view_get_columns(Handle treeView)
|
protected static void |
gtk_tree_view_get_cursor(Handle treeView,
Handle path,
Handle focusColumn)
|
protected static boolean |
gtk_tree_view_get_enable_search(Handle treeView)
|
protected static Handle |
gtk_tree_view_get_expander_column(Handle treeView)
|
protected static Handle |
gtk_tree_view_get_hadjustment(Handle treeView)
|
protected static boolean |
gtk_tree_view_get_headers_visible(Handle treeView)
|
protected static Handle |
gtk_tree_view_get_model(Handle treeView)
|
protected static boolean |
gtk_tree_view_get_path_at_pos(Handle treeView,
int x,
int y,
Handle path,
Handle column,
int cellX,
int cellY)
|
protected static boolean |
gtk_tree_view_get_reorderable(Handle treeView)
|
protected static boolean |
gtk_tree_view_get_rules_hint(Handle treeView)
|
protected static int |
gtk_tree_view_get_search_column(Handle treeView)
|
protected static Handle |
gtk_tree_view_get_selection(Handle treeView)
|
protected static int |
gtk_tree_view_get_type()
|
protected static Handle |
gtk_tree_view_get_vadjustment(Handle treeView)
|
protected static int |
gtk_tree_view_insert_column(Handle treeView,
Handle column,
int position)
|
protected static void |
gtk_tree_view_move_column_after(Handle treeView,
Handle column,
Handle baseColumn)
|
protected static Handle |
gtk_tree_view_new_with_model(Handle model)
|
protected static Handle |
gtk_tree_view_new()
|
protected static int |
gtk_tree_view_remove_column(Handle treeView,
Handle column)
|
protected static void |
gtk_tree_view_row_activated(Handle treeView,
Handle path,
Handle column)
|
protected static boolean |
gtk_tree_view_row_expanded(Handle treeView,
Handle path)
|
protected static void |
gtk_tree_view_scroll_to_cell(Handle treeView,
Handle path,
Handle column,
boolean useAlign,
double rowAlign,
double colAlign)
|
protected static void |
gtk_tree_view_scroll_to_point(Handle treeView,
int treeX,
int treeY)
|
protected static void |
gtk_tree_view_set_cursor_on_cell(Handle treeView,
Handle path,
Handle focusColumn,
Handle focusCell,
boolean startEditin)
|
protected static void |
gtk_tree_view_set_cursor(Handle treeView,
Handle path,
Handle focusColumn,
boolean startEditing)
|
protected static void |
gtk_tree_view_set_enable_search(Handle treeView,
boolean enableSearch)
|
protected static void |
gtk_tree_view_set_expander_column(Handle treeView,
Handle column)
|
protected static void |
gtk_tree_view_set_hadjustment(Handle treeView,
Handle adjustment)
|
protected static void |
gtk_tree_view_set_headers_clickable(Handle treeView,
boolean setting)
|
protected static void |
gtk_tree_view_set_headers_visible(Handle treeView,
boolean headersVisible)
|
protected static void |
gtk_tree_view_set_model(Handle treeView,
Handle model)
|
protected static void |
gtk_tree_view_set_reorderable(Handle treeView,
boolean reorderable)
|
protected static void |
gtk_tree_view_set_rules_hint(Handle treeView,
boolean setting)
|
protected static void |
gtk_tree_view_set_search_column(Handle treeView,
int dataColumn)
|
protected static void |
gtk_tree_view_set_vadjustment(Handle treeView,
Handle adjustment)
|
protected boolean |
handleSeparatorFunc(Handle model,
Handle iter)
|
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 of 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(org.gnu.gtk.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. |
Methods inherited from class org.gnu.gtk.GtkObject |
getFlags, gtk_object_destroy, gtk_object_get_type, gtk_object_sink, setFlags, sink |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public TreeView()
public TreeView(Handle handle)
public TreeView(TreeModel model)
Method Detail |
public TreeModel getModel()
public int appendColumn(TreeViewColumn column)
column
- The GtkTreeViewColumn to add.
public int insertColumn(TreeViewColumn column, int position)
column
- The GtkTreeViewColumn to be inserted.position
- The position to insert column in.
public int removeColumn(TreeViewColumn column)
column
- The GtkTreeViewColumn to remove.
public TreeSelection getSelection()
public Adjustment getHAdjustment()
public void setHAdjustment(Adjustment hadj)
public Adjustment getVAdjustment()
public void setVAdjustment(Adjustment vadj)
public void setHeadersVisible(boolean headersVisible)
headersVisible
- TRUE if the headers are visiblpublic boolean getHeadersVisible()
public void setHeadersClickable(boolean setting)
setting
- TRUE if the columns are clickable.public void setAlternateRowColor(boolean setting)
setting
- TRUE if the tree requires reading across rowspublic boolean getAlternateRowColor()
public TreeViewColumn getColumn(int position)
position
- The position of the column, counting from 0.
null
if the position is outside the range
of columns.public void moveColumn(TreeViewColumn column, TreeViewColumn baseColumn)
column
- The GtkTreeViewColumn to be moved.baseColumn
- The GtkTreeViewColumn to be moved relative to, or
NULL.public void setExpanderColumn(TreeViewColumn column)
column
- NULL, or the column to draw the expander arrow at.public TreeViewColumn getExpanderColumn()
public void scrollToCell(TreePath path, TreeViewColumn column, double rowAlign, double colAlign)
path
- The path of the row to move tocolumn
- The TreeViewColumn to move horizontally torowAlign
- The vertical alignment of the row specified by path.colAlign
- : The horizontal alignment of the column specified by
column.public void scrollToPoint(int x, int y)
x
- y
- public void scrollToCell(TreePath path, TreeViewColumn column)
path
- The path of the row to move tocolumn
- The TreeViewColumn to move horizontally topublic void scrollToCell(TreeViewColumn column)
column
- The TreeViewColumn to move horizontally topublic void scrollToCell(TreePath path)
path
- The path of the row to move to, or NULL.public void setCursor(TreePath path, TreeViewColumn focusColumn, boolean startEditing)
Widget.grabFocus()
in order to give keyboard focus to the widget. Please note that editing
can only happen when the widget is realized.
path
- A TreePathfocusColumn
- A TreeViewColumn, or NULLstartEditing
- TRUE if the specified cell should start being edited.public TreePath getCursorPath()
public TreeViewColumn getCursorColumn()
public void activateCell(TreePath path, TreeViewColumn column)
path
- The TreePath to be activated.column
- The TreeViewColumn to be activated.public void expandAll()
public void collapseAll()
public boolean expandRow(TreePath path, boolean openAll)
path
- Path to a rowopenAll
- Whether to recursively expand, or just expand immediate
children
public boolean collapseRow(TreePath path)
path
- Path to a row in the view
public boolean getRowExpanded(TreePath path)
path
- A TreePath to test expansion state.
public void setReorderable(boolean reorderable)
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.
reorderable
- TRUE, if the tree can be reordered.public boolean getReorderable()
public void setModel(TreeModel model)
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.
model
- the new model for the TreeView
public void autoSizeColumns()
public TreeViewColumn[] getColumns()
public void setCursor(TreePath path, TreeViewColumn focusColumn, CellRenderer focusCell, boolean startEditing)
Widget.grabFocus()
in order to give keyboard focus to the widget. Please
note that editing can only happen when the widget is realized.
path
- A TreePathfocusColumn
- A TreeViewColumn, or NULLfocusCell
- A cellrenderer, or nullstartEditing
- TRUE if the specified cell should start being edited.public void expandToPath(TreePath path)
path
- path to a rowpublic void setEnableSearch(boolean enableSearch)
enableSearch
- TRUE, if the user can search interactivelypublic boolean getEnableSearch()
public void setSearchColumn(TreeViewColumn column)
setSearchDataColumn(org.gnu.gtk.DataColumn)
method.
public TreeViewColumn getSearchColumn()
getSearchDataColumn()
method.
public void setSearchDataColumn(DataColumn column)
column
- The column of the data model to search in.public DataColumn getSearchDataColumn()
public static Type getType()
public void setFixedHeightMode(boolean enable)
TreeViewColumnSizing.FIXED
.
enable
- TRUE to enable fixed height mode.public boolean getFixedHeightMode()
public void setHoverSelection(boolean hover)
SelectionMode.SINGLE
and SelectionMode.BROWSE
.
hover
- TRUE to enable hover selection mode.public boolean getHoverSelection()
public void setHoverExpand(boolean expand)
expand
- TRUE to enable hover selection mode.public boolean getHoverExpand()
public void setRowSeparatorMethod(TreeViewRowSeparatorMethod method)
method
- The TreeViewRowSeparatorMethod or
null if no separators are to be drawn (the default).protected boolean handleSeparatorFunc(Handle model, Handle iter)
public TreeViewRowSeparatorMethod getRowSeparatorMethod()
public void addListener(TreeViewListener listener)
TreeViewListener
public void removeListener(TreeViewListener listener)
addListener(TreeViewListener)
protected static int findListener(java.util.Vector list, java.lang.Object listener)
list
- The Vector of listeners to search.listener
- The object that is to be located in the Vector.
protected void fireTreeViewEvent(TreeViewEvent event)
public java.lang.Class getEventListenerClass(java.lang.String signal)
getEventListenerClass
in class Container
public EventType getEventType(java.lang.String signal)
getEventType
in class Container
protected static final int gtk_tree_view_get_type()
protected static final Handle gtk_tree_view_new()
protected static final Handle gtk_tree_view_new_with_model(Handle model)
protected static final Handle gtk_tree_view_get_model(Handle treeView)
protected static final void gtk_tree_view_set_model(Handle treeView, Handle model)
protected static final Handle gtk_tree_view_get_selection(Handle treeView)
protected static final Handle gtk_tree_view_get_hadjustment(Handle treeView)
protected static final void gtk_tree_view_set_hadjustment(Handle treeView, Handle adjustment)
protected static final Handle gtk_tree_view_get_vadjustment(Handle treeView)
protected static final void gtk_tree_view_set_vadjustment(Handle treeView, Handle adjustment)
protected static final boolean gtk_tree_view_get_headers_visible(Handle treeView)
protected static final void gtk_tree_view_set_headers_visible(Handle treeView, boolean headersVisible)
protected static final void gtk_tree_view_columns_autosize(Handle treeView)
protected static final void gtk_tree_view_set_headers_clickable(Handle treeView, boolean setting)
protected static final void gtk_tree_view_set_rules_hint(Handle treeView, boolean setting)
protected static final boolean gtk_tree_view_get_rules_hint(Handle treeView)
protected static final int gtk_tree_view_append_column(Handle treeView, Handle column)
protected static final int gtk_tree_view_remove_column(Handle treeView, Handle column)
protected static final int gtk_tree_view_insert_column(Handle treeView, Handle column, int position)
protected static final Handle gtk_tree_view_get_column(Handle treeView, int n)
protected static final Handle[] gtk_tree_view_get_columns(Handle treeView)
protected static final void gtk_tree_view_move_column_after(Handle treeView, Handle column, Handle baseColumn)
protected static final void gtk_tree_view_set_expander_column(Handle treeView, Handle column)
protected static final Handle gtk_tree_view_get_expander_column(Handle treeView)
protected static final void gtk_tree_view_scroll_to_point(Handle treeView, int treeX, int treeY)
protected static final void gtk_tree_view_scroll_to_cell(Handle treeView, Handle path, Handle column, boolean useAlign, double rowAlign, double colAlign)
protected static final void gtk_tree_view_row_activated(Handle treeView, Handle path, Handle column)
protected static final void gtk_tree_view_expand_all(Handle treeView)
protected static final void gtk_tree_view_collapse_all(Handle treeView)
protected static final void gtk_tree_view_expand_to_path(Handle treeView, Handle path)
protected static final boolean gtk_tree_view_expand_row(Handle treeView, Handle path, boolean openAll)
protected static final boolean gtk_tree_view_collapse_row(Handle treeView, Handle path)
protected static final boolean gtk_tree_view_row_expanded(Handle treeView, Handle path)
protected static final void gtk_tree_view_set_reorderable(Handle treeView, boolean reorderable)
protected static final boolean gtk_tree_view_get_reorderable(Handle treeView)
protected static final void gtk_tree_view_set_cursor(Handle treeView, Handle path, Handle focusColumn, boolean startEditing)
protected static final void gtk_tree_view_set_cursor_on_cell(Handle treeView, Handle path, Handle focusColumn, Handle focusCell, boolean startEditin)
protected static final void gtk_tree_view_get_cursor(Handle treeView, Handle path, Handle focusColumn)
protected static final Handle gtk_tree_view_get_bin_window(Handle treeView)
protected static final boolean gtk_tree_view_get_path_at_pos(Handle treeView, int x, int y, Handle path, Handle column, int cellX, int cellY)
protected static final void gtk_tree_view_set_enable_search(Handle treeView, boolean enableSearch)
protected static final boolean gtk_tree_view_get_enable_search(Handle treeView)
protected static final int gtk_tree_view_get_search_column(Handle treeView)
protected static final void gtk_tree_view_set_search_column(Handle treeView, int dataColumn)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |