container.h
Go to the documentation of this file.00001
00002
00003 #ifndef _CLUTTERMM_CONTAINER_H
00004 #define _CLUTTERMM_CONTAINER_H
00005
00006
00007 #include <glibmm.h>
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <cluttermm/actor.h>
00027 #include <glibmm/interface.h>
00028 #include <glibmm/ustring.h>
00029 #include <clutter/clutter-container.h>
00030
00031
00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00033 typedef struct _ClutterContainer ClutterContainer;
00034 typedef struct _ClutterContainerClass ClutterContainerClass;
00035 #endif
00036
00037
00038 namespace Clutter
00039 { class Container_Class; }
00040 namespace Clutter
00041 {
00042
00043
00044 class Container : public Glib::Interface
00045 {
00046
00047 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00048
00049 public:
00050 typedef Container CppObjectType;
00051 typedef Container_Class CppClassType;
00052 typedef ClutterContainer BaseObjectType;
00053 typedef ClutterContainerIface BaseClassType;
00054
00055 private:
00056 friend class Container_Class;
00057 static CppClassType container_class_;
00058
00059
00060 Container(const Container&);
00061 Container& operator=(const Container&);
00062
00063 protected:
00064 Container();
00065
00072 explicit Container(const Glib::Interface_Class& interface_class);
00073
00074 public:
00075
00076
00077
00078 explicit Container(ClutterContainer* castitem);
00079
00080 protected:
00081 #endif
00082
00083 public:
00084 virtual ~Container();
00085
00086 static void add_interface(GType gtype_implementer);
00087
00088 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00089 static GType get_type() G_GNUC_CONST;
00090 static GType get_base_type() G_GNUC_CONST;
00091 #endif
00092
00094 ClutterContainer* gobj() { return reinterpret_cast<ClutterContainer*>(gobject_); }
00095
00097 const ClutterContainer* gobj() const { return reinterpret_cast<ClutterContainer*>(gobject_); }
00098
00099 private:
00100
00101
00102 public:
00103
00112 void add_actor(const Glib::RefPtr<Actor>& actor);
00113
00122 void remove_actor(const Glib::RefPtr<Actor>& actor);
00123
00124
00131 void lower_child(const Glib::RefPtr<Actor>& actor, const Glib::RefPtr<Actor>& sibling);
00132 void lower_child(const Glib::RefPtr<Actor>& actor);
00133
00140 void raise_child(const Glib::RefPtr<Actor>& actor, const Glib::RefPtr<Actor>& sibling);
00141 void raise_child(const Glib::RefPtr<Actor>& actor);
00142
00143
00152 Glib::RefPtr<Actor> find_child (const Glib::ustring& child_name);
00153
00162 Glib::RefPtr<const Actor> find_child (const Glib::ustring& child_name) const;
00163
00167 typedef sigc::slot<void, const Glib::RefPtr<Actor>&> SlotForEach;
00168
00169 void foreach(const SlotForEach& slot);
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184 protected:
00185
00186
00187
00193 void sort_depth_order();
00194
00195
00196
00197
00198
00199
00200
00201 public:
00202
00203 public:
00204
00205 #ifdef GLIBMM_VFUNCS_ENABLED
00206 #endif //GLIBMM_VFUNCS_ENABLED
00207
00208 protected:
00209
00210 #ifdef GLIBMM_VFUNCS_ENABLED
00211 #endif //GLIBMM_VFUNCS_ENABLED
00212
00213
00214 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00215 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00216
00217
00218 };
00219
00220 }
00221
00222
00223
00224 namespace Glib
00225 {
00234 Glib::RefPtr<Clutter::Container> wrap(ClutterContainer* object, bool take_copy = false);
00235
00236 }
00237
00238
00239 #endif
00240