macros.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef GCU_MACROS_H
00026 #define GCU_MACROS_H
00027
00028 #include <goffice/goffice.h>
00029
00050 #define GCU_PROP(type,member) \
00051 public: \
00052 void Set##member (type val) {m_##member = val;} \
00053 type Get##member (void) const {return m_##member;} \
00054 type &GetRef##member (void) {return m_##member;} \
00055 private: \
00056 type m_##member;
00057
00072 #define GCU_POINTER_PROP(type,member) \
00073 public: \
00074 void Set##member (type *val) {m_##member = val;} \
00075 type *Get##member (void) {return m_##member;} \
00076 type const *Get##member (void) const {return m_##member;} \
00077 private: \
00078 type *m_##member;
00079
00093 #define GCU_RO_PROP(type,member) \
00094 public: \
00095 type Get##member (void) const {return m_##member;} \
00096 private: \
00097 type m_##member;
00098
00112 #define GCU_RO_POINTER_PROP(type,member) \
00113 public: \
00114 type const *Get##member (void) const {return m_##member;} \
00115 private: \
00116 type *m_##member;
00117
00131 #define GCU_PROT_PROP(type,member) \
00132 public: \
00133 type Get##member (void) {return m_##member;} \
00134 protected: \
00135 type m_##member;
00136
00152 #define GCU_PROT_POINTER_PROP(type,member) \
00153 public: \
00154 type *Get##member (void) {return m_##member;} \
00155 type const *Get##member (void) const {return m_##member;} \
00156 protected: \
00157 type *m_##member;
00158
00168 #define go_conf_get_float go_conf_get_double
00169 #define GCU_GCONF_GET(key,type,target,defaultval) \
00170 target = go_conf_get_##type (m_ConfNode, key); \
00171 if (target == (type) 0) \
00172 target = defaultval;
00173
00181 #define GCU_GCONF_GET_NO_CHECK(key,type,target,defaultval) \
00182 target = go_conf_get_##type (m_ConfNode, key);
00183
00194 #define GCU_GCONF_GET_N_TRANSFORM(key,type,target,defaultval,func) \
00195 { \
00196 type val = go_conf_get_##type (m_ConfNode, key); \
00197 if (val == (type) 0) \
00198 val = defaultval; \
00199 target = func (val); \
00200 }
00201
00211 #define GCU_GCONF_GET_STRING(key,target,defaultval) \
00212 if (target) { \
00213 g_free (target); \
00214 target = NULL; \
00215 } \
00216 target = go_conf_get_string (m_ConfNode, key); \
00217 if (target == NULL && defaultval) \
00218 target = g_strdup (defaultval);
00219
00226 #define GCU_UPDATE_KEY(key,type,target,action) \
00227 if (!strcmp (name, ROOTDIR key)) { \
00228 target = go_conf_get_##type (node, ((node)? key: ROOTDIR key)); \
00229 action \
00230 return; \
00231 }
00232
00239 #define GCU_UPDATE_STRING_KEY(key,target,action) \
00240 if (!strcmp (name, ROOTDIR key)) { \
00241 target = go_conf_get_string (node, ((node)? key: ROOTDIR key)); \
00242 action \
00243 return; \
00244 }
00245
00246 #endif // GCU_MACROS_H