[monet] [mn-types] add MnState and MnFlags enum types



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]