add support for common_prefix attribute to override prefix of enum values
authorJuerg Billeter <j@bitron.ch>
Sat, 19 Jan 2008 10:25:47 +0000 (10:25 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Sat, 19 Jan 2008 10:25:47 +0000 (10:25 +0000)
2008-01-19  Juerg Billeter  <j@bitron.ch>

* vapigen/valagidlparser.vala: add support for common_prefix
  attribute to override prefix of enum values

* vapi/packages/gdk-2.0/: fix GdkWindowClass binding,
  fixes bug 509967

* vapi/gdk-2.0.vapi: regenerated

svn path=/trunk/; revision=865

ChangeLog
vapi/gdk-2.0.vapi
vapi/packages/gdk-2.0/gdk-2.0.metadata
vapigen/valagidlparser.vala

index 41cc024..8782d78 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2008-01-19  Jürg Billeter  <j@bitron.ch>
 
+       * vapigen/valagidlparser.vala: add support for common_prefix
+         attribute to override prefix of enum values
+
+       * vapi/packages/gdk-2.0/: fix GdkWindowClass binding,
+         fixes bug 509967
+
+       * vapi/gdk-2.0.vapi: regenerated
+
+2008-01-19  Jürg Billeter  <j@bitron.ch>
+
        * vapi/packages/gtksourceview-2.0/: update to gtksourceview 2.1.0
 
        * vapi/gtksourceview-2.0.vapi: regenerated
index 581ef5f..8db0ff3 100644 (file)
@@ -396,10 +396,10 @@ namespace Gdk {
                TRUE_COLOR,
                DIRECT_COLOR,
        }
-       [CCode (cprefix = "GDK_INPUT_", cheader_filename = "gdk/gdk.h")]
+       [CCode (cprefix = "GDK_", cheader_filename = "gdk/gdk.h")]
        public enum WindowClass {
-               OUTPUT,
-               ONLY,
+               INPUT_OUTPUT,
+               INPUT_ONLY,
        }
        [CCode (cprefix = "GDK_WINDOW_EDGE_", cheader_filename = "gdk/gdk.h")]
        public enum WindowEdge {
index 611b2e0..3016ace 100644 (file)
@@ -23,6 +23,7 @@ gdk_rgb_find_color.color is_ref="1"
 gdk_screen_get_monitor_geometry.dest is_out="1"
 gdk_window_get_frame_extents.rect is_out="1"
 GdkWindowAttr is_value_type="1"
+GdkWindowClass common_prefix="GDK_"
 GdkWindowObject hidden="1"
 GdkWindowObjectClass hidden="1"
 
index 5710d49..07a6b1b 100644 (file)
@@ -712,7 +712,17 @@ public class Vala.GIdlParser : CodeVisitor {
                                common_prefix = common_prefix.ndup (common_prefix.size () - 1);
                        }
                }
-               
+
+               var en_attributes = get_attributes (node.name);
+               if (en_attributes != null) {
+                       foreach (string attr in en_attributes) {
+                               var nv = attr.split ("=", 2);
+                               if (nv[0] == "common_prefix") {
+                                       common_prefix = eval (nv[1]);
+                               }
+                       }
+               }
+
                en.set_cprefix (common_prefix);
                
                foreach (weak IdlNode value2 in en_node.values) {