20 #ifndef __GTK_TREE_PRIVATE_H__
21 #define __GTK_TREE_PRIVATE_H__
31 #define TREE_VIEW_DRAG_WIDTH 6
68 #define GTK_TREE_VIEW_SET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags|=flag); }G_STMT_END
69 #define GTK_TREE_VIEW_UNSET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags&=~(flag)); }G_STMT_END
70 #define GTK_TREE_VIEW_FLAG_SET(tree_view, flag) ((tree_view->priv->flags&flag)==flag)
71 #define TREE_VIEW_HEADER_HEIGHT(tree_view) (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE)?tree_view->priv->header_height:0)
72 #define TREE_VIEW_COLUMN_REQUESTED_WIDTH(column) (CLAMP (column->requested_width, (column->min_width!=-1)?column->min_width:column->requested_width, (column->max_width!=-1)?column->max_width:column->requested_width))
73 #define TREE_VIEW_DRAW_EXPANDERS(tree_view) (!GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IS_LIST)&>K_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS))
78 #define TREE_VIEW_COLUMN_DRAG_DEAD_MULTIPLIER(tree_view) (10*TREE_VIEW_HEADER_HEIGHT(tree_view))
307 #define TREE_VIEW_INTERNAL_ASSERT(expr, ret) G_STMT_START{ \
310 g_log (G_LOG_DOMAIN, \
311 G_LOG_LEVEL_CRITICAL, \
312 "%s (%s): assertion `%s' failed.\n" \
313 "There is a disparity between the internal view of the GtkTreeView,\n" \
314 "and the GtkTreeModel. This generally means that the model has changed\n"\
315 "without letting the view know. Any display from now on is likely to\n" \
323 #define TREE_VIEW_INTERNAL_ASSERT_VOID(expr) G_STMT_START{ \
326 g_log (G_LOG_DOMAIN, \
327 G_LOG_LEVEL_CRITICAL, \
328 "%s (%s): assertion `%s' failed.\n" \
329 "There is a disparity between the internal view of the GtkTreeView,\n" \
330 "and the GtkTreeModel. This generally means that the model has changed\n"\
331 "without letting the view know. Any display from now on is likely to\n" \
341 #define TREE_VIEW_INTERNAL_ASSERT(expr, ret) G_STMT_START{ \
344 g_log (G_LOG_DOMAIN, \
345 G_LOG_LEVEL_CRITICAL, \
346 "file %s: line %d: assertion `%s' failed.\n" \
347 "There is a disparity between the internal view of the GtkTreeView,\n" \
348 "and the GtkTreeModel. This generally means that the model has changed\n"\
349 "without letting the view know. Any display from now on is likely to\n" \
357 #define TREE_VIEW_INTERNAL_ASSERT_VOID(expr) G_STMT_START{ \
360 g_log (G_LOG_DOMAIN, \
361 G_LOG_LEVEL_CRITICAL, \
362 "file %s: line %d: assertion '%s' failed.\n" \
363 "There is a disparity between the internal view of the GtkTreeView,\n" \
364 "and the GtkTreeModel. This generally means that the model has changed\n"\
365 "without letting the view know. Any display from now on is likely to\n" \
381 gboolean override_browse_mode);
461 gboolean install_handler);
struct _GtkCellEditable GtkCellEditable
struct _GtkTreePath GtkTreePath
struct _GtkTreeRowReference GtkTreeRowReference
struct _GtkTreeModel GtkTreeModel
void _gtk_tree_view_child_move_resize(GtkTreeView *tree_view, GtkWidget *widget, gint x, gint y, gint width, gint height)
void _gtk_tree_selection_emit_changed(GtkTreeSelection *selection)
void _gtk_tree_view_queue_draw_node(GtkTreeView *tree_view, GtkRBTree *tree, GtkRBNode *node, const GdkRectangle *clip_rect)
gboolean _gtk_tree_selection_row_is_selectable(GtkTreeSelection *selection, GtkRBNode *node, GtkTreePath *path)
void _gtk_tree_view_column_cell_render(GtkTreeViewColumn *tree_column, GdkWindow *window, const GdkRectangle *background_area, const GdkRectangle *cell_area, const GdkRectangle *expose_area, guint flags)
gboolean _gtk_tree_view_find_node(GtkTreeView *tree_view, GtkTreePath *path, GtkRBTree **tree, GtkRBNode **node)
void _gtk_tree_view_column_set_tree_view(GtkTreeViewColumn *column, GtkTreeView *tree_view)
gboolean _gtk_tree_view_column_cell_focus(GtkTreeViewColumn *tree_column, gint direction, gboolean left, gboolean right)
void _gtk_tree_selection_set_tree_view(GtkTreeSelection *selection, GtkTreeView *tree_view)
GtkTreePath * _gtk_tree_view_find_path(GtkTreeView *tree_view, GtkRBTree *tree, GtkRBNode *node)
void _gtk_tree_view_column_realize_button(GtkTreeViewColumn *column)
void _gtk_tree_view_column_cell_set_dirty(GtkTreeViewColumn *tree_column, gboolean install_handler)
void _gtk_tree_view_column_start_drag(GtkTreeView *tree_view, GtkTreeViewColumn *column)
void _gtk_tree_view_column_unrealize_button(GtkTreeViewColumn *column)
void _gtk_tree_view_column_autosize(GtkTreeView *tree_view, GtkTreeViewColumn *column)
GtkTreeSelection * _gtk_tree_selection_new(void)
@ GTK_TREE_VIEW_ARROW_PRELIT
@ GTK_TREE_VIEW_IN_COLUMN_RESIZE
@ GTK_TREE_VIEW_HEADERS_VISIBLE
@ GTK_TREE_VIEW_MODEL_SETUP
@ GTK_TREE_VIEW_SHOW_EXPANDERS
@ GTK_TREE_VIEW_DRAW_KEYFOCUS
@ GTK_TREE_VIEW_IN_COLUMN_DRAG
void _gtk_tree_view_column_stop_editing(GtkTreeViewColumn *tree_column)
void _gtk_tree_view_column_get_focus_area(GtkTreeViewColumn *tree_column, const GdkRectangle *background_area, const GdkRectangle *cell_area, GdkRectangle *focus_area)
void _gtk_tree_view_column_get_neighbor_sizes(GtkTreeViewColumn *column, GtkCellRenderer *cell, gint *left, gint *right)
gint _gtk_tree_view_column_count_special_cells(GtkTreeViewColumn *column)
GtkCellRenderer * _gtk_tree_view_column_get_cell_at_pos(GtkTreeViewColumn *column, gint x)
void _gtk_tree_view_column_start_editing(GtkTreeViewColumn *tree_column, GtkCellEditable *editable_widget)
gboolean _gtk_tree_view_column_has_editable_cell(GtkTreeViewColumn *column)
void _gtk_tree_view_column_unset_model(GtkTreeViewColumn *column, GtkTreeModel *old_model)
GtkTreeSelection * _gtk_tree_selection_new_with_tree_view(GtkTreeView *tree_view)
@ GTK_TREE_SELECT_MODE_EXTEND
@ GTK_TREE_SELECT_MODE_TOGGLE
void _gtk_tree_selection_internal_select_node(GtkTreeSelection *selection, GtkRBNode *node, GtkRBTree *tree, GtkTreePath *path, GtkTreeSelectMode mode, gboolean override_browse_mode)
@ DRAG_COLUMN_WINDOW_STATE_ORIGINAL
@ DRAG_COLUMN_WINDOW_STATE_ARROW
@ DRAG_COLUMN_WINDOW_STATE_ARROW_RIGHT
@ DRAG_COLUMN_WINDOW_STATE_UNSET
@ DRAG_COLUMN_WINDOW_STATE_ARROW_LEFT
void _gtk_tree_view_install_mark_rows_col_dirty(GtkTreeView *tree_view)
void _gtk_tree_view_column_unset_tree_view(GtkTreeViewColumn *column)
void _gtk_tree_view_column_cell_draw_focus(GtkTreeViewColumn *tree_column, GdkWindow *window, const GdkRectangle *background_area, const GdkRectangle *cell_area, const GdkRectangle *expose_area, guint flags)
void _gtk_tree_view_column_set_width(GtkTreeViewColumn *column, gint width)
gboolean _gtk_tree_view_column_cell_event(GtkTreeViewColumn *tree_column, GtkCellEditable **editable_widget, GdkEvent *event, gchar *path_string, const GdkRectangle *background_area, const GdkRectangle *cell_area, guint flags)
GtkCellRenderer * _gtk_tree_view_column_get_edited_cell(GtkTreeViewColumn *column)
@ RUBBER_BAND_MAYBE_START
gboolean(* GtkTreeViewColumnDropFunc)(GtkTreeView *tree_view, GtkTreeViewColumn *column, GtkTreeViewColumn *prev_column, GtkTreeViewColumn *next_column, gpointer data)
void(* GtkTreeViewSearchPositionFunc)(GtkTreeView *tree_view, GtkWidget *search_dialog, gpointer user_data)
gboolean(* GtkTreeViewRowSeparatorFunc)(GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
gboolean(* GtkTreeViewSearchEqualFunc)(GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer search_data)
void(* GtkTreeDestroyCountFunc)(GtkTreeView *tree_view, GtkTreePath *path, gint children, gpointer user_data)
GtkTreeViewColumn * left_column
GtkTreeViewColumn * right_column
GtkTreeViewGridLines grid_lines
GDestroyNotify search_position_destroy
guint expand_collapse_timeout
GtkTreeDestroyCountFunc destroy_count_func
GDestroyNotify destroy_count_destroy
double grid_line_dashes[2]
guint modify_selection_pressed
GtkAdjustment * vadjustment
gboolean tree_lines_enabled
gint last_extra_space_per_column
GtkTreeRowReference * drag_dest_row
guint typeselect_flush_timeout
gpointer destroy_count_data
GtkRBTree * prelight_tree
double tree_line_dashes[2]
GtkTreeRowReference * scroll_to_path
GdkWindow * drag_highlight_window
gpointer column_drop_func_data
GDestroyNotify row_separator_destroy
gpointer search_user_data
GtkRBTree * expanded_collapsed_tree
GDestroyNotify column_drop_func_data_destroy
guint post_validation_flag
guint rubber_banding_enable
GtkTreeRowReference * anchor
guint scroll_to_use_align
GtkAdjustment * hadjustment
GtkWidget * search_window
GtkTreeViewColumn * scroll_to_column
GtkRBNode * expanded_collapsed_node
GtkTreeViewColumn * drag_column
guint presize_handler_timer
GtkRBNode * button_pressed_node
guint search_entry_avoid_unhandled_binding
gpointer search_position_user_data
guint auto_expand_timeout
GtkTreeViewColumnReorder * cur_reorder
guint validate_rows_timer
guint search_custom_entry_set
GtkRBTree * rubber_band_end_tree
GtkTreeSelection * selection
GtkTreeRowReference * top_row
GtkRBTree * rubber_band_start_tree
GtkRBNode * rubber_band_start_node
GtkRBTree * button_pressed_tree
gint prev_width_before_expander
guint drag_column_window_state
guint mark_rows_col_dirty
GtkRBNode * rubber_band_end_node
GtkTreeViewColumn * edited_column
GDestroyNotify search_destroy
GtkRBNode * prelight_node
GtkTreeViewSearchEqualFunc search_equal_func
guint extend_selection_pressed
gpointer row_separator_data
GtkTreeViewSearchPositionFunc search_position_func
guint search_entry_changed_id
GtkTreeViewRowSeparatorFunc row_separator_func
GtkTreeRowReference * cursor
gint last_number_of_expand_columns
GdkWindow * header_window
GtkTreeViewDropPosition drag_dest_pos
GtkTreeViewColumn * expander_column
gfloat scroll_to_row_align
GtkTreeViewColumnDropFunc column_drop_func
gfloat scroll_to_col_align
GtkTreeViewColumn * focus_column
link region and track selection