Tree API. More...
#include "gntwidget.h"
#include "gnt.h"
#include "gntcolors.h"
#include "gntkeys.h"
#include "gnttextview.h"
Go to the source code of this file.
Data Structures | |
struct | _GntTree |
struct | _GntTree::_GntTreeColInfo |
struct | _GntTreeClass |
Macros | |
#define | GNT_TYPE_TREE (gnt_tree_get_gtype()) |
#define | GNT_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GNT_TYPE_TREE, GntTree)) |
#define | GNT_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GNT_TYPE_TREE, GntTreeClass)) |
#define | GNT_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GNT_TYPE_TREE)) |
#define | GNT_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GNT_TYPE_TREE)) |
#define | GNT_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GNT_TYPE_TREE, GntTreeClass)) |
Typedefs | |
typedef struct _GntTree | GntTree |
typedef struct _GntTreePriv | GntTreePriv |
typedef struct _GntTreeClass | GntTreeClass |
typedef struct _GntTreeRow | GntTreeRow |
typedef struct _GntTreeCol | GntTreeCol |
typedef enum _GntTreeColumnFlag | GntTreeColumnFlag |
Enumerations | |
enum | _GntTreeColumnFlag { GNT_TREE_COLUMN_INVISIBLE = 1 << 0, GNT_TREE_COLUMN_FIXED_SIZE = 1 << 1, GNT_TREE_COLUMN_BINARY_DATA = 1 << 2, GNT_TREE_COLUMN_RIGHT_ALIGNED = 1 << 3 } |
Functions | |
G_BEGIN_DECLS GType | gnt_tree_get_gtype (void) |
GntWidget * | gnt_tree_new (void) |
Create a tree with one column. More... | |
GntWidget * | gnt_tree_new_with_columns (int columns) |
Create a tree with a specified number of columns. More... | |
void | gnt_tree_set_visible_rows (GntTree *tree, int rows) |
The number of rows the tree should display at a time. More... | |
int | gnt_tree_get_visible_rows (GntTree *tree) |
Get the number visible rows. More... | |
void | gnt_tree_scroll (GntTree *tree, int count) |
Scroll the contents of the tree. More... | |
GntTreeRow * | gnt_tree_add_row_after (GntTree *tree, void *key, GntTreeRow *row, void *parent, void *bigbro) |
Insert a row in the tree. More... | |
GntTreeRow * | gnt_tree_add_row_last (GntTree *tree, void *key, GntTreeRow *row, void *parent) |
Insert a row at the end of the tree. More... | |
gpointer | gnt_tree_get_selection_data (GntTree *tree) |
Get the key for the selected row. More... | |
char * | gnt_tree_get_selection_text (GntTree *tree) |
Get the text displayed for the selected row. More... | |
GList * | gnt_tree_get_row_text_list (GntTree *tree, gpointer key) |
Get a list of text for a row. More... | |
gpointer | gnt_tree_row_get_key (GntTree *tree, GntTreeRow *row) |
Get the key of a row. More... | |
GntTreeRow * | gnt_tree_row_get_next (GntTree *tree, GntTreeRow *row) |
Get the next row. More... | |
GntTreeRow * | gnt_tree_row_get_prev (GntTree *tree, GntTreeRow *row) |
Get the previous row. More... | |
GntTreeRow * | gnt_tree_row_get_child (GntTree *tree, GntTreeRow *row) |
Get the child row. More... | |
GntTreeRow * | gnt_tree_row_get_parent (GntTree *tree, GntTreeRow *row) |
Get the parent row. More... | |
GList * | gnt_tree_get_selection_text_list (GntTree *tree) |
Get a list of text of the current row. More... | |
GList * | gnt_tree_get_rows (GntTree *tree) |
Returns the list of rows in the tree. More... | |
void | gnt_tree_remove (GntTree *tree, gpointer key) |
Remove a row from the tree. More... | |
void | gnt_tree_remove_all (GntTree *tree) |
Remove all the item from the tree. More... | |
int | gnt_tree_get_selection_visible_line (GntTree *tree) |
Get the visible line number of the selected row. More... | |
void | gnt_tree_change_text (GntTree *tree, gpointer key, int colno, const char *text) |
Change the text of a column in a row. More... | |
GntTreeRow * | gnt_tree_add_choice (GntTree *tree, void *key, GntTreeRow *row, void *parent, void *bigbro) |
Add a checkable item in the tree. More... | |
void | gnt_tree_set_choice (GntTree *tree, void *key, gboolean set) |
Set whether a checkable item is checked or not. More... | |
gboolean | gnt_tree_get_choice (GntTree *tree, void *key) |
Return whether a row is selected or not, where the row is a checkable item. More... | |
void | gnt_tree_set_row_flags (GntTree *tree, void *key, GntTextFormatFlags flags) |
Set flags for the text in a row in the tree. More... | |
void | gnt_tree_set_row_color (GntTree *tree, void *key, int color) |
Set color for the text in a row in the tree. More... | |
void | gnt_tree_set_selected (GntTree *tree, void *key) |
Select a row. More... | |
GntTreeRow * | gnt_tree_create_row (GntTree *tree,...) |
Create a row to insert in the tree. More... | |
GntTreeRow * | gnt_tree_create_row_from_list (GntTree *tree, GList *list) |
Create a row from a list of text. More... | |
void | gnt_tree_set_col_width (GntTree *tree, int col, int width) |
Set the width of a column in the tree. More... | |
void | gnt_tree_set_column_title (GntTree *tree, int index, const char *title) |
Set the title for a column. More... | |
void | gnt_tree_set_column_titles (GntTree *tree,...) |
Set the titles of the columns. More... | |
void | gnt_tree_set_show_title (GntTree *tree, gboolean set) |
Set whether to display the title of the columns. More... | |
void | gnt_tree_set_compare_func (GntTree *tree, GCompareFunc func) |
Set the compare function for sorting the data. More... | |
void | gnt_tree_set_expanded (GntTree *tree, void *key, gboolean expanded) |
Set whether a row, which has child rows, should be expanded. More... | |
void | gnt_tree_set_show_separator (GntTree *tree, gboolean set) |
Set whether to show column separators. More... | |
void | gnt_tree_sort_row (GntTree *tree, void *row) |
Sort a row in the tree. More... | |
void | gnt_tree_adjust_columns (GntTree *tree) |
Automatically adjust the width of the columns in the tree. More... | |
void | gnt_tree_set_hash_fns (GntTree *tree, gpointer hash, gpointer eq, gpointer kd) |
Set the hash functions to use to hash, compare and free the keys. More... | |
void | gnt_tree_set_column_visible (GntTree *tree, int col, gboolean vis) |
Set whether a column is visible or not. More... | |
void | gnt_tree_set_column_resizable (GntTree *tree, int col, gboolean res) |
Set whether a column can be resized to keep the same ratio when the tree is resized. More... | |
void | gnt_tree_set_column_is_binary (GntTree *tree, int col, gboolean bin) |
Set whether data in a column should be considered as binary data, and not as strings. More... | |
void | gnt_tree_set_column_is_right_aligned (GntTree *tree, int col, gboolean right) |
Set whether text in a column should be right-aligned. More... | |
void | gnt_tree_set_column_width_ratio (GntTree *tree, int cols[]) |
Set column widths to use when calculating column widths after a tree is resized. More... | |
void | gnt_tree_set_search_column (GntTree *tree, int col) |
Set the column to use for typeahead searching. More... | |
gboolean | gnt_tree_is_searching (GntTree *tree) |
Check whether the user is currently in the middle of a search. More... | |
void | gnt_tree_set_search_function (GntTree *tree, gboolean(*func)(GntTree *tree, gpointer key, const char *search, const char *current)) |
Set a custom search function. More... | |
gpointer | gnt_tree_get_parent_key (GntTree *tree, gpointer key) |
Get the parent key for a row. More... | |
Tree API.
Definition in file gnttree.h.
GntTreeRow* gnt_tree_add_choice | ( | GntTree * | tree, |
void * | key, | ||
GntTreeRow * | row, | ||
void * | parent, | ||
void * | bigbro | ||
) |
Add a checkable item in the tree.
tree | The tree |
key | The key for the row |
row | The row to add |
parent | The parent of the row, or NULL |
bigbro | The row to insert after, or NULL |
GntTreeRow* gnt_tree_add_row_after | ( | GntTree * | tree, |
void * | key, | ||
GntTreeRow * | row, | ||
void * | parent, | ||
void * | bigbro | ||
) |
Insert a row in the tree.
tree | The tree |
key | The key for the row |
row | The row to insert |
parent | The key for the parent row |
bigbro | The key for the row to insert the new row after. |
GntTreeRow* gnt_tree_add_row_last | ( | GntTree * | tree, |
void * | key, | ||
GntTreeRow * | row, | ||
void * | parent | ||
) |
Insert a row at the end of the tree.
tree | The tree |
key | The key for the row |
row | The row to insert |
parent | The key for the parent row |
void gnt_tree_adjust_columns | ( | GntTree * | tree | ) |
Automatically adjust the width of the columns in the tree.
tree | The tree |
void gnt_tree_change_text | ( | GntTree * | tree, |
gpointer | key, | ||
int | colno, | ||
const char * | text | ||
) |
Change the text of a column in a row.
tree | The tree |
key | The key for the row |
colno | The index of the column |
text | The new text |
GntTreeRow* gnt_tree_create_row | ( | GntTree * | tree, |
... | |||
) |
Create a row to insert in the tree.
tree | The tree |
... | A string for each column in the tree |
GntTreeRow* gnt_tree_create_row_from_list | ( | GntTree * | tree, |
GList * | list | ||
) |
Create a row from a list of text.
tree | The tree |
list | The list containing the text for each column |
gboolean gnt_tree_get_choice | ( | GntTree * | tree, |
void * | key | ||
) |
Return whether a row is selected or not, where the row is a checkable item.
tree | The tree |
key | The key for the row |
TRUE
if the row is checked, FALSE
otherwise. G_BEGIN_DECLS GType gnt_tree_get_gtype | ( | void | ) |
gpointer gnt_tree_get_parent_key | ( | GntTree * | tree, |
gpointer | key | ||
) |
Get the parent key for a row.
tree | The tree |
key | The key for the row. |
GList* gnt_tree_get_row_text_list | ( | GntTree * | tree, |
gpointer | key | ||
) |
Get a list of text for a row.
tree | The tree |
key | A key corresponding to the row in question. If key is NULL , the text list for the selected row will be returned. |
GList* gnt_tree_get_rows | ( | GntTree * | tree | ) |
Returns the list of rows in the tree.
tree | The tree |
gpointer gnt_tree_get_selection_data | ( | GntTree * | tree | ) |
Get the key for the selected row.
tree | The tree |
char* gnt_tree_get_selection_text | ( | GntTree * | tree | ) |
Get the text displayed for the selected row.
tree | The tree |
GList* gnt_tree_get_selection_text_list | ( | GntTree * | tree | ) |
Get a list of text of the current row.
tree | The tree |
int gnt_tree_get_selection_visible_line | ( | GntTree * | tree | ) |
Get the visible line number of the selected row.
tree | The tree |
int gnt_tree_get_visible_rows | ( | GntTree * | tree | ) |
Get the number visible rows.
tree | The tree |
gboolean gnt_tree_is_searching | ( | GntTree * | tree | ) |
Check whether the user is currently in the middle of a search.
tree | The tree |
TRUE
if the user is searching, FALSE
otherwise.GntWidget* gnt_tree_new | ( | void | ) |
GntWidget* gnt_tree_new_with_columns | ( | int | columns | ) |
Create a tree with a specified number of columns.
columns | Number of columns |
void gnt_tree_remove | ( | GntTree * | tree, |
gpointer | key | ||
) |
Remove a row from the tree.
tree | The tree |
key | The key for the row to remove |
void gnt_tree_remove_all | ( | GntTree * | tree | ) |
Remove all the item from the tree.
tree | The tree |
GntTreeRow* gnt_tree_row_get_child | ( | GntTree * | tree, |
GntTreeRow * | row | ||
) |
Get the child row.
tree | The tree |
row | The GntTreeRow object |
gpointer gnt_tree_row_get_key | ( | GntTree * | tree, |
GntTreeRow * | row | ||
) |
Get the key of a row.
tree | The tree |
row | The GntTreeRow object |
GntTreeRow* gnt_tree_row_get_next | ( | GntTree * | tree, |
GntTreeRow * | row | ||
) |
Get the next row.
tree | The tree |
row | The GntTreeRow object |
GntTreeRow* gnt_tree_row_get_parent | ( | GntTree * | tree, |
GntTreeRow * | row | ||
) |
Get the parent row.
tree | The tree |
row | The GntTreeRow object |
GntTreeRow* gnt_tree_row_get_prev | ( | GntTree * | tree, |
GntTreeRow * | row | ||
) |
Get the previous row.
tree | The tree |
row | The GntTreeRow object |
void gnt_tree_scroll | ( | GntTree * | tree, |
int | count | ||
) |
Scroll the contents of the tree.
tree | The tree |
count | If positive, the tree will be scrolled down by count rows, otherwise, it will be scrolled up by count rows. |
void gnt_tree_set_choice | ( | GntTree * | tree, |
void * | key, | ||
gboolean | set | ||
) |
Set whether a checkable item is checked or not.
tree | The tree |
key | The key for the row |
set | TRUE if the item should be checked, FALSE if not |
void gnt_tree_set_col_width | ( | GntTree * | tree, |
int | col, | ||
int | width | ||
) |
Set the width of a column in the tree.
tree | The tree |
col | The index of the column |
width | The width for the column |
void gnt_tree_set_column_is_binary | ( | GntTree * | tree, |
int | col, | ||
gboolean | bin | ||
) |
Set whether data in a column should be considered as binary data, and not as strings.
A column containing binary data will be display empty text.
tree | The tree |
col | The index of the column |
bin | TRUE if the data for the column is binary |
void gnt_tree_set_column_is_right_aligned | ( | GntTree * | tree, |
int | col, | ||
gboolean | right | ||
) |
Set whether text in a column should be right-aligned.
tree | The tree |
col | The index of the column |
right | TRUE if the text in the column should be right aligned |
void gnt_tree_set_column_resizable | ( | GntTree * | tree, |
int | col, | ||
gboolean | res | ||
) |
Set whether a column can be resized to keep the same ratio when the tree is resized.
tree | The tree |
col | The index of the column |
res | If FALSE , the column will not be resized when the tree is resized |
void gnt_tree_set_column_title | ( | GntTree * | tree, |
int | index, | ||
const char * | title | ||
) |
Set the title for a column.
tree | The tree |
index | The index of the column |
title | The title for the column |
void gnt_tree_set_column_titles | ( | GntTree * | tree, |
... | |||
) |
Set the titles of the columns.
tree | The tree |
... | One title for each column in the tree |
void gnt_tree_set_column_visible | ( | GntTree * | tree, |
int | col, | ||
gboolean | vis | ||
) |
Set whether a column is visible or not.
This can be useful when, for example, we want to store some data which we don't want/need to display.
tree | The tree |
col | The index of the column |
vis | If FALSE , the column will not be displayed |
void gnt_tree_set_column_width_ratio | ( | GntTree * | tree, |
int | cols[] | ||
) |
Set column widths to use when calculating column widths after a tree is resized.
tree | The tree |
cols | Array of widths. The width must have the same number of entries as the number of columns in the tree, or end with a negative value for a column-width. |
void gnt_tree_set_compare_func | ( | GntTree * | tree, |
GCompareFunc | func | ||
) |
Set the compare function for sorting the data.
tree | The tree |
func | The comparison function, which is used to compare the keys |
void gnt_tree_set_expanded | ( | GntTree * | tree, |
void * | key, | ||
gboolean | expanded | ||
) |
Set whether a row, which has child rows, should be expanded.
tree | The tree |
key | The key of the row |
expanded | Whether to expand the child rows |
void gnt_tree_set_hash_fns | ( | GntTree * | tree, |
gpointer | hash, | ||
gpointer | eq, | ||
gpointer | kd | ||
) |
Set the hash functions to use to hash, compare and free the keys.
tree | The tree |
hash | The hashing function |
eq | The function to compare keys |
kd | The function to use to free the keys when a row is removed from the tree |
void gnt_tree_set_row_color | ( | GntTree * | tree, |
void * | key, | ||
int | color | ||
) |
Set color for the text in a row in the tree.
tree | The tree |
key | The key for the row |
color | The color |
void gnt_tree_set_row_flags | ( | GntTree * | tree, |
void * | key, | ||
GntTextFormatFlags | flags | ||
) |
Set flags for the text in a row in the tree.
tree | The tree |
key | The key for the row |
flags | The flags to set |
void gnt_tree_set_search_column | ( | GntTree * | tree, |
int | col | ||
) |
Set the column to use for typeahead searching.
tree | The tree |
col | The index of the column |
void gnt_tree_set_search_function | ( | GntTree * | tree, |
gboolean(*)(GntTree *tree, gpointer key, const char *search, const char *current) | func | ||
) |
Set a custom search function.
tree | The tree |
func | The custom search function. The search function is sent the tree itself, the key of a row, the search string and the content of row in the search column. If the function returns TRUE , the row is dislayed, otherwise it's not. |
void gnt_tree_set_selected | ( | GntTree * | tree, |
void * | key | ||
) |
Select a row.
tree | The tree |
key | The key of the row to select |
void gnt_tree_set_show_separator | ( | GntTree * | tree, |
gboolean | set | ||
) |
Set whether to show column separators.
tree | The tree |
set | If TRUE , the column separators are displayed |
void gnt_tree_set_show_title | ( | GntTree * | tree, |
gboolean | set | ||
) |
Set whether to display the title of the columns.
tree | The tree |
set | If TRUE , the column titles are displayed |
void gnt_tree_set_visible_rows | ( | GntTree * | tree, |
int | rows | ||
) |
The number of rows the tree should display at a time.
tree | The tree |
rows | The number of rows |
void gnt_tree_sort_row | ( | GntTree * | tree, |
void * | row | ||
) |
Sort a row in the tree.
tree | The tree |
row | The row to sort |