macros.h File Reference

#include <goffice/goffice.h>

Go to the source code of this file.

Defines

#define GCU_PROP(type, member)
#define GCU_POINTER_PROP(type, member)
#define GCU_RO_PROP(type, member)
#define GCU_RO_POINTER_PROP(type, member)
#define GCU_PROT_PROP(type, member)
#define GCU_PROT_POINTER_PROP(type, member)
#define GCU_GCONF_GET(key, type, target, defaultval)
#define GCU_GCONF_GET_NO_CHECK(key, type, target, defaultval)   target = go_conf_get_##type (m_ConfNode, key);
#define GCU_GCONF_GET_N_TRANSFORM(key, type, target, defaultval, func)
#define GCU_GCONF_GET_STRING(key, target, defaultval)
#define GCU_UPDATE_KEY(key, type, target, action)
#define GCU_UPDATE_STRING_KEY(key, target, action)


Detailed Description

Definition in file macros.h.


Define Documentation

#define GCU_GCONF_GET ( key,
type,
target,
defaultval   ) 

Value:

target = go_conf_get_##type (m_ConfNode, key); \
        if (target == (type) 0) \
                target = defaultval;
This macro gets the numerical value of type type associated to key, and copies it to target. If an error occurs or if the value is 0, defaultval is used instead.
If the GOConf mechanism is available in goffice (>= 0.7.0), calling class must have a GOConfNode called m_ConfNode, and the code must provide a GError *error initially set to NULL (GConf version only). The real key is obtained by appending the value of ROOTDIR to key.

Definition at line 169 of file macros.h.

#define GCU_GCONF_GET_N_TRANSFORM ( key,
type,
target,
defaultval,
func   ) 

Value:

{       \
                type val = go_conf_get_##type (m_ConfNode, key); \
                if (val == (type) 0)    \
                        val = defaultval; \
                target = func (val);    \
        }
This macro gets the numerical value of type type associated to key. If an error occurs or if the value is 0, defaultval is used instead.
The resuting value (which might be the default value) is then passed to func and the result is copied to target.
If the GOConf mechanism is available in goffice (>= 0.7.0), calling class must have a GOConfNode called m_ConfNode, and the code must provide a GError *error initially set to NULL (GConf version only). The real key is obtained by appending the value of ROOTDIR to key.

Definition at line 194 of file macros.h.

#define GCU_GCONF_GET_NO_CHECK ( key,
type,
target,
defaultval   )     target = go_conf_get_##type (m_ConfNode, key);

This macro gets the numerical value of type type associated to key, and copies it to target. If an error occurs, defaultval is used instead.
If the GOConf mechanism is available in goffice (>= 0.7.0), calling class must have a GOConfNode called m_ConfNode, and the code must provide a GError *error initially set to NULL (GConf version only). The real key is obtained by appending the value of ROOTDIR to key.

Definition at line 181 of file macros.h.

#define GCU_GCONF_GET_STRING ( key,
target,
defaultval   ) 

Value:

if (target) {   \
                g_free (target);        \
                target = NULL;  \
        }       \
        target = go_conf_get_string (m_ConfNode, key); \
        if (target == NULL && defaultval)       \
                target = g_strdup (defaultval);
This macro gets the string value associated to key, and copies it to target. If an error occurs, defaultval is used instead.
If target is not NULL when entering the macro, it is deallocated using g_free and set to NULL before calling gconf_client_get_string.
Calling class must have a GOConfNode called m_ConfNode, and the code must provide a GError *error initially set to NULL. The real key is obtained by appending the value of ROOTDIR to key.

Definition at line 211 of file macros.h.

#define GCU_POINTER_PROP ( type,
member   ) 

Value:

public: \
        void Set##member (type *val) {m_##member = val;}        \
        type *Get##member (void) {return m_##member;}   \
        type const *Get##member (void) const {return m_##member;}       \
private:        \
        type *m_##member;
