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/gtktemplate.h

57 lines
1.4 KiB
C

#ifndef __GM_{TEMPLATE}_H__
#define __GM_{TEMPLATE}_H__
#include <gtk/gtk.h>
G_BEGIN_DECLS
/*
* Type checking and casting macros
*/
#define GM_TYPE_{TEMPLATE} (gm_{template_}_get_type())
#define GM_{TEMPLATE}(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \
GM_TYPE_{TEMPLATE}, Gm{Template}))
#define GM_{TEMPLATE}_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \
GM_TYPE_{TEMPLATE}, Gm{Template} const))
#define GM_{TEMPLATE}_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), \
GM_TYPE_{TEMPLATE}, Gm{Template}Class))
#define GM_IS_{TEMPLATE}(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
GM_TYPE_{TEMPLATE}))
#define GM_IS_{TEMPLATE}_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \
GM_TYPE_{TEMPLATE}))
#define GM_{TEMPLATE}_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), \
GM_TYPE_{TEMPLATE}, Gm{Template}Class))
/* Private structure type */
typedef struct _Gm{Template}Private Gm{Template}Private;
/*
* Main object structure
*/
typedef struct _Gm{Template} Gm{Template};
struct _Gm{Template} {
Gtk{Parent} parent;
/*< private > */
Gm{Template}Private *priv;
};
/*
* Class definition
*/
typedef struct _Gm{Template}Class Gm{Template}Class;
struct _Gm{Template}Class {
Gtk{Parent}Class parent_class;
/* Signals
void (* proto) (Gm{Template} *obj); */
};
GType gm_{template_}_get_type(void) G_GNUC_CONST;
Gm{Template} *gm_{template_}_new(void);
G_END_DECLS
#endif /* __GM_{TEMPLATE}_H__ */