script.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _CLUTTERMM_SCRIPT_H
00004 #define _CLUTTERMM_SCRIPT_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 <glibmm/object.h>
00027 #include <cluttermm/timeline.h>
00028 #include <clutter/clutter-script.h>
00029  
00030 
00031 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00032 typedef struct _ClutterScript ClutterScript;
00033 typedef struct _ClutterScriptClass ClutterScriptClass;
00034 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00035 
00036 
00037 namespace Clutter
00038 { class Script_Class; } // namespace Clutter
00039 namespace Clutter
00040 {
00041 
00042 
00043 class Script : public Glib::Object
00044 {
00045   
00046 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00047 
00048 public:
00049   typedef Script CppObjectType;
00050   typedef Script_Class CppClassType;
00051   typedef ClutterScript BaseObjectType;
00052   typedef ClutterScriptClass BaseClassType;
00053 
00054 private:  friend class Script_Class;
00055   static CppClassType script_class_;
00056 
00057 private:
00058   // noncopyable
00059   Script(const Script&);
00060   Script& operator=(const Script&);
00061 
00062 protected:
00063   explicit Script(const Glib::ConstructParams& construct_params);
00064   explicit Script(ClutterScript* castitem);
00065 
00066 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00067 
00068 public:
00069   virtual ~Script();
00070 
00071 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00072   static GType get_type()      G_GNUC_CONST;
00073   static GType get_base_type() G_GNUC_CONST;
00074 #endif
00075 
00077   ClutterScript*       gobj()       { return reinterpret_cast<ClutterScript*>(gobject_); }
00078 
00080   const ClutterScript* gobj() const { return reinterpret_cast<ClutterScript*>(gobject_); }
00081 
00083   ClutterScript* gobj_copy();
00084 
00085 private:
00086 
00087 
00088 protected:
00089   Script();
00090 
00091 public:
00092   
00093   static Glib::RefPtr<Script> create();
00094 
00095 
00096   // We don't support signal autoconnection in C++:
00097   
00098 
00111 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00112   guint load_from_data(const Glib::ustring& data);
00113 #else
00114   guint load_from_data(const Glib::ustring& data, std::auto_ptr<Glib::Error>& error);
00115 #endif
00116   
00126 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00127   guint load_from_file(const std::string& filename);
00128 #else
00129   guint load_from_file(const std::string& filename, std::auto_ptr<Glib::Error>& error);
00130 #endif //GLIBMM_EXCEPTIONS_ENABLED
00131 
00132 
00141   Glib::RefPtr<Glib::Object> get_object(const Glib::ustring& name);
00142   
00151   Glib::RefPtr<const Glib::Object> get_object(const Glib::ustring& name) const;
00152 
00153   //clutter_script_get_objects() is a varargs convenience function for C.
00154   
00155 
00161   void unmerge_object(guint merge_id);
00162   
00168   void ensure_objects();
00169 
00170   // TODO: connect_signals functions
00171   // TODO: do we need get_type_from_name()?
00172   // clutter_script_connect_signals() and clutter_script_connect_signals_full() seem to be like glade_xml_autoconnect(), 
00173   // and I don't see a way to implement them in C++. murrayc.
00174 
00175   
00184   static std::string get_script_id(const Glib::RefPtr<const Glib::Object>& object);
00185 
00186   #ifdef GLIBMM_PROPERTIES_ENABLED
00187 
00193   Glib::PropertyProxy_ReadOnly<std::string> property_filename() const;
00194 #endif //#GLIBMM_PROPERTIES_ENABLED
00195 
00196 
00197   #ifdef GLIBMM_PROPERTIES_ENABLED
00198 
00204   Glib::PropertyProxy_ReadOnly<bool> property_filename_set() const;
00205 #endif //#GLIBMM_PROPERTIES_ENABLED
00206 
00207 
00208 protected:
00209 
00210   
00211   // TODO: Make sure this is actually invoked even with disabled vfuncs so
00212   // that ClutterScript creates gtkmm's GObjects.
00213   virtual GType get_type_from_name_vfunc(const Glib::ustring& type_name);
00214 
00215 
00216 public:
00217 
00218 public:
00219   //C++ methods used to invoke GTK+ virtual functions:
00220 #ifdef GLIBMM_VFUNCS_ENABLED
00221 #endif //GLIBMM_VFUNCS_ENABLED
00222 
00223 protected:
00224   //GTK+ Virtual Functions (override these to change behaviour):
00225 #ifdef GLIBMM_VFUNCS_ENABLED
00226 #endif //GLIBMM_VFUNCS_ENABLED
00227 
00228   //Default Signal Handlers::
00229 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00230 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00231 
00232 
00233 };
00234 
00235 } // namespace Clutter
00236 
00237 
00238 namespace Glib
00239 {
00248   Glib::RefPtr<Clutter::Script> wrap(ClutterScript* object, bool take_copy = false);
00249 }
00250 
00251 
00252 #endif /* _CLUTTERMM_SCRIPT_H */
00253 

Generated on Mon Sep 15 05:42:28 2008 for cluttermm by  doxygen 1.5.6