[Gd-chatter] r11359 - in branches/opendylan-melange: gtk gtk-c-ffi gtk-hello-world melange registry/generic
hannes at gwydiondylan.org
hannes at gwydiondylan.org
Sat May 19 21:43:21 CEST 2007
Author: hannes
Date: Sat May 19 21:43:18 2007
New Revision: 11359
Added:
branches/opendylan-melange/gtk/
branches/opendylan-melange/gtk/gtk-module.dylan (contents, props changed)
branches/opendylan-melange/gtk/gtk.dylan (contents, props changed)
branches/opendylan-melange/gtk/gtk.hdp (contents, props changed)
branches/opendylan-melange/gtk/library.dylan (contents, props changed)
branches/opendylan-melange/gtk/module.dylan (contents, props changed)
branches/opendylan-melange/gtk/properties-module.dylan (contents, props changed)
branches/opendylan-melange/gtk/properties.dylan (contents, props changed)
branches/opendylan-melange/gtk/support.c (contents, props changed)
- copied, changed from r11354, branches/opendylan-melange/gtk-hello-world/support.c
branches/opendylan-melange/registry/generic/gtk (contents, props changed)
Removed:
branches/opendylan-melange/gtk-hello-world/support.c
Modified:
branches/opendylan-melange/gtk-c-ffi/gtk-2-10-win32.dylan
branches/opendylan-melange/gtk-hello-world/gtk-hello-world-win32.hdp
branches/opendylan-melange/gtk-hello-world/gtk-hello-world.dylan
branches/opendylan-melange/gtk-hello-world/library.dylan
branches/opendylan-melange/gtk-hello-world/module.dylan
branches/opendylan-melange/melange/c-decl-write-c-ffi.dylan
Log:
job: fd
* Refactoring of GTK support code from hello-world to library gtk
* Add property support.
Modified: branches/opendylan-melange/gtk-c-ffi/gtk-2-10-win32.dylan
==============================================================================
--- branches/opendylan-melange/gtk-c-ffi/gtk-2-10-win32.dylan (original)
+++ branches/opendylan-melange/gtk-c-ffi/gtk-2-10-win32.dylan Sat May 19 21:43:18 2007
@@ -239,7 +239,7 @@
define constant <anonymous-1507<@2>> = <anonymous-1507>;
define C-struct <_GValue>
slot GValue-g-type :: <C-unsigned-long>;
- slot GValue-data :: <anonymous-1507<@2>>;
+ array slot GValue-data :: <anonymous-1507>, length: 2;
end;
define C-pointer-type <GValue> => <_GValue>;
@@ -271,7 +271,7 @@
slot GObjectClass-finalize :: <anonymous-1657>;
slot GObjectClass-dispatch-properties-changed :: <anonymous-1658>;
slot GObjectClass-notify :: <anonymous-1659>;
- slot GObjectClass-pdummy :: <gpointer<@8>>;
+ array slot GObjectClass-pdummy :: <gpointer>, length: 8;
end;
define C-pointer-type <GInitiallyUnownedClass> => <_GObjectClass>;
@@ -4130,9 +4130,7 @@
define constant $G-MAXUINT16 = 65535;
-//define constant $G-MAXUINT32 = #ex00000000FFFFFFFF;
-//define constant $G-MAXINT64 = #ex7FFFFFFFFFFFFFFF;
define constant $G-LITTLE-ENDIAN = 1234;
@@ -4165,17 +4163,11 @@
define constant $G-MAXUSHORT = 65535;
-//define constant $G-MININT = #exFFFFFFFF80000000;
-//define constant $G-MAXINT = #ex000000007FFFFFFF;
-//define constant $G-MAXUINT = #ex00000000FFFFFFFF;
-//define constant $G-MINLONG = #exFFFFFFFF80000000;
-//define constant $G-MAXLONG = #ex000000007FFFFFFF;
-//define constant $G-MAXULONG = #ex00000000FFFFFFFF;
define constant $G-GINT16-MODIFIER = "h";
@@ -4209,7 +4201,6 @@
define constant $G-GSIZE-FORMAT = "u";
-//define constant $G-MAXSIZE = #ex00000000FFFFFFFF;
define constant $GLIB-MAJOR-VERSION = 2;
@@ -4404,11 +4395,8 @@
define constant $USHRT-MAX = 65535;
-//define constant $INT-MIN = #exFFFFFFFF80000000;
-//define constant $INT-MAX = #ex000000007FFFFFFF;
-//define constant $UINT-MAX = #ex00000000FFFFFFFF;
@@ -9947,7 +9935,7 @@
slot GIOChannel-read-buf :: <GString>;
slot GIOChannel-encoded-read-buf :: <GString>;
slot GIOChannel-write-buf :: <GString>;
- slot GIOChannel-partial-write-buf :: <gchar<@6>>;
+ array slot GIOChannel-partial-write-buf :: <gchar>, length: 6;
bitfield slot GIOChannel-use-buffer :: <C-int>, width: 1;
bitfield slot GIOChannel-do-encode :: <C-int>, width: 1;
bitfield slot GIOChannel-close-on-unref :: <C-int>, width: 1;
@@ -10485,7 +10473,7 @@
slot GHookList-hooks :: <GHook>;
slot GHookList-dummy3 :: <C-void*>;
slot GHookList-finalize-hook :: <anonymous-664>;
- slot GHookList-dummy :: <gpointer<@2>>;
+ array slot GHookList-dummy :: <gpointer>, length: 2;
end;
define constant <anonymous-658> = <C-function-pointer>;
@@ -13438,7 +13426,7 @@
slot GParamSpecClass-value-set-default :: <anonymous-1521>;
slot GParamSpecClass-value-validate :: <anonymous-1522>;
slot GParamSpecClass-values-cmp :: <anonymous-1523>;
- slot GParamSpecClass-dummy :: <gpointer<@4>>;
+ array slot GParamSpecClass-dummy :: <gpointer>, length: 4;
end;
define C-pointer-type <GParamSpecClass> => <_GParamSpecClass>;
@@ -20295,7 +20283,7 @@
define constant <gdouble<@128>> = <gdouble*>;
define C-struct <_GdkTimeCoord>
slot GdkTimeCoord-time :: <C-unsigned-int>;
- slot GdkTimeCoord-axes :: <gdouble<@128>>;
+ array slot GdkTimeCoord-axes :: <gdouble>, length: 128;
end;
define C-pointer-type <GdkTimeCoord> => <_GdkTimeCoord>;
@@ -23312,7 +23300,7 @@
define constant <guint32<@256>> = <guint32*>;
define C-struct <_GdkRgbCmap>
- slot GdkRgbCmap-colors :: <guint32<@256>>;
+ array slot GdkRgbCmap-colors :: <guint32>, length: 256;
slot GdkRgbCmap-n-colors :: <C-signed-int>;
slot GdkRgbCmap-info-list :: <GSList>;
end;
@@ -27536,8 +27524,8 @@
slot GtkRulerMetric-metric-name :: <gchar*>;
slot GtkRulerMetric-abbrev :: <gchar*>;
slot GtkRulerMetric-pixels-per-unit :: <C-double>;
- slot GtkRulerMetric-ruler-scale :: <gdouble<@10>>;
- slot GtkRulerMetric-subdivide :: <gint<@5>>;
+ array slot GtkRulerMetric-ruler-scale :: <gdouble>, length: 10;
+ array slot GtkRulerMetric-subdivide :: <gint>, length: 5;
end;
define C-pointer-type <GtkRulerMetric> => <_GtkRulerMetric>;
Modified: branches/opendylan-melange/gtk-hello-world/gtk-hello-world-win32.hdp
==============================================================================
--- branches/opendylan-melange/gtk-hello-world/gtk-hello-world-win32.hdp (original)
+++ branches/opendylan-melange/gtk-hello-world/gtk-hello-world-win32.hdp Sat May 19 21:43:18 2007
@@ -6,7 +6,6 @@
gtk-hello-world
base-address: 0x63FE0000
start-function: main
-c-source-files: support.c
major-version: 1
minor-version: 0
library-pack: 0
Modified: branches/opendylan-melange/gtk-hello-world/gtk-hello-world.dylan
==============================================================================
--- branches/opendylan-melange/gtk-hello-world/gtk-hello-world.dylan (original)
+++ branches/opendylan-melange/gtk-hello-world/gtk-hello-world.dylan Sat May 19 21:43:18 2007
@@ -3,250 +3,6 @@
Author: Andreas Bogk, Hannes Mehnert
Copyright: (c) 2007 Dylan Hackers
-define C-function g-type-from-instance
- input parameter instance :: <GTypeInstance>;
- result type :: <GType>;
- c-name: "g_type_from_instance";
-end;
-
-define C-function g-value-type
- input parameter instance :: <GValue>;
- result type :: <GType>;
- c-name: "g_value_type";
-end;
-
-define method make(type :: subclass(<GTypeInstance>), #rest args,
- #key address, #all-keys)
- => (result :: <GTypeInstance>)
- if(address & (as(<integer>, address) ~= 0))
- let instance = next-method(<GTypeInstance>, address: address);
- let g-type = g-type-from-instance(instance);
- let dylan-type = find-gtype(g-type);
- unless (dylan-type)
- error("Unknown GType encountered. Re-run melange or implement dynamic class generation.");
- end;
- next-method(dylan-type, address: address);
- else
- next-method();
- end if;
-end method make;
-
-define function all-subclasses(x :: <class>)
- => (subclasses :: <collection>)
- apply(concatenate, x.direct-subclasses,
- map(all-subclasses, x.direct-subclasses))
-end;
-
-define function find-gtype-by-name(name :: <string>)
- block(return)
- for(i in $all-gtype-instances)
- if(as-uppercase(i.debug-name) = as-uppercase(concatenate("<_", name, ">")))
- return(i)
- end if;
-// finally
-// error("Unknown GType %= encountered.", as(<byte-string>, name))
- end for;
- end block;
-end function find-gtype-by-name;
-
-define method find-gtype(g-type :: <integer>)
- => (type :: false-or(<class>));
- let dylan-type = element($gtype-table, g-type, default: #f);
- unless(dylan-type)
- let type-name = g-type-name(g-type);
- dylan-type := find-gtype-by-name(type-name);
- $gtype-table[g-type] := dylan-type;
- end unless;
- dylan-type
-end method find-gtype;
-
-define constant $all-gtype-instances = all-subclasses(<_GTypeInstance>);
-
-define function dylan-meta-marshaller (closure :: <GClosure>,
- return-value :: <GValue>,
- n-param-values :: <integer>,
- param-values :: <GValue>,
- invocation-hint :: <gpointer>,
- marshal-data :: <gpointer>)
- let values = #();
- for(i from 0 below n-param-values)
-
-// let address = integer-as-raw(param-values.raw-pointer-address.raw-as-integer + i * sizeof-gvalue());
-// let value* = make(<GValue>, address: address);
-
- let value = make-c-pointer(<GValue>,
- primitive-machine-word-add
- (primitive-cast-pointer-as-raw
- (primitive-unwrap-c-pointer(param-values)),
- integer-as-raw
- (i * sizeof-gvalue())),
- #[]);
- values := pair(g-value-to-dylan(value), values);
-// value*;
- end for;
- values := reverse!(values);
- let res = apply(import-c-dylan-object(c-type-cast(<C-dylan-object>, marshal-data)), values);
- if(return-value ~= null-pointer(<gvalue>))
- select(g-value-type(return-value))
- $G-TYPE-BOOLEAN => g-value-set-boolean(return-value,
- if(res) 1 else 0 end);
- otherwise error("Unsupported GType in return from signal handler.");
- end select;
- end if;
-end;
-
-
-define C-callable-wrapper _dylan-meta-marshaller of dylan-meta-marshaller
- parameter closure :: <GClosure>;
- parameter return-value :: <GValue>;
- parameter n-param-values :: <guint>;
- parameter param-values :: <GValue>;
- parameter invocation-hint :: <gpointer>;
- parameter marshal-data :: <gpointer>;
- c-name: "foo";
-end;
-
-define C-function sizeof-gvalue
- result size :: <C-int>;
- c-name: "sizeof_gvalue";
-end;
-
-define C-function sizeof-gclosure
- result size :: <C-int>;
- c-name: "sizeof_gclosure";
-end;
-
-
-
-define function g-signal-connect(instance :: <GObject>,
- signal :: <string>,
- function :: <function>,
- #key run-after? :: <boolean>)
- register-c-dylan-object(function);
- let closure = g-closure-new-simple(sizeof-gclosure(),
- null-pointer(<gpointer>));
- g-closure-set-meta-marshal
- (closure, export-c-dylan-object(function), _dylan-meta-marshaller);
- g-signal-connect-closure(instance,
- signal,
- closure,
- if(run-after?) 1 else 0 end)
-end function g-signal-connect;
-
-define function initialize-gtk
- () => ()
- let name = application-name();
- with-c-string (string = name)
- let string* = make(<C-string*>, element-count: 1);
- string*[0] := string;
- let string** = make(<char***>);
- string**[0] := string*;
- let int* = make(<C-int*>);
- int*[0] := 1;
- %gtk-init(int*, string**);
- destroy(string*);
- destroy(string**);
- destroy(int*)
- end
-end function initialize-gtk;
-
-
-// map GTK type IDs to Dylan classes
-define table $gtype-table = {
- $G-TYPE-CHAR => <gchar>,
- $G-TYPE-UCHAR => <guchar>,
- $G-TYPE-INT => <gint>,
- $G-TYPE-UINT => <guint>,
- $G-TYPE-LONG => <glong>,
- $G-TYPE-ULONG => <gulong>,
- $G-TYPE-INT64 => <gint64>,
- $G-TYPE-UINT64 => <guint64>,
- $G-TYPE-FLOAT => <gfloat>,
- $G-TYPE-DOUBLE => <gdouble>,
- $G-TYPE-STRING => <gstring>,
- $G-TYPE-POINTER => <gpointer>
- };
-
-define function make-gdk-event(address)
- => (instance :: <C-void*>)
- let event = make(<GdkEventAny>, address: address);
- make(select(event.GdkEventAny-type)
- $GDK-NOTHING => <GdkEventAny>;
- $GDK-DELETE => <GdkEventAny>;
- $GDK-DESTROY => <GdkEventAny>;
- $GDK-EXPOSE => <GdkEventExpose>;
- $GDK-MOTION-NOTIFY => <GdkEventMotion>;
- $GDK-BUTTON-PRESS => <GdkEventButton>;
- $GDK-2BUTTON-PRESS => <GdkEventButton>;
- $GDK-3BUTTON-PRESS => <GdkEventButton>;
- $GDK-BUTTON-RELEASE => <GdkEventButton>;
- $GDK-KEY-PRESS => <GdkEventKey>;
- $GDK-KEY-RELEASE => <GdkEventKey>;
- $GDK-ENTER-NOTIFY => <GdkEventCrossing>;
- $GDK-LEAVE-NOTIFY => <GdkEventCrossing>;
- $GDK-FOCUS-CHANGE => <GdkEventFocus>;
- $GDK-CONFIGURE => <GdkEventConfigure>;
- $GDK-MAP => <GdkEventAny>;
- $GDK-UNMAP => <GdkEventAny>;
- $GDK-PROPERTY-NOTIFY => <GdkEventProperty>;
- $GDK-SELECTION-CLEAR => <GdkEventSelection>;
- $GDK-SELECTION-REQUEST => <GdkEventSelection>;
- $GDK-SELECTION-NOTIFY => <GdkEventSelection>;
- $GDK-PROXIMITY-IN => <GdkEventProximity>;
- $GDK-PROXIMITY-OUT => <GdkEventProximity>;
- $GDK-DRAG-ENTER => <GdkEventDND>;
- $GDK-DRAG-LEAVE => <GdkEventDND>;
- $GDK-DRAG-MOTION => <GdkEventDND>;
- $GDK-DRAG-STATUS => <GdkEventDND>;
- $GDK-DROP-START => <GdkEventDND>;
- $GDK-DROP-FINISHED => <GdkEventDND>;
- $GDK-CLIENT-EVENT => <GdkEventClient>;
- $GDK-VISIBILITY-NOTIFY => <GdkEventAny>;
- $GDK-NO-EXPOSE => <GdkEventNoExpose>;
- $GDK-SCROLL => <GdkEventScroll>;
- $GDK-WINDOW-STATE => <GdkEventWindowState>;
- $GDK-SETTING => <GdkEventSetting>;
- $GDK-OWNER-CHANGE => <GdkEventOwnerChange>;
- $GDK-GRAB-BROKEN => <GdkEventGrabBroken>;
- otherwise => <GdkEventAny>;
- end, address: address);
-end;
-
-define function g-value-to-dylan(instance :: <GValue>)
- => (dylan-instance);
- let g-type = g-value-type(instance);
- if(g-type ~= $G-TYPE-INVALID)
- let dylan-type = find-gtype(g-type);
- if(dylan-type & subtype?(dylan-type, <GTypeInstance>))
- make(dylan-type, address: instance.g-value-peek-pointer.pointer-address)
- else
- select(g-type)
- $G-TYPE-NONE => #f;
- $G-TYPE-CHAR => g-value-get-char(instance);
- $G-TYPE-UCHAR => g-value-get-uchar(instance);
- $G-TYPE-BOOLEAN => (g-value-get-boolean(instance) = 1);
- $G-TYPE-INT => g-value-get-int(instance);
- $G-TYPE-UINT => g-value-get-uint(instance);
- $G-TYPE-LONG => g-value-get-long(instance);
- $G-TYPE-ULONG => g-value-get-ulong(instance);
- $G-TYPE-INT64 => g-value-get-int64(instance);
- $G-TYPE-UINT64 => g-value-get-uint64(instance);
- $G-TYPE-ENUM => signal("Can't handle $G-TYPE-ENUM yet.");
- $G-TYPE-FLAGS => signal("Can't handle $G-TYPE-FLAGS yet.");
- $G-TYPE-FLOAT => g-value-get-float(instance);
- $G-TYPE-DOUBLE => g-value-get-double(instance);
- $G-TYPE-STRING => g-value-get-string(instance);
- $G-TYPE-POINTER => g-value-get-pointer(instance);
- $G-TYPE-BOXED => #f;
- $G-TYPE-PARAM => #f;
- $G-TYPE-OBJECT => #f;
- gdk-event-get-type() => make-gdk-event(instance.g-value-peek-pointer.pointer-address);
- end select;
- end if;
- end if;
-end function g-value-to-dylan;
-
-
define method main () => ()
format-out("Hello, world!\n");
@@ -254,7 +10,7 @@
let window = gtk-window-new($GTK-WINDOW-TOPLEVEL);
let button = gtk-button-new-with-label("Hello, world!");
gtk-container-add(window, button);
- g-signal-connect(button, "key-press-event", method(#rest args) format-out("Hello world! %=\n", args) end);
+ g-signal-connect(button, "clicked", method(#rest args) button. at label := format-to-string("Hello world! %=\n", args) end);
gtk-widget-show(button);
gtk-widget-show(window);
gtk-main();
Modified: branches/opendylan-melange/gtk-hello-world/library.dylan
==============================================================================
--- branches/opendylan-melange/gtk-hello-world/library.dylan (original)
+++ branches/opendylan-melange/gtk-hello-world/library.dylan Sat May 19 21:43:18 2007
@@ -8,6 +8,5 @@
use dylan;
use io;
use system;
- use c-ffi;
- use gtk-c-ffi;
+ use gtk;
end library gtk-hello-world;
Modified: branches/opendylan-melange/gtk-hello-world/module.dylan
==============================================================================
--- branches/opendylan-melange/gtk-hello-world/module.dylan (original)
+++ branches/opendylan-melange/gtk-hello-world/module.dylan Sat May 19 21:43:18 2007
@@ -5,11 +5,7 @@
define module gtk-hello-world
use common-dylan;
- use threads;
use format-out;
use streams;
- use c-ffi;
- use dylan-primitives;
- use dylan-extensions, import: { debug-name, integer-as-raw, raw-as-integer };
- use gtk-internal;
+ use gtk;
end module gtk-hello-world;
Added: branches/opendylan-melange/gtk/gtk-module.dylan
==============================================================================
--- (empty file)
+++ branches/opendylan-melange/gtk/gtk-module.dylan Sat May 19 21:43:18 2007
@@ -0,0 +1,11 @@
+Module: dylan-user
+Author: Hannes Mehnert, Andreas Bogk
+Copyright: (C) 2007,. All rights reserved.
+
+
+define module gtk
+ use common-dylan;
+ use gtk-internal, export: all;
+ use gtk-support, export: all;
+ use gtk-properties, export: all;
+end module gtk;
Added: branches/opendylan-melange/gtk/gtk.dylan
==============================================================================
--- (empty file)
+++ branches/opendylan-melange/gtk/gtk.dylan Sat May 19 21:43:18 2007
@@ -0,0 +1,325 @@
+Module: gtk-support
+Author: Hannes Mehnert, Andreas Bogk
+Copyright: (C) 2007,. All rights reserved.
+
+define C-function g-type-from-instance
+ input parameter instance :: <GTypeInstance>;
+ result type :: <GType>;
+ c-name: "g_type_from_instance";
+end;
+
+define C-function g-value-type
+ input parameter instance :: <GValue>;
+ result type :: <GType>;
+ c-name: "g_value_type";
+end;
+
+define C-function g-is-value
+ input parameter instance :: <GValue>;
+ result type :: <C-int>;
+ c-name: "g_is_value";
+end;
+
+define C-function gtk-widget-get-window
+ input parameter widget :: <GtkWidget>;
+ result window :: <GdkWindow>;
+ c-name: "gtk_widget_get_window";
+end;
+
+define C-function gtk-widget-get-state
+ input parameter widget :: <GtkWidget>;
+ result state :: <C-int>;
+ c-name: "gtk_widget_get_state";
+end;
+
+
+define method make(type :: subclass(<GTypeInstance>), #rest args,
+ #key address, #all-keys)
+ => (result :: <GTypeInstance>)
+ if(address & (as(<integer>, address) ~= 0))
+ let instance = next-method(<GTypeInstance>, address: address);
+ let g-type = g-type-from-instance(instance);
+ let dylan-type = find-gtype(g-type);
+ unless (dylan-type)
+ error("Unknown GType encountered. Re-run melange or implement dynamic class generation.");
+ end;
+ let result = next-method(dylan-type, address: address);
+ g-object-ref-sink(result);
+ finalize-when-unreachable(result);
+ result;
+ else
+ // possible route: convert #rest args into GParamSpec, call g_object_newv()
+ error("Can't create GTypeInstance on my own.");
+ end if;
+end method make;
+
+define method finalize (instance :: <GTypeInstance>)
+ => ();
+ g-object-unref(instance)
+end;
+
+define function all-subclasses(x :: <class>)
+ => (subclasses :: <collection>)
+ apply(concatenate, x.direct-subclasses,
+ map(all-subclasses, x.direct-subclasses))
+end;
+
+define function find-gtype-by-name(name :: <string>)
+ block(return)
+ for(i in $all-gtype-instances)
+ if(as-uppercase(i.debug-name) = as-uppercase(concatenate("<_", name, ">")))
+ return(i)
+ end if;
+// finally
+// error("Unknown GType %= encountered.", as(<byte-string>, name))
+ end for;
+ end block;
+end function find-gtype-by-name;
+
+define method find-gtype(g-type :: <integer>)
+ => (type :: false-or(<class>));
+ let dylan-type = element($gtype-table, g-type, default: #f);
+ unless(dylan-type)
+ let type-name = g-type-name(g-type);
+ dylan-type := find-gtype-by-name(type-name);
+ $gtype-table[g-type] := dylan-type;
+ end unless;
+ dylan-type
+end method find-gtype;
+
+define constant $all-gtype-instances = all-subclasses(<_GTypeInstance>);
+
+define function dylan-meta-marshaller (closure :: <GClosure>,
+ return-value :: <GValue>,
+ n-param-values :: <integer>,
+ param-values :: <GValue>,
+ invocation-hint :: <gpointer>,
+ marshal-data :: <gpointer>)
+ let values = #();
+ for(i from 0 below n-param-values)
+
+// let address = integer-as-raw(param-values.raw-pointer-address.raw-as-integer + i * sizeof-gvalue());
+// let value* = make(<GValue>, address: address);
+
+ let value = make-c-pointer(<GValue>,
+ primitive-machine-word-add
+ (primitive-cast-pointer-as-raw
+ (primitive-unwrap-c-pointer(param-values)),
+ integer-as-raw
+ (i * sizeof-gvalue())),
+ #[]);
+ values := pair(g-value-to-dylan(value), values);
+// value*;
+ end for;
+ values := reverse!(values);
+ let res = apply(import-c-dylan-object(c-type-cast(<C-dylan-object>, marshal-data)), values);
+ if(return-value ~= null-pointer(<gvalue>))
+ select(g-value-type(return-value))
+ $G-TYPE-BOOLEAN => g-value-set-boolean(return-value,
+ if(res) 1 else 0 end);
+ otherwise error("Unsupported GType in return from signal handler.");
+ end select;
+ end if;
+end;
+
+
+define C-callable-wrapper _dylan-meta-marshaller of dylan-meta-marshaller
+ parameter closure :: <GClosure>;
+ parameter return-value :: <GValue>;
+ parameter n-param-values :: <guint>;
+ parameter param-values :: <GValue>;
+ parameter invocation-hint :: <gpointer>;
+ parameter marshal-data :: <gpointer>;
+ c-name: "foo";
+end;
+
+define C-function sizeof-gvalue
+ result size :: <C-int>;
+ c-name: "sizeof_gvalue";
+end;
+
+define C-function sizeof-gclosure
+ result size :: <C-int>;
+ c-name: "sizeof_gclosure";
+end;
+
+
+
+define function g-signal-connect(instance :: <GObject>,
+ signal :: <string>,
+ function :: <function>,
+ #key run-after? :: <boolean>)
+ register-c-dylan-object(function);
+ let closure = g-closure-new-simple(sizeof-gclosure(),
+ null-pointer(<gpointer>));
+ g-closure-set-meta-marshal
+ (closure, export-c-dylan-object(function), _dylan-meta-marshaller);
+ g-signal-connect-closure(instance,
+ signal,
+ closure,
+ if(run-after?) 1 else 0 end)
+end function g-signal-connect;
+
+define function initialize-gtk
+ () => ()
+ let name = application-name();
+ with-c-string (string = name)
+ let string* = make(<C-string*>, element-count: 1);
+ string*[0] := string;
+ let string** = make(<char***>);
+ string**[0] := string*;
+ let int* = make(<C-int*>);
+ int*[0] := 1;
+ %gtk-init(int*, string**);
+ destroy(string*);
+ destroy(string**);
+ destroy(int*)
+ end;
+ automatic-finalization-enabled?() := #t;
+end function initialize-gtk;
+
+
+// map GTK type IDs to Dylan classes
+define table $gtype-table = {
+ $G-TYPE-CHAR => <gchar>,
+ $G-TYPE-UCHAR => <guchar>,
+ $G-TYPE-INT => <gint>,
+ $G-TYPE-UINT => <guint>,
+ $G-TYPE-LONG => <glong>,
+ $G-TYPE-ULONG => <gulong>,
+ $G-TYPE-INT64 => <gint64>,
+ $G-TYPE-UINT64 => <guint64>,
+ $G-TYPE-FLOAT => <gfloat>,
+ $G-TYPE-DOUBLE => <gdouble>,
+ $G-TYPE-STRING => <gstring>,
+ $G-TYPE-POINTER => <gpointer>
+ };
+
+define function make-gdk-event(address)
+ => (instance :: <C-void*>)
+ let event = make(<GdkEventAny>, address: address);
+ make(select(event.GdkEventAny-type)
+ $GDK-NOTHING => <GdkEventAny>;
+ $GDK-DELETE => <GdkEventAny>;
+ $GDK-DESTROY => <GdkEventAny>;
+ $GDK-EXPOSE => <GdkEventExpose>;
+ $GDK-MOTION-NOTIFY => <GdkEventMotion>;
+ $GDK-BUTTON-PRESS => <GdkEventButton>;
+ $GDK-2BUTTON-PRESS => <GdkEventButton>;
+ $GDK-3BUTTON-PRESS => <GdkEventButton>;
+ $GDK-BUTTON-RELEASE => <GdkEventButton>;
+ $GDK-KEY-PRESS => <GdkEventKey>;
+ $GDK-KEY-RELEASE => <GdkEventKey>;
+ $GDK-ENTER-NOTIFY => <GdkEventCrossing>;
+ $GDK-LEAVE-NOTIFY => <GdkEventCrossing>;
+ $GDK-FOCUS-CHANGE => <GdkEventFocus>;
+ $GDK-CONFIGURE => <GdkEventConfigure>;
+ $GDK-MAP => <GdkEventAny>;
+ $GDK-UNMAP => <GdkEventAny>;
+ $GDK-PROPERTY-NOTIFY => <GdkEventProperty>;
+ $GDK-SELECTION-CLEAR => <GdkEventSelection>;
+ $GDK-SELECTION-REQUEST => <GdkEventSelection>;
+ $GDK-SELECTION-NOTIFY => <GdkEventSelection>;
+ $GDK-PROXIMITY-IN => <GdkEventProximity>;
+ $GDK-PROXIMITY-OUT => <GdkEventProximity>;
+ $GDK-DRAG-ENTER => <GdkEventDND>;
+ $GDK-DRAG-LEAVE => <GdkEventDND>;
+ $GDK-DRAG-MOTION => <GdkEventDND>;
+ $GDK-DRAG-STATUS => <GdkEventDND>;
+ $GDK-DROP-START => <GdkEventDND>;
+ $GDK-DROP-FINISHED => <GdkEventDND>;
+ $GDK-CLIENT-EVENT => <GdkEventClient>;
+ $GDK-VISIBILITY-NOTIFY => <GdkEventAny>;
+ $GDK-NO-EXPOSE => <GdkEventNoExpose>;
+ $GDK-SCROLL => <GdkEventScroll>;
+ $GDK-WINDOW-STATE => <GdkEventWindowState>;
+ $GDK-SETTING => <GdkEventSetting>;
+ $GDK-OWNER-CHANGE => <GdkEventOwnerChange>;
+ $GDK-GRAB-BROKEN => <GdkEventGrabBroken>;
+ otherwise => <GdkEventAny>;
+ end, address: address);
+end;
+
+define function g-value-to-dylan(instance :: <GValue>)
+ => (dylan-instance);
+ let g-type = g-value-type(instance);
+ if(g-type ~= $G-TYPE-INVALID)
+ let dylan-type = find-gtype(g-type);
+ if(dylan-type & subtype?(dylan-type, <GTypeInstance>))
+ make(dylan-type, address: instance.g-value-peek-pointer.pointer-address)
+ else
+ select(g-type)
+ $G-TYPE-NONE => #f;
+ $G-TYPE-CHAR => g-value-get-char(instance);
+ $G-TYPE-UCHAR => g-value-get-uchar(instance);
+ $G-TYPE-BOOLEAN => (g-value-get-boolean(instance) = 1);
+ $G-TYPE-INT => g-value-get-int(instance);
+ $G-TYPE-UINT => g-value-get-uint(instance);
+ $G-TYPE-LONG => g-value-get-long(instance);
+ $G-TYPE-ULONG => g-value-get-ulong(instance);
+ $G-TYPE-INT64 => g-value-get-int64(instance);
+ $G-TYPE-UINT64 => g-value-get-uint64(instance);
+ $G-TYPE-ENUM => signal("Can't handle $G-TYPE-ENUM yet.");
+ $G-TYPE-FLAGS => signal("Can't handle $G-TYPE-FLAGS yet.");
+ $G-TYPE-FLOAT => g-value-get-float(instance);
+ $G-TYPE-DOUBLE => g-value-get-double(instance);
+ $G-TYPE-STRING => g-value-get-string(instance);
+ $G-TYPE-POINTER => g-value-get-pointer(instance);
+ $G-TYPE-BOXED => #f;
+ $G-TYPE-PARAM => #f;
+ $G-TYPE-OBJECT => #f;
+ gdk-event-get-type() => make-gdk-event(instance.g-value-peek-pointer.pointer-address);
+ end select;
+ end if;
+ end if;
+end function g-value-to-dylan;
+
+define method g-value-set-value (gvalue :: <GValue>, value :: <double-float>)
+ g-value-init(gvalue, $G-TYPE-DOUBLE);
+ g-value-set-double(gvalue, value);
+end;
+define method g-value-set-value (gvalue :: <GValue>, value :: <single-float>)
+ g-value-init(gvalue, $G-TYPE-FLOAT);
+ g-value-set-float(gvalue, value);
+end;
+define method g-value-set-value (gvalue :: <GValue>, value :: <integer>)
+ g-value-init(gvalue, $G-TYPE-BOOLEAN);
+ g-value-set-boolean(gvalue, value);
+end;
+define method g-value-set-value (gvalue :: <GValue>, value :: <GTypeInstance>)
+ g-value-init(gvalue, $G-TYPE-OBJECT);
+ g-value-set-object(gvalue, value);
+end;
+
+define method g-value-set-value (gvalue :: <GValue>, string :: <string>)
+ g-value-init(gvalue, $G-TYPE-STRING);
+ g-value-set-string(gvalue, string);
+end;
+
+define macro property-getter-definer
+ { define property-getter ?:name :: ?type:name on ?class:name end }
+ => { define method "@" ## ?name (object :: ?class) => (res)
+ with-stack-structure (foo :: <GValue>)
+ g-object-get-property(object, ?"name", foo);
+ g-value-to-dylan(foo);
+ end;
+ end;
+ }
+end;
+
+define macro property-setter-definer
+ { define property-setter ?:name :: ?type:name on ?class:name end }
+ => { define method "@" ## ?name ## "-setter" (res, object :: ?class) => (res)
+ with-stack-structure (gvalue :: <GValue>)
+ // FIXME: hack, because we cannot request initialization with zero
+ // from with-stack-structure
+ if (g-is-value(gvalue) ~= 0)
+ g-value-unset(gvalue)
+ end;
+ g-value-set-value(gvalue, res);
+ g-object-set-property(object, ?"name", gvalue);
+ end;
+ res;
+ end;
+ }
+end;
Added: branches/opendylan-melange/gtk/gtk.hdp
==============================================================================
--- (empty file)
+++ branches/opendylan-melange/gtk/gtk.hdp Sat May 19 21:43:18 2007
@@ -0,0 +1,17 @@
+Format-Version: 2
+Library: gtk
+Author: Hannes Mehnert, Andreas Bogk
+Copyright: (C) 2007,. All rights reserved.
+Major-Version: 1
+Minor-Version: 0
+Files: library
+ module
+ properties-module
+ gtk-module
+ gtk
+ properties
+c-source-files: support.c
+Linker-Options: $(guilflags)
+Compilation-Mode: tight
+Target-Type: dll
+
Added: branches/opendylan-melange/gtk/library.dylan
==============================================================================
--- (empty file)
+++ branches/opendylan-melange/gtk/library.dylan Sat May 19 21:43:18 2007
@@ -0,0 +1,12 @@
+Module: dylan-user
+Author: Hannes Mehnert, Andreas Bogk
+Copyright: (C) 2007,. All rights reserved.
+
+define library gtk
+ use common-dylan;
+ use dylan;
+ use c-ffi;
+ use gtk-c-ffi;
+ // Add any more module exports here.
+ export gtk;
+end library gtk;
Added: branches/opendylan-melange/gtk/module.dylan
==============================================================================
--- (empty file)
+++ branches/opendylan-melange/gtk/module.dylan Sat May 19 21:43:18 2007
@@ -0,0 +1,18 @@
+Module: dylan-user
+Author: Hannes Mehnert, Andreas Bogk
+Copyright: (C) 2007,. All rights reserved.
+
+define module gtk-support
+ use common-dylan;
+ use c-ffi;
+ use gtk-internal, export: all;
+ use finalization;
+ use dylan-primitives;
+ use dylan-extensions, import: { debug-name, integer-as-raw, raw-as-integer };
+
+ export g-signal-connect, initialize-gtk,
+ gtk-widget-get-window,
+ gtk-widget-get-state,
+ property-getter-definer,
+ property-setter-definer;
+end;
Added: branches/opendylan-melange/gtk/properties-module.dylan
==============================================================================
--- (empty file)
+++ branches/opendylan-melange/gtk/properties-module.dylan Sat May 19 21:43:18 2007
@@ -0,0 +1,1223 @@
+module: dylan-user
+
+define module gtk-properties
+
+ use common-dylan;
+ use gtk-internal;
+ use gtk-support;
+
+ export
+ @selected-link,
+ @number-of-anchors,
+ @start-index,
+ @end-index,
+ @accessible-name,
+ @accessible-name-setter,
+ @accessible-description,
+ @accessible-description-setter,
+ @accessible-parent,
+ @accessible-parent-setter,
+ @accessible-value,
+ @accessible-value-setter,
+ @accessible-role,
+ @accessible-role-setter,
+ @accessible-component-layer,
+ @accessible-component-mdi-zorder,
+ @accessible-table-caption,
+ @accessible-table-caption-setter,
+ @accessible-table-column-description,
+ @accessible-table-column-description-setter,
+ @accessible-table-column-header,
+ @accessible-table-column-header-setter,
+ @accessible-table-row-description,
+ @accessible-table-row-description-setter,
+ @accessible-table-row-header,
+ @accessible-table-row-header-setter,
+ @accessible-table-summary,
+ @accessible-table-summary-setter,
+ @accessible-table-caption-object,
+ @accessible-table-caption-object-setter,
+ @accessible-hypertext-nlinks,
+ @relation-type,
+ @relation-type-setter,
+ @target,
+ @target-setter,
+ @colorspace,
+ @colorspace-setter,
+ @n-channels,
+ @n-channels-setter,
+ @has-alpha,
+ @has-alpha-setter,
+ @bits-per-sample,
+ @bits-per-sample-setter,
+ @width,
+ @width-setter,
+ @height,
+ @height-setter,
+ @rowstride,
+ @rowstride-setter,
+ @pixels,
+ @pixels-setter,
+ @default-display,
+ @default-display-setter,
+ @screen,
+ @screen-setter,
+ @name,
+ @name-setter,
+ @version,
+ @version-setter,
+ @copyright,
+ @copyright-setter,
+ @comments,
+ @comments-setter,
+ @website,
+ @website-setter,
+ @website-label,
+ @website-label-setter,
+ @license,
+ @license-setter,
+ @authors,
+ @authors-setter,
+ @documenters,
+ @documenters-setter,
+ @translator-credits,
+ @translator-credits-setter,
+ @artists,
+ @artists-setter,
+ @logo,
+ @logo-setter,
+ @logo-icon-name,
+ @logo-icon-name-setter,
+ @wrap-license,
+ @wrap-license-setter,
+ @name,
+ @name-setter,
+ @sensitive,
+ @sensitive-setter,
+ @visible,
+ @visible-setter,
+ @accel-closure,
+ @accel-closure-setter,
+ @accel-widget,
+ @accel-widget-setter,
+ @name,
+ @name-setter,
+ @label,
+ @label-setter,
+ @short-label,
+ @short-label-setter,
+ @tooltip,
+ @tooltip-setter,
+ @stock-id,
+ @stock-id-setter,
+ @visible-horizontal,
+ @visible-horizontal-setter,
+ @visible-vertical,
+ @visible-vertical-setter,
+ @visible-overflown,
+ @visible-overflown-setter,
+ @is-important,
+ @is-important-setter,
+ @hide-if-empty,
+ @hide-if-empty-setter,
+ @sensitive,
+ @sensitive-setter,
+ @visible,
+ @visible-setter,
+ @action-group,
+ @action-group-setter,
+ @xalign,
+ @xalign-setter,
+ @yalign,
+ @yalign-setter,
+ @ratio,
+ @ratio-setter,
+ @obey-child,
+ @obey-child-setter,
+ @value,
+ @value-setter,
+ @lower,
+ @lower-setter,
+ @upper,
+ @upper-setter,
+ @step-increment,
+ @step-increment-setter,
+ @page-increment,
+ @page-increment-setter,
+ @page-size,
+ @page-size-setter,
+ @xalign,
+ @xalign-setter,
+ @yalign,
+ @yalign-setter,
+ @xscale,
+ @xscale-setter,
+ @yscale,
+ @yscale-setter,
+ @top-padding,
+ @top-padding-setter,
+ @bottom-padding,
+ @bottom-padding-setter,
+ @left-padding,
+ @left-padding-setter,
+ @right-padding,
+ @right-padding-setter,
+ @arrow-type,
+ @arrow-type-setter,
+ @shadow-type,
+ @shadow-type-setter,
+ @xalign,
+ @xalign-setter,
+ @yalign,
+ @yalign-setter,
+ @ratio,
+ @ratio-setter,
+ @obey-child,
+ @obey-child-setter,
+ @layout-style,
+ @layout-style-setter,
+ @year,
+ @year-setter,
+ @month,
+ @month-setter,
+ @day,
+ @day-setter,
+ @show-heading,
+ @show-heading-setter,
+ @show-day-names,
+ @show-day-names-setter,
+ @no-month-change,
+ @no-month-change-setter,
+ @show-week-numbers,
+ @show-week-numbers-setter,
+ @spacing,
+ @spacing-setter,
+ @homogeneous,
+ @homogeneous-setter,
+ @layout-style,
+ @layout-style-setter,
+ @label,
+ @label-setter,
+ @image,
+ @image-setter,
+ @relief,
+ @relief-setter,
+ @use-underline,
+ @use-underline-setter,
+ @use-stock,
+ @use-stock-setter,
+ @focus-on-click,
+ @focus-on-click-setter,
+ @xalign,
+ @xalign-setter,
+ @yalign,
+ @yalign-setter,
+ @model,
+ @model-setter,
+ @text-column,
+ @text-column-setter,
+ @has-entry,
+ @has-entry-setter,
+ @mode,
+ @mode-setter,
+ @visible,
+ @visible-setter,
+ @sensitive,
+ @sensitive-setter,
+ @xalign,
+ @xalign-setter,
+ @yalign,
+ @yalign-setter,
+ @xpad,
+ @xpad-setter,
+ @ypad,
+ @ypad-setter,
+ @width,
+ @width-setter,
+ @height,
+ @height-setter,
+ @is-expander,
+ @is-expander-setter,
+ @is-expanded,
+ @is-expanded-setter,
+ @cell-background-setter,
+ @cell-background-gdk,
+ @cell-background-gdk-setter,
+ @cell-background-set,
+ @cell-background-set-setter,
+ @value,
+ @value-setter,
+ @text,
+ @text-setter,
+ @pixbuf,
+ @pixbuf-setter,
+ @pixbuf-expander-open,
+ @pixbuf-expander-open-setter,
+ @pixbuf-expander-closed,
+ @pixbuf-expander-closed-setter,
+ @stock-id,
+ @stock-id-setter,
+ @stock-size,
+ @stock-size-setter,
+ @stock-detail,
+ @stock-detail-setter,
+ @follow-state,
+ @follow-state-setter,
+ @icon-name,
+ @icon-name-setter,
+ @shadow,
+ @shadow-setter,
+ @shadow-type,
+ @shadow-type-setter,
+ @handle-position,
+ @handle-position-setter,
+ @snap-edge,
+ @snap-edge-setter,
+ @snap-edge-set,
+ @snap-edge-set-setter,
+ @text,
+ @text-setter,
+ @markup-setter,
+ @attributes,
+ @attributes-setter,
+ @single-paragraph-mode,
+ @single-paragraph-mode-setter,
+ @width-chars,
+ @width-chars-setter,
+ @wrap-width,
+ @wrap-width-setter,
+ @background-setter,
+ @foreground-setter,
+ @background-gdk,
+ @background-gdk-setter,
+ @foreground-gdk,
+ @foreground-gdk-setter,
+ @font,
+ @font-setter,
+ @font-desc,
+ @font-desc-setter,
+ @family,
+ @family-setter,
+ @style,
+ @style-setter,
+ @variant,
+ @variant-setter,
+ @weight,
+ @weight-setter,
+ @stretch,
+ @stretch-setter,
+ @size,
+ @size-setter,
+ @size-points,
+ @size-points-setter,
+ @scale,
+ @scale-setter,
+ @editable,
+ @editable-setter,
+ @strikethrough,
+ @strikethrough-setter,
+ @underline,
+ @underline-setter,
+ @rise,
+ @rise-setter,
+ @language,
+ @language-setter,
+ @ellipsize,
+ @ellipsize-setter,
+ @wrap-mode,
+ @wrap-mode-setter,
+ @background-set,
+ @background-set-setter,
+ @foreground-set,
+ @foreground-set-setter,
+ @family-set,
+ @family-set-setter,
+ @style-set,
+ @style-set-setter,
+ @variant-set,
+ @variant-set-setter,
+ @weight-set,
+ @weight-set-setter,
+ @stretch-set,
+ @stretch-set-setter,
+ @size-set,
+ @size-set-setter,
+ @scale-set,
+ @scale-set-setter,
+ @editable-set,
+ @editable-set-setter,
+ @strikethrough-set,
+ @strikethrough-set-setter,
+ @underline-set,
+ @underline-set-setter,
+ @rise-set,
+ @rise-set-setter,
+ @language-set,
+ @language-set-setter,
+ @ellipsize-set,
+ @ellipsize-set-setter,
+ @activatable,
+ @activatable-setter,
+ @active,
+ @active-setter,
+ @radio,
+ @radio-setter,
+ @inconsistent,
+ @inconsistent-setter,
+ @background-setter,
+ @background-gdk,
+ @background-gdk-setter,
+ @background-set,
+ @background-set-setter,
+ @active,
+ @active-setter,
+ @inconsistent,
+ @inconsistent-setter,
+ @draw-as-radio,
+ @draw-as-radio-setter,
+ @n-columns,
+ @n-columns-setter,
+ @shadow-type,
+ @shadow-type-setter,
+ @selection-mode,
+ @selection-mode-setter,
+ @row-height,
+ @row-height-setter,
+ @titles-active,
+ @titles-active-setter,
+ @reorderable,
+ @reorderable-setter,
+ @use-drag-icons,
+ @use-drag-icons-setter,
+ @sort-type,
+ @sort-type-setter,
+ @use-alpha,
+ @use-alpha-setter,
+ @title,
+ @title-setter,
+ @color,
+ @color-setter,
+ @alpha,
+ @alpha-setter,
+ @has-palette,
+ @has-palette-setter,
+ @has-opacity-control,
+ @has-opacity-control-setter,
+ @current-color,
+ @current-color-setter,
+ @current-alpha,
+ @current-alpha-setter,
+ @enable-arrow-keys,
+ @enable-arrow-keys-setter,
+ @enable-arrows-always,
+ @enable-arrows-always-setter,
+ @case-sensitive,
+ @case-sensitive-setter,
+ @allow-empty,
+ @allow-empty-setter,
+ @value-in-list,
+ @value-in-list-setter,
+ @model,
+ @model-setter,
+ @wrap-width,
+ @wrap-width-setter,
+ @row-span-column,
+ @row-span-column-setter,
+ @column-span-column,
+ @column-span-column-setter,
+ @active,
+ @active-setter,
+ @add-tearoffs,
+ @add-tearoffs-setter,
+ @has-frame,
+ @has-frame-setter,
+ @focus-on-click,
+ @focus-on-click-setter,
+ @text-column,
+ @text-column-setter,
+ @border-width,
+ @border-width-setter,
+ @resize-mode,
+ @resize-mode-setter,
+ @child-setter,
+ @n-columns,
+ @n-columns-setter,
+ @tree-column,
+ @tree-column-setter,
+ @indent,
+ @indent-setter,
+ @spacing,
+ @spacing-setter,
+ @show-stub,
+ @show-stub-setter,
+ @line-style,
+ @line-style-setter,
+ @expander-style,
+ @expander-style-setter,
+ @curve-type,
+ @curve-type-setter,
+ @min-x,
+ @min-x-setter,
+ @max-x,
+ @max-x-setter,
+ @min-y,
+ @min-y-setter,
+ @max-y,
+ @max-y-setter,
+ @has-separator,
+ @has-separator-setter,
+ @cursor-position,
+ @selection-bound,
+ @editable,
+ @editable-setter,
+ @max-length,
+ @max-length-setter,
+ @visibility,
+ @visibility-setter,
+ @has-frame,
+ @has-frame-setter,
+ @invisible-char,
+ @invisible-char-setter,
+ @activates-default,
+ @activates-default-setter,
+ @width-chars,
+ @width-chars-setter,
+ @scroll-offset,
+ @text,
+ @text-setter,
+ @xalign,
+ @xalign-setter,
+ @model,
+ @model-setter,
+ @minimum-key-length,
+ @minimum-key-length-setter,
+ @text-column,
+ @text-column-setter,
+ @inline-completion,
+ @inline-completion-setter,
+ @popup-completion,
+ @popup-completion-setter,
+ @popup-set-width,
+ @popup-set-width-setter,
+ @popup-single-match,
+ @popup-single-match-setter,
+ @visible-window,
+ @visible-window-setter,
+ @above-child,
+ @above-child-setter,
+ @expanded,
+ @expanded-setter,
+ @label,
+ @label-setter,
+ @use-underline,
+ @use-underline-setter,
+ @use-markup,
+ @use-markup-setter,
+ @spacing,
+ @spacing-setter,
+ @label-widget,
+ @label-widget-setter,
+ @dialog-setter,
+ @title,
+ @title-setter,
+ @width-chars,
+ @width-chars-setter,
+ @show-fileops,
+ @show-fileops-setter,
+ @filename,
+ @filename-setter,
+ @select-multiple,
+ @select-multiple-setter,
+ @title,
+ @title-setter,
+ @font-name,
+ @font-name-setter,
+ @use-font,
+ @use-font-setter,
+ @use-size,
+ @use-size-setter,
+ @show-style,
+ @show-style-setter,
+ @show-size,
+ @show-size-setter,
+ @font-name,
+ @font-name-setter,
+ @font,
+ @preview-text,
+ @preview-text-setter,
+ @label,
+ @label-setter,
+ @label-xalign,
+ @label-xalign-setter,
+ @label-yalign,
+ @label-yalign-setter,
+ @shadow,
+ @shadow-setter,
+ @shadow-type,
+ @shadow-type-setter,
+ @label-widget,
+ @label-widget-setter,
+ @image,
+ @image-setter,
+ @pixbuf-column,
+ @pixbuf-column-setter,
+ @text-column,
+ @text-column-setter,
+ @markup-column,
+ @markup-column-setter,
+ @selection-mode,
+ @selection-mode-setter,
+ @orientation,
+ @orientation-setter,
+ @model,
+ @model-setter,
+ @columns,
+ @columns-setter,
+ @item-width,
+ @item-width-setter,
+ @spacing,
+ @spacing-setter,
+ @row-spacing,
+ @row-spacing-setter,
+ @column-spacing,
+ @column-spacing-setter,
+ @margin,
+ @margin-setter,
+ @reorderable,
+ @reorderable-setter,
+ @pixbuf,
+ @pixbuf-setter,
+ @pixmap,
+ @pixmap-setter,
+ @image,
+ @image-setter,
+ @mask,
+ @mask-setter,
+ @file,
+ @file-setter,
+ @stock,
+ @stock-setter,
+ @icon-set,
+ @icon-set-setter,
+ @icon-size,
+ @icon-size-setter,
+ @pixel-size,
+ @pixel-size-setter,
+ @pixbuf-animation,
+ @pixbuf-animation-setter,
+ @icon-name,
+ @icon-name-setter,
+ @storage-type,
+ @group-setter,
+ @screen,
+ @screen-setter,
+ @label,
+ @label-setter,
+ @attributes,
+ @attributes-setter,
+ @use-markup,
+ @use-markup-setter,
+ @use-underline,
+ @use-underline-setter,
+ @justify,
+ @justify-setter,
+ @pattern-setter,
+ @wrap,
+ @wrap-setter,
+ @selectable,
+ @selectable-setter,
+ @mnemonic-keyval,
+ @mnemonic-widget,
+ @mnemonic-widget-setter,
+ @cursor-position,
+ @selection-bound,
+ @ellipsize,
+ @ellipsize-setter,
+ @width-chars,
+ @width-chars-setter,
+ @single-line-mode,
+ @single-line-mode-setter,
+ @angle,
+ @angle-setter,
+ @max-width-chars,
+ @max-width-chars-setter,
+ @hadjustment,
+ @hadjustment-setter,
+ @vadjustment,
+ @vadjustment-setter,
+ @width,
+ @width-setter,
+ @height,
+ @height-setter,
+ @selection-mode,
+ @selection-mode-setter,
+ @tearoff-state,
+ @tearoff-state-setter,
+ @tearoff-title,
+ @tearoff-title-setter,
+ @pack-direction,
+ @pack-direction-setter,
+ @child-pack-direction,
+ @child-pack-direction-setter,
+ @take-focus,
+ @take-focus-setter,
+ @menu,
+ @menu-setter,
+ @message-type,
+ @message-type-setter,
+ @buttons-setter,
+ @xalign,
+ @xalign-setter,
+ @yalign,
+ @yalign-setter,
+ @xpad,
+ @xpad-setter,
+ @ypad,
+ @ypad-setter,
+ @tab-pos,
+ @tab-pos-setter,
+ @show-tabs,
+ @show-tabs-setter,
+ @show-border,
+ @show-border-setter,
+ @scrollable,
+ @scrollable-setter,
+ @tab-border-setter,
+ @tab-hborder,
+ @tab-hborder-setter,
+ @tab-vborder,
+ @tab-vborder-setter,
+ @page,
+ @page-setter,
+ @enable-popup,
+ @enable-popup-setter,
+ @homogeneous,
+ @homogeneous-setter,
+ @user-data,
+ @user-data-setter,
+ @menu,
+ @menu-setter,
+ @position,
+ @position-setter,
+ @position-set,
+ @position-set-setter,
+ @min-position,
+ @max-position,
+ @expand,
+ @expand-setter,
+ @activity-mode,
+ @activity-mode-setter,
+ @show-text,
+ @show-text-setter,
+ @text-xalign,
+ @text-xalign-setter,
+ @text-yalign,
+ @text-yalign-setter,
+ @fraction,
+ @fraction-setter,
+ @pulse-step,
+ @pulse-step-setter,
+ @orientation,
+ @orientation-setter,
+ @text,
+ @text-setter,
+ @ellipsize,
+ @ellipsize-setter,
+ @adjustment,
+ @adjustment-setter,
+ @bar-style,
+ @bar-style-setter,
+ @activity-step,
+ @activity-step-setter,
+ @activity-blocks,
+ @activity-blocks-setter,
+ @discrete-blocks,
+ @discrete-blocks-setter,
+ @value,
+ @value-setter,
+ @group-setter,
+ @group-setter,
+ @group-setter,
+ @update-policy,
+ @update-policy-setter,
+ @adjustment,
+ @adjustment-setter,
+ @inverted,
+ @inverted-setter,
+ @lower,
+ @lower-setter,
+ @upper,
+ @upper-setter,
+ @position,
+ @position-setter,
+ @max-size,
+ @max-size-setter,
+ @metric,
+ @metric-setter,
+ @digits,
+ @digits-setter,
+ @draw-value,
+ @draw-value-setter,
+ @value-pos,
+ @value-pos-setter,
+ @hadjustment,
+ @hadjustment-setter,
+ @vadjustment,
+ @vadjustment-setter,
+ @hscrollbar-policy,
+ @hscrollbar-policy-setter,
+ @vscrollbar-policy,
+ @vscrollbar-policy-setter,
+ @window-placement,
+ @window-placement-setter,
+ @shadow-type,
+ @shadow-type-setter,
+ @draw,
+ @draw-setter,
+ @gtk-double-click-time,
+ @gtk-double-click-time-setter,
+ @gtk-double-click-distance,
+ @gtk-double-click-distance-setter,
+ @gtk-cursor-blink,
+ @gtk-cursor-blink-setter,
+ @gtk-cursor-blink-time,
+ @gtk-cursor-blink-time-setter,
+ @gtk-split-cursor,
+ @gtk-split-cursor-setter,
+ @gtk-theme-name,
+ @gtk-theme-name-setter,
+ @gtk-icon-theme-name,
+ @gtk-icon-theme-name-setter,
+ @gtk-fallback-icon-theme,
+ @gtk-fallback-icon-theme-setter,
+ @gtk-key-theme-name,
+ @gtk-key-theme-name-setter,
+ @gtk-menu-bar-accel,
+ @gtk-menu-bar-accel-setter,
+ @gtk-dnd-drag-threshold,
+ @gtk-dnd-drag-threshold-setter,
+ @gtk-font-name,
+ @gtk-font-name-setter,
+ @gtk-icon-sizes,
+ @gtk-icon-sizes-setter,
+ @gtk-modules,
+ @gtk-modules-setter,
+ @gtk-xft-antialias,
+ @gtk-xft-antialias-setter,
+ @gtk-xft-hinting,
+ @gtk-xft-hinting-setter,
+ @gtk-xft-hintstyle,
+ @gtk-xft-hintstyle-setter,
+ @gtk-xft-rgba,
+ @gtk-xft-rgba-setter,
+ @gtk-xft-dpi,
+ @gtk-xft-dpi-setter,
+ @gtk-cursor-theme-name,
+ @gtk-cursor-theme-name-setter,
+ @gtk-cursor-theme-size,
+ @gtk-cursor-theme-size-setter,
+ @gtk-alternative-button-order,
+ @gtk-alternative-button-order-setter,
+ @gtk-button-images,
+ @gtk-button-images-setter,
+ @gtk-color-palette,
+ @gtk-color-palette-setter,
+ @gtk-entry-select-on-focus,
+ @gtk-entry-select-on-focus-setter,
+ @gtk-menu-images,
+ @gtk-menu-images-setter,
+ @gtk-can-change-accels,
+ @gtk-can-change-accels-setter,
+ @gtk-menu-popup-delay,
+ @gtk-menu-popup-delay-setter,
+ @gtk-menu-popdown-delay,
+ @gtk-menu-popdown-delay-setter,
+ @gtk-menu-bar-popup-delay,
+ @gtk-menu-bar-popup-delay-setter,
+ @mode,
+ @mode-setter,
+ @ignore-hidden,
+ @ignore-hidden-setter,
+ @adjustment,
+ @adjustment-setter,
+ @climb-rate,
+ @climb-rate-setter,
+ @digits,
+ @digits-setter,
+ @snap-to-ticks,
+ @snap-to-ticks-setter,
+ @numeric,
+ @numeric-setter,
+ @wrap,
+ @wrap-setter,
+ @update-policy,
+ @update-policy-setter,
+ @value,
+ @value-setter,
+ @has-resize-grip,
+ @has-resize-grip-setter,
+ @n-rows,
+ @n-rows-setter,
+ @n-columns,
+ @n-columns-setter,
+ @column-spacing,
+ @column-spacing-setter,
+ @row-spacing,
+ @row-spacing-setter,
+ @homogeneous,
+ @homogeneous-setter,
+ @tag-table,
+ @tag-table-setter,
+ @text,
+ @text-setter,
+ @name,
+ @name-setter,
+ @background-setter,
+ @foreground-setter,
+ @background-gdk,
+ @background-gdk-setter,
+ @foreground-gdk,
+ @foreground-gdk-setter,
+ @background-stipple,
+ @background-stipple-setter,
+ @foreground-stipple,
+ @foreground-stipple-setter,
+ @font,
+ @font-setter,
+ @font-desc,
+ @font-desc-setter,
+ @family,
+ @family-setter,
+ @style,
+ @style-setter,
+ @variant,
+ @variant-setter,
+ @weight,
+ @weight-setter,
+ @stretch,
+ @stretch-setter,
+ @size,
+ @size-setter,
+ @size-points,
+ @size-points-setter,
+ @scale,
+ @scale-setter,
+ @pixels-above-lines,
+ @pixels-above-lines-setter,
+ @pixels-below-lines,
+ @pixels-below-lines-setter,
+ @pixels-inside-wrap,
+ @pixels-inside-wrap-setter,
+ @editable,
+ @editable-setter,
+ @wrap-mode,
+ @wrap-mode-setter,
+ @justification,
+ @justification-setter,
+ @direction,
+ @direction-setter,
+ @left-margin,
+ @left-margin-setter,
+ @indent,
+ @indent-setter,
+ @strikethrough,
+ @strikethrough-setter,
+ @right-margin,
+ @right-margin-setter,
+ @underline,
+ @underline-setter,
+ @rise,
+ @rise-setter,
+ @background-full-height,
+ @background-full-height-setter,
+ @language,
+ @language-setter,
+ @tabs,
+ @tabs-setter,
+ @invisible,
+ @invisible-setter,
+ @paragraph-background-setter,
+ @paragraph-background-gdk,
+ @paragraph-background-gdk-setter,
+ @background-set,
+ @background-set-setter,
+ @foreground-set,
+ @foreground-set-setter,
+ @background-stipple-set,
+ @background-stipple-set-setter,
+ @foreground-stipple-set,
+ @foreground-stipple-set-setter,
+ @family-set,
+ @family-set-setter,
+ @style-set,
+ @style-set-setter,
+ @variant-set,
+ @variant-set-setter,
+ @weight-set,
+ @weight-set-setter,
+ @stretch-set,
+ @stretch-set-setter,
+ @size-set,
+ @size-set-setter,
+ @scale-set,
+ @scale-set-setter,
+ @pixels-above-lines-set,
+ @pixels-above-lines-set-setter,
+ @pixels-below-lines-set,
+ @pixels-below-lines-set-setter,
+ @pixels-inside-wrap-set,
+ @pixels-inside-wrap-set-setter,
+ @editable-set,
+ @editable-set-setter,
+ @wrap-mode-set,
+ @wrap-mode-set-setter,
+ @justification-set,
+ @justification-set-setter,
+ @left-margin-set,
+ @left-margin-set-setter,
+ @indent-set,
+ @indent-set-setter,
+ @strikethrough-set,
+ @strikethrough-set-setter,
+ @right-margin-set,
+ @right-margin-set-setter,
+ @underline-set,
+ @underline-set-setter,
+ @rise-set,
+ @rise-set-setter,
+ @background-full-height-set,
+ @background-full-height-set-setter,
+ @language-set,
+ @language-set-setter,
+ @tabs-set,
+ @tabs-set-setter,
+ @invisible-set,
+ @invisible-set-setter,
+ @paragraph-background-set,
+ @paragraph-background-set-setter,
+ @pixels-above-lines,
+ @pixels-above-lines-setter,
+ @pixels-below-lines,
+ @pixels-below-lines-setter,
+ @pixels-inside-wrap,
+ @pixels-inside-wrap-setter,
+ @editable,
+ @editable-setter,
+ @wrap-mode,
+ @wrap-mode-setter,
+ @justification,
+ @justification-setter,
+ @left-margin,
+ @left-margin-setter,
+ @right-margin,
+ @right-margin-setter,
+ @indent,
+ @indent-setter,
+ @tabs,
+ @tabs-setter,
+ @cursor-visible,
+ @cursor-visible-setter,
+ @buffer,
+ @buffer-setter,
+ @overwrite,
+ @overwrite-setter,
+ @accepts-tab,
+ @accepts-tab-setter,
+ @emit-always,
+ @emit-always-setter,
+ @caller,
+ @caller-setter,
+ @label-inactive,
+ @label-inactive-setter,
+ @label-no-tip,
+ @label-no-tip-setter,
+ @draw-as-radio,
+ @draw-as-radio-setter,
+ @active,
+ @active-setter,
+ @inconsistent,
+ @inconsistent-setter,
+ @draw-indicator,
+ @draw-indicator-setter,
+ @active,
+ @active-setter,
+ @orientation,
+ @orientation-setter,
+ @toolbar-style,
+ @toolbar-style-setter,
+ @show-arrow,
+ @show-arrow-setter,
+ @tooltips,
+ @tooltips-setter,
+ @label,
+ @label-setter,
+ @use-underline,
+ @use-underline-setter,
+ @label-widget,
+ @label-widget-setter,
+ @stock-id,
+ @stock-id-setter,
+ @icon-name,
+ @icon-name-setter,
+ @icon-widget,
+ @icon-widget-setter,
+ @visible-horizontal,
+ @visible-horizontal-setter,
+ @visible-vertical,
+ @visible-vertical-setter,
+ @is-important,
+ @is-important-setter,
+ @child-model,
+ @child-model-setter,
+ @virtual-root,
+ @virtual-root-setter,
+ @model,
+ @model-setter,
+ @model,
+ @model-setter,
+ @hadjustment,
+ @hadjustment-setter,
+ @vadjustment,
+ @vadjustment-setter,
+ @headers-visible,
+ @headers-visible-setter,
+ @headers-clickable,
+ @headers-clickable-setter,
+ @expander-column,
+ @expander-column-setter,
+ @reorderable,
+ @reorderable-setter,
+ @rules-hint,
+ @rules-hint-setter,
+ @enable-search,
+ @enable-search-setter,
+ @search-column,
+ @search-column-setter,
+ @fixed-height-mode,
+ @fixed-height-mode-setter,
+ @hover-selection,
+ @hover-selection-setter,
+ @hover-expand,
+ @hover-expand-setter,
+ @visible,
+ @visible-setter,
+ @resizable,
+ @resizable-setter,
+ @width,
+ @spacing,
+ @spacing-setter,
+ @sizing,
+ @sizing-setter,
+ @fixed-width,
+ @fixed-width-setter,
+ @min-width,
+ @min-width-setter,
+ @max-width,
+ @max-width-setter,
+ @title,
+ @title-setter,
+ @expand,
+ @expand-setter,
+ @clickable,
+ @clickable-setter,
+ @widget,
+ @widget-setter,
+ @alignment,
+ @alignment-setter,
+ @reorderable,
+ @reorderable-setter,
+ @sort-indicator,
+ @sort-indicator-setter,
+ @sort-order,
+ @sort-order-setter,
+ @add-tearoffs,
+ @add-tearoffs-setter,
+ @ui,
+ @hadjustment,
+ @hadjustment-setter,
+ @vadjustment,
+ @vadjustment-setter,
+ @shadow-type,
+ @shadow-type-setter,
+ @name,
+ @name-setter,
+ @parent,
+ @parent-setter,
+ @width-request,
+ @width-request-setter,
+ @height-request,
+ @height-request-setter,
+ @visible,
+ @visible-setter,
+ @sensitive,
+ @sensitive-setter,
+ @app-paintable,
+ @app-paintable-setter,
+ @can-focus,
+ @can-focus-setter,
+ @has-focus,
+ @has-focus-setter,
+ @is-focus,
+ @is-focus-setter,
+ @can-default,
+ @can-default-setter,
+ @has-default,
+ @has-default-setter,
+ @receives-default,
+ @receives-default-setter,
+ @composite-child,
+ @style,
+ @style-setter,
+ @events,
+ @events-setter,
+ @extension-events,
+ @extension-events-setter,
+ @no-show-all,
+ @no-show-all-setter,
+ @type,
+ @type-setter,
+ @title,
+ @title-setter,
+ @role,
+ @role-setter,
+ @allow-shrink,
+ @allow-shrink-setter,
+ @allow-grow,
+ @allow-grow-setter,
+ @resizable,
+ @resizable-setter,
+ @modal,
+ @modal-setter,
+ @window-position,
+ @window-position-setter,
+ @default-width,
+ @default-width-setter,
+ @default-height,
+ @default-height-setter,
+ @destroy-with-parent,
+ @destroy-with-parent-setter,
+ @icon,
+ @icon-setter,
+ @icon-name,
+ @icon-name-setter,
+ @screen,
+ @screen-setter,
+ @type-hint,
+ @type-hint-setter,
+ @skip-taskbar-hint,
+ @skip-taskbar-hint-setter,
+ @skip-pager-hint,
+ @skip-pager-hint-setter,
+ @urgency-hint,
+ @urgency-hint-setter,
+ @accept-focus,
+ @accept-focus-setter,
+ @focus-on-map,
+ @focus-on-map-setter,
+ @decorated,
+ @decorated-setter,
+ @gravity,
+ @gravity-setter,
+ @is-active,
+ @has-toplevel-focus ;
+end
Added: branches/opendylan-melange/gtk/properties.dylan
==============================================================================
--- (empty file)
+++ branches/opendylan-melange/gtk/properties.dylan Sat May 19 21:43:18 2007
@@ -0,0 +1,1205 @@
+module: gtk-properties
+
+define property-getter selected-link :: <gboolean> on <AtkHyperlink> end;
+define property-getter number-of-anchors :: <gint> on <AtkHyperlink> end;
+define property-getter start-index :: <gint> on <AtkHyperlink> end;
+define property-getter end-index :: <gint> on <AtkHyperlink> end;
+define property-getter accessible-name :: <gchararray> on <AtkObject> end;
+define property-setter accessible-name :: <gchararray> on <AtkObject> end;
+define property-getter accessible-description :: <gchararray> on <AtkObject> end;
+define property-setter accessible-description :: <gchararray> on <AtkObject> end;
+define property-getter accessible-parent :: <AtkObject> on <AtkObject> end;
+define property-setter accessible-parent :: <AtkObject> on <AtkObject> end;
+define property-getter accessible-value :: <gdouble> on <AtkObject> end;
+define property-setter accessible-value :: <gdouble> on <AtkObject> end;
+define property-getter accessible-role :: <gint> on <AtkObject> end;
+define property-setter accessible-role :: <gint> on <AtkObject> end;
+define property-getter accessible-component-layer :: <gint> on <AtkObject> end;
+define property-getter accessible-component-mdi-zorder :: <gint> on <AtkObject> end;
+define property-getter accessible-table-caption :: <gchararray> on <AtkObject> end;
+define property-setter accessible-table-caption :: <gchararray> on <AtkObject> end;
+define property-getter accessible-table-column-description :: <gchararray> on <AtkObject> end;
+define property-setter accessible-table-column-description :: <gchararray> on <AtkObject> end;
+define property-getter accessible-table-column-header :: <AtkObject> on <AtkObject> end;
+define property-setter accessible-table-column-header :: <AtkObject> on <AtkObject> end;
+define property-getter accessible-table-row-description :: <gchararray> on <AtkObject> end;
+define property-setter accessible-table-row-description :: <gchararray> on <AtkObject> end;
+define property-getter accessible-table-row-header :: <AtkObject> on <AtkObject> end;
+define property-setter accessible-table-row-header :: <AtkObject> on <AtkObject> end;
+define property-getter accessible-table-summary :: <AtkObject> on <AtkObject> end;
+define property-setter accessible-table-summary :: <AtkObject> on <AtkObject> end;
+define property-getter accessible-table-caption-object :: <AtkObject> on <AtkObject> end;
+define property-setter accessible-table-caption-object :: <AtkObject> on <AtkObject> end;
+define property-getter accessible-hypertext-nlinks :: <gint> on <AtkObject> end;
+define property-getter relation-type :: <AtkRelationType> on <AtkRelation> end;
+define property-setter relation-type :: <AtkRelationType> on <AtkRelation> end;
+define property-getter target :: <GValueArray> on <AtkRelation> end;
+define property-setter target :: <GValueArray> on <AtkRelation> end;
+define property-getter colorspace :: <GdkColorspace> on <GdkPixbuf> end;
+define property-setter colorspace :: <GdkColorspace> on <GdkPixbuf> end;
+define property-getter n-channels :: <gint> on <GdkPixbuf> end;
+define property-setter n-channels :: <gint> on <GdkPixbuf> end;
+define property-getter has-alpha :: <gboolean> on <GdkPixbuf> end;
+define property-setter has-alpha :: <gboolean> on <GdkPixbuf> end;
+define property-getter bits-per-sample :: <gint> on <GdkPixbuf> end;
+define property-setter bits-per-sample :: <gint> on <GdkPixbuf> end;
+define property-getter width :: <gint> on <GdkPixbuf> end;
+define property-setter width :: <gint> on <GdkPixbuf> end;
+define property-getter height :: <gint> on <GdkPixbuf> end;
+define property-setter height :: <gint> on <GdkPixbuf> end;
+define property-getter rowstride :: <gint> on <GdkPixbuf> end;
+define property-setter rowstride :: <gint> on <GdkPixbuf> end;
+define property-getter pixels :: <gpointer> on <GdkPixbuf> end;
+define property-setter pixels :: <gpointer> on <GdkPixbuf> end;
+define property-getter default-display :: <GdkDisplay> on <GdkDisplayManager> end;
+define property-setter default-display :: <GdkDisplay> on <GdkDisplayManager> end;
+define property-getter screen :: <GdkScreen> on <GdkPangoRenderer> end;
+define property-setter screen :: <GdkScreen> on <GdkPangoRenderer> end;
+define property-getter name :: <gchararray> on <GtkAboutDialog> end;
+define property-setter name :: <gchararray> on <GtkAboutDialog> end;
+define property-getter version :: <gchararray> on <GtkAboutDialog> end;
+define property-setter version :: <gchararray> on <GtkAboutDialog> end;
+define property-getter copyright :: <gchararray> on <GtkAboutDialog> end;
+define property-setter copyright :: <gchararray> on <GtkAboutDialog> end;
+define property-getter comments :: <gchararray> on <GtkAboutDialog> end;
+define property-setter comments :: <gchararray> on <GtkAboutDialog> end;
+define property-getter website :: <gchararray> on <GtkAboutDialog> end;
+define property-setter website :: <gchararray> on <GtkAboutDialog> end;
+define property-getter website-label :: <gchararray> on <GtkAboutDialog> end;
+define property-setter website-label :: <gchararray> on <GtkAboutDialog> end;
+define property-getter license :: <gchararray> on <GtkAboutDialog> end;
+define property-setter license :: <gchararray> on <GtkAboutDialog> end;
+define property-getter authors :: <GStrv> on <GtkAboutDialog> end;
+define property-setter authors :: <GStrv> on <GtkAboutDialog> end;
+define property-getter documenters :: <GStrv> on <GtkAboutDialog> end;
+define property-setter documenters :: <GStrv> on <GtkAboutDialog> end;
+define property-getter translator-credits :: <gchararray> on <GtkAboutDialog> end;
+define property-setter translator-credits :: <gchararray> on <GtkAboutDialog> end;
+define property-getter artists :: <GStrv> on <GtkAboutDialog> end;
+define property-setter artists :: <GStrv> on <GtkAboutDialog> end;
+define property-getter logo :: <GdkPixbuf> on <GtkAboutDialog> end;
+define property-setter logo :: <GdkPixbuf> on <GtkAboutDialog> end;
+define property-getter logo-icon-name :: <gchararray> on <GtkAboutDialog> end;
+define property-setter logo-icon-name :: <gchararray> on <GtkAboutDialog> end;
+define property-getter wrap-license :: <gboolean> on <GtkAboutDialog> end;
+define property-setter wrap-license :: <gboolean> on <GtkAboutDialog> end;
+define property-getter name :: <gchararray> on <GtkActionGroup> end;
+define property-setter name :: <gchararray> on <GtkActionGroup> end;
+define property-getter sensitive :: <gboolean> on <GtkActionGroup> end;
+define property-setter sensitive :: <gboolean> on <GtkActionGroup> end;
+define property-getter visible :: <gboolean> on <GtkActionGroup> end;
+define property-setter visible :: <gboolean> on <GtkActionGroup> end;
+define property-getter accel-closure :: <GClosure> on <GtkAccelLabel> end;
+define property-setter accel-closure :: <GClosure> on <GtkAccelLabel> end;
+define property-getter accel-widget :: <GtkWidget> on <GtkAccelLabel> end;
+define property-setter accel-widget :: <GtkWidget> on <GtkAccelLabel> end;
+define property-getter name :: <gchararray> on <GtkAction> end;
+define property-setter name :: <gchararray> on <GtkAction> end;
+define property-getter label :: <gchararray> on <GtkAction> end;
+define property-setter label :: <gchararray> on <GtkAction> end;
+define property-getter short-label :: <gchararray> on <GtkAction> end;
+define property-setter short-label :: <gchararray> on <GtkAction> end;
+define property-getter tooltip :: <gchararray> on <GtkAction> end;
+define property-setter tooltip :: <gchararray> on <GtkAction> end;
+define property-getter stock-id :: <gchararray> on <GtkAction> end;
+define property-setter stock-id :: <gchararray> on <GtkAction> end;
+define property-getter visible-horizontal :: <gboolean> on <GtkAction> end;
+define property-setter visible-horizontal :: <gboolean> on <GtkAction> end;
+define property-getter visible-vertical :: <gboolean> on <GtkAction> end;
+define property-setter visible-vertical :: <gboolean> on <GtkAction> end;
+define property-getter visible-overflown :: <gboolean> on <GtkAction> end;
+define property-setter visible-overflown :: <gboolean> on <GtkAction> end;
+define property-getter is-important :: <gboolean> on <GtkAction> end;
+define property-setter is-important :: <gboolean> on <GtkAction> end;
+define property-getter hide-if-empty :: <gboolean> on <GtkAction> end;
+define property-setter hide-if-empty :: <gboolean> on <GtkAction> end;
+define property-getter sensitive :: <gboolean> on <GtkAction> end;
+define property-setter sensitive :: <gboolean> on <GtkAction> end;
+define property-getter visible :: <gboolean> on <GtkAction> end;
+define property-setter visible :: <gboolean> on <GtkAction> end;
+define property-getter action-group :: <GtkActionGroup> on <GtkAction> end;
+define property-setter action-group :: <GtkActionGroup> on <GtkAction> end;
+define property-getter xalign :: <gfloat> on <GtkAspectFrame> end;
+define property-setter xalign :: <gfloat> on <GtkAspectFrame> end;
+define property-getter yalign :: <gfloat> on <GtkAspectFrame> end;
+define property-setter yalign :: <gfloat> on <GtkAspectFrame> end;
+define property-getter ratio :: <gfloat> on <GtkAspectFrame> end;
+define property-setter ratio :: <gfloat> on <GtkAspectFrame> end;
+define property-getter obey-child :: <gboolean> on <GtkAspectFrame> end;
+define property-setter obey-child :: <gboolean> on <GtkAspectFrame> end;
+define property-getter value :: <gdouble> on <GtkAdjustment> end;
+define property-setter value :: <gdouble> on <GtkAdjustment> end;
+define property-getter lower :: <gdouble> on <GtkAdjustment> end;
+define property-setter lower :: <gdouble> on <GtkAdjustment> end;
+define property-getter upper :: <gdouble> on <GtkAdjustment> end;
+define property-setter upper :: <gdouble> on <GtkAdjustment> end;
+define property-getter step-increment :: <gdouble> on <GtkAdjustment> end;
+define property-setter step-increment :: <gdouble> on <GtkAdjustment> end;
+define property-getter page-increment :: <gdouble> on <GtkAdjustment> end;
+define property-setter page-increment :: <gdouble> on <GtkAdjustment> end;
+define property-getter page-size :: <gdouble> on <GtkAdjustment> end;
+define property-setter page-size :: <gdouble> on <GtkAdjustment> end;
+define property-getter xalign :: <gfloat> on <GtkAlignment> end;
+define property-setter xalign :: <gfloat> on <GtkAlignment> end;
+define property-getter yalign :: <gfloat> on <GtkAlignment> end;
+define property-setter yalign :: <gfloat> on <GtkAlignment> end;
+define property-getter xscale :: <gfloat> on <GtkAlignment> end;
+define property-setter xscale :: <gfloat> on <GtkAlignment> end;
+define property-getter yscale :: <gfloat> on <GtkAlignment> end;
+define property-setter yscale :: <gfloat> on <GtkAlignment> end;
+define property-getter top-padding :: <guint> on <GtkAlignment> end;
+define property-setter top-padding :: <guint> on <GtkAlignment> end;
+define property-getter bottom-padding :: <guint> on <GtkAlignment> end;
+define property-setter bottom-padding :: <guint> on <GtkAlignment> end;
+define property-getter left-padding :: <guint> on <GtkAlignment> end;
+define property-setter left-padding :: <guint> on <GtkAlignment> end;
+define property-getter right-padding :: <guint> on <GtkAlignment> end;
+define property-setter right-padding :: <guint> on <GtkAlignment> end;
+define property-getter arrow-type :: <GtkArrowType> on <GtkArrow> end;
+define property-setter arrow-type :: <GtkArrowType> on <GtkArrow> end;
+define property-getter shadow-type :: <GtkShadowType> on <GtkArrow> end;
+define property-setter shadow-type :: <GtkShadowType> on <GtkArrow> end;
+define property-getter year :: <gint> on <GtkCalendar> end;
+define property-setter year :: <gint> on <GtkCalendar> end;
+define property-getter month :: <gint> on <GtkCalendar> end;
+define property-setter month :: <gint> on <GtkCalendar> end;
+define property-getter day :: <gint> on <GtkCalendar> end;
+define property-setter day :: <gint> on <GtkCalendar> end;
+define property-getter show-heading :: <gboolean> on <GtkCalendar> end;
+define property-setter show-heading :: <gboolean> on <GtkCalendar> end;
+define property-getter show-day-names :: <gboolean> on <GtkCalendar> end;
+define property-setter show-day-names :: <gboolean> on <GtkCalendar> end;
+define property-getter no-month-change :: <gboolean> on <GtkCalendar> end;
+define property-setter no-month-change :: <gboolean> on <GtkCalendar> end;
+define property-getter show-week-numbers :: <gboolean> on <GtkCalendar> end;
+define property-setter show-week-numbers :: <gboolean> on <GtkCalendar> end;
+define property-getter spacing :: <gint> on <GtkBox> end;
+define property-setter spacing :: <gint> on <GtkBox> end;
+define property-getter homogeneous :: <gboolean> on <GtkBox> end;
+define property-setter homogeneous :: <gboolean> on <GtkBox> end;
+define property-getter layout-style :: <GtkButtonBoxStyle> on <GtkButtonBox> end;
+define property-setter layout-style :: <GtkButtonBoxStyle> on <GtkButtonBox> end;
+define property-getter label :: <gchararray> on <GtkButton> end;
+define property-setter label :: <gchararray> on <GtkButton> end;
+define property-getter image :: <GtkWidget> on <GtkButton> end;
+define property-setter image :: <GtkWidget> on <GtkButton> end;
+define property-getter relief :: <GtkReliefStyle> on <GtkButton> end;
+define property-setter relief :: <GtkReliefStyle> on <GtkButton> end;
+define property-getter use-underline :: <gboolean> on <GtkButton> end;
+define property-setter use-underline :: <gboolean> on <GtkButton> end;
+define property-getter use-stock :: <gboolean> on <GtkButton> end;
+define property-setter use-stock :: <gboolean> on <GtkButton> end;
+define property-getter focus-on-click :: <gboolean> on <GtkButton> end;
+define property-setter focus-on-click :: <gboolean> on <GtkButton> end;
+define property-getter xalign :: <gfloat> on <GtkButton> end;
+define property-setter xalign :: <gfloat> on <GtkButton> end;
+define property-getter yalign :: <gfloat> on <GtkButton> end;
+define property-setter yalign :: <gfloat> on <GtkButton> end;
+define property-getter model :: <GtkTreeModel> on <GtkCellRendererCombo> end;
+define property-setter model :: <GtkTreeModel> on <GtkCellRendererCombo> end;
+define property-getter text-column :: <gint> on <GtkCellRendererCombo> end;
+define property-setter text-column :: <gint> on <GtkCellRendererCombo> end;
+define property-getter has-entry :: <gboolean> on <GtkCellRendererCombo> end;
+define property-setter has-entry :: <gboolean> on <GtkCellRendererCombo> end;
+define property-getter mode :: <GtkCellRendererMode> on <GtkCellRenderer> end;
+define property-setter mode :: <GtkCellRendererMode> on <GtkCellRenderer> end;
+define property-getter visible :: <gboolean> on <GtkCellRenderer> end;
+define property-setter visible :: <gboolean> on <GtkCellRenderer> end;
+define property-getter sensitive :: <gboolean> on <GtkCellRenderer> end;
+define property-setter sensitive :: <gboolean> on <GtkCellRenderer> end;
+define property-getter xalign :: <gfloat> on <GtkCellRenderer> end;
+define property-setter xalign :: <gfloat> on <GtkCellRenderer> end;
+define property-getter yalign :: <gfloat> on <GtkCellRenderer> end;
+define property-setter yalign :: <gfloat> on <GtkCellRenderer> end;
+define property-getter xpad :: <guint> on <GtkCellRenderer> end;
+define property-setter xpad :: <guint> on <GtkCellRenderer> end;
+define property-getter ypad :: <guint> on <GtkCellRenderer> end;
+define property-setter ypad :: <guint> on <GtkCellRenderer> end;
+define property-getter width :: <gint> on <GtkCellRenderer> end;
+define property-setter width :: <gint> on <GtkCellRenderer> end;
+define property-getter height :: <gint> on <GtkCellRenderer> end;
+define property-setter height :: <gint> on <GtkCellRenderer> end;
+define property-getter is-expander :: <gboolean> on <GtkCellRenderer> end;
+define property-setter is-expander :: <gboolean> on <GtkCellRenderer> end;
+define property-getter is-expanded :: <gboolean> on <GtkCellRenderer> end;
+define property-setter is-expanded :: <gboolean> on <GtkCellRenderer> end;
+define property-setter cell-background :: <gchararray> on <GtkCellRenderer> end;
+define property-getter cell-background-gdk :: <GdkColor> on <GtkCellRenderer> end;
+define property-setter cell-background-gdk :: <GdkColor> on <GtkCellRenderer> end;
+define property-getter cell-background-set :: <gboolean> on <GtkCellRenderer> end;
+define property-setter cell-background-set :: <gboolean> on <GtkCellRenderer> end;
+define property-getter value :: <gint> on <GtkCellRendererProgress> end;
+define property-setter value :: <gint> on <GtkCellRendererProgress> end;
+define property-getter text :: <gchararray> on <GtkCellRendererProgress> end;
+define property-setter text :: <gchararray> on <GtkCellRendererProgress> end;
+define property-getter pixbuf :: <GdkPixbuf> on <GtkCellRendererPixbuf> end;
+define property-setter pixbuf :: <GdkPixbuf> on <GtkCellRendererPixbuf> end;
+define property-getter pixbuf-expander-open :: <GdkPixbuf> on <GtkCellRendererPixbuf> end;
+define property-setter pixbuf-expander-open :: <GdkPixbuf> on <GtkCellRendererPixbuf> end;
+define property-getter pixbuf-expander-closed :: <GdkPixbuf> on <GtkCellRendererPixbuf> end;
+define property-setter pixbuf-expander-closed :: <GdkPixbuf> on <GtkCellRendererPixbuf> end;
+define property-getter stock-id :: <gchararray> on <GtkCellRendererPixbuf> end;
+define property-setter stock-id :: <gchararray> on <GtkCellRendererPixbuf> end;
+define property-getter stock-size :: <guint> on <GtkCellRendererPixbuf> end;
+define property-setter stock-size :: <guint> on <GtkCellRendererPixbuf> end;
+define property-getter stock-detail :: <gchararray> on <GtkCellRendererPixbuf> end;
+define property-setter stock-detail :: <gchararray> on <GtkCellRendererPixbuf> end;
+define property-getter follow-state :: <gboolean> on <GtkCellRendererPixbuf> end;
+define property-setter follow-state :: <gboolean> on <GtkCellRendererPixbuf> end;
+define property-getter icon-name :: <gchararray> on <GtkCellRendererPixbuf> end;
+define property-setter icon-name :: <gchararray> on <GtkCellRendererPixbuf> end;
+define property-getter shadow :: <GtkShadowType> on <GtkHandleBox> end;
+define property-setter shadow :: <GtkShadowType> on <GtkHandleBox> end;
+define property-getter shadow-type :: <GtkShadowType> on <GtkHandleBox> end;
+define property-setter shadow-type :: <GtkShadowType> on <GtkHandleBox> end;
+define property-getter handle-position :: <GtkPositionType> on <GtkHandleBox> end;
+define property-setter handle-position :: <GtkPositionType> on <GtkHandleBox> end;
+define property-getter snap-edge :: <GtkPositionType> on <GtkHandleBox> end;
+define property-setter snap-edge :: <GtkPositionType> on <GtkHandleBox> end;
+define property-getter snap-edge-set :: <gboolean> on <GtkHandleBox> end;
+define property-setter snap-edge-set :: <gboolean> on <GtkHandleBox> end;
+define property-getter text :: <gchararray> on <GtkCellRendererText> end;
+define property-setter text :: <gchararray> on <GtkCellRendererText> end;
+define property-setter markup :: <gchararray> on <GtkCellRendererText> end;
+define property-getter attributes :: <PangoAttrList> on <GtkCellRendererText> end;
+define property-setter attributes :: <PangoAttrList> on <GtkCellRendererText> end;
+define property-getter single-paragraph-mode :: <gboolean> on <GtkCellRendererText> end;
+define property-setter single-paragraph-mode :: <gboolean> on <GtkCellRendererText> end;
+define property-getter width-chars :: <gint> on <GtkCellRendererText> end;
+define property-setter width-chars :: <gint> on <GtkCellRendererText> end;
+define property-getter wrap-width :: <gint> on <GtkCellRendererText> end;
+define property-setter wrap-width :: <gint> on <GtkCellRendererText> end;
+define property-setter background :: <gchararray> on <GtkCellRendererText> end;
+define property-setter foreground :: <gchararray> on <GtkCellRendererText> end;
+define property-getter background-gdk :: <GdkColor> on <GtkCellRendererText> end;
+define property-setter background-gdk :: <GdkColor> on <GtkCellRendererText> end;
+define property-getter foreground-gdk :: <GdkColor> on <GtkCellRendererText> end;
+define property-setter foreground-gdk :: <GdkColor> on <GtkCellRendererText> end;
+define property-getter font :: <gchararray> on <GtkCellRendererText> end;
+define property-setter font :: <gchararray> on <GtkCellRendererText> end;
+define property-getter font-desc :: <PangoFontDescription> on <GtkCellRendererText> end;
+define property-setter font-desc :: <PangoFontDescription> on <GtkCellRendererText> end;
+define property-getter family :: <gchararray> on <GtkCellRendererText> end;
+define property-setter family :: <gchararray> on <GtkCellRendererText> end;
+define property-getter style :: <PangoStyle> on <GtkCellRendererText> end;
+define property-setter style :: <PangoStyle> on <GtkCellRendererText> end;
+define property-getter variant :: <PangoVariant> on <GtkCellRendererText> end;
+define property-setter variant :: <PangoVariant> on <GtkCellRendererText> end;
+define property-getter weight :: <gint> on <GtkCellRendererText> end;
+define property-setter weight :: <gint> on <GtkCellRendererText> end;
+define property-getter stretch :: <PangoStretch> on <GtkCellRendererText> end;
+define property-setter stretch :: <PangoStretch> on <GtkCellRendererText> end;
+define property-getter size :: <gint> on <GtkCellRendererText> end;
+define property-setter size :: <gint> on <GtkCellRendererText> end;
+define property-getter size-points :: <gdouble> on <GtkCellRendererText> end;
+define property-setter size-points :: <gdouble> on <GtkCellRendererText> end;
+define property-getter scale :: <gdouble> on <GtkCellRendererText> end;
+define property-setter scale :: <gdouble> on <GtkCellRendererText> end;
+define property-getter editable :: <gboolean> on <GtkCellRendererText> end;
+define property-setter editable :: <gboolean> on <GtkCellRendererText> end;
+define property-getter strikethrough :: <gboolean> on <GtkCellRendererText> end;
+define property-setter strikethrough :: <gboolean> on <GtkCellRendererText> end;
+define property-getter underline :: <PangoUnderline> on <GtkCellRendererText> end;
+define property-setter underline :: <PangoUnderline> on <GtkCellRendererText> end;
+define property-getter rise :: <gint> on <GtkCellRendererText> end;
+define property-setter rise :: <gint> on <GtkCellRendererText> end;
+define property-getter language :: <gchararray> on <GtkCellRendererText> end;
+define property-setter language :: <gchararray> on <GtkCellRendererText> end;
+define property-getter ellipsize :: <PangoEllipsizeMode> on <GtkCellRendererText> end;
+define property-setter ellipsize :: <PangoEllipsizeMode> on <GtkCellRendererText> end;
+define property-getter wrap-mode :: <PangoWrapMode> on <GtkCellRendererText> end;
+define property-setter wrap-mode :: <PangoWrapMode> on <GtkCellRendererText> end;
+define property-getter background-set :: <gboolean> on <GtkCellRendererText> end;
+define property-setter background-set :: <gboolean> on <GtkCellRendererText> end;
+define property-getter foreground-set :: <gboolean> on <GtkCellRendererText> end;
+define property-setter foreground-set :: <gboolean> on <GtkCellRendererText> end;
+define property-getter family-set :: <gboolean> on <GtkCellRendererText> end;
+define property-setter family-set :: <gboolean> on <GtkCellRendererText> end;
+define property-getter style-set :: <gboolean> on <GtkCellRendererText> end;
+define property-setter style-set :: <gboolean> on <GtkCellRendererText> end;
+define property-getter variant-set :: <gboolean> on <GtkCellRendererText> end;
+define property-setter variant-set :: <gboolean> on <GtkCellRendererText> end;
+define property-getter weight-set :: <gboolean> on <GtkCellRendererText> end;
+define property-setter weight-set :: <gboolean> on <GtkCellRendererText> end;
+define property-getter stretch-set :: <gboolean> on <GtkCellRendererText> end;
+define property-setter stretch-set :: <gboolean> on <GtkCellRendererText> end;
+define property-getter size-set :: <gboolean> on <GtkCellRendererText> end;
+define property-setter size-set :: <gboolean> on <GtkCellRendererText> end;
+define property-getter scale-set :: <gboolean> on <GtkCellRendererText> end;
+define property-setter scale-set :: <gboolean> on <GtkCellRendererText> end;
+define property-getter editable-set :: <gboolean> on <GtkCellRendererText> end;
+define property-setter editable-set :: <gboolean> on <GtkCellRendererText> end;
+define property-getter strikethrough-set :: <gboolean> on <GtkCellRendererText> end;
+define property-setter strikethrough-set :: <gboolean> on <GtkCellRendererText> end;
+define property-getter underline-set :: <gboolean> on <GtkCellRendererText> end;
+define property-setter underline-set :: <gboolean> on <GtkCellRendererText> end;
+define property-getter rise-set :: <gboolean> on <GtkCellRendererText> end;
+define property-setter rise-set :: <gboolean> on <GtkCellRendererText> end;
+define property-getter language-set :: <gboolean> on <GtkCellRendererText> end;
+define property-setter language-set :: <gboolean> on <GtkCellRendererText> end;
+define property-getter ellipsize-set :: <gboolean> on <GtkCellRendererText> end;
+define property-setter ellipsize-set :: <gboolean> on <GtkCellRendererText> end;
+define property-getter activatable :: <gboolean> on <GtkCellRendererToggle> end;
+define property-setter activatable :: <gboolean> on <GtkCellRendererToggle> end;
+define property-getter active :: <gboolean> on <GtkCellRendererToggle> end;
+define property-setter active :: <gboolean> on <GtkCellRendererToggle> end;
+define property-getter radio :: <gboolean> on <GtkCellRendererToggle> end;
+define property-setter radio :: <gboolean> on <GtkCellRendererToggle> end;
+define property-getter inconsistent :: <gboolean> on <GtkCellRendererToggle> end;
+define property-setter inconsistent :: <gboolean> on <GtkCellRendererToggle> end;
+define property-setter background :: <gchararray> on <GtkCellView> end;
+define property-getter background-gdk :: <GdkColor> on <GtkCellView> end;
+define property-setter background-gdk :: <GdkColor> on <GtkCellView> end;
+define property-getter background-set :: <gboolean> on <GtkCellView> end;
+define property-setter background-set :: <gboolean> on <GtkCellView> end;
+define property-getter active :: <gboolean> on <GtkCheckMenuItem> end;
+define property-setter active :: <gboolean> on <GtkCheckMenuItem> end;
+define property-getter inconsistent :: <gboolean> on <GtkCheckMenuItem> end;
+define property-setter inconsistent :: <gboolean> on <GtkCheckMenuItem> end;
+define property-getter draw-as-radio :: <gboolean> on <GtkCheckMenuItem> end;
+define property-setter draw-as-radio :: <gboolean> on <GtkCheckMenuItem> end;
+define property-getter n-columns :: <guint> on <GtkCList> end;
+define property-setter n-columns :: <guint> on <GtkCList> end;
+define property-getter shadow-type :: <GtkShadowType> on <GtkCList> end;
+define property-setter shadow-type :: <GtkShadowType> on <GtkCList> end;
+define property-getter selection-mode :: <GtkSelectionMode> on <GtkCList> end;
+define property-setter selection-mode :: <GtkSelectionMode> on <GtkCList> end;
+define property-getter row-height :: <guint> on <GtkCList> end;
+define property-setter row-height :: <guint> on <GtkCList> end;
+define property-getter titles-active :: <gboolean> on <GtkCList> end;
+define property-setter titles-active :: <gboolean> on <GtkCList> end;
+define property-getter reorderable :: <gboolean> on <GtkCList> end;
+define property-setter reorderable :: <gboolean> on <GtkCList> end;
+define property-getter use-drag-icons :: <gboolean> on <GtkCList> end;
+define property-setter use-drag-icons :: <gboolean> on <GtkCList> end;
+define property-getter sort-type :: <GtkSortType> on <GtkCList> end;
+define property-setter sort-type :: <GtkSortType> on <GtkCList> end;
+define property-getter use-alpha :: <gboolean> on <GtkColorButton> end;
+define property-setter use-alpha :: <gboolean> on <GtkColorButton> end;
+define property-getter title :: <gchararray> on <GtkColorButton> end;
+define property-setter title :: <gchararray> on <GtkColorButton> end;
+define property-getter color :: <GdkColor> on <GtkColorButton> end;
+define property-setter color :: <GdkColor> on <GtkColorButton> end;
+define property-getter alpha :: <guint> on <GtkColorButton> end;
+define property-setter alpha :: <guint> on <GtkColorButton> end;
+define property-getter has-palette :: <gboolean> on <GtkColorSelection> end;
+define property-setter has-palette :: <gboolean> on <GtkColorSelection> end;
+define property-getter has-opacity-control :: <gboolean> on <GtkColorSelection> end;
+define property-setter has-opacity-control :: <gboolean> on <GtkColorSelection> end;
+define property-getter current-color :: <GdkColor> on <GtkColorSelection> end;
+define property-setter current-color :: <GdkColor> on <GtkColorSelection> end;
+define property-getter current-alpha :: <guint> on <GtkColorSelection> end;
+define property-setter current-alpha :: <guint> on <GtkColorSelection> end;
+define property-getter enable-arrow-keys :: <gboolean> on <GtkCombo> end;
+define property-setter enable-arrow-keys :: <gboolean> on <GtkCombo> end;
+define property-getter enable-arrows-always :: <gboolean> on <GtkCombo> end;
+define property-setter enable-arrows-always :: <gboolean> on <GtkCombo> end;
+define property-getter case-sensitive :: <gboolean> on <GtkCombo> end;
+define property-setter case-sensitive :: <gboolean> on <GtkCombo> end;
+define property-getter allow-empty :: <gboolean> on <GtkCombo> end;
+define property-setter allow-empty :: <gboolean> on <GtkCombo> end;
+define property-getter value-in-list :: <gboolean> on <GtkCombo> end;
+define property-setter value-in-list :: <gboolean> on <GtkCombo> end;
+define property-getter model :: <GtkTreeModel> on <GtkComboBox> end;
+define property-setter model :: <GtkTreeModel> on <GtkComboBox> end;
+define property-getter wrap-width :: <gint> on <GtkComboBox> end;
+define property-setter wrap-width :: <gint> on <GtkComboBox> end;
+define property-getter row-span-column :: <gint> on <GtkComboBox> end;
+define property-setter row-span-column :: <gint> on <GtkComboBox> end;
+define property-getter column-span-column :: <gint> on <GtkComboBox> end;
+define property-setter column-span-column :: <gint> on <GtkComboBox> end;
+define property-getter active :: <gint> on <GtkComboBox> end;
+define property-setter active :: <gint> on <GtkComboBox> end;
+define property-getter add-tearoffs :: <gboolean> on <GtkComboBox> end;
+define property-setter add-tearoffs :: <gboolean> on <GtkComboBox> end;
+define property-getter has-frame :: <gboolean> on <GtkComboBox> end;
+define property-setter has-frame :: <gboolean> on <GtkComboBox> end;
+define property-getter focus-on-click :: <gboolean> on <GtkComboBox> end;
+define property-setter focus-on-click :: <gboolean> on <GtkComboBox> end;
+define property-getter text-column :: <gint> on <GtkComboBoxEntry> end;
+define property-setter text-column :: <gint> on <GtkComboBoxEntry> end;
+define property-getter border-width :: <guint> on <GtkContainer> end;
+define property-setter border-width :: <guint> on <GtkContainer> end;
+define property-getter resize-mode :: <GtkResizeMode> on <GtkContainer> end;
+define property-setter resize-mode :: <GtkResizeMode> on <GtkContainer> end;
+define property-setter child :: <GtkWidget> on <GtkContainer> end;
+define property-getter n-columns :: <guint> on <GtkCTree> end;
+define property-setter n-columns :: <guint> on <GtkCTree> end;
+define property-getter tree-column :: <guint> on <GtkCTree> end;
+define property-setter tree-column :: <guint> on <GtkCTree> end;
+define property-getter indent :: <guint> on <GtkCTree> end;
+define property-setter indent :: <guint> on <GtkCTree> end;
+define property-getter spacing :: <guint> on <GtkCTree> end;
+define property-setter spacing :: <guint> on <GtkCTree> end;
+define property-getter show-stub :: <gboolean> on <GtkCTree> end;
+define property-setter show-stub :: <gboolean> on <GtkCTree> end;
+define property-getter line-style :: <GtkCTreeLineStyle> on <GtkCTree> end;
+define property-setter line-style :: <GtkCTreeLineStyle> on <GtkCTree> end;
+define property-getter expander-style :: <GtkCTreeExpanderStyle> on <GtkCTree> end;
+define property-setter expander-style :: <GtkCTreeExpanderStyle> on <GtkCTree> end;
+define property-getter curve-type :: <GtkCurveType> on <GtkCurve> end;
+define property-setter curve-type :: <GtkCurveType> on <GtkCurve> end;
+define property-getter min-x :: <gfloat> on <GtkCurve> end;
+define property-setter min-x :: <gfloat> on <GtkCurve> end;
+define property-getter max-x :: <gfloat> on <GtkCurve> end;
+define property-setter max-x :: <gfloat> on <GtkCurve> end;
+define property-getter min-y :: <gfloat> on <GtkCurve> end;
+define property-setter min-y :: <gfloat> on <GtkCurve> end;
+define property-getter max-y :: <gfloat> on <GtkCurve> end;
+define property-setter max-y :: <gfloat> on <GtkCurve> end;
+define property-getter has-separator :: <gboolean> on <GtkDialog> end;
+define property-setter has-separator :: <gboolean> on <GtkDialog> end;
+define property-getter cursor-position :: <gint> on <GtkEntry> end;
+define property-getter selection-bound :: <gint> on <GtkEntry> end;
+define property-getter editable :: <gboolean> on <GtkEntry> end;
+define property-setter editable :: <gboolean> on <GtkEntry> end;
+define property-getter max-length :: <gint> on <GtkEntry> end;
+define property-setter max-length :: <gint> on <GtkEntry> end;
+define property-getter visibility :: <gboolean> on <GtkEntry> end;
+define property-setter visibility :: <gboolean> on <GtkEntry> end;
+define property-getter has-frame :: <gboolean> on <GtkEntry> end;
+define property-setter has-frame :: <gboolean> on <GtkEntry> end;
+define property-getter invisible-char :: <guint> on <GtkEntry> end;
+define property-setter invisible-char :: <guint> on <GtkEntry> end;
+define property-getter activates-default :: <gboolean> on <GtkEntry> end;
+define property-setter activates-default :: <gboolean> on <GtkEntry> end;
+define property-getter width-chars :: <gint> on <GtkEntry> end;
+define property-setter width-chars :: <gint> on <GtkEntry> end;
+define property-getter scroll-offset :: <gint> on <GtkEntry> end;
+define property-getter text :: <gchararray> on <GtkEntry> end;
+define property-setter text :: <gchararray> on <GtkEntry> end;
+define property-getter xalign :: <gfloat> on <GtkEntry> end;
+define property-setter xalign :: <gfloat> on <GtkEntry> end;
+define property-getter model :: <GtkTreeModel> on <GtkEntryCompletion> end;
+define property-setter model :: <GtkTreeModel> on <GtkEntryCompletion> end;
+define property-getter minimum-key-length :: <gint> on <GtkEntryCompletion> end;
+define property-setter minimum-key-length :: <gint> on <GtkEntryCompletion> end;
+define property-getter text-column :: <gint> on <GtkEntryCompletion> end;
+define property-setter text-column :: <gint> on <GtkEntryCompletion> end;
+define property-getter inline-completion :: <gboolean> on <GtkEntryCompletion> end;
+define property-setter inline-completion :: <gboolean> on <GtkEntryCompletion> end;
+define property-getter popup-completion :: <gboolean> on <GtkEntryCompletion> end;
+define property-setter popup-completion :: <gboolean> on <GtkEntryCompletion> end;
+define property-getter popup-set-width :: <gboolean> on <GtkEntryCompletion> end;
+define property-setter popup-set-width :: <gboolean> on <GtkEntryCompletion> end;
+define property-getter popup-single-match :: <gboolean> on <GtkEntryCompletion> end;
+define property-setter popup-single-match :: <gboolean> on <GtkEntryCompletion> end;
+define property-getter visible-window :: <gboolean> on <GtkEventBox> end;
+define property-setter visible-window :: <gboolean> on <GtkEventBox> end;
+define property-getter above-child :: <gboolean> on <GtkEventBox> end;
+define property-setter above-child :: <gboolean> on <GtkEventBox> end;
+define property-getter expanded :: <gboolean> on <GtkExpander> end;
+define property-setter expanded :: <gboolean> on <GtkExpander> end;
+define property-getter label :: <gchararray> on <GtkExpander> end;
+define property-setter label :: <gchararray> on <GtkExpander> end;
+define property-getter use-underline :: <gboolean> on <GtkExpander> end;
+define property-setter use-underline :: <gboolean> on <GtkExpander> end;
+define property-getter use-markup :: <gboolean> on <GtkExpander> end;
+define property-setter use-markup :: <gboolean> on <GtkExpander> end;
+define property-getter spacing :: <gint> on <GtkExpander> end;
+define property-setter spacing :: <gint> on <GtkExpander> end;
+define property-getter label-widget :: <GtkWidget> on <GtkExpander> end;
+define property-setter label-widget :: <GtkWidget> on <GtkExpander> end;
+define property-setter dialog :: <GtkFileChooserDialog> on <GtkFileChooserButton> end;
+define property-getter title :: <gchararray> on <GtkFileChooserButton> end;
+define property-setter title :: <gchararray> on <GtkFileChooserButton> end;
+define property-getter width-chars :: <gint> on <GtkFileChooserButton> end;
+define property-setter width-chars :: <gint> on <GtkFileChooserButton> end;
+define property-getter show-fileops :: <gboolean> on <GtkFileSelection> end;
+define property-setter show-fileops :: <gboolean> on <GtkFileSelection> end;
+define property-getter filename :: <gchararray> on <GtkFileSelection> end;
+define property-setter filename :: <gchararray> on <GtkFileSelection> end;
+define property-getter select-multiple :: <gboolean> on <GtkFileSelection> end;
+define property-setter select-multiple :: <gboolean> on <GtkFileSelection> end;
+define property-getter title :: <gchararray> on <GtkFontButton> end;
+define property-setter title :: <gchararray> on <GtkFontButton> end;
+define property-getter font-name :: <gchararray> on <GtkFontButton> end;
+define property-setter font-name :: <gchararray> on <GtkFontButton> end;
+define property-getter use-font :: <gboolean> on <GtkFontButton> end;
+define property-setter use-font :: <gboolean> on <GtkFontButton> end;
+define property-getter use-size :: <gboolean> on <GtkFontButton> end;
+define property-setter use-size :: <gboolean> on <GtkFontButton> end;
+define property-getter show-style :: <gboolean> on <GtkFontButton> end;
+define property-setter show-style :: <gboolean> on <GtkFontButton> end;
+define property-getter show-size :: <gboolean> on <GtkFontButton> end;
+define property-setter show-size :: <gboolean> on <GtkFontButton> end;
+define property-getter font-name :: <gchararray> on <GtkFontSelection> end;
+define property-setter font-name :: <gchararray> on <GtkFontSelection> end;
+define property-getter font :: <GdkFont> on <GtkFontSelection> end;
+define property-getter preview-text :: <gchararray> on <GtkFontSelection> end;
+define property-setter preview-text :: <gchararray> on <GtkFontSelection> end;
+define property-getter label :: <gchararray> on <GtkFrame> end;
+define property-setter label :: <gchararray> on <GtkFrame> end;
+define property-getter label-xalign :: <gfloat> on <GtkFrame> end;
+define property-setter label-xalign :: <gfloat> on <GtkFrame> end;
+define property-getter label-yalign :: <gfloat> on <GtkFrame> end;
+define property-setter label-yalign :: <gfloat> on <GtkFrame> end;
+define property-getter shadow :: <GtkShadowType> on <GtkFrame> end;
+define property-setter shadow :: <GtkShadowType> on <GtkFrame> end;
+define property-getter shadow-type :: <GtkShadowType> on <GtkFrame> end;
+define property-setter shadow-type :: <GtkShadowType> on <GtkFrame> end;
+define property-getter label-widget :: <GtkWidget> on <GtkFrame> end;
+define property-setter label-widget :: <GtkWidget> on <GtkFrame> end;
+define property-getter image :: <GtkWidget> on <GtkImageMenuItem> end;
+define property-setter image :: <GtkWidget> on <GtkImageMenuItem> end;
+define property-getter pixbuf-column :: <gint> on <GtkIconView> end;
+define property-setter pixbuf-column :: <gint> on <GtkIconView> end;
+define property-getter text-column :: <gint> on <GtkIconView> end;
+define property-setter text-column :: <gint> on <GtkIconView> end;
+define property-getter markup-column :: <gint> on <GtkIconView> end;
+define property-setter markup-column :: <gint> on <GtkIconView> end;
+define property-getter selection-mode :: <GtkSelectionMode> on <GtkIconView> end;
+define property-setter selection-mode :: <GtkSelectionMode> on <GtkIconView> end;
+define property-getter orientation :: <GtkOrientation> on <GtkIconView> end;
+define property-setter orientation :: <GtkOrientation> on <GtkIconView> end;
+define property-getter model :: <GtkTreeModel> on <GtkIconView> end;
+define property-setter model :: <GtkTreeModel> on <GtkIconView> end;
+define property-getter columns :: <gint> on <GtkIconView> end;
+define property-setter columns :: <gint> on <GtkIconView> end;
+define property-getter item-width :: <gint> on <GtkIconView> end;
+define property-setter item-width :: <gint> on <GtkIconView> end;
+define property-getter spacing :: <gint> on <GtkIconView> end;
+define property-setter spacing :: <gint> on <GtkIconView> end;
+define property-getter row-spacing :: <gint> on <GtkIconView> end;
+define property-setter row-spacing :: <gint> on <GtkIconView> end;
+define property-getter column-spacing :: <gint> on <GtkIconView> end;
+define property-setter column-spacing :: <gint> on <GtkIconView> end;
+define property-getter margin :: <gint> on <GtkIconView> end;
+define property-setter margin :: <gint> on <GtkIconView> end;
+define property-getter reorderable :: <gboolean> on <GtkIconView> end;
+define property-setter reorderable :: <gboolean> on <GtkIconView> end;
+define property-getter pixbuf :: <GdkPixbuf> on <GtkImage> end;
+define property-setter pixbuf :: <GdkPixbuf> on <GtkImage> end;
+define property-getter pixmap :: <GdkPixmap> on <GtkImage> end;
+define property-setter pixmap :: <GdkPixmap> on <GtkImage> end;
+define property-getter image :: <GdkImage> on <GtkImage> end;
+define property-setter image :: <GdkImage> on <GtkImage> end;
+define property-getter mask :: <GdkPixmap> on <GtkImage> end;
+define property-setter mask :: <GdkPixmap> on <GtkImage> end;
+define property-getter file :: <gchararray> on <GtkImage> end;
+define property-setter file :: <gchararray> on <GtkImage> end;
+define property-getter stock :: <gchararray> on <GtkImage> end;
+define property-setter stock :: <gchararray> on <GtkImage> end;
+define property-getter icon-set :: <GtkIconSet> on <GtkImage> end;
+define property-setter icon-set :: <GtkIconSet> on <GtkImage> end;
+define property-getter icon-size :: <gint> on <GtkImage> end;
+define property-setter icon-size :: <gint> on <GtkImage> end;
+define property-getter pixel-size :: <gint> on <GtkImage> end;
+define property-setter pixel-size :: <gint> on <GtkImage> end;
+define property-getter pixbuf-animation :: <GdkPixbufAnimation> on <GtkImage> end;
+define property-setter pixbuf-animation :: <GdkPixbufAnimation> on <GtkImage> end;
+define property-getter icon-name :: <gchararray> on <GtkImage> end;
+define property-setter icon-name :: <gchararray> on <GtkImage> end;
+define property-getter storage-type :: <GtkImageType> on <GtkImage> end;
+define property-setter group :: <GtkRadioToolButton> on <GtkRadioToolButton> end;
+define property-getter screen :: <GdkScreen> on <GtkInvisible> end;
+define property-setter screen :: <GdkScreen> on <GtkInvisible> end;
+define property-getter label :: <gchararray> on <GtkLabel> end;
+define property-setter label :: <gchararray> on <GtkLabel> end;
+define property-getter attributes :: <PangoAttrList> on <GtkLabel> end;
+define property-setter attributes :: <PangoAttrList> on <GtkLabel> end;
+define property-getter use-markup :: <gboolean> on <GtkLabel> end;
+define property-setter use-markup :: <gboolean> on <GtkLabel> end;
+define property-getter use-underline :: <gboolean> on <GtkLabel> end;
+define property-setter use-underline :: <gboolean> on <GtkLabel> end;
+define property-getter justify :: <GtkJustification> on <GtkLabel> end;
+define property-setter justify :: <GtkJustification> on <GtkLabel> end;
+define property-setter pattern :: <gchararray> on <GtkLabel> end;
+define property-getter wrap :: <gboolean> on <GtkLabel> end;
+define property-setter wrap :: <gboolean> on <GtkLabel> end;
+define property-getter selectable :: <gboolean> on <GtkLabel> end;
+define property-setter selectable :: <gboolean> on <GtkLabel> end;
+define property-getter mnemonic-keyval :: <guint> on <GtkLabel> end;
+define property-getter mnemonic-widget :: <GtkWidget> on <GtkLabel> end;
+define property-setter mnemonic-widget :: <GtkWidget> on <GtkLabel> end;
+define property-getter cursor-position :: <gint> on <GtkLabel> end;
+define property-getter selection-bound :: <gint> on <GtkLabel> end;
+define property-getter ellipsize :: <PangoEllipsizeMode> on <GtkLabel> end;
+define property-setter ellipsize :: <PangoEllipsizeMode> on <GtkLabel> end;
+define property-getter width-chars :: <gint> on <GtkLabel> end;
+define property-setter width-chars :: <gint> on <GtkLabel> end;
+define property-getter single-line-mode :: <gboolean> on <GtkLabel> end;
+define property-setter single-line-mode :: <gboolean> on <GtkLabel> end;
+define property-getter angle :: <gdouble> on <GtkLabel> end;
+define property-setter angle :: <gdouble> on <GtkLabel> end;
+define property-getter max-width-chars :: <gint> on <GtkLabel> end;
+define property-setter max-width-chars :: <gint> on <GtkLabel> end;
+define property-getter hadjustment :: <GtkAdjustment> on <GtkLayout> end;
+define property-setter hadjustment :: <GtkAdjustment> on <GtkLayout> end;
+define property-getter vadjustment :: <GtkAdjustment> on <GtkLayout> end;
+define property-setter vadjustment :: <GtkAdjustment> on <GtkLayout> end;
+define property-getter width :: <guint> on <GtkLayout> end;
+define property-setter width :: <guint> on <GtkLayout> end;
+define property-getter height :: <guint> on <GtkLayout> end;
+define property-setter height :: <guint> on <GtkLayout> end;
+define property-getter selection-mode :: <GtkSelectionMode> on <GtkList> end;
+define property-setter selection-mode :: <GtkSelectionMode> on <GtkList> end;
+define property-getter tearoff-state :: <gboolean> on <GtkMenu> end;
+define property-setter tearoff-state :: <gboolean> on <GtkMenu> end;
+define property-getter tearoff-title :: <gchararray> on <GtkMenu> end;
+define property-setter tearoff-title :: <gchararray> on <GtkMenu> end;
+define property-getter pack-direction :: <GtkPackDirection> on <GtkMenuBar> end;
+define property-setter pack-direction :: <GtkPackDirection> on <GtkMenuBar> end;
+define property-getter child-pack-direction :: <GtkPackDirection> on <GtkMenuBar> end;
+define property-setter child-pack-direction :: <GtkPackDirection> on <GtkMenuBar> end;
+define property-getter take-focus :: <gboolean> on <GtkMenuShell> end;
+define property-setter take-focus :: <gboolean> on <GtkMenuShell> end;
+define property-getter menu :: <GtkMenu> on <GtkMenuToolButton> end;
+define property-setter menu :: <GtkMenu> on <GtkMenuToolButton> end;
+define property-getter message-type :: <GtkMessageType> on <GtkMessageDialog> end;
+define property-setter message-type :: <GtkMessageType> on <GtkMessageDialog> end;
+define property-setter buttons :: <GtkButtonsType> on <GtkMessageDialog> end;
+define property-getter xalign :: <gfloat> on <GtkMisc> end;
+define property-setter xalign :: <gfloat> on <GtkMisc> end;
+define property-getter yalign :: <gfloat> on <GtkMisc> end;
+define property-setter yalign :: <gfloat> on <GtkMisc> end;
+define property-getter xpad :: <gint> on <GtkMisc> end;
+define property-setter xpad :: <gint> on <GtkMisc> end;
+define property-getter ypad :: <gint> on <GtkMisc> end;
+define property-setter ypad :: <gint> on <GtkMisc> end;
+define property-getter tab-pos :: <GtkPositionType> on <GtkNotebook> end;
+define property-setter tab-pos :: <GtkPositionType> on <GtkNotebook> end;
+define property-getter show-tabs :: <gboolean> on <GtkNotebook> end;
+define property-setter show-tabs :: <gboolean> on <GtkNotebook> end;
+define property-getter show-border :: <gboolean> on <GtkNotebook> end;
+define property-setter show-border :: <gboolean> on <GtkNotebook> end;
+define property-getter scrollable :: <gboolean> on <GtkNotebook> end;
+define property-setter scrollable :: <gboolean> on <GtkNotebook> end;
+define property-setter tab-border :: <guint> on <GtkNotebook> end;
+define property-getter tab-hborder :: <guint> on <GtkNotebook> end;
+define property-setter tab-hborder :: <guint> on <GtkNotebook> end;
+define property-getter tab-vborder :: <guint> on <GtkNotebook> end;
+define property-setter tab-vborder :: <guint> on <GtkNotebook> end;
+define property-getter page :: <gint> on <GtkNotebook> end;
+define property-setter page :: <gint> on <GtkNotebook> end;
+define property-getter enable-popup :: <gboolean> on <GtkNotebook> end;
+define property-setter enable-popup :: <gboolean> on <GtkNotebook> end;
+define property-getter homogeneous :: <gboolean> on <GtkNotebook> end;
+define property-setter homogeneous :: <gboolean> on <GtkNotebook> end;
+define property-getter user-data :: <gpointer> on <GtkObject> end;
+define property-setter user-data :: <gpointer> on <GtkObject> end;
+define property-getter menu :: <GtkMenu> on <GtkOptionMenu> end;
+define property-setter menu :: <GtkMenu> on <GtkOptionMenu> end;
+define property-getter position :: <gint> on <GtkPaned> end;
+define property-setter position :: <gint> on <GtkPaned> end;
+define property-getter position-set :: <gboolean> on <GtkPaned> end;
+define property-setter position-set :: <gboolean> on <GtkPaned> end;
+define property-getter min-position :: <gint> on <GtkPaned> end;
+define property-getter max-position :: <gint> on <GtkPaned> end;
+define property-getter expand :: <gboolean> on <GtkPreview> end;
+define property-setter expand :: <gboolean> on <GtkPreview> end;
+define property-getter activity-mode :: <gboolean> on <GtkProgress> end;
+define property-setter activity-mode :: <gboolean> on <GtkProgress> end;
+define property-getter show-text :: <gboolean> on <GtkProgress> end;
+define property-setter show-text :: <gboolean> on <GtkProgress> end;
+define property-getter text-xalign :: <gfloat> on <GtkProgress> end;
+define property-setter text-xalign :: <gfloat> on <GtkProgress> end;
+define property-getter text-yalign :: <gfloat> on <GtkProgress> end;
+define property-setter text-yalign :: <gfloat> on <GtkProgress> end;
+define property-getter fraction :: <gdouble> on <GtkProgressBar> end;
+define property-setter fraction :: <gdouble> on <GtkProgressBar> end;
+define property-getter pulse-step :: <gdouble> on <GtkProgressBar> end;
+define property-setter pulse-step :: <gdouble> on <GtkProgressBar> end;
+define property-getter orientation :: <GtkProgressBarOrientation> on <GtkProgressBar> end;
+define property-setter orientation :: <GtkProgressBarOrientation> on <GtkProgressBar> end;
+define property-getter text :: <gchararray> on <GtkProgressBar> end;
+define property-setter text :: <gchararray> on <GtkProgressBar> end;
+define property-getter ellipsize :: <PangoEllipsizeMode> on <GtkProgressBar> end;
+define property-setter ellipsize :: <PangoEllipsizeMode> on <GtkProgressBar> end;
+define property-getter adjustment :: <GtkAdjustment> on <GtkProgressBar> end;
+define property-setter adjustment :: <GtkAdjustment> on <GtkProgressBar> end;
+define property-getter bar-style :: <GtkProgressBarStyle> on <GtkProgressBar> end;
+define property-setter bar-style :: <GtkProgressBarStyle> on <GtkProgressBar> end;
+define property-getter activity-step :: <guint> on <GtkProgressBar> end;
+define property-setter activity-step :: <guint> on <GtkProgressBar> end;
+define property-getter activity-blocks :: <guint> on <GtkProgressBar> end;
+define property-setter activity-blocks :: <guint> on <GtkProgressBar> end;
+define property-getter discrete-blocks :: <guint> on <GtkProgressBar> end;
+define property-setter discrete-blocks :: <guint> on <GtkProgressBar> end;
+define property-getter value :: <gint> on <GtkRadioAction> end;
+define property-setter value :: <gint> on <GtkRadioAction> end;
+define property-setter group :: <GtkRadioAction> on <GtkRadioAction> end;
+define property-setter group :: <GtkRadioButton> on <GtkRadioButton> end;
+define property-setter group :: <GtkRadioMenuItem> on <GtkRadioMenuItem> end;
+define property-getter update-policy :: <GtkUpdateType> on <GtkRange> end;
+define property-setter update-policy :: <GtkUpdateType> on <GtkRange> end;
+define property-getter adjustment :: <GtkAdjustment> on <GtkRange> end;
+define property-setter adjustment :: <GtkAdjustment> on <GtkRange> end;
+define property-getter inverted :: <gboolean> on <GtkRange> end;
+define property-setter inverted :: <gboolean> on <GtkRange> end;
+define property-getter lower :: <gdouble> on <GtkRuler> end;
+define property-setter lower :: <gdouble> on <GtkRuler> end;
+define property-getter upper :: <gdouble> on <GtkRuler> end;
+define property-setter upper :: <gdouble> on <GtkRuler> end;
+define property-getter position :: <gdouble> on <GtkRuler> end;
+define property-setter position :: <gdouble> on <GtkRuler> end;
+define property-getter max-size :: <gdouble> on <GtkRuler> end;
+define property-setter max-size :: <gdouble> on <GtkRuler> end;
+define property-getter metric :: <GtkMetricType> on <GtkRuler> end;
+define property-setter metric :: <GtkMetricType> on <GtkRuler> end;
+define property-getter digits :: <gint> on <GtkScale> end;
+define property-setter digits :: <gint> on <GtkScale> end;
+define property-getter draw-value :: <gboolean> on <GtkScale> end;
+define property-setter draw-value :: <gboolean> on <GtkScale> end;
+define property-getter value-pos :: <GtkPositionType> on <GtkScale> end;
+define property-setter value-pos :: <GtkPositionType> on <GtkScale> end;
+define property-getter hadjustment :: <GtkAdjustment> on <GtkScrolledWindow> end;
+define property-setter hadjustment :: <GtkAdjustment> on <GtkScrolledWindow> end;
+define property-getter vadjustment :: <GtkAdjustment> on <GtkScrolledWindow> end;
+define property-setter vadjustment :: <GtkAdjustment> on <GtkScrolledWindow> end;
+define property-getter hscrollbar-policy :: <GtkPolicyType> on <GtkScrolledWindow> end;
+define property-setter hscrollbar-policy :: <GtkPolicyType> on <GtkScrolledWindow> end;
+define property-getter vscrollbar-policy :: <GtkPolicyType> on <GtkScrolledWindow> end;
+define property-setter vscrollbar-policy :: <GtkPolicyType> on <GtkScrolledWindow> end;
+define property-getter window-placement :: <GtkCornerType> on <GtkScrolledWindow> end;
+define property-setter window-placement :: <GtkCornerType> on <GtkScrolledWindow> end;
+define property-getter shadow-type :: <GtkShadowType> on <GtkScrolledWindow> end;
+define property-setter shadow-type :: <GtkShadowType> on <GtkScrolledWindow> end;
+define property-getter draw :: <gboolean> on <GtkSeparatorToolItem> end;
+define property-setter draw :: <gboolean> on <GtkSeparatorToolItem> end;
+define property-getter gtk-double-click-time :: <gint> on <GtkSettings> end;
+define property-setter gtk-double-click-time :: <gint> on <GtkSettings> end;
+define property-getter gtk-double-click-distance :: <gint> on <GtkSettings> end;
+define property-setter gtk-double-click-distance :: <gint> on <GtkSettings> end;
+define property-getter gtk-cursor-blink :: <gboolean> on <GtkSettings> end;
+define property-setter gtk-cursor-blink :: <gboolean> on <GtkSettings> end;
+define property-getter gtk-cursor-blink-time :: <gint> on <GtkSettings> end;
+define property-set