Defines a private pointer member with appropriate get/set methods. GCU_POINTER_PROP((Type,Foo) expands to one private member:
        Type *m_Foo;

and three public methods:

        void SetFoo(Type *val);
        Type *GetFoo();
        Type const *GetFoo() const;

Definition at line 72 of file macros.h.

#define GCU_PROP ( type,
member   ) 

Value:

public: \
        void Set##member (type val) {m_##member = val;} \
        type Get##member (void) const {return m_##member;}      \
        type &GetRef##member (void) {return m_##member;}        \
private:        \
        type m_##member;
Defines a private member with appropriate get/set methods. GCU_PROP((Type,Foo) expands to one private member:
        Type m_Foo;

and three public methods:

        void SetFoo(Type val);
        Type GetFoo();
        Type& GetRefFoo();

The last one allows code as:

        obj.GetRefFoo() = val;

Definition at line 50 of file macros.h.

#define GCU_PROT_POINTER_PROP ( type,
member   ) 

Value:

public: \
        type *Get##member (void) {return m_##member;}   \
        type const *Get##member (void) const {return m_##member;}       \
protected:      \
        type *m_##member;
Defines a private pointer member with an appropriate get method. The member can be modified the class it belongs too or a friend class or a derived class. The data referenced by the pointer can be modified if the class instance is not const. GCU_PROT_POINTER_PROP((Type,Foo) expands to one private member:
        Type *m_Foo;

and two public methods:

        Type *GetFoo();
        Type const *GetFoo() const;

Definition at line 152 of file macros.h.

#define GCU_PROT_PROP ( type,
member   ) 

Value:

public: \
        type Get##member (void) {return m_##member;}    \
protected:      \
        type m_##member;
Defines a protected member with an appropriate get method. The member can be modified the class it belongs too or a friend class or a derived class. GCU_PROT_PROP(Type,Foo) expands to one protected member:
        Type m_Foo;

and one public method:

        Type GetFoo();

Definition at line 131 of file macros.h.

#define GCU_RO_POINTER_PROP ( type,
member   ) 

Value:

public: \
        type const *Get##member (void) const {return m_##member;}       \
private:        \
        type *m_##member;
Defines a private pointer member an with appropriate get method. RO stands for Read Only. The member can't be modified from outside the class it belongs too or a friend class. GCU_RO_POINTER_PROP((Type,Foo) expands to one private member:
        Type *m_Foo;

and one public methods:

        Type const *GetFoo() const;

Definition at line 112 of file macros.h.

#define GCU_RO_PROP ( type,
member   ) 

Value:

public: \
        type Get##member (void) const {return m_##member;}      \
private:        \
        type m_##member;
Defines a private member with an appropriate get method. RO stands for Read Only. The member can't be modified from outside the class it belongs too or a friend class. GCU_RO_PROP(Type,Foo) expands to one private member:
        Type m_Foo;

and one public method:

        Type GetFoo() const;

Definition at line 93 of file macros.h.

#define GCU_UPDATE_KEY ( key,
type,
target,
action   ) 

Value:

if (!strcmp (name, ROOTDIR key)) { \
                target = go_conf_get_##type (node, ((node)? key: ROOTDIR key)); \
                action \
                return; \
        }
This macro updates a value of type type associated to key, and copies it to target. action is called after setting the target? It also needs a GOConfNode* called node. The real key is obtained by appending the value of ROOTDIR to key.

Definition at line 226 of file macros.h.

#define GCU_UPDATE_STRING_KEY ( key,
target,
action   ) 

Value:

if (!strcmp (name, ROOTDIR key)) { \
                target = go_conf_get_string (node, ((node)? key: ROOTDIR key)); \
                action \
                return; \
        }
This macro updates a string value associated to key, and copies it to target. action is called after setting the target? It also needs a GOConfNode* called node. The real key is obtained by appending the value of ROOTDIR to key.

Definition at line 239 of file macros.h.


Generated on Fri Sep 24 15:58:42 2010 for The Gnome Chemistry Utils by  doxygen 1.5.9