GB_BASE
typedef
struct {
GB_CLASS klass;
intptr_t ref;
}
GB_BASE;
This structure represents the base of every Gambas object.
It must be placed in the beginning of all object structure defined
in a component.
-
The klass field is the class of the object.
-
The ref field is its reference counter.
Do not touch them ! They are managed by the interpreter.
Examples
/* Here is the definition of a Control object in the =gb.qt4= component */
typedef
struct CWIDGET {
GB_BASE ob;
QWidget *widget;
struct {
unsigned short f;
unsigned expand : 1;
unsigned ignore : 1;
unsigned notified : 1;
unsigned visible : 1;
unsigned fillBackground : 1;
unsigned noBackground : 1;
unsigned shown : 1;
unsigned tracking : 1;
unsigned old_tracking : 1;
unsigned grab : 1;
unsigned dragging: 1;
unsigned _reserved : 5;
} flag;
GB_VARIANT_VALUE tag;
char *name;
void *cursor;
void *font;
char *popup;
void *proxy;
void *proxy_for;
char *action;
int level;
int fg;
int bg;
}
CWIDGET;