container.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _CLUTTERMM_CONTAINER_H
00004 #define _CLUTTERMM_CONTAINER_H
00005 
00006 
00007 #include <glibmm.h>
00008 
00009 /* Copyright (C) 2007 The cluttermm Development Team
00010  *
00011  * This library is free software; you can redistribute it and/or
00012  * modify it under the terms of the GNU Library General Public
00013  * License as published by the Free Software Foundation; either
00014  * version 2 of the License, or (at your option) any later version.
00015  *
00016  * This library is distributed in the hope that it will be useful,
00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00019  * Library General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU Library General Public
00022  * License along with this library; if not, write to the Free
00023  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
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 /* DOXYGEN_SHOULD_SKIP_THIS */
00036 
00037 
00038 namespace Clutter
00039 { class Container_Class; } // namespace Clutter
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   // noncopyable
00060   Container(const Container&);
00061   Container& operator=(const Container&);
00062 
00063 protected:
00064   Container(); // you must derive from this class
00065 
00072   explicit Container(const Glib::Interface_Class& interface_class);
00073 
00074 public:
00075   // This is public so that C++ wrapper instances can be
00076   // created for C instances of unwrapped types.
00077   // For instance, if an unexpected C type implements the C interface. 
00078   explicit Container(ClutterContainer* castitem);
00079 
00080 protected:
00081 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
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   // not sure the valist stuff is good to wrap in C++
00173   //clutter_container_add_valist
00174   //clutter_container_remove_valist
00175   //clutter_container_add
00176   //clutter_container_remove
00177 
00178   // clutter_container_get_children
00179 
00180  
00181   //gtkmmproc error: actor_added :  signal defs lookup failed
00182   //gtkmmproc error: actor_removed :  signal defs lookup failed
00183 
00184 protected:
00185 
00186   // Only useful as a protected method for derived implementations.
00187   
00193   void sort_depth_order();
00194 
00195   //gtkmmproc error: add :  vfunc defs lookup failed
00196   //gtkmmproc error: remove :  vfunc defs lookup failed
00197 
00198   //gtkmmproc error: foreach :  vfunc defs lookup failed
00199 
00200 
00201 public:
00202 
00203 public:
00204   //C++ methods used to invoke GTK+ virtual functions:
00205 #ifdef GLIBMM_VFUNCS_ENABLED
00206 #endif //GLIBMM_VFUNCS_ENABLED
00207 
00208 protected:
00209   //GTK+ Virtual Functions (override these to change behaviour):
00210 #ifdef GLIBMM_VFUNCS_ENABLED
00211 #endif //GLIBMM_VFUNCS_ENABLED
00212 
00213   //Default Signal Handlers::
00214 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00215 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00216 
00217 
00218 };
00219 
00220 } // namespace Clutter
00221 //vim: ts=2,sw=2
00222 
00223 
00224 namespace Glib
00225 {
00234   Glib::RefPtr<Clutter::Container> wrap(ClutterContainer* object, bool take_copy = false);
00235 
00236 } // namespace Glib
00237 
00238 
00239 #endif /* _CLUTTERMM_CONTAINER_H */
00240 

Generated on Fri Jun 6 02:18:31 2008 for cluttermm by  doxygen 1.5.5