]> Pileus Git - ~andy/gtk/blob - gtk/gtkassistant.h
5d294774f6052a1a52fc45d67e5f137d2e6e6078
[~andy/gtk] / gtk / gtkassistant.h
1 /* \r
2  * GTK - The GIMP Toolkit\r
3  * Copyright (C) 1999  Red Hat, Inc.\r
4  * Copyright (C) 2002  Anders Carlsson <andersca@gnu.org>\r
5  * Copyright (C) 2003  Matthias Clasen <mclasen@redhat.com>\r
6  * Copyright (C) 2005  Carlos Garnacho Parro <carlosg@gnome.org>\r
7  *\r
8  * All rights reserved.\r
9  *\r
10  * This library is free software; you can redistribute it and/or\r
11  * modify it under the terms of the GNU Lesser General Public\r
12  * License as published by the Free Software Foundation; either\r
13  * version 2 of the License, or (at your option) any later version.\r
14  *\r
15  * This library is distributed in the hope that it will be useful,\r
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
18  * Lesser General Public License for more details.\r
19  *\r
20  * You should have received a copy of the GNU Lesser General Public\r
21  * License along with this library; if not, write to the\r
22  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\r
23  * Boston, MA 02111-1307, USA.\r
24  */\r
25 \r
26 #ifndef __GTK_ASSISTANT_H__\r
27 #define __GTK_ASSISTANT_H__\r
28 \r
29 #include <gtk/gtkwidget.h>\r
30 #include <gtk/gtkwindow.h>\r
31 \r
32 G_BEGIN_DECLS\r
33 \r
34 #define GTK_TYPE_ASSISTANT         (gtk_assistant_get_type ())\r
35 #define GTK_ASSISTANT(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_ASSISTANT, GtkAssistant))\r
36 #define GTK_ASSISTANT_CLASS(c)     (G_TYPE_CHECK_CLASS_CAST    ((c), GTK_TYPE_ASSISTANT, GtkAssistantClass))\r
37 #define GTK_IS_ASSISTANT(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_ASSISTANT))\r
38 #define GTK_IS_ASSISTANT_CLASS(c)  (G_TYPE_CHECK_CLASS_TYPE    ((c), GTK_TYPE_ASSISTANT))\r
39 #define GTK_ASSISTANT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS  ((o), GTK_TYPE_ASSISTANT, GtkAssistantClass))\r
40 \r
41 typedef enum\r
42 {\r
43   GTK_ASSISTANT_PAGE_CONTENT,\r
44   GTK_ASSISTANT_PAGE_INTRO,\r
45   GTK_ASSISTANT_PAGE_CONFIRM,\r
46   GTK_ASSISTANT_PAGE_SUMMARY,\r
47   GTK_ASSISTANT_PAGE_PROGRESS\r
48 } GtkAssistantPageType;\r
49 \r
50 typedef struct _GtkAssistant      GtkAssistant;\r
51 typedef struct _GtkAssistantClass GtkAssistantClass;\r
52 \r
53 struct _GtkAssistant\r
54 {\r
55   GtkWindow  parent;\r
56 \r
57   GtkWidget *cancel;\r
58   GtkWidget *forward;\r
59   GtkWidget *back;\r
60   GtkWidget *apply;\r
61   GtkWidget *close;\r
62   GtkWidget *last;\r
63 };\r
64 \r
65 struct _GtkAssistantClass\r
66 {\r
67   GtkWindowClass parent_class;\r
68 \r
69   void (* prepare) (GtkAssistant *assistant);\r
70   void (* apply)   (GtkAssistant *assistant);\r
71   void (* close)   (GtkAssistant *assistant);\r
72   void (* cancel)  (GtkAssistant *assistant);\r
73 \r
74   /* Padding for future expansion */\r
75   void (*_gtk_reserved1) (void);\r
76   void (*_gtk_reserved2) (void);\r
77   void (*_gtk_reserved3) (void);\r
78   void (*_gtk_reserved4) (void);\r
79   void (*_gtk_reserved5) (void);\r
80 };\r
81 \r
82 typedef gint (*GtkAssistantPageFunc) (gint current_page, gpointer data);\r
83 \r
84 GType                 gtk_assistant_get_type              (void) G_GNUC_CONST;\r
85 GtkWidget            *gtk_assistant_new                   (void);\r
86 gint                  gtk_assistant_get_current_page      (GtkAssistant         *assistant);\r
87 void                  gtk_assistant_set_current_page      (GtkAssistant         *assistant,\r
88                                                            gint                  page_num);\r
89 gint                  gtk_assistant_get_n_pages           (GtkAssistant         *assistant);\r
90 GtkWidget            *gtk_assistant_get_nth_page          (GtkAssistant         *assistant,\r
91                                                            gint                  page_num);\r
92 gint                  gtk_assistant_prepend_page          (GtkAssistant         *assistant,\r
93                                                            GtkWidget            *page);\r
94 gint                  gtk_assistant_append_page           (GtkAssistant         *assistant,\r
95                                                            GtkWidget            *page);\r
96 gint                  gtk_assistant_insert_page           (GtkAssistant         *assistant,\r
97                                                            GtkWidget            *page,\r
98                                                            gint                  position);\r
99 void                  gtk_assistant_set_forward_page_func (GtkAssistant         *assistant,\r
100                                                            GtkAssistantPageFunc  page_func,\r
101                                                            gpointer              data,\r
102                                                            GDestroyNotify        destroy);\r
103 void                  gtk_assistant_set_page_type         (GtkAssistant         *assistant,\r
104                                                            GtkWidget            *page,\r
105                                                            GtkAssistantPageType  type);\r
106 GtkAssistantPageType  gtk_assistant_get_page_type         (GtkAssistant         *assistant,\r
107                                                            GtkWidget            *page);\r
108 void                  gtk_assistant_set_page_title        (GtkAssistant         *assistant,\r
109                                                            GtkWidget            *page,\r
110                                                            const gchar          *title);\r
111 G_CONST_RETURN gchar *gtk_assistant_get_page_title        (GtkAssistant         *assistant,\r
112                                                            GtkWidget            *page);\r
113 void                  gtk_assistant_set_page_header_image (GtkAssistant         *assistant,\r
114                                                            GtkWidget            *page,\r
115                                                            GdkPixbuf            *pixbuf);\r
116 GdkPixbuf            *gtk_assistant_get_page_header_image (GtkAssistant         *assistant,\r
117                                                            GtkWidget            *page);\r
118 void                  gtk_assistant_set_page_side_image   (GtkAssistant         *assistant,\r
119                                                            GtkWidget            *page,\r
120                                                            GdkPixbuf            *pixbuf);\r
121 GdkPixbuf            *gtk_assistant_get_page_side_image   (GtkAssistant         *assistant,\r
122                                                            GtkWidget            *page);\r
123 void                  gtk_assistant_set_page_complete     (GtkAssistant         *assistant,\r
124                                                            GtkWidget            *page,\r
125                                                            gboolean              complete);\r
126 gboolean              gtk_assistant_get_page_complete     (GtkAssistant         *assistant,\r
127                                                            GtkWidget            *page);\r
128 void                  gtk_assistant_add_action_widget     (GtkAssistant         *assistant,\r
129                                                            GtkWidget            *child);\r
130 void                  gtk_assistant_remove_action_widget  (GtkAssistant         *assistant,\r
131                                                            GtkWidget            *child);\r
132 \r
133 G_END_DECLS\r
134 \r
135 #endif /* __GTK_ASSISTANT_H__ */\r