summaryrefslogtreecommitdiff
path: root/gtk/gtktreeprivate.h
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtktreeprivate.h')
-rw-r--r--gtk/gtktreeprivate.h53
1 files changed, 8 insertions, 45 deletions
diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h
index 241d18793b..0ce4ac9940 100644
--- a/gtk/gtktreeprivate.h
+++ b/gtk/gtktreeprivate.h
@@ -28,8 +28,6 @@ extern "C" {
#include <gtk/gtktreeview.h>
#include <gtk/gtktreeselection.h>
#include <gtk/gtkrbtree.h>
-
-
#define TREE_VIEW_DRAG_WIDTH 6
@@ -53,11 +51,12 @@ enum
DRAG_COLUMN_WINDOW_STATE_ARROW_LEFT = 3,
DRAG_COLUMN_WINDOW_STATE_ARROW_RIGHT = 4
};
+
#define GTK_TREE_VIEW_SET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags|=flag); }G_STMT_END
#define GTK_TREE_VIEW_UNSET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags&=~(flag)); }G_STMT_END
#define GTK_TREE_VIEW_FLAG_SET(tree_view, flag) ((tree_view->priv->flags&flag)==flag)
#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)
-#define TREE_VIEW_COLUMN_WIDTH(column) (CLAMP (column->width, (column->min_width!=-1)?column->min_width:column->width, (column->max_width!=-1)?column->max_width:column->width))
+#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))
#define TREE_VIEW_DRAW_EXPANDERS(tree_view) (!GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IS_LIST)&&GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS))
/* This lovely little value is used to determine how far away from the title bar
@@ -108,6 +107,8 @@ struct _GtkTreeViewPrivate
GtkTreeViewColumn *expander_column;
GtkTreeViewColumn *edited_column;
+ guint presize_handler_timer;
+ guint validate_rows_timer;
/* Focus code */
GtkTreeViewColumn *focus_column;
@@ -117,7 +118,6 @@ struct _GtkTreeViewPrivate
GtkTreeRowReference *cursor;
/* Column Resizing */
- GdkGC *xor_gc;
gint drag_pos;
gint x_drag;
@@ -173,7 +173,8 @@ struct _GtkTreeViewPrivate
guint drag_column_window_state : 3;
/* hint to display rows in alternating colors */
guint has_rules : 1;
-
+ guint mark_rows_col_dirty : 1;
+
/* interactive search */
guint enable_search : 1;
gint search_column;
@@ -183,8 +184,6 @@ struct _GtkTreeViewPrivate
GtkDestroyNotify search_destroy;
};
-#ifdef __GNUC__
-
#define TREE_VIEW_INTERNAL_ASSERT(expr, ret) G_STMT_START{ \
if (!(expr)) \
{ \
@@ -202,7 +201,7 @@ struct _GtkTreeViewPrivate
return ret; \
}; }G_STMT_END
-#define TREE_VIEW_INTERNAL_ASSERT_VOID(expr) G_STMT_START{ \
+#define TREE_VIEW_INTERNAL_ASSERT_VOID(expr) G_STMT_START{ \
if (!(expr)) \
{ \
g_log (G_LOG_DOMAIN, \
@@ -219,41 +218,6 @@ struct _GtkTreeViewPrivate
return; \
}; }G_STMT_END
-#else
-
-#define TREE_VIEW_INTERNAL_ASSERT(expr, ret) G_STMT_START{ \
- if (!(expr)) \
- { \
- g_log (G_LOG_DOMAIN, \
- G_LOG_LEVEL_CRITICAL, \
- "file %s: line %d: assertion `%s' failed.\n" \
- "There is a disparity between the internal view of the GtkTreeView,\n" \
- "and the GtkTreeModel. This generally means that the model has changed\n"\
- "without letting the view know. Any display from now on is likely to\n" \
- "be incorrect.\n", \
- __FILE__, \
- __LINE__, \
- #expr); \
- return ret; \
- }; }G_STMT_END
-
-#define TREE_VIEW_INTERNAL_ASSERT_VOID(expr) G_STMT_START{ \
- if (!(expr)) \
- { \
- g_log (G_LOG_DOMAIN, \
- G_LOG_LEVEL_CRITICAL, \
- "file %s: line %d: assertion '%s' failed.\n" \
- "There is a disparity between the internal view of the GtkTreeView,\n" \
- "and the GtkTreeModel. This generally means that the model has changed\n"\
- "without letting the view know. Any display from now on is likely to\n" \
- "be incorrect.\n", \
- __FILE__, \
- __LINE__, \
- #expr); \
- return; \
- }; }G_STMT_END
-#endif
-
/* functions that shouldn't be exported */
void _gtk_tree_selection_internal_select_node (GtkTreeSelection *selection,
@@ -268,7 +232,6 @@ gboolean _gtk_tree_view_find_node (GtkTreeView *tree_v
GtkTreePath *_gtk_tree_view_find_path (GtkTreeView *tree_view,
GtkRBTree *tree,
GtkRBNode *node);
-void _gtk_tree_view_update_size (GtkTreeView *tree_view);
void _gtk_tree_view_child_move_resize (GtkTreeView *tree_view,
GtkWidget *widget,
gint x,
@@ -296,7 +259,7 @@ gboolean _gtk_tree_view_column_cell_event (GtkTreeViewColumn *tree_column,
void _gtk_tree_view_column_start_editing (GtkTreeViewColumn *tree_column,
GtkCellEditable *editable_widget);
void _gtk_tree_view_column_stop_editing (GtkTreeViewColumn *tree_column);
-
+void _gtk_tree_view_install_mark_rows_col_dirty (GtkTreeView *tree_view);
GtkTreeSelection* _gtk_tree_selection_new (void);
GtkTreeSelection* _gtk_tree_selection_new_with_tree_view (GtkTreeView *tree_view);