]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtktreeselection.h
marshaller fixes.
[~andy/gtk] / gtk / gtktreeselection.h
index 7ea4e3828923371cd1cd317d5cd9a602afaaa22d..aaafa5057dcfbb8c37a3f2610a2a2e121a9be41b 100644 (file)
@@ -20,7 +20,6 @@
 #ifndef __GTK_TREE_SELECTION_H__
 #define __GTK_TREE_SELECTION_H__
 
-#include <gobject/gobject.h>
 #include <gtk/gtkobject.h>
 #include <gtk/gtktreeview.h>
 
@@ -38,24 +37,27 @@ typedef enum
 {
   GTK_TREE_SELECTION_SINGLE,
   GTK_TREE_SELECTION_MULTI
-} GtkTreeSelectionType;
+} GtkTreeSelectionMode;
 
 typedef gboolean (* GtkTreeSelectionFunc)    (GtkTreeSelection  *selection,
                                              GtkTreeModel      *model,
                                              GtkTreePath       *path,
                                              gpointer           data);
 typedef void (* GtkTreeSelectionForeachFunc) (GtkTreeModel      *model,
-                                             GtkTreeNode       *node,
+                                             GtkTreeIter       *iter,
                                              gpointer           data);
 
 struct _GtkTreeSelection
 {
   GtkObject parent;
 
+  /*< private >*/
+  
   GtkTreeView *tree_view;
-  GtkTreeSelectionType type;
+  GtkTreeSelectionMode type;
   GtkTreeSelectionFunc user_func;
   gpointer user_data;
+  GtkDestroyNotify destroy;
 };
 
 struct _GtkTreeSelectionClass
@@ -67,18 +69,22 @@ struct _GtkTreeSelectionClass
 
 
 GtkType          gtk_tree_selection_get_type            (void);
-GtkObject       *gtk_tree_selection_new                 (void);
-void             gtk_tree_selection_set_type            (GtkTreeSelection            *selection,
-                                                        GtkTreeSelectionType         type);
+
+void             gtk_tree_selection_set_mode            (GtkTreeSelection            *selection,
+                                                        GtkTreeSelectionMode         type);
 void             gtk_tree_selection_set_select_function (GtkTreeSelection            *selection,
                                                         GtkTreeSelectionFunc         func,
-                                                        gpointer                     data);
+                                                        gpointer                     data,
+                                                        GtkDestroyNotify             destroy);
 gpointer         gtk_tree_selection_get_user_data       (GtkTreeSelection            *selection);
-
+GtkTreeView*     gtk_tree_selection_get_tree_view       (GtkTreeSelection            *selection);
 
 /* Only meaningful if GTK_TREE_SELECTION_SINGLE is set */
 /* Use selected_foreach for GTK_TREE_SELECTION_MULTI */
-GtkTreeNode     *gtk_tree_selection_get_selected        (GtkTreeSelection            *selection);
+gboolean         gtk_tree_selection_get_selected        (GtkTreeSelection            *selection,
+                                                        GtkTreeModel               **model,
+                                                        GtkTreeIter                 *iter);
+
 /* FIXME: Get a more convenient get_selection function????  one returning GSList?? */
 void             gtk_tree_selection_selected_foreach    (GtkTreeSelection            *selection,
                                                         GtkTreeSelectionForeachFunc  func,
@@ -87,10 +93,10 @@ void             gtk_tree_selection_select_path         (GtkTreeSelection
                                                         GtkTreePath                 *path);
 void             gtk_tree_selection_unselect_path       (GtkTreeSelection            *selection,
                                                         GtkTreePath                 *path);
-void             gtk_tree_selection_select_node         (GtkTreeSelection            *selection,
-                                                        GtkTreeNode                 *tree_node);
-void             gtk_tree_selection_unselect_node       (GtkTreeSelection            *selection,
-                                                        GtkTreeNode                 *tree_node);
+void             gtk_tree_selection_select_iter         (GtkTreeSelection            *selection,
+                                                        GtkTreeIter                 *iter);
+void             gtk_tree_selection_unselect_iter       (GtkTreeSelection            *selection,
+                                                        GtkTreeIter                 *iter);
 void             gtk_tree_selection_select_all          (GtkTreeSelection            *selection);
 void             gtk_tree_selection_unselect_all        (GtkTreeSelection            *selection);
 void             gtk_tree_selection_select_range        (GtkTreeSelection            *selection,
@@ -98,11 +104,6 @@ void             gtk_tree_selection_select_range        (GtkTreeSelection
                                                         GtkTreePath                 *end_path);
 
 
-/*< private >*/
-GtkObject       *gtk_tree_selection_new_with_tree_view  (GtkTreeView                 *tree_view);
-void             gtk_tree_selection_set_tree_view       (GtkTreeSelection            *selection,
-                                                        GtkTreeView                 *tree_view);
-
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */