|
UniWidgets
1.0.0
|
00001 #ifndef _MACROS_GLADE_H 00002 #define _MACROS_GLADE_H 00003 00004 #include <gladeui/glade.h> 00005 #include <uwidgets/UWidgets.h> 00006 #include <usvgwidgets/USVGWidgets.h> 00007 #include <objects/Objects.h> 00008 #include <components/Components.h> 00009 #include <typical/Typical.h> 00010 00011 using namespace UniWidgets; 00012 00013 static void gw_set_default(GladeWidget *gw) 00014 { 00015 /* HACK to set default values from catalog 00016 * It isn't set for some reason 00017 * I hope later we will find the problem 00018 */ 00019 00020 GList *l; 00021 00022 for (l = gw->properties; l && l->data; l = l->next) 00023 { 00024 GladeProperty *prop = GLADE_PROPERTY(l->data); 00025 glade_widget_property_reset (gw, prop->klass->id); 00026 } 00027 } 00028 00029 00030 #define GLADE_UVOID_FUNCS(uname, cname)\ 00031 extern "C" GType cname##_get_type(); \ 00032 extern "C" void cname##_wrap_new(GObject* object);\ 00033 \ 00034 void cname##_init()\ 00035 {\ 00036 UObj_Get_Type<uname>();\ 00037 }\ 00038 \ 00039 extern "C" GType gtkmm___custom_object_##cname##_get_type()\ 00040 {\ 00041 GType type = UObj_Get_Type<uname>();\ 00042 return type;\ 00043 }\ 00044 \ 00045 extern "C" void cname##_postcreate(GladeWidgetAdaptor *adaptor, GObject *object, GladeCreateReason reason)\ 00046 {\ 00047 uwrap<uname>(object);\ 00048 if (reason == GLADE_CREATE_USER)\ 00049 {\ 00050 GladeWidget* gw = glade_widget_get_from_gobject(object);\ 00051 gw_set_default(gw);\ 00052 }\ 00053 } 00054 00055 #define GLADE_DEFAULT_FUNCS(name, cname)\ 00056 extern "C" GType cname##_get_type(); \ 00057 extern "C" void cname##_wrap_new(GObject* object);\ 00058 \ 00059 void cname##_init()\ 00060 {\ 00061 Obj_Get_Type<name>();\ 00062 }\ 00063 \ 00064 extern "C" GType gtkmm___custom_object_##cname##_get_type()\ 00065 {\ 00066 GType type = Obj_Get_Type<name>();\ 00067 return type;\ 00068 }\ 00069 \ 00070 extern "C" void cname##_postcreate(GladeWidgetAdaptor *adaptor, GObject *object, GladeCreateReason reason)\ 00071 {\ 00072 uwrap<name>(object);\ 00073 if (reason == GLADE_CREATE_USER)\ 00074 {\ 00075 GladeWidget* gw = glade_widget_get_from_gobject(object);\ 00076 gw_set_default(gw);\ 00077 }\ 00078 } 00079 00080 #define GLADE_SIMPLEOBJECT_FUNCS(uname, cname)\ 00081 extern "C" GType cname##_get_type(); \ 00082 extern "C" void cname##_wrap_new(GObject* object);\ 00083 \ 00084 void cname##_init()\ 00085 {\ 00086 SimpleObject_Get_Type<uname>();\ 00087 }\ 00088 \ 00089 extern "C" GType gtkmm___custom_object_##cname##_get_type()\ 00090 {\ 00091 GType type = SimpleObject_Get_Type<uname>();\ 00092 return type;\ 00093 }\ 00094 \ 00095 extern "C" void cname##_postcreate(GladeWidgetAdaptor *adaptor, GObject *object, GladeCreateReason reason)\ 00096 {\ 00097 uwrap<uname>(object);\ 00098 if (reason == GLADE_CREATE_USER)\ 00099 {\ 00100 GladeWidget* gw = glade_widget_get_from_gobject(object);\ 00101 gw_set_default(gw);\ 00102 }\ 00103 } 00104 00105 #define GLADE_GROUPOBJECT_FUNCS(uname, cname)\ 00106 extern "C" GType cname##_get_type(); \ 00107 extern "C" void cname##_wrap_new(GObject* object);\ 00108 \ 00109 void cname##_init()\ 00110 {\ 00111 GroupObject_Get_Type<uname>();\ 00112 }\ 00113 \ 00114 extern "C" GType gtkmm___custom_object_##cname##_get_type()\ 00115 {\ 00116 GType type = GroupObject_Get_Type<uname>();\ 00117 return type;\ 00118 }\ 00119 \ 00120 extern "C" void cname##_postcreate(GladeWidgetAdaptor *adaptor, GObject *object, GladeCreateReason reason)\ 00121 {\ 00122 uwrap<uname>(object);\ 00123 if (reason == GLADE_CREATE_USER)\ 00124 {\ 00125 GladeWidget* gw = glade_widget_get_from_gobject(object);\ 00126 gw_set_default(gw);\ 00127 }\ 00128 } 00129 00130 #endif
1.7.6.1