The Gnome Chemistry Utils 0.13.3
Defines
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_STATIC_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 188 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 213 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 200 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 230 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 171 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 150 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 to 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 131 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 to 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_RO_STATIC_PROP (   type,
  member 
)
Value:
public: \
        type Get##member (void) const {return m_##member;}      \
private:        \
        static type m_##member;

Defines a static private member with an appropriate get method. RO stands for Read Only. The member can't be modified from outside the class it belongs to or a friend class. GCU_RO_STATIC_PROP(Type,Foo) expands to one private member:

        static Type m_Foo;

and one public method:

        Type GetFoo() const;

Definition at line 112 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 245 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 258 of file macros.h.