]> Pileus Git - ~andy/gtk/blob - gtk/gtktreeview.h
New function.
[~andy/gtk] / gtk / gtktreeview.h
1 /* gtktreeview.h
2  * Copyright (C) 2000  Red Hat, Inc.,  Jonathan Blandford <jrb@redhat.com>
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19 #ifndef __GTK_TREE_VIEW_H__
20 #define __GTK_TREE_VIEW_H__
21
22 #include <gtk/gtkcontainer.h>
23 #include <gtk/gtktreemodel.h>
24 #include <gtk/gtktreeviewcolumn.h>
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif /* __cplusplus */
29
30 #define GTK_TYPE_TREE_VIEW              (gtk_tree_view_get_type ())
31 #define GTK_TREE_VIEW(obj)              (GTK_CHECK_CAST ((obj), GTK_TYPE_TREE_VIEW, GtkTreeView))
32 #define GTK_TREE_VIEW_CLASS(klass)      (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_TREE_VIEW, GtkTreeViewClass))
33 #define GTK_IS_TREE_VIEW(obj)           (GTK_CHECK_TYPE ((obj), GTK_TYPE_TREE_VIEW))
34 #define GTK_IS_TREE_VIEW_CLASS(klass)   (GTK_CHECK_CLASS_TYPE ((obj), GTK_TYPE_TREE_VIEW))
35
36 typedef struct _GtkTreeView        GtkTreeView;
37 typedef struct _GtkTreeViewClass   GtkTreeViewClass;
38 typedef struct _GtkTreeViewPrivate GtkTreeViewPrivate;
39
40 typedef struct _GtkTreeSelection      GtkTreeSelection;
41 typedef struct _GtkTreeSelectionClass GtkTreeSelectionClass;
42
43
44 struct _GtkTreeView
45 {
46   GtkContainer parent;
47
48   GtkTreeViewPrivate *priv;
49 };
50
51 struct _GtkTreeViewClass
52 {
53   GtkContainerClass parent_class;
54
55   void (*set_scroll_adjustments) (GtkTreeView   *tree_view,
56                                   GtkAdjustment *hadjustment,
57                                   GtkAdjustment *vadjustment);
58   gint (*expand_row)             (GtkTreeView   *tree_view,
59                                   GtkTreeIter   *iter);
60 };
61
62 GtkType                gtk_tree_view_get_type            (void);
63 GtkWidget             *gtk_tree_view_new                 (void);
64 GtkWidget             *gtk_tree_view_new_with_model      (GtkTreeModel       *model);
65
66 GtkTreeModel          *gtk_tree_view_get_model           (GtkTreeView        *tree_view);
67 void                   gtk_tree_view_set_model           (GtkTreeView        *tree_view,
68                                                           GtkTreeModel       *model);
69 GtkTreeSelection      *gtk_tree_view_get_selection       (GtkTreeView        *tree_view);
70 GtkAdjustment         *gtk_tree_view_get_hadjustment     (GtkTreeView        *tree_view);
71 void                   gtk_tree_view_set_hadjustment     (GtkTreeView        *tree_view,
72                                                           GtkAdjustment      *adjustment);
73 GtkAdjustment         *gtk_tree_view_get_vadjustment     (GtkTreeView        *tree_view);
74 void                   gtk_tree_view_set_vadjustment     (GtkTreeView        *tree_view,
75                                                           GtkAdjustment      *adjustment);
76 gboolean               gtk_tree_view_get_headers_visible (GtkTreeView        *tree_view);
77 void                   gtk_tree_view_set_headers_visible (GtkTreeView        *tree_view,
78                                                           gboolean            headers_visible);
79 void                   gtk_tree_view_columns_autosize    (GtkTreeView        *tree_view);
80 void                   gtk_tree_view_set_headers_active  (GtkTreeView        *tree_view,
81                                                           gboolean            active);
82 gint                   gtk_tree_view_append_column       (GtkTreeView        *tree_view,
83                                                           GtkTreeViewColumn  *column);
84 gint                   gtk_tree_view_remove_column       (GtkTreeView        *tree_view,
85                                                           GtkTreeViewColumn  *column);
86 gint                   gtk_tree_view_insert_column       (GtkTreeView        *tree_view,
87                                                           GtkTreeViewColumn  *column,
88                                                           gint                position);
89 GtkTreeViewColumn     *gtk_tree_view_get_column          (GtkTreeView        *tree_view,
90                                                           gint                n);
91
92 /* Actions */
93 void                   gtk_tree_view_move_to             (GtkTreeView        *tree_view,
94                                                           GtkTreePath        *path,
95                                                           GtkTreeViewColumn  *column,
96                                                           gfloat              row_align,
97                                                           gfloat              col_align);
98 gboolean               gtk_tree_view_get_path_at_pos     (GtkTreeView        *tree_view,
99                                                           GdkWindow          *window,
100                                                           gint                x,
101                                                           gint                y,
102                                                           GtkTreePath       **path,
103                                                           GtkTreeViewColumn **column);
104 void                   gtk_tree_view_expand_all          (GtkTreeView        *tree_view);
105 void                   gtk_tree_view_collapse_all        (GtkTreeView        *tree_view);
106 gboolean               gtk_tree_view_expand_row          (GtkTreeView        *tree_view,
107                                                           GtkTreePath        *path,
108                                                           gboolean            open_all);
109 gboolean               gtk_tree_view_collapse_row        (GtkTreeView        *tree_view,
110                                                           GtkTreePath        *path);
111
112
113 #ifdef __cplusplus
114 }
115 #endif /* __cplusplus */
116
117
118 #endif /* __GTK_TREE_VIEW_H__ */
119