]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtktreeview.h
Namespace the enum values properly. Sorry about the resize grip trouble,
[~andy/gtk] / gtk / gtktreeview.h
index cee0a1e288421e14eafba9af4de115d8d32c4a9a..e473f741e68c6df79cd7fc8283b9afd28f838b27 100644 (file)
@@ -19,6 +19,7 @@
 #ifndef __GTK_TREE_VIEW_H__
 #define __GTK_TREE_VIEW_H__
 
+#include <gtk/gtkwidget.h>
 #include <gtk/gtkcontainer.h>
 #include <gtk/gtktreemodel.h>
 #include <gtk/gtktreeviewcolumn.h>
@@ -41,11 +42,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 ((obj), 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;
@@ -83,22 +84,30 @@ struct _GtkTreeViewClass
                                           GtkTreeIter       *iter,
                                           GtkTreePath       *path);
   void     (* columns_changed)            (GtkTreeView       *tree_view);
+  void     (* cursor_changed)             (GtkTreeView       *tree_view);
 
   /* Key Binding signals */
-  void     (* begin_extended_selection)   (GtkTreeView       *tree_view);
-  void     (* end_extended_selection)     (GtkTreeView       *tree_view);
-  void     (* begin_free_motion)          (GtkTreeView       *tree_view);
-  void     (* end_free_motion)            (GtkTreeView       *tree_view);
-  void     (* move_cursor)                (GtkTreeView       *tree_view,
+  gboolean (* move_cursor)                (GtkTreeView       *tree_view,
                                           GtkMovementStep    step,
                                           gint               count);
-  void     (* select_cursor_row)          (GtkTreeView       *tree_view);
-  void     (* toggle_cursor_row)          (GtkTreeView       *tree_view);
-  void     (* expand_collapse_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);
+  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);
+  gboolean (* select_cursor_parent)       (GtkTreeView       *tree_view);
+  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);
 };
 
 
@@ -107,22 +116,18 @@ typedef gboolean (* GtkTreeViewColumnDropFunc) (GtkTreeView             *tree_vi
                                                GtkTreeViewColumn       *prev_column,
                                                GtkTreeViewColumn       *next_column,
                                                gpointer                 data);
-typedef gboolean (* GtkTreeViewDraggableFunc)  (GtkTreeView             *tree_view,
-                                                GdkDragContext          *context,
-                                                GtkTreePath             *path,
-                                               gpointer                user_data);
 typedef void     (* GtkTreeViewMappingFunc)    (GtkTreeView             *tree_view,
                                                GtkTreePath             *path,
                                                gpointer                 user_data);
-typedef gboolean (* GtkTreeViewDroppableFunc)  (GtkTreeView             *tree_view,
-                                               GdkDragContext          *context,
-                                               GtkTreePath             *path,
-                                               GtkTreeViewDropPosition *pos,
-                                               gpointer                 user_data);
+typedef gboolean (*GtkTreeViewSearchEqualFunc) (GtkTreeModel            *model,
+                                               gint                     column,
+                                               const gchar             *key,
+                                               GtkTreeIter             *iter,
+                                               gpointer                 search_data);
 
 
 /* Creators */
-GtkType                gtk_tree_view_get_type                      (void);
+GType                  gtk_tree_view_get_type                      (void);
 GtkWidget             *gtk_tree_view_new                           (void);
 GtkWidget             *gtk_tree_view_new_with_model                (GtkTreeModel              *model);
 
