New templates, can handle parents now
This commit is contained in:
parent
b99af17046
commit
4306ef8d88
|
@ -1,11 +1,10 @@
|
||||||
#include <glib-object.h>
|
#include "{namespace}-{template-}.h"
|
||||||
#include "gm-{template-}.h"
|
|
||||||
|
|
||||||
#define GM_{TEMPLATE}_GET_PRIVATE(object)( \
|
#define {NAMESPACE}_{TEMPLATE}_GET_PRIVATE(object)( \
|
||||||
G_TYPE_INSTANCE_GET_PRIVATE((object), \
|
G_TYPE_INSTANCE_GET_PRIVATE((object), \
|
||||||
GM_TYPE_{TEMPLATE}, Gm{Template}Private))
|
{NAMESPACE}_TYPE_{TEMPLATE}, {Namespace}{Template}Private))
|
||||||
|
|
||||||
struct _Gm{Template}Private {
|
struct _{Namespace}{Template}Private {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -16,44 +15,44 @@ enum {
|
||||||
NUM_SIGNALS
|
NUM_SIGNALS
|
||||||
};
|
};
|
||||||
|
|
||||||
static guint gm_{template_}_signals[NUM_SIGNALS] = {0};*/
|
static guint {namespace}_{template_}_signals[NUM_SIGNALS] = {0};*/
|
||||||
|
|
||||||
G_DEFINE_TYPE(Gm{Template}, gm_{template_}, G_TYPE_OBJECT)
|
G_DEFINE_TYPE({Namespace}{Template}, {namespace}_{template_}, {PARENT_NAMESPACE}_TYPE_{PARENT})
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gm_{template_}_finalize(GObject *object) {
|
{namespace}_{template_}_finalize(GObject *object) {
|
||||||
//Gm{Template} *obj = GM_{TEMPLATE}(object);
|
//{Namespace}{Template} *obj = {NAMESPACE}_{TEMPLATE}(object);
|
||||||
|
|
||||||
G_OBJECT_CLASS(gm_{template_}_parent_class)->finalize(object);
|
G_OBJECT_CLASS({namespace}_{template_}_parent_class)->finalize(object);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gm_{template_}_class_init(Gm{Template}Class *klass) {
|
{namespace}_{template_}_class_init({Namespace}{Template}Class *klass) {
|
||||||
GObjectClass *object_class = G_OBJECT_CLASS(klass);
|
GObjectClass *object_class = G_OBJECT_CLASS(klass);
|
||||||
|
|
||||||
object_class->finalize = gm_{template_}_finalize;
|
object_class->finalize = {namespace}_{template_}_finalize;
|
||||||
|
|
||||||
/*gm_{template_}_signals[PROTO] =
|
/*{namespace}_{template_}_signals[PROTO] =
|
||||||
g_signal_new("proto",
|
g_signal_new("proto",
|
||||||
G_OBJECT_CLASS_TYPE(object_class),
|
G_OBJECT_CLASS_TYPE(object_class),
|
||||||
G_SIGNAL_RUN_LAST,
|
G_SIGNAL_RUN_LAST,
|
||||||
G_STRUCT_OFFSET(Gm{Template}Class, proto),
|
G_STRUCT_OFFSET({Namespace}{Template}Class, proto),
|
||||||
NULL, NULL,
|
NULL, NULL,
|
||||||
g_cclosure_marshal_VOID__VOID,
|
g_cclosure_marshal_VOID__VOID,
|
||||||
G_TYPE_NONE,
|
G_TYPE_NONE,
|
||||||
0);*/
|
0);*/
|
||||||
|
|
||||||
g_type_class_add_private(object_class, sizeof(Gm{Template}Private));
|
g_type_class_add_private(object_class, sizeof({Namespace}{Template}Private));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gm_{template_}_init(Gm{Template} *obj) {
|
{namespace}_{template_}_init({Namespace}{Template} *obj) {
|
||||||
obj->priv = GM_{TEMPLATE}_GET_PRIVATE(obj);
|
obj->priv = {NAMESPACE}_{TEMPLATE}_GET_PRIVATE(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
Gm{Template} *
|
{Namespace}{Template} *
|
||||||
gm_{template_}_new() {
|
{namespace}_{template_}_new() {
|
||||||
Gm{Template} *obj = GM_{TEMPLATE}(g_object_new(GM_TYPE_{TEMPLATE}, NULL));
|
{Namespace}{Template} *obj = {NAMESPACE}_{TEMPLATE}(g_object_new({NAMESPACE}_TYPE_{TEMPLATE}, NULL));
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,56 +1,57 @@
|
||||||
#ifndef __GM_{TEMPLATE}_H__
|
#ifndef __{NAMESPACE}_{TEMPLATE}_H__
|
||||||
#define __GM_{TEMPLATE}_H__
|
#define __{NAMESPACE}_{TEMPLATE}_H__
|
||||||
|
|
||||||
#include <glib-object.h>
|
#include <glib-object.h>
|
||||||
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Type checking and casting macros
|
* Type checking and casting macros
|
||||||
*/
|
*/
|
||||||
#define GM_TYPE_{TEMPLATE} (gm_{template_}_get_type())
|
#define {NAMESPACE}_TYPE_{TEMPLATE} ({namespace}_{template_}_get_type())
|
||||||
#define GM_{TEMPLATE}(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \
|
#define {NAMESPACE}_{TEMPLATE}(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \
|
||||||
GM_TYPE_{TEMPLATE}, Gm{Template}))
|
{NAMESPACE}_TYPE_{TEMPLATE}, {Namespace}{Template}))
|
||||||
#define GM_{TEMPLATE}_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),\
|
#define {NAMESPACE}_{TEMPLATE}_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),\
|
||||||
GM_TYPE_{TEMPLATE}, Gm{Template} const))
|
{NAMESPACE}_TYPE_{TEMPLATE}, {Namespace}{Template} const))
|
||||||
#define GM_{TEMPLATE}_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), \
|
#define {NAMESPACE}_{TEMPLATE}_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), \
|
||||||
GM_TYPE_{TEMPLATE}, Gm{Template}Class))
|
{NAMESPACE}_TYPE_{TEMPLATE}, {Namespace}{Template}Class))
|
||||||
#define GM_IS_{TEMPLATE}(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
|
#define {NAMESPACE}_IS_{TEMPLATE}(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
|
||||||
GM_TYPE_{TEMPLATE}))
|
{NAMESPACE}_TYPE_{TEMPLATE}))
|
||||||
#define GM_IS_{TEMPLATE}_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \
|
#define {NAMESPACE}_IS_{TEMPLATE}_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \
|
||||||
GM_TYPE_{TEMPLATE}))
|
{NAMESPACE}_TYPE_{TEMPLATE}))
|
||||||
#define GM_{TEMPLATE}_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), \
|
#define {NAMESPACE}_{TEMPLATE}_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), \
|
||||||
GM_TYPE_{TEMPLATE}, Gm{Template}Class))
|
{NAMESPACE}_TYPE_{TEMPLATE}, {Namespace}{Template}Class))
|
||||||
|
|
||||||
/* Private structure type */
|
/* Private structure type */
|
||||||
typedef struct _Gm{Template}Private Gm{Template}Private;
|
typedef struct _{Namespace}{Template}Private {Namespace}{Template}Private;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Main object structure
|
* Main object structure
|
||||||
*/
|
*/
|
||||||
typedef struct _Gm{Template} Gm{Template};
|
typedef struct _{Namespace}{Template} {Namespace}{Template};
|
||||||
|
|
||||||
struct _Gm{Template} {
|
struct _{Namespace}{Template} {
|
||||||
GObject parent;
|
{Parent_Namespace}{Parent} parent;
|
||||||
|
|
||||||
/*< private > */
|
/*< private > */
|
||||||
Gm{Template}Private *priv;
|
{Namespace}{Template}Private *priv;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class definition
|
* Class definition
|
||||||
*/
|
*/
|
||||||
typedef struct _Gm{Template}Class Gm{Template}Class;
|
typedef struct _{Namespace}{Template}Class {Namespace}{Template}Class;
|
||||||
|
|
||||||
struct _Gm{Template}Class {
|
struct _{Namespace}{Template}Class {
|
||||||
GObjectClass parent_class;
|
{Parent_Namespace}{Parent}Class parent_class;
|
||||||
|
|
||||||
/* Signals
|
/* Signals
|
||||||
void (* proto) (Gm{Template} *obj); */
|
void (* proto) ({Namespace}{Template} *obj); */
|
||||||
};
|
};
|
||||||
|
|
||||||
GType gm_{template_}_get_type(void) G_GNUC_CONST;
|
GType {namespace}_{template_}_get_type(void) G_GNUC_CONST;
|
||||||
Gm{Template} *gm_{template_}_new(void);
|
{Namespace}{Template} *{namespace}_{template_}_new(void);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
#endif /* __GM_{TEMPLATE}_H__ */
|
#endif /* __{NAMESPACE}_{TEMPLATE}_H__ */
|
||||||
|
|
Reference in New Issue