mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-11 03:10:09 +00:00
Logically re-group fields in GtkTreePrivate structure
This should now cause much less of a headache than before. Fields have been properly reordered, each group has been given a comment. Since the GtkTreePrivate structure is private (as the name says), this should not have any effect on ABI.
This commit is contained in:
parent
2b810d1a22
commit
d3592dc22c
@ -94,61 +94,69 @@ struct _GtkTreeViewPrivate
|
||||
/* tree information */
|
||||
GtkRBTree *tree;
|
||||
|
||||
GtkRBNode *button_pressed_node;
|
||||
GtkRBTree *button_pressed_tree;
|
||||
|
||||
/* Container info */
|
||||
GList *children;
|
||||
gint width;
|
||||
gint height;
|
||||
gint expander_size;
|
||||
|
||||
/* Adjustments */
|
||||
GtkAdjustment *hadjustment;
|
||||
GtkAdjustment *vadjustment;
|
||||
|
||||
/* Sub windows */
|
||||
GdkWindow *bin_window;
|
||||
GdkWindow *header_window;
|
||||
GdkWindow *drag_window;
|
||||
GdkWindow *drag_highlight_window;
|
||||
GtkTreeViewColumn *drag_column;
|
||||
|
||||
GtkTreeRowReference *last_button_press;
|
||||
GtkTreeRowReference *last_button_press_2;
|
||||
|
||||
/* bin_window offset */
|
||||
/* Scroll position state keeping */
|
||||
GtkTreeRowReference *top_row;
|
||||
gint top_row_dy;
|
||||
/* dy == y pos of top_row + top_row_dy */
|
||||
/* we cache it for simplicity of the code */
|
||||
gint dy;
|
||||
gint drag_column_x;
|
||||
gint cursor_offset;
|
||||
|
||||
GtkTreeViewColumn *expander_column;
|
||||
GtkTreeViewColumn *edited_column;
|
||||
guint presize_handler_timer;
|
||||
guint validate_rows_timer;
|
||||
guint scroll_sync_timer;
|
||||
|
||||
/* Focus code */
|
||||
GtkTreeViewColumn *focus_column;
|
||||
/* Indentation and expander layout */
|
||||
gint expander_size;
|
||||
GtkTreeViewColumn *expander_column;
|
||||
|
||||
gint level_indentation;
|
||||
|
||||
/* Key navigation (focus), selection */
|
||||
gint cursor_offset;
|
||||
|
||||
/* Selection stuff */
|
||||
GtkTreeRowReference *anchor;
|
||||
GtkTreeRowReference *cursor;
|
||||
|
||||
/* Column Resizing */
|
||||
gint drag_pos;
|
||||
gint x_drag;
|
||||
GtkTreeViewColumn *focus_column;
|
||||
|
||||
/* Current pressed node, previously pressed, prelight */
|
||||
GtkRBNode *button_pressed_node;
|
||||
GtkRBTree *button_pressed_tree;
|
||||
|
||||
gint pressed_button;
|
||||
gint press_start_x;
|
||||
gint press_start_y;
|
||||
|
||||
GtkTreeRowReference *last_button_press;
|
||||
GtkTreeRowReference *last_button_press_2;
|
||||
|
||||
/* Prelight information */
|
||||
GtkRBNode *prelight_node;
|
||||
GtkRBTree *prelight_tree;
|
||||
|
||||
/* Cell Editing */
|
||||
GtkTreeViewColumn *edited_column;
|
||||
|
||||
/* The node that's currently being collapsed or expanded */
|
||||
GtkRBNode *expanded_collapsed_node;
|
||||
GtkRBTree *expanded_collapsed_tree;
|
||||
guint expand_collapse_timeout;
|
||||
|
||||
/* Auto expand/collapse timeout in hover mode */
|
||||
guint auto_expand_timeout;
|
||||
|
||||
/* Selection information */
|
||||
GtkTreeSelection *selection;
|
||||
|
||||
@ -163,12 +171,29 @@ struct _GtkTreeViewPrivate
|
||||
GList *column_drag_info;
|
||||
GtkTreeViewColumnReorder *cur_reorder;
|
||||
|
||||
/* Interactive Header reordering */
|
||||
GdkWindow *drag_window;
|
||||
GdkWindow *drag_highlight_window;
|
||||
GtkTreeViewColumn *drag_column;
|
||||
gint drag_column_x;
|
||||
|
||||
/* Interactive Header Resizing */
|
||||
gint drag_pos;
|
||||
gint x_drag;
|
||||
|
||||
/* Non-interactive Header Resizing, expand flag support */
|
||||
gint prev_width;
|
||||
|
||||
gint last_extra_space;
|
||||
gint last_extra_space_per_column;
|
||||
gint last_number_of_expand_columns;
|
||||
|
||||
/* ATK Hack */
|
||||
GtkTreeDestroyCountFunc destroy_count_func;
|
||||
gpointer destroy_count_data;
|
||||
GDestroyNotify destroy_count_destroy;
|
||||
|
||||
/* Scroll timeout (e.g. during dnd) */
|
||||
/* Scroll timeout (e.g. during dnd, rubber banding) */
|
||||
guint scroll_timeout;
|
||||
|
||||
/* Row drag-and-drop */
|
||||
@ -176,10 +201,7 @@ struct _GtkTreeViewPrivate
|
||||
GtkTreeViewDropPosition drag_dest_pos;
|
||||
guint open_dest_timeout;
|
||||
|
||||
gint pressed_button;
|
||||
gint press_start_x;
|
||||
gint press_start_y;
|
||||
|
||||
/* Rubber banding */
|
||||
gint rubber_band_status;
|
||||
gint rubber_band_x;
|
||||
gint rubber_band_y;
|
||||
@ -200,6 +222,37 @@ struct _GtkTreeViewPrivate
|
||||
GtkTreeViewColumn *scroll_to_column;
|
||||
gfloat scroll_to_row_align;
|
||||
gfloat scroll_to_col_align;
|
||||
|
||||
/* Interactive search */
|
||||
gint selected_iter;
|
||||
gint search_column;
|
||||
GtkTreeViewSearchPositionFunc search_position_func;
|
||||
GtkTreeViewSearchEqualFunc search_equal_func;
|
||||
gpointer search_user_data;
|
||||
GDestroyNotify search_destroy;
|
||||
gpointer search_position_user_data;
|
||||
GDestroyNotify search_position_destroy;
|
||||
GtkWidget *search_window;
|
||||
GtkWidget *search_entry;
|
||||
guint search_entry_changed_id;
|
||||
guint typeselect_flush_timeout;
|
||||
|
||||
/* Grid and tree lines */
|
||||
GtkTreeViewGridLines grid_lines;
|
||||
GdkGC *grid_line_gc;
|
||||
|
||||
gboolean tree_lines_enabled;
|
||||
GdkGC *tree_line_gc;
|
||||
|
||||
/* Row separators */
|
||||
GtkTreeViewRowSeparatorFunc row_separator_func;
|
||||
gpointer row_separator_data;
|
||||
GDestroyNotify row_separator_destroy;
|
||||
|
||||
/* Tooltip support */
|
||||
gint tooltip_column;
|
||||
|
||||
/* Here comes the bitfield */
|
||||
guint scroll_to_use_align : 1;
|
||||
|
||||
guint fixed_height_mode : 1;
|
||||
@ -218,7 +271,6 @@ struct _GtkTreeViewPrivate
|
||||
guint ctrl_pressed : 1;
|
||||
guint shift_pressed : 1;
|
||||
|
||||
|
||||
guint init_hadjust_value : 1;
|
||||
|
||||
guint in_top_row_to_dy : 1;
|
||||
@ -240,42 +292,6 @@ struct _GtkTreeViewPrivate
|
||||
|
||||
/* Whether our key press handler is to avoid sending an unhandled binding to the search entry */
|
||||
guint search_entry_avoid_unhandled_binding : 1;
|
||||
|
||||
/* Auto expand/collapse timeout in hover mode */
|
||||
guint auto_expand_timeout;
|
||||
|
||||
gint selected_iter;
|
||||
gint search_column;
|
||||
GtkTreeViewSearchPositionFunc search_position_func;
|
||||
GtkTreeViewSearchEqualFunc search_equal_func;
|
||||
gpointer search_user_data;
|
||||
GDestroyNotify search_destroy;
|
||||
gpointer search_position_user_data;
|
||||
GDestroyNotify search_position_destroy;
|
||||
GtkWidget *search_window;
|
||||
GtkWidget *search_entry;
|
||||
guint search_entry_changed_id;
|
||||
guint typeselect_flush_timeout;
|
||||
|
||||
gint prev_width;
|
||||
|
||||
GtkTreeViewRowSeparatorFunc row_separator_func;
|
||||
gpointer row_separator_data;
|
||||
GDestroyNotify row_separator_destroy;
|
||||
|
||||
gint level_indentation;
|
||||
|
||||
GtkTreeViewGridLines grid_lines;
|
||||
GdkGC *grid_line_gc;
|
||||
|
||||
gboolean tree_lines_enabled;
|
||||
GdkGC *tree_line_gc;
|
||||
|
||||
gint tooltip_column;
|
||||
|
||||
gint last_extra_space;
|
||||
gint last_extra_space_per_column;
|
||||
gint last_number_of_expand_columns;
|
||||
};
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
Loading…
Reference in New Issue
Block a user