2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _GTKMM_ASSISTANT_H
4 #define _GTKMM_ASSISTANT_H
9 /* $Id: assistant.hg,v 1.4 2006/06/13 17:16:26 murrayc Exp $ */
13 * Copyright (C) 2004 The gtkmm Development Team
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.
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.
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.
30 #include <gtkmm/window.h>
31 #include <gdkmm/pixbuf.h>
34 #ifndef DOXYGEN_SHOULD_SKIP_THIS
35 typedef struct _GtkAssistant GtkAssistant;
36 typedef struct _GtkAssistantClass GtkAssistantClass;
37 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
41 { class Assistant_Class; } // namespace Gtk
45 /** @addtogroup gtkmmEnums Enums and Flags */
50 enum AssistantPageType
52 ASSISTANT_PAGE_CONTENT,
54 ASSISTANT_PAGE_CONFIRM,
55 ASSISTANT_PAGE_SUMMARY,
56 ASSISTANT_PAGE_PROGRESS
62 #ifndef DOXYGEN_SHOULD_SKIP_THIS
67 class Value<Gtk::AssistantPageType> : public Glib::Value_Enum<Gtk::AssistantPageType>
70 static GType value_type() G_GNUC_CONST;
74 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
87 class Assistant : public Window
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 */
99 #ifndef DOXYGEN_SHOULD_SKIP_THIS
102 friend class Assistant_Class;
103 static CppClassType assistant_class_;
106 Assistant(const Assistant&);
107 Assistant& operator=(const Assistant&);
110 explicit Assistant(const Glib::ConstructParams& construct_params);
111 explicit Assistant(GtkAssistant* castitem);
113 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
116 #ifndef DOXYGEN_SHOULD_SKIP_THIS
117 static GType get_type() G_GNUC_CONST;
118 static GType get_base_type() G_GNUC_CONST;
121 ///Provides access to the underlying C GtkObject.
122 GtkAssistant* gobj() { return reinterpret_cast<GtkAssistant*>(gobject_); }
124 ///Provides access to the underlying C GtkObject.
125 const GtkAssistant* gobj() const { return reinterpret_cast<GtkAssistant*>(gobject_); }
129 //C++ methods used to invoke GTK+ virtual functions:
130 #ifdef GLIBMM_VFUNCS_ENABLED
131 #endif //GLIBMM_VFUNCS_ENABLED
134 //GTK+ Virtual Functions (override these to change behaviour):
135 #ifdef GLIBMM_VFUNCS_ENABLED
136 #endif //GLIBMM_VFUNCS_ENABLED
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
154 int get_current_page() const;
156 void set_current_page(int page_num);
158 int get_n_pages() const;
160 Widget* get_nth_page(int page_num);
162 const Widget* get_nth_page(int page_num) const;
164 int prepend_page(Widget& page);
166 int append_page(Widget& page);
168 int insert_page(Widget& page, int position);
170 typedef sigc::slot<int, int /* current_page */> SlotForwardPage;
172 void set_forward_page_func(const SlotForwardPage& slot);
175 void set_page_type(const Widget& page, AssistantPageType type);
177 AssistantPageType get_page_type(const Widget& page) const;
179 void set_page_title(const Widget& page, const Glib::ustring& title);
181 Glib::ustring get_page_title(const Widget& page) const;
183 void set_page_header_image(const Widget& page, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf);
185 Glib::RefPtr<Gdk::Pixbuf> get_page_header_image(const Widget& page);
187 Glib::RefPtr<const Gdk::Pixbuf> get_page_header_image(const Widget& page) const;
189 void set_page_side_image(const Widget& page, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf);
191 Glib::RefPtr<Gdk::Pixbuf> get_page_side_image(const Widget& page);
193 Glib::RefPtr<const Gdk::Pixbuf> get_page_side_image(const Widget& page) const;
195 void set_page_complete(const Widget& page, bool complete = true);
197 bool get_page_complete(const Widget& page) const;
199 void add_action_widget(Widget& child);
201 void remove_action_widget(Widget& child);
203 void update_buttons_state();
208 * <tt>void %prepare(Gtk::Widget* page)</tt>
211 Glib::SignalProxy1< void,Gtk::Widget* > signal_prepare();
216 * <tt>void %apply()</tt>
219 Glib::SignalProxy0< void > signal_apply();
224 * <tt>void %close()</tt>
227 Glib::SignalProxy0< void > signal_close();
232 * <tt>void %cancel()</tt>
235 Glib::SignalProxy0< void > signal_cancel();
238 //TODO: Child properties?
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.
253 Gtk::Assistant* wrap(GtkAssistant* object, bool take_copy = false);
257 #endif /* _GTKMM_ASSISTANT_H */