The ListStore is the gtk Model used for constructing Lists and tables to be
displayed within
TreeView
widgets. For full details of what objects
are needed to construct lists and tables, please see the
TreeView
description.
The list store has a number of
DataColumn
s, or data 'columns' associated
with it. These do
not correspond to the organisation of the output
into columns. The data store can in fact be used with any number of treeView
widgets, each displaying a different part of the data. In these Java
bindings, we will try to use the term dataBlock for the data in the ListStore
and Column to refer to the columns to be displayed. The data to be displayed
is set in the
TreeViewColumn
objects, by associating properties of
CellRenderer
's with the data block used in this object.
appendRow
public TreeIter appendRow()
Appends a new row to the store
- Iterator for the new row
clear
public void clear()
Removes all rows from the list store.
getSortColumn
public DataColumn getSortColumn()
Get a DataColumn object representing the currently sorted column. This
is not the same DataColumn used to create the store. It is only of type
DataColumn (not DataColumnString, etc). It can be compared with another
DataColumn object using the
DataColumn.equals(DataColumn)
method.
- getSortColumn in interface TreeSortable
- A DataColumn object representing the currently sorted column or
null if there is no column currently sorted.
getSortOrder
public SortType getSortOrder()
Get the current sorting order of the store.
- getSortOrder in interface TreeSortable
- A SortType object defining the current sorting order of the
store or null if there is no current sort order.
getType
public static Type getType()
Retrieve the runtime type used by the GLib library.
gtk_list_store_append
protected static final Handle gtk_list_store_append(Handle listStore)
gtk_list_store_clear
protected static final void gtk_list_store_clear(Handle listStore)
gtk_list_store_get_type
protected static final int gtk_list_store_get_type()
gtk_list_store_insert
protected static final Handle gtk_list_store_insert(Handle listStore,
int position)
gtk_list_store_insert_after
protected static final Handle gtk_list_store_insert_after(Handle listStore,
Handle sibling)
gtk_list_store_insert_before
protected static final Handle gtk_list_store_insert_before(Handle listStore,
Handle sibling)
gtk_list_store_iter_is_valid
protected static final boolean gtk_list_store_iter_is_valid(Handle listStore,
Handle iter)
gtk_list_store_move_after
protected static final void gtk_list_store_move_after(Handle listStore,
Handle iter,
Handle position)
gtk_list_store_move_before
protected static final void gtk_list_store_move_before(Handle listStore,
Handle iter,
Handle position)
gtk_list_store_newv
protected static final Handle gtk_list_store_newv(int numColumns,
int[] types)
gtk_list_store_prepend
protected static final Handle gtk_list_store_prepend(Handle listStore)
gtk_list_store_remove
protected static final boolean gtk_list_store_remove(Handle listStore,
Handle iter)
gtk_list_store_reorder
protected static final void gtk_list_store_reorder(Handle listStore,
int[] newOrder)
gtk_list_store_set_column_types
protected static final void gtk_list_store_set_column_types(Handle listStore,
int numColumns,
int[] types)
gtk_list_store_set_value
protected static final void gtk_list_store_set_value(Handle listStore,
Handle iter,
int column,
Handle value)
gtk_list_store_swap
protected static final void gtk_list_store_swap(Handle listStore,
Handle iterA,
Handle iterB)
handleCompareFunc
public int handleCompareFunc(Handle model,
Handle aIter,
Handle bIter,
int col)
Call-back method invoked by the JNI code when sorting is required. This
is for internal use only.
- handleCompareFunc in interface TreeSortable
insertRow
public TreeIter insertRow(int position)
Creates a new row at position
. If position is larger than the
number of rows on the list, then the new row will be appended to the list.
position
- The position to place the new row, starting at 0.
- Iterator for the new row
insertRowAfter
public TreeIter insertRowAfter(TreeIter sibling)
Inserts a new row after sibling. If sibling is NULL, then the row will be
prepended to the beginning of the list. iter will be changed to point
to this new row.
sibling
-
- Iterator for the new row.
insertRowBefore
public TreeIter insertRowBefore(TreeIter sibling)
Inserts a new row before sibling. If sibling is NULL, then the row will
be appended to the end of the list. iter will be changed to point to this
new row.
sibling
-
- Iterator for the new row
isIterValid
public boolean isIterValid(TreeIter iter)
moveRowAfter
public void moveRowAfter(TreeIter iter,
TreeIter position)
Moves iter in this store to the position after
position. The iter and position should be in the
same level. Note that this function only works with
unsorted stores.
- 2.2
moveRowBefore
public void moveRowBefore(TreeIter iter,
TreeIter position)
Moves iter in store to the position before position. The
iter and position should be in the same
level. Note that this function only works with unsorted
stores.
- 2.2
moveRowToEnd
public void moveRowToEnd(TreeIter iter)
Moves iter to the end of the model
- 2.2
moveRowToStart
public void moveRowToStart(TreeIter iter)
Moves iter in this store to the start of the store.
- 2.2
prependRow
public TreeIter prependRow()
Prepends a new row to list_store. The iter will be
changed to point to this new row. The row will be empty
after this function is called.
- Iterator for the new row
removeRow
public boolean removeRow(TreeIter iter)
Removes the given row from the list store. After being removed,
iter
is set to be the next valid row, or invalidated if it
pointed to the last row in this store.
iter
- iterator for the row to be removed.
- TRUE if iter is valid, FALSE if not.
reorder
public void reorder(int[] newOrder)
setColumnTypes
public void setColumnTypes(DataColumn dataColumns)
setValue
public void setValue(TreeIter iter,
DataColumnBoolean dataBlock,
boolean value)
Sets a value in the data store. To display the data in the widget, you
need to associate the datablock with the renderer, using methods of the
TreeViewColumn
.
appendRow()
.
iter
- A valid iterator which specifies the row in which the data
should be set. Iterators can be gained by using methods such asdataBlock
- The data block to store the value in.value
- The value to store. This must be of the same type
for the column as that set in the constructor to the ListStore.
setValue
public void setValue(TreeIter iter,
DataColumnDouble dataBlock,
double value)
Sets a value in the data store. To display the data in the widget, you
need to associate the datablock with the renderer, using methods of the
TreeViewColumn
.
appendRow()
.
iter
- A valid iterator which specifies the row in which the data
should be set. Iterators can be gained by using methods such asdataBlock
- The data block to store the value in.value
- The value to store.
setValue
public void setValue(TreeIter iter,
DataColumnIconSize dataBlock,
IconSize value)
iter
- Valid iterator for the data row in which the value is to be
set. These can be gotten using methods such as appendRow()
.dataBlock
- The data block in which to store the datavalue
- The value to be set.
setValue
public void setValue(TreeIter iter,
DataColumnInt dataBlock,
int value)
Sets a value in the data store. To display the data in the widget, you
need to associate the datablock with the renderer, using methods of the
TreeViewColumn
.
appendRow()
.
iter
- A valid iterator which specifies the row in which the data
should be set. Iterators can be gained by using methods such asdataBlock
- The data block to store the value in.value
- The value to store. This must be of the same type
for the column as that set in the constructor to the ListStore.
setValue
public void setValue(TreeIter iter,
DataColumnObject dataBlock,
Object value)
Sets a value in the dataStore. The type of the value must match
the type set for that dataBlock in the constructor.
iter
- Valid iterator for the data row in which the value is to be
set. These can be gotten using methods such as appendRow()
.dataBlock
- The datablock in which the data should be
stored.value
- The value to be set.
setValue
public void setValue(TreeIter iter,
DataColumnPixbuf dataBlock,
Pixbuf value)
Sets a value in the dataStore. The type of the value
must match
the type set for that dataBlock in the constructor.
This does not
make the data visible in any of the widgets which use the class
iter
- Valid iterator for the data row in which the value is to be
set. These can be gotten using methods such as appendRow()
.dataBlock
- The datablock in which the data should be
stored.value
- The value to be set. This must match the type for
that dataBlock, as set in the constructor.
setValue
public void setValue(TreeIter iter,
DataColumnStockItem dataBlock,
GtkStockItem value)
iter
- Valid iterator for the data row in which the value is to be
set. These can be gotten using methods such as appendRow()
.dataBlock
- The data block in which to store the datavalue
- The value to be set.
setValue
public void setValue(TreeIter iter,
DataColumnString dataBlock,
String value)
Sets a value in the data store. To display the data in the widget, you
need to associate the datablock with the renderer, using methods of the
TreeViewColumn
.
appendRow()
.
iter
- A valid iterator which specifies the row in which the data
should be set. Iterators can be gained by using methods such asdataBlock
- The data block to store the value in.value
- The value to store. This must be of the same type
for the column as that set in the constructor to the ListStore.
swapRows
public void swapRows(TreeIter a,
TreeIter b)
Swaps a and b in the same level of tree_store. Note that this function
only works with unsorted stores.
- 2.2
tree_sortable_set_sort_column_id
protected void tree_sortable_set_sort_column_id(Handle sortable,
int col,
int order)