This repository has been archived on 2020-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
gnoemoe/gnoemoe/template.c

59 lines
1.5 KiB
C
Raw Permalink Normal View History

2005-11-15 13:03:14 +01:00
#include "{namespace}-{template-}.h"
2005-11-07 10:56:25 +01:00
2005-11-15 13:03:14 +01:00
#define {NAMESPACE}_{TEMPLATE}_GET_PRIVATE(object)( \
2005-11-07 10:56:25 +01:00
G_TYPE_INSTANCE_GET_PRIVATE((object), \
2005-11-15 13:03:14 +01:00
{NAMESPACE}_TYPE_{TEMPLATE}, {Namespace}{Template}Private))
2005-11-07 10:56:25 +01:00
2005-11-15 13:03:14 +01:00
struct _{Namespace}{Template}Private {
2005-11-07 10:56:25 +01:00
};
/* Signals
enum {
PROTO
NUM_SIGNALS
};
2005-11-15 13:03:14 +01:00
static guint {namespace}_{template_}_signals[NUM_SIGNALS] = {0};*/
2005-11-07 10:56:25 +01:00
2005-11-15 13:03:14 +01:00
G_DEFINE_TYPE({Namespace}{Template}, {namespace}_{template_}, {PARENT_NAMESPACE}_TYPE_{PARENT})
2005-11-07 10:56:25 +01:00
static void
2005-11-15 13:03:14 +01:00
{namespace}_{template_}_finalize(GObject *object) {
//{Namespace}{Template} *obj = {NAMESPACE}_{TEMPLATE}(object);
2005-11-07 10:56:25 +01:00
2005-11-15 13:03:14 +01:00
G_OBJECT_CLASS({namespace}_{template_}_parent_class)->finalize(object);
2005-11-07 10:56:25 +01:00
}
static void
2005-11-15 13:03:14 +01:00
{namespace}_{template_}_class_init({Namespace}{Template}Class *klass) {
2005-11-07 10:56:25 +01:00
GObjectClass *object_class = G_OBJECT_CLASS(klass);
2005-11-15 13:03:14 +01:00
object_class->finalize = {namespace}_{template_}_finalize;
2005-11-07 10:56:25 +01:00
2005-11-15 13:03:14 +01:00
/*{namespace}_{template_}_signals[PROTO] =
2005-11-07 10:56:25 +01:00
g_signal_new("proto",
G_OBJECT_CLASS_TYPE(object_class),
G_SIGNAL_RUN_LAST,
2005-11-15 13:03:14 +01:00
G_STRUCT_OFFSET({Namespace}{Template}Class, proto),
2005-11-07 10:56:25 +01:00
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE,
0);*/
2005-11-15 13:03:14 +01:00
g_type_class_add_private(object_class, sizeof({Namespace}{Template}Private));
2005-11-07 10:56:25 +01:00
}
static void
2005-11-15 13:03:14 +01:00
{namespace}_{template_}_init({Namespace}{Template} *obj) {
obj->priv = {NAMESPACE}_{TEMPLATE}_GET_PRIVATE(obj);
2005-11-07 10:56:25 +01:00
}
2005-11-15 13:03:14 +01:00
{Namespace}{Template} *
{namespace}_{template_}_new() {
{Namespace}{Template} *obj = {NAMESPACE}_{TEMPLATE}(g_object_new({NAMESPACE}_TYPE_{TEMPLATE}, NULL));
2005-11-07 10:56:25 +01:00
return obj;
}