X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtktreeview.h;h=e8dbd0c05128f4b1c1a5f9fd8b066f5a860bcb56;hb=f8b8c95f45156f931b134ab92546ce7fc54434ab;hp=256fd4725777a47982f3d13b84287716822d1284;hpb=0219cc38d4188b207954faf7d39e383b38918787;p=~andy%2Fgtk diff --git a/gtk/gtktreeview.h b/gtk/gtktreeview.h index 256fd4725..e8dbd0c05 100644 --- a/gtk/gtktreeview.h +++ b/gtk/gtktreeview.h @@ -16,18 +16,22 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ + +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + #ifndef __GTK_TREE_VIEW_H__ #define __GTK_TREE_VIEW_H__ -#include #include #include #include #include +#include + +G_BEGIN_DECLS -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ typedef enum { @@ -42,11 +46,11 @@ typedef enum } GtkTreeViewDropPosition; #define GTK_TYPE_TREE_VIEW (gtk_tree_view_get_type ()) -#define GTK_TREE_VIEW(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_TREE_VIEW, GtkTreeView)) -#define GTK_TREE_VIEW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_TREE_VIEW, GtkTreeViewClass)) -#define GTK_IS_TREE_VIEW(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_TREE_VIEW)) -#define GTK_IS_TREE_VIEW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE_VIEW)) -#define GTK_TREE_VIEW_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_TREE_VIEW, GtkTreeViewClass)) +#define GTK_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_VIEW, GtkTreeView)) +#define GTK_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TREE_VIEW, GtkTreeViewClass)) +#define GTK_IS_TREE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_VIEW)) +#define GTK_IS_TREE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE_VIEW)) +#define GTK_TREE_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_VIEW, GtkTreeViewClass)) typedef struct _GtkTreeView GtkTreeView; typedef struct _GtkTreeViewClass GtkTreeViewClass; @@ -58,6 +62,7 @@ struct _GtkTreeView { GtkContainer parent; + /* */ GtkTreeViewPrivate *priv; }; @@ -90,17 +95,17 @@ struct _GtkTreeViewClass gboolean (* move_cursor) (GtkTreeView *tree_view, GtkMovementStep step, gint count); - void (* select_all) (GtkTreeView *tree_view); - void (* unselect_all) (GtkTreeView *tree_view); - void (* select_cursor_row) (GtkTreeView *tree_view, + gboolean (* select_all) (GtkTreeView *tree_view); + gboolean (* unselect_all) (GtkTreeView *tree_view); + gboolean (* select_cursor_row) (GtkTreeView *tree_view, gboolean start_editing); - void (* toggle_cursor_row) (GtkTreeView *tree_view); - void (* expand_collapse_cursor_row) (GtkTreeView *tree_view, + gboolean (* toggle_cursor_row) (GtkTreeView *tree_view); + gboolean (* expand_collapse_cursor_row) (GtkTreeView *tree_view, gboolean logical, gboolean expand, gboolean open_all); - void (* select_cursor_parent) (GtkTreeView *tree_view); - void (* start_interactive_search) (GtkTreeView *tree_view); + gboolean (* select_cursor_parent) (GtkTreeView *tree_view); + gboolean (* start_interactive_search) (GtkTreeView *tree_view); /* Padding for future expansion */ void (*_gtk_reserved0) (void); @@ -124,10 +129,16 @@ typedef gboolean (*GtkTreeViewSearchEqualFunc) (GtkTreeModel *model, const gchar *key, GtkTreeIter *iter, gpointer search_data); +typedef gboolean (*GtkTreeViewRowSeparatorFunc) (GtkTreeModel *model, + GtkTreeIter *iter, + gpointer data); +typedef void (*GtkTreeViewSearchPositionFunc) (GtkTreeView *tree_view, + GtkWidget *search_dialog, + gpointer user_data); /* Creators */ -GtkType gtk_tree_view_get_type (void); +GType gtk_tree_view_get_type (void) G_GNUC_CONST; GtkWidget *gtk_tree_view_new (void); GtkWidget *gtk_tree_view_new_with_model (GtkTreeModel *model); @@ -146,6 +157,7 @@ gboolean gtk_tree_view_get_headers_visible (GtkTreeView void gtk_tree_view_set_headers_visible (GtkTreeView *tree_view, gboolean headers_visible); void gtk_tree_view_columns_autosize (GtkTreeView *tree_view); +gboolean gtk_tree_view_get_headers_clickable (GtkTreeView *tree_view); void gtk_tree_view_set_headers_clickable (GtkTreeView *tree_view, gboolean setting); void gtk_tree_view_set_rules_hint (GtkTreeView *tree_view, @@ -164,7 +176,7 @@ gint gtk_tree_view_insert_column_with_attributes (GtkTreeView gint position, const gchar *title, GtkCellRenderer *cell, - ...); + ...) G_GNUC_NULL_TERMINATED; gint gtk_tree_view_insert_column_with_data_func (GtkTreeView *tree_view, gint position, const gchar *title, @@ -184,7 +196,7 @@ GtkTreeViewColumn *gtk_tree_view_get_expander_column (GtkTreeView void gtk_tree_view_set_column_drag_function (GtkTreeView *tree_view, GtkTreeViewColumnDropFunc func, gpointer user_data, - GtkDestroyNotify destroy); + GDestroyNotify destroy); /* Actions */ void gtk_tree_view_scroll_to_point (GtkTreeView *tree_view, @@ -249,16 +261,9 @@ void gtk_tree_view_get_background_area (GtkTreeView GdkRectangle *rect); void gtk_tree_view_get_visible_rect (GtkTreeView *tree_view, GdkRectangle *visible_rect); -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); +gboolean gtk_tree_view_get_visible_range (GtkTreeView *tree_view, + GtkTreePath **start_path, + GtkTreePath **end_path); /* Drag-and-Drop support */ void gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view, @@ -286,7 +291,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 */ @@ -300,7 +305,48 @@ GtkTreeViewSearchEqualFunc gtk_tree_view_get_search_equal_func (GtkTreeView void gtk_tree_view_set_search_equal_func (GtkTreeView *tree_view, GtkTreeViewSearchEqualFunc search_equal_func, gpointer search_user_data, - GtkDestroyNotify search_destroy); + GDestroyNotify search_destroy); + +GtkEntry *gtk_tree_view_get_search_entry (GtkTreeView *tree_view); +void gtk_tree_view_set_search_entry (GtkTreeView *tree_view, + GtkEntry *entry); +GtkTreeViewSearchPositionFunc gtk_tree_view_get_search_position_func (GtkTreeView *tree_view); +void gtk_tree_view_set_search_position_func (GtkTreeView *tree_view, + GtkTreeViewSearchPositionFunc func, + gpointer data, + GDestroyNotify destroy); + +/* Convert between the different coordinate systems */ +void gtk_tree_view_convert_widget_to_tree_coords (GtkTreeView *tree_view, + gint wx, + gint wy, + gint *tx, + gint *ty); +void gtk_tree_view_convert_tree_to_widget_coords (GtkTreeView *tree_view, + gint tx, + gint ty, + gint *wx, + gint *wy); +void gtk_tree_view_convert_widget_to_bin_window_coords (GtkTreeView *tree_view, + gint wx, + gint wy, + gint *bx, + gint *by); +void gtk_tree_view_convert_bin_window_to_widget_coords (GtkTreeView *tree_view, + gint bx, + gint by, + gint *wx, + gint *wy); +void gtk_tree_view_convert_tree_to_bin_window_coords (GtkTreeView *tree_view, + gint tx, + gint ty, + gint *bx, + gint *by); +void gtk_tree_view_convert_bin_window_to_tree_coords (GtkTreeView *tree_view, + gint bx, + gint by, + gint *tx, + gint *ty); /* This function should really never be used. It is just for use by ATK. */ @@ -311,13 +357,63 @@ typedef void (* GtkTreeDestroyCountFunc) (GtkTreeView *tree_view, void gtk_tree_view_set_destroy_count_func (GtkTreeView *tree_view, GtkTreeDestroyCountFunc func, gpointer data, - GtkDestroyNotify destroy); + GDestroyNotify destroy); +void gtk_tree_view_set_fixed_height_mode (GtkTreeView *tree_view, + gboolean enable); +gboolean gtk_tree_view_get_fixed_height_mode (GtkTreeView *tree_view); +void gtk_tree_view_set_hover_selection (GtkTreeView *tree_view, + gboolean hover); +gboolean gtk_tree_view_get_hover_selection (GtkTreeView *tree_view); +void gtk_tree_view_set_hover_expand (GtkTreeView *tree_view, + gboolean expand); +gboolean gtk_tree_view_get_hover_expand (GtkTreeView *tree_view); +void gtk_tree_view_set_rubber_banding (GtkTreeView *tree_view, + gboolean enable); +gboolean gtk_tree_view_get_rubber_banding (GtkTreeView *tree_view); -#ifdef __cplusplus -} -#endif /* __cplusplus */ +gboolean gtk_tree_view_is_rubber_banding_active (GtkTreeView *tree_view); +GtkTreeViewRowSeparatorFunc gtk_tree_view_get_row_separator_func (GtkTreeView *tree_view); +void gtk_tree_view_set_row_separator_func (GtkTreeView *tree_view, + GtkTreeViewRowSeparatorFunc func, + gpointer data, + GDestroyNotify destroy); -#endif /* __GTK_TREE_VIEW_H__ */ +GtkTreeViewGridLines gtk_tree_view_get_grid_lines (GtkTreeView *tree_view); +void gtk_tree_view_set_grid_lines (GtkTreeView *tree_view, + GtkTreeViewGridLines grid_lines); +gboolean gtk_tree_view_get_enable_tree_lines (GtkTreeView *tree_view); +void gtk_tree_view_set_enable_tree_lines (GtkTreeView *tree_view, + gboolean enabled); +void gtk_tree_view_set_show_expanders (GtkTreeView *tree_view, + gboolean enabled); +gboolean gtk_tree_view_get_show_expanders (GtkTreeView *tree_view); +void gtk_tree_view_set_level_indentation (GtkTreeView *tree_view, + gint indentation); +gint gtk_tree_view_get_level_indentation (GtkTreeView *tree_view); + +/* Convenience functions for setting tooltips */ +void gtk_tree_view_set_tooltip_row (GtkTreeView *tree_view, + GtkTooltip *tooltip, + GtkTreePath *path); +void gtk_tree_view_set_tooltip_cell (GtkTreeView *tree_view, + GtkTooltip *tooltip, + GtkTreePath *path, + GtkTreeViewColumn *column, + GtkCellRenderer *cell); +gboolean gtk_tree_view_get_tooltip_context(GtkTreeView *tree_view, + gint *x, + gint *y, + gboolean keyboard_tip, + GtkTreeModel **model, + GtkTreePath **path, + GtkTreeIter *iter); +void gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view, + gint column); +gint gtk_tree_view_get_tooltip_column (GtkTreeView *tree_view); + +G_END_DECLS + +#endif /* __GTK_TREE_VIEW_H__ */