Upgraded gtkmm to gtkmm-2.10.7.
[ardour.git] / libs / gtkmm2 / gtk / gtkmm / assistant.h
1 // -*- c++ -*-
2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _GTKMM_ASSISTANT_H
4 #define _GTKMM_ASSISTANT_H
5
6
7 #include <glibmm.h>
8
9 /* $Id: assistant.hg,v 1.4 2006/06/13 17:16:26 murrayc Exp $ */
10
11 /* assistant.h
12  *
13  * Copyright (C) 2004 The gtkmm Development Team
14  *
15  * This library is free software; you can redistribute it and/or
16  * modify it under the terms of the GNU Library General Public
17  * License as published by the Free Software Foundation; either
18  * version 2 of the License, or (at your option) any later version.
19  *
20  * This library is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
23  * Library General Public License for more details.
24  *
25  * You should have received a copy of the GNU Library General Public
26  * License along with this library; if not, write to the Free
27  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
28  */
29
30 #include <gtkmm/window.h>
31 #include <gdkmm/pixbuf.h>
32
33
34 #ifndef DOXYGEN_SHOULD_SKIP_THIS
35 typedef struct _GtkAssistant GtkAssistant;
36 typedef struct _GtkAssistantClass GtkAssistantClass;
37 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
38
39
40 namespace Gtk
41 { class Assistant_Class; } // namespace Gtk
42 namespace Gtk
43 {
44
45 /** @addtogroup gtkmmEnums Enums and Flags */
46
47 /**
48  * @ingroup gtkmmEnums
49  */
50 enum AssistantPageType
51 {
52   ASSISTANT_PAGE_CONTENT,
53   ASSISTANT_PAGE_INTRO,
54   ASSISTANT_PAGE_CONFIRM,
55   ASSISTANT_PAGE_SUMMARY,
56   ASSISTANT_PAGE_PROGRESS
57 };
58
59 } // namespace Gtk
60
61
62 #ifndef DOXYGEN_SHOULD_SKIP_THIS
63 namespace Glib
64 {
65
66 template <>
67 class Value<Gtk::AssistantPageType> : public Glib::Value_Enum<Gtk::AssistantPageType>
68 {
69 public:
70   static GType value_type() G_GNUC_CONST;
71 };
72
73 } // namespace Glib
74 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
75
76
77 namespace Gtk
78 {
79
80
81 /** TODO
82  *
83  * @newin2p10
84  * @ingroup Dialogs
85  */
86
87 class Assistant : public Window
88 {
89   public:
90 #ifndef DOXYGEN_SHOULD_SKIP_THIS
91   typedef Assistant CppObjectType;
92   typedef Assistant_Class CppClassType;
93   typedef GtkAssistant BaseObjectType;
94   typedef GtkAssistantClass BaseClassType;
95 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
96
97   virtual ~Assistant();
98
99 #ifndef DOXYGEN_SHOULD_SKIP_THIS
100
101 private:
102   friend class Assistant_Class;
103   static CppClassType assistant_class_;
104
105   // noncopyable
106   Assistant(const Assistant&);
107   Assistant& operator=(const Assistant&);
108
109 protected:
110   explicit Assistant(const Glib::ConstructParams& construct_params);
111   explicit Assistant(GtkAssistant* castitem);
112
113 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
114
115 public:
116 #ifndef DOXYGEN_SHOULD_SKIP_THIS
117   static GType get_type()      G_GNUC_CONST;
118   static GType get_base_type() G_GNUC_CONST;
119 #endif
120
121   ///Provides access to the underlying C GtkObject.
122   GtkAssistant*       gobj()       { return reinterpret_cast<GtkAssistant*>(gobject_); }
123
124   ///Provides access to the underlying C GtkObject.
125   const GtkAssistant* gobj() const { return reinterpret_cast<GtkAssistant*>(gobject_); }
126
127
128 public:
129   //C++ methods used to invoke GTK+ virtual functions:
130 #ifdef GLIBMM_VFUNCS_ENABLED
131 #endif //GLIBMM_VFUNCS_ENABLED
132
133 protected:
134   //GTK+ Virtual Functions (override these to change behaviour):
135 #ifdef GLIBMM_VFUNCS_ENABLED
136 #endif //GLIBMM_VFUNCS_ENABLED
137
138   //Default Signal Handlers::
139 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
140   virtual void on_prepare(Gtk::Widget* page);
141   virtual void on_apply();
142   virtual void on_close();
143   virtual void on_cancel();
144 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
145
146
147 private:
148
149   
150 public:
151   Assistant();
152
153   
154   int get_current_page() const;
155   
156   void set_current_page(int page_num);
157   
158   int get_n_pages() const;
159   
160   Widget* get_nth_page(int page_num);
161   
162   const Widget* get_nth_page(int page_num) const;
163   
164   int prepend_page(Widget& page);
165   
166   int append_page(Widget& page);
167   
168   int insert_page(Widget& page, int position);
169   
170   typedef sigc::slot<int, int /* current_page */> SlotForwardPage;
171
172   void set_forward_page_func(const SlotForwardPage& slot);
173   
174
175   void set_page_type(const Widget& page, AssistantPageType type);
176   
177   AssistantPageType  get_page_type(const Widget& page) const;
178   
179   void set_page_title(const Widget& page, const Glib::ustring& title);
180   
181   Glib::ustring get_page_title(const Widget& page) const;
182   
183   void set_page_header_image(const Widget& page, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf);
184   
185   Glib::RefPtr<Gdk::Pixbuf> get_page_header_image(const Widget& page);
186   
187   Glib::RefPtr<const Gdk::Pixbuf> get_page_header_image(const Widget& page) const;
188   
189   void set_page_side_image(const Widget& page, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf);
190   
191   Glib::RefPtr<Gdk::Pixbuf> get_page_side_image(const Widget& page);
192   
193   Glib::RefPtr<const Gdk::Pixbuf> get_page_side_image(const Widget& page) const;
194   
195   void set_page_complete(const Widget& page, bool complete = true);
196   
197   bool get_page_complete(const Widget& page) const;
198   
199   void add_action_widget(Widget& child);
200   
201   void remove_action_widget(Widget& child);
202   
203   void update_buttons_state();
204
205   
206 /**
207    * @par Prototype:
208    * <tt>void %prepare(Gtk::Widget* page)</tt>
209    */
210
211   Glib::SignalProxy1< void,Gtk::Widget* > signal_prepare();
212
213   
214 /**
215    * @par Prototype:
216    * <tt>void %apply()</tt>
217    */
218
219   Glib::SignalProxy0< void > signal_apply();
220
221   
222 /**
223    * @par Prototype:
224    * <tt>void %close()</tt>
225    */
226
227   Glib::SignalProxy0< void > signal_close();
228
229   
230 /**
231    * @par Prototype:
232    * <tt>void %cancel()</tt>
233    */
234
235   Glib::SignalProxy0< void > signal_cancel();
236
237
238   //TODO: Child properties?
239
240
241 };
242
243 } // namespace Gtk
244
245
246 namespace Glib
247 {
248   /** @relates Gtk::Assistant
249    * @param object The C instance
250    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
251    * @result A C++ instance that wraps this C instance.
252    */
253   Gtk::Assistant* wrap(GtkAssistant* object, bool take_copy = false);
254 } //namespace Glib
255
256
257 #endif /* _GTKMM_ASSISTANT_H */
258