X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtktreeview.h;h=cdd94f03ebbb9a78ffb964f51dc2f046b7e4da01;hb=9f41970832b60f3cf6644dfbd154df7ec24f26ce;hp=098ab5ce173498c969a3a7fc30188516b101a5e3;hpb=a13f698b3a1d5d3376cc60c3ea99b1857f1f8a19;p=~andy%2Fgtk diff --git a/gtk/gtktreeview.h b/gtk/gtktreeview.h index 098ab5ce1..cdd94f03e 100644 --- a/gtk/gtktreeview.h +++ b/gtk/gtktreeview.h @@ -12,18 +12,16 @@ * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ -#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) -#error "Only can be included directly." -#endif - #ifndef __GTK_TREE_VIEW_H__ #define __GTK_TREE_VIEW_H__ +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + #include #include #include @@ -32,7 +30,15 @@ G_BEGIN_DECLS - +/** + * GtkTreeViewDropPosition: + * @GTK_TREE_VIEW_DROP_BEFORE: dropped row is inserted before + * @GTK_TREE_VIEW_DROP_AFTER: dropped row is inserted after + * @GTK_TREE_VIEW_DROP_INTO_OR_BEFORE: dropped row becomes a child or is inserted before + * @GTK_TREE_VIEW_DROP_INTO_OR_AFTER: dropped row becomes a child or is inserted after + * + * An enum for determining where a dropped row goes. + */ typedef enum { /* drop before/after this row */ @@ -62,16 +68,14 @@ struct _GtkTreeView { GtkContainer parent; - GtkTreeViewPrivate *GSEAL (priv); + /*< private >*/ + GtkTreeViewPrivate *priv; }; struct _GtkTreeViewClass { GtkContainerClass parent_class; - void (* set_scroll_adjustments) (GtkTreeView *tree_view, - GtkAdjustment *hadjustment, - GtkAdjustment *vadjustment); void (* row_activated) (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column); @@ -107,27 +111,88 @@ struct _GtkTreeViewClass gboolean (* start_interactive_search) (GtkTreeView *tree_view); /* Padding for future expansion */ - void (*_gtk_reserved0) (void); void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); + void (*_gtk_reserved5) (void); + void (*_gtk_reserved6) (void); + void (*_gtk_reserved7) (void); + void (*_gtk_reserved8) (void); }; - +/** + * GtkTreeViewColumnDropFunc: + * @tree_view: A #GtkTreeView + * @column: The #GtkTreeViewColumn being dragged + * @prev_column: A #GtkTreeViewColumn on one side of @column + * @next_column: A #GtkTreeViewColumn on the other side of @column + * @data: (closure): user data + * + * Function type for determining whether @column can be dropped in a + * particular spot (as determined by @prev_column and @next_column). In + * left to right locales, @prev_column is on the left of the potential drop + * spot, and @next_column is on the right. In right to left mode, this is + * reversed. This function should return %TRUE if the spot is a valid drop + * spot. Please note that returning %TRUE does not actually indicate that + * the column drop was made, but is meant only to indicate a possible drop + * spot to the user. + * + * Returns: %TRUE, if @column can be dropped in this spot + */ typedef gboolean (* GtkTreeViewColumnDropFunc) (GtkTreeView *tree_view, GtkTreeViewColumn *column, GtkTreeViewColumn *prev_column, GtkTreeViewColumn *next_column, gpointer data); + +/** + * GtkTreeViewMappingFunc: + * @tree_view: A #GtkTreeView + * @path: The path that's expanded + * @user_data: user data + * + * Function used for gtk_tree_view_map_expanded_rows(). + */ typedef void (* GtkTreeViewMappingFunc) (GtkTreeView *tree_view, GtkTreePath *path, gpointer user_data); + +/** + * GtkTreeViewSearchEqualFunc: + * @model: the #GtkTreeModel being searched + * @column: the search column set by gtk_tree_view_set_search_column() + * @key: the key string to compare with + * @iter: a #GtkTreeIter pointing the row of @model that should be compared + * with @key. + * @search_data: (closure): user data from gtk_tree_view_set_search_equal_func() + * + * A function used for checking whether a row in @model matches + * a search key string entered by the user. Note the return value + * is reversed from what you would normally expect, though it + * has some similarity to strcmp() returning 0 for equal strings. + * + * Returns: %FALSE if the row matches, %TRUE otherwise. + */ typedef gboolean (*GtkTreeViewSearchEqualFunc) (GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer search_data); + +/** + * GtkTreeViewRowSeparatorFunc: + * @model: the #GtkTreeModel + * @iter: a #GtkTreeIter pointing at a row in @model + * @data: (closure): user data + * + * Function type for determining whether the row pointed to by @iter should + * be rendered as a separator. A common way to implement this is to have a + * boolean column in the model, whose values the #GtkTreeViewRowSeparatorFunc + * returns. + * + * Returns: %TRUE if the row is a separator + */ typedef gboolean (*GtkTreeViewRowSeparatorFunc) (GtkTreeModel *model, GtkTreeIter *iter, gpointer data); @@ -146,12 +211,19 @@ GtkTreeModel *gtk_tree_view_get_model (GtkTreeView void gtk_tree_view_set_model (GtkTreeView *tree_view, GtkTreeModel *model); GtkTreeSelection *gtk_tree_view_get_selection (GtkTreeView *tree_view); + +GDK_DEPRECATED_IN_3_0_FOR(gtk_scrollable_get_hadjustment) GtkAdjustment *gtk_tree_view_get_hadjustment (GtkTreeView *tree_view); +GDK_DEPRECATED_IN_3_0_FOR(gtk_scrollable_set_hadjustment) void gtk_tree_view_set_hadjustment (GtkTreeView *tree_view, GtkAdjustment *adjustment); +GDK_DEPRECATED_IN_3_0_FOR(gtk_scrollable_get_vadjustment) GtkAdjustment *gtk_tree_view_get_vadjustment (GtkTreeView *tree_view); +GDK_DEPRECATED_IN_3_0_FOR(gtk_scrollable_set_vadjustment) void gtk_tree_view_set_vadjustment (GtkTreeView *tree_view, GtkAdjustment *adjustment); + + gboolean gtk_tree_view_get_headers_visible (GtkTreeView *tree_view); void gtk_tree_view_set_headers_visible (GtkTreeView *tree_view, gboolean headers_visible); @@ -162,6 +234,11 @@ void gtk_tree_view_set_headers_clickable (GtkTreeView void gtk_tree_view_set_rules_hint (GtkTreeView *tree_view, gboolean setting); gboolean gtk_tree_view_get_rules_hint (GtkTreeView *tree_view); +GDK_AVAILABLE_IN_3_8 +gboolean gtk_tree_view_get_activate_on_single_click (GtkTreeView *tree_view); +GDK_AVAILABLE_IN_3_8 +void gtk_tree_view_set_activate_on_single_click (GtkTreeView *tree_view, + gboolean single); /* Column funtions */ gint gtk_tree_view_append_column (GtkTreeView *tree_view, @@ -183,6 +260,9 @@ gint gtk_tree_view_insert_column_with_data_func (GtkTreeView GtkTreeCellDataFunc func, gpointer data, GDestroyNotify dnotify); + +GDK_AVAILABLE_IN_3_4 +guint gtk_tree_view_get_n_columns (GtkTreeView *tree_view); GtkTreeViewColumn *gtk_tree_view_get_column (GtkTreeView *tree_view, gint n); GList *gtk_tree_view_get_columns (GtkTreeView *tree_view); @@ -260,22 +340,16 @@ void gtk_tree_view_get_background_area (GtkTreeView GdkRectangle *rect); void gtk_tree_view_get_visible_rect (GtkTreeView *tree_view, GdkRectangle *visible_rect); - -#ifndef GTK_DISABLE_DEPRECATED -void gtk_tree_view_widget_to_tree_coords (GtkTreeView *tree_view, - gint wx, - gint wy, - gint *tx, - gint *ty); -void gtk_tree_view_tree_to_widget_coords (GtkTreeView *tree_view, - gint tx, - gint ty, - gint *wx, - gint *wy); -#endif /* !GTK_DISABLE_DEPRECATED */ gboolean gtk_tree_view_get_visible_range (GtkTreeView *tree_view, GtkTreePath **start_path, GtkTreePath **end_path); +gboolean gtk_tree_view_is_blank_at_pos (GtkTreeView *tree_view, + gint x, + gint y, + GtkTreePath **path, + GtkTreeViewColumn **column, + gint *cell_x, + gint *cell_y); /* Drag-and-Drop support */ void gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view, @@ -303,7 +377,7 @@ gboolean gtk_tree_view_get_dest_row_at_pos (GtkTreeView gint drag_y, GtkTreePath **path, GtkTreeViewDropPosition *pos); -GdkPixmap *gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view, +cairo_surface_t *gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view, GtkTreePath *path); /* Interactive search */ @@ -366,6 +440,7 @@ typedef void (* GtkTreeDestroyCountFunc) (GtkTreeView *tree_view, GtkTreePath *path, gint children, gpointer user_data); +GDK_DEPRECATED_IN_3_4 void gtk_tree_view_set_destroy_count_func (GtkTreeView *tree_view, GtkTreeDestroyCountFunc func, gpointer data,