32#ifndef __GNC_TREE_VIEW_H
33#define __GNC_TREE_VIEW_H
40#define GNC_TYPE_TREE_VIEW (gnc_tree_view_get_type ())
41G_DECLARE_DERIVABLE_TYPE (GncTreeView, gnc_tree_view, GNC, TREE_VIEW, GtkTreeView)
43#define GNC_TREE_VIEW_NAME "GncTreeView"
49 GtkTreeViewClass gtk_tree_view;
63#define MODEL_COLUMN "model_column"
66#define REAL_TITLE "real_title"
70#define PREF_NAME "pref-name"
74#define ALWAYS_VISIBLE "always-visible"
79#define DEFAULT_VISIBLE "default-visible"
81#define GNC_TREE_VIEW_COLUMN_DATA_NONE -1
82#define GNC_TREE_VIEW_COLUMN_COLOR_NONE -1
83#define GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS -1
86typedef void (* renderer_toggled) (GtkCellRendererToggle *cell_renderer_toggle,
134 const gchar *column_title,
135 const gchar *column_short_title,
136 const gchar *pref_name,
137 gint model_data_column,
138 gint model_visibility_column,
139 GtkTreeIterCompareFunc column_sort_fn,
140 renderer_toggled toggle_edited_cb);
181 const gchar *column_title,
182 const gchar *pref_name,
183 const gchar *icon_name,
184 const gchar *sizing_text,
185 gint model_data_column,
186 gint model_visibility_column,
187 GtkTreeIterCompareFunc column_sort_fn);
228 const gchar *column_title,
229 const gchar *pref_name,
230 const gchar *icon_name,
231 const gchar *sizing_text,
232 gint model_data_column,
233 gint model_visibility_column,
234 GtkTreeIterCompareFunc column_sort_fn);
270 const gchar *column_title,
271 const gchar *pref_name,
272 const gchar *sizing_text,
273 gint model_data_column,
274 gint model_visibility_column,
275 GtkTreeIterCompareFunc column_sort_fn);
318 const gchar *column_title,
319 const gchar *pref_name,
320 const gchar *sizing_text,
321 gint model_data_column,
322 gint model_color_column,
323 gint model_visibility_column,
324 GtkTreeIterCompareFunc column_sort_fn);
339 GtkTreeViewColumn *column);
367 const gchar *wanted);
385 const gchar *section);
425 gchar *first_column_name,
440 GtkTreeCellDataFunc func);
490gnc_tree_view_keynav (GncTreeView *view, GtkTreeViewColumn **col,
491 GtkTreePath *path, GdkEventKey *event);
495gnc_tree_view_path_is_valid (GncTreeView *view, GtkTreePath *path);
502 GFunc editing_started_cb, gpointer editing_cb_data);
509 GFunc editing_finished_cb, gpointer editing_cb_data);
void gnc_tree_view_configure_columns(GncTreeView *view)
Make all the correct columns visible, respecting their default visibility setting,...
void gnc_tree_view_set_editing_finished_cb(GncTreeView *view, GFunc editing_finished_cb, gpointer editing_cb_data)
Setup a callback for when the user finishes editing so appropriate actions can be taken like enable t...
GtkCellRenderer * gnc_tree_view_column_get_renderer(GtkTreeViewColumn *column)
Return the "main" cell renderer from a GtkTreeViewColumn added to a GncTreeView my one of the conveni...
GtkTreeViewColumn * gnc_tree_view_add_text_column(GncTreeView *view, const gchar *column_title, const gchar *pref_name, const gchar *icon_name, const gchar *sizing_text, gint model_data_column, gint model_visibility_column, GtkTreeIterCompareFunc column_sort_fn)
This function adds a new text column to a GncTreeView base view.
void gnc_tree_view_remove_state_information(GncTreeView *view)
This function is called to completely wipe the treeview's state information (column visibility,...
GtkTreeViewColumn * gnc_tree_view_add_toggle_column(GncTreeView *view, const gchar *column_title, const gchar *column_short_title, const gchar *pref_name, gint model_data_column, gint model_visibility_column, GtkTreeIterCompareFunc column_sort_fn, renderer_toggled toggle_edited_cb)
This function adds a new toggle column to a GncTreeView base view.
GtkTreeViewColumn * gnc_tree_view_add_numeric_column(GncTreeView *view, const gchar *column_title, const gchar *pref_name, const gchar *sizing_text, gint model_data_column, gint model_color_column, gint model_visibility_column, GtkTreeIterCompareFunc column_sort_fn)
This function adds a new numeric column to a GncTreeView base view.
void gnc_tree_view_set_control_column_background(GncTreeView *view, gint column, GtkTreeCellDataFunc func)
This function links the cell backgrounds of the two control columns to a column in the model that has...
void gnc_tree_view_set_editing_started_cb(GncTreeView *view, GFunc editing_started_cb, gpointer editing_cb_data)
Setup a callback for when the user starts editing so appropriate actions can be taken like disable th...
void gnc_tree_view_save_state(GncTreeView *view)
This function is called to write the treeview's state information (column visibility,...
void gnc_tree_view_set_show_column_menu(GncTreeView *view, gboolean visible)
This function is called to set the "show-column-menu" property on this view.
GtkTreeViewColumn * gnc_tree_view_add_text_view_column(GncTreeView *view, const gchar *column_title, const gchar *pref_name, const gchar *icon_name, const gchar *sizing_text, gint model_data_column, gint model_visibility_column, GtkTreeIterCompareFunc column_sort_fn)
This function adds a new text view column to a GncTreeView base view.
GtkTreeViewColumn * gnc_tree_view_add_pix_column(GncTreeView *view, const gchar *column_title, const gchar *pref_name, const gchar *sizing_text, gint model_data_column, gint model_visibility_column, GtkTreeIterCompareFunc column_sort_fn)
This function adds a pixbuf view column to a GncTreeView base view.
const gchar * gnc_tree_view_get_state_section(GncTreeView *view)
This function is called to get the current association between a saved state section and the display ...
void gnc_tree_view_set_state_section(GncTreeView *view, const gchar *section)
This function is called to set up or remove an association between a saved state section and the disp...
void gnc_tree_view_expand_columns(GncTreeView *view, gchar *first_column_name,...)
This function set the columns that will be allocated the free space in the view.
gboolean gnc_tree_view_get_show_column_menu(GncTreeView *view)
This function is called to get the current value of the "show-column-menu" property.
gint gnc_tree_view_append_column(GncTreeView *view, GtkTreeViewColumn *column)
Add a column to a view based upon a GncTreeView.
void gnc_tree_view_set_sort_user_data(GncTreeView *view, GtkTreeModel *s_model)
This allows the columns to be setup without the model connected.
GtkTreeViewColumn * gnc_tree_view_find_column_by_name(GncTreeView *view, const gchar *wanted)
Find a tree column given the "pref name".