[monet] [mn-types] add MnState and MnFlags enum types
- From: Thomas Wood <thos src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [monet] [mn-types] add MnState and MnFlags enum types
- Date: Thu, 30 Jul 2009 22:02:07 +0000 (UTC)
commit 9c24e5cd966599b709217c997d0efcf2819f2ebb
Author: Thomas Wood <thos gnome org>
Date: Thu Jul 30 22:57:26 2009 +0100
[mn-types] add MnState and MnFlags enum types
Add two new enum type definitions and include the relevant Makefile rules
to add the new types to the glib type system.
configure.ac | 1 +
monet/Makefile.am | 41 ++++++++++++++++++++++++++++++++++++++++-
monet/mn-enum-types.c.in | 30 ++++++++++++++++++++++++++++++
monet/mn-enum-types.h.in | 29 +++++++++++++++++++++++++++++
monet/mn-types.h | 24 ++++++++++++++++++++++++
5 files changed, 124 insertions(+), 1 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 552994e..8b00038 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,6 +10,7 @@ AM_PROG_CC_STDC
AC_HEADER_STDC
AM_PROG_LIBTOOL
+AM_PATH_GLIB_2_0
PKG_CHECK_MODULES(MONET, [cairo glib-2.0 gobject-2.0])
AC_SUBST(MONET_LIBS)
diff --git a/monet/Makefile.am b/monet/Makefile.am
index 7d855ef..0d5343e 100644
--- a/monet/Makefile.am
+++ b/monet/Makefile.am
@@ -1,7 +1,46 @@
AM_CFLAGS = $(MONET_CFLAGS) -Wall
+BUILT_SOURCES = \
+ mn-enum-types.h \
+ mn-enum-types.c
+
+STAMP_FILES = \
+ stamp-mn-enum-types.h
+
+source_h = \
+ mn-types.h \
+ monet.h
+
+mn-enum-types.h: stamp-mn-enum-types.h Makefile
+ @true
+stamp-mn-enum-types.h: $(source_h) mn-enum-types.h.in
+ ( cd $(srcdir) && \
+ $(GLIB_MKENUMS) \
+ --template mn-enum-types.h.in \
+ $(source_h) ) >> xgen-teth && \
+ (cmp -s xgen-teth mn-enum-types.h || cp xgen-teth mn-enum-types.h) && \
+ rm -f xgen-teth && \
+ echo timestamp > $(@F)
+
+mn-enum-types.c: stamp-mn-enum-types.h mn-enum-types.c.in
+ ( cd $(srcdir) && \
+ $(GLIB_MKENUMS) \
+ --template mn-enum-types.c.in \
+ $(source_h) ) >> xgen-tetc && \
+ cp xgen-tetc mn-enum-types.c && \
+ rm -f xgen-tetc
+
+
lib_LTLIBRARIES = libmonet.la
-libmonet_la_SOURCES = monet.c
+libmonet_la_SOURCES = $(source_h) monet.c
libmonet_la_LIBADD = $(MONET_LIBS)
+monetincludedir = $(includedir)/monet-1.0/monet
+monetinclude_DATA = \
+ $(source_h) \
+ $(top_builddir)/monet/mn-enum-types.h
+
+EXTRA_DIST = $(BUILT_SOURCES)
+CLEANFILES = $(BUILT_SOURCES) $(STAMP_FILES)
+
-include $(top_srcdir)/git.mk
diff --git a/monet/mn-enum-types.c.in b/monet/mn-enum-types.c.in
new file mode 100644
index 0000000..47c9841
--- /dev/null
+++ b/monet/mn-enum-types.c.in
@@ -0,0 +1,30 @@
+/*** BEGIN file-header ***/
+#include "mn-enum-types.h"
+/*** END file-header ***/
+
+/*** BEGIN file-production ***/
+/* enumerations from "@filename@" */
+#include "@filename@"
+/*** END file-production ***/
+
+/*** BEGIN value-header ***/
+GType
+ enum_name@_get_type(void) {
+ static GType enum_type_id = 0;
+ if (G_UNLIKELY (!enum_type_id))
+ {
+ static const G Type@Value values[] = {
+/*** END value-header ***/
+
+/*** BEGIN value-production ***/
+ { @VALUENAME@, "@VALUENAME@", "@valuenick@" },
+/*** END value-production ***/
+
+/*** BEGIN value-tail ***/
+ { 0, NULL, NULL }
+ };
+ enum_type_id = g_ type@_register_static (g_intern_static_string ("@EnumName@"), values);
+ }
+ return enum_type_id;
+}
+/*** END value-tail ***/
diff --git a/monet/mn-enum-types.h.in b/monet/mn-enum-types.h.in
new file mode 100644
index 0000000..c7d1b6c
--- /dev/null
+++ b/monet/mn-enum-types.h.in
@@ -0,0 +1,29 @@
+/*** BEGIN file-header ***/
+#if !defined(NBTK_H_INSIDE) && !defined(NBTK_COMPILATION)
+#error "Only <monet/monet.h> can be included directly.h"
+#endif
+
+#ifndef __NBTK_ENUM_TYPES_H__
+#define __NBTK_ENUM_TYPES_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+/*** END file-header ***/
+
+/*** BEGIN file-production ***/
+/* enumerations from "@filename@" */
+/*** END file-production ***/
+
+/*** BEGIN file-tail ***/
+G_END_DECLS
+
+#endif /* !__NBTK_ENUM_TYPES_H__ */
+/*** END file-tail ***/
+
+/*** BEGIN value-header ***/
+GType @enum_name _get_type (void) G_GNUC_CONST;
+#define NBTK_TYPE_ ENUMSHORT@ (@enum_name _get_type())
+
+/*** END value-header ***/
diff --git a/monet/mn-types.h b/monet/mn-types.h
new file mode 100644
index 0000000..663dbd3
--- /dev/null
+++ b/monet/mn-types.h
@@ -0,0 +1,24 @@
+/*
+ * mn-types.h: type definitions used in monet
+ *
+ * Author: Thomas Wood <thos gnome org>
+ */
+
+#ifndef NM_TYPES_H
+#define MN_TYPES_H
+
+typedef enum
+{
+ MN_STATE_NORMAL,
+ MN_STATE_HOVER,
+ MN_STATE_ACTIVE,
+ MN_STATE_DISABLED
+} MnState;
+
+typedef enum
+{
+ MN_FLAGS_FOCUS = 1 << 0,
+ MN_FLAGS_CHECKED = 1 << 1
+} MnFlags;
+
+#endif /* NM_TYPES_H */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]