00001
00002
00003 #ifndef _CLUTTERMM_SCRIPT_H
00004 #define _CLUTTERMM_SCRIPT_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 <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
00035
00036
00037 namespace Clutter
00038 { class Script_Class; }
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
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
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
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
00154
00155
00161 void unmerge_object(guint merge_id);
00162
00168 void ensure_objects();
00169
00170
00171
00172
00173
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
00212
00213 virtual GType get_type_from_name_vfunc(const Glib::ustring& type_name);
00214
00215
00216 public:
00217
00218 public:
00219
00220 #ifdef GLIBMM_VFUNCS_ENABLED
00221 #endif //GLIBMM_VFUNCS_ENABLED
00222
00223 protected:
00224
00225 #ifdef GLIBMM_VFUNCS_ENABLED
00226 #endif //GLIBMM_VFUNCS_ENABLED
00227
00228
00229 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00230 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00231
00232
00233 };
00234
00235 }
00236
00237
00238 namespace Glib
00239 {
00248 Glib::RefPtr<Clutter::Script> wrap(ClutterScript* object, bool take_copy = false);
00249 }
00250
00251
00252 #endif
00253