@@ -157,12 +162,12 @@ gint                   gtk_tree_view_insert_column                 (GtkTreeView
                                                                    gint                       position);
 gint                   gtk_tree_view_insert_column_with_attributes (GtkTreeView               *tree_view,
                                                                    gint                       position,
-                                                                   gchar                     *title,
+                                                                   const gchar               *title,
                                                                    GtkCellRenderer           *cell,
                                                                    ...);
 gint                   gtk_tree_view_insert_column_with_data_func  (GtkTreeView               *tree_view,
                                                                    gint                       position,
-                                                                   gchar                     *title,
+                                                                   const gchar               *title,
                                                                    GtkCellRenderer           *cell,
                                                                     GtkTreeCellDataFunc        func,
                                                                     gpointer                   data,
@@ -188,6 +193,7 @@ void                   gtk_tree_view_scroll_to_point               (GtkTreeView
 void                   gtk_tree_view_scroll_to_cell                (GtkTreeView               *tree_view,
                                                                    GtkTreePath               *path,
                                                                    GtkTreeViewColumn         *column,
+                                                                   gboolean                   use_align,
                                                                    gfloat                     row_align,
                                                                    gfloat                     col_align);
 void                   gtk_tree_view_row_activated                 (GtkTreeView               *tree_view,
@@ -195,6 +201,8 @@ void                   gtk_tree_view_row_activated                 (GtkTreeView
                                                                    GtkTreeViewColumn         *column);
 void                   gtk_tree_view_expand_all                    (GtkTreeView               *tree_view);
 void                   gtk_tree_view_collapse_all                  (GtkTreeView               *tree_view);
+void                   gtk_tree_view_expand_to_path                (GtkTreeView               *tree_view,
+                                                                   GtkTreePath               *path);
 gboolean               gtk_tree_view_expand_row                    (GtkTreeView               *tree_view,
                                                                    GtkTreePath               *path,
                                                                    gboolean                   open_all);
@@ -209,12 +217,22 @@ void                   gtk_tree_view_set_reorderable               (GtkTreeView
                                                                    gboolean                   reorderable);
 gboolean               gtk_tree_view_get_reorderable               (GtkTreeView               *tree_view);
 void                   gtk_tree_view_set_cursor                    (GtkTreeView               *tree_view,
-                                                                   GtkTreePath               *path);
+                                                                   GtkTreePath               *path,
+                                                                   GtkTreeViewColumn         *focus_column,
+                                                                   gboolean                   start_editing);
+void                   gtk_tree_view_set_cursor_on_cell            (GtkTreeView               *tree_view,
+                                                                   GtkTreePath               *path,
+                                                                   GtkTreeViewColumn         *focus_column,
+                                                                   GtkCellRenderer           *focus_cell,
+                                                                   gboolean                   start_editing);
+void                   gtk_tree_view_get_cursor                    (GtkTreeView               *tree_view,
+                                                                   GtkTreePath              **path,
+                                                                   GtkTreeViewColumn        **focus_column);
 
 
 /* Layout information */
+GdkWindow             *gtk_tree_view_get_bin_window                (GtkTreeView               *tree_view);
 gboolean               gtk_tree_view_get_path_at_pos               (GtkTreeView               *tree_view,
-                                                                   GdkWindow                 *window,
                                                                    gint                       x,
                                                                    gint                       y,
                                                                    GtkTreePath              **path,
@@ -243,19 +261,15 @@ void                   gtk_tree_view_tree_to_widget_coords         (GtkTreeView
                                                                    gint                      *wy);
 
 /* Drag-and-Drop support */
-void                   gtk_tree_view_set_rows_drag_source          (GtkTreeView               *tree_view,
+void                   gtk_tree_view_enable_model_drag_source      (GtkTreeView               *tree_view,
                                                                    GdkModifierType            start_button_mask,
                                                                    const GtkTargetEntry      *targets,
                                                                    gint                       n_targets,
-                                                                   GdkDragAction              actions,
-                                                                   GtkTreeViewDraggableFunc   row_draggable_func,
-                                                                   gpointer                   user_data);
-void                   gtk_tree_view_set_rows_drag_dest            (GtkTreeView               *tree_view,
+                                                                   GdkDragAction              actions);
+void                   gtk_tree_view_enable_model_drag_dest        (GtkTreeView               *tree_view,
                                                                    const GtkTargetEntry      *targets,
                                                                    gint                       n_targets,
-                                                                   GdkDragAction              actions,
-                                                                   GtkTreeViewDroppableFunc   location_droppable_func,
-                                                                   gpointer                   user_data);
+                                                                   GdkDragAction              actions);
 void                   gtk_tree_view_unset_rows_drag_source        (GtkTreeView               *tree_view);
 void                   gtk_tree_view_unset_rows_drag_dest          (GtkTreeView               *tree_view);
 
@@ -275,21 +289,31 @@ gboolean               gtk_tree_view_get_dest_row_at_pos           (GtkTreeView
 GdkPixmap             *gtk_tree_view_create_row_drag_icon          (GtkTreeView               *tree_view,
                                                                    GtkTreePath               *path);
 
+/* Interactive search */
+void                       gtk_tree_view_set_enable_search     (GtkTreeView                *tree_view,
+                                                               gboolean                    enable_search);
+gboolean                   gtk_tree_view_get_enable_search     (GtkTreeView                *tree_view);
+gint                       gtk_tree_view_get_search_column     (GtkTreeView                *tree_view);
+void                       gtk_tree_view_set_search_column     (GtkTreeView                *tree_view,
+                                                               gint                        column);
+GtkTreeViewSearchEqualFunc gtk_tree_view_get_search_equal_func (GtkTreeView                *tree_view);
+void                       gtk_tree_view_set_search_equal_func (GtkTreeView                *tree_view,
+                                                               GtkTreeViewSearchEqualFunc  search_equal_func,
+                                                               gpointer                    search_user_data,
+                                                               GtkDestroyNotify            search_destroy);
 
 /* This function should really never be used.  It is just for use by ATK.
  */
-typedef void (* GtkTreeDestroyCountFunc) (GtkTreeView *tree_view,
-                                         GtkTreePath *path,
-                                         gint         children,
-                                         gpointer     user_data);
+typedef void (* GtkTreeDestroyCountFunc)  (GtkTreeView             *tree_view,
+                                          GtkTreePath             *path,
+                                          gint                     children,
+                                          gpointer                 user_data);
 void gtk_tree_view_set_destroy_count_func (GtkTreeView             *tree_view,
                                           GtkTreeDestroyCountFunc  func,
                                           gpointer                 data,
                                           GtkDestroyNotify         destroy);
 
 
-
-
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */