[Gd-chatter] r11362 - in branches/opendylan-melange: gobject2-tool gtk-duim registry/generic

hannes at gwydiondylan.org hannes at gwydiondylan.org
Sat May 19 21:54:50 CEST 2007


Author: hannes
Date: Sat May 19 21:54:47 2007
New Revision: 11362

Added:
   branches/opendylan-melange/registry/generic/gtk-duim   (contents, props changed)
Modified:
   branches/opendylan-melange/gobject2-tool/gobject2-tool.c
   branches/opendylan-melange/gtk-duim/gtk-colors.dylan
   branches/opendylan-melange/gtk-duim/gtk-dialogs.dylan
   branches/opendylan-melange/gtk-duim/gtk-display.dylan
   branches/opendylan-melange/gtk-duim/gtk-draw.dylan
   branches/opendylan-melange/gtk-duim/gtk-events.dylan
   branches/opendylan-melange/gtk-duim/gtk-fonts.dylan
   branches/opendylan-melange/gtk-duim/gtk-framem.dylan
   branches/opendylan-melange/gtk-duim/gtk-gadgets.dylan
   branches/opendylan-melange/gtk-duim/gtk-keyboard.dylan
   branches/opendylan-melange/gtk-duim/gtk-medium.dylan
   branches/opendylan-melange/gtk-duim/gtk-menus.dylan
   branches/opendylan-melange/gtk-duim/gtk-mirror.dylan
   branches/opendylan-melange/gtk-duim/gtk-pixmaps.dylan
   branches/opendylan-melange/gtk-duim/gtk-port.dylan
   branches/opendylan-melange/gtk-duim/gtk-top.dylan
   branches/opendylan-melange/gtk-duim/gtk-utils.dylan
   branches/opendylan-melange/gtk-duim/library.dylan
   branches/opendylan-melange/gtk-duim/module.dylan
Log:
Job: fd
some fixes for gtk-duim with our melange-c-ffi binding

Modified: branches/opendylan-melange/gobject2-tool/gobject2-tool.c
==============================================================================
--- branches/opendylan-melange/gobject2-tool/gobject2-tool.c	(original)
+++ branches/opendylan-melange/gobject2-tool/gobject2-tool.c	Sat May 19 21:54:47 2007
@@ -175,8 +175,6 @@
     gtk_adjustment_get_type,
     gtk_alignment_get_type,
     gtk_arrow_get_type,
-    gtk_aspect_frame_get_type,
-    gtk_button_box_get_type,
     gtk_bin_get_type,
     gtk_calendar_get_type,
     gtk_box_get_type,

Modified: branches/opendylan-melange/gtk-duim/gtk-colors.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/gtk-colors.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/gtk-colors.dylan	Sat May 19 21:54:47 2007
@@ -18,7 +18,7 @@
     required-init-keyword: colormap:;
   sealed slot %default-drawable,
     init-keyword: drawable:;
-  sealed slot %gcontext :: false-or(<GdkGC*>) = #f;
+  sealed slot %gcontext :: false-or(<GdkGC>) = #f;
   sealed constant slot %gc-cache      :: <object-table> = make(<table>);
   sealed constant slot %color-cache   :: <object-table> = make(<table>);
   sealed constant slot %pattern-cache :: <object-table> = make(<table>);
@@ -216,7 +216,7 @@
  => (pixel :: <integer>)
   //--- Handle colormap resource exhaustion
   let (plane-masks, pixels)
-    = x/XAllocColorCells(x-display, x-colormap, #f, 0, 1)
+    = x/XAllocColorCells(x-display, x-colormap, #f, 0, 1);
   ignore(plane-masks);
   let pixel = pixels[0];
   set-x-read-write-color(pixel, red, green, blue, x-display, x-colormap);

Modified: branches/opendylan-melange/gtk-duim/gtk-dialogs.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/gtk-dialogs.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/gtk-dialogs.dylan	Sat May 19 21:54:47 2007
@@ -30,7 +30,7 @@
     (sheet :: <top-level-sheet>, frame :: <dialog-frame>)
  => (mirror :: <top-level-mirror>)
 //  let widget = GTK-WINDOW(gtk-window-new($GTK-WINDOW-DIALOG));
-  let widget = GTK-WINDOW(gtk-dialog-new());
+  let widget = gtk-dialog-new();
   let owner = frame-owner(frame);
   make(<dialog-mirror>,
        widget: widget,

Modified: branches/opendylan-melange/gtk-duim/gtk-display.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/gtk-display.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/gtk-display.dylan	Sat May 19 21:54:47 2007
@@ -53,7 +53,7 @@
     (parent :: <display-mirror>, child :: <top-level-mirror>,
      x :: <integer>, y :: <integer>)
  => ()
-  let widget = GTK-WIDGET(mirror-widget(child));
+  let widget = mirror-widget(child);
   //---*** This causes problems!
   // gtk-widget-set-uposition(widget, x, y)
 end method move-mirror;
@@ -62,7 +62,7 @@
     (parent :: <display-mirror>, child :: <top-level-mirror>,
      width :: <integer>, height :: <integer>)
  => ()
-  let widget = GTK-WIDGET(mirror-widget(child));
+  let widget = mirror-widget(child);
   //--- This may not work after the sheet is mapped...
   //---*** This causes the window to grow and grow...
   // gtk-window-set-default-size(widget, width, height)

Modified: branches/opendylan-melange/gtk-duim/gtk-draw.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/gtk-draw.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/gtk-draw.dylan	Sat May 19 21:54:47 2007
@@ -14,7 +14,7 @@
 
 define sealed method draw-point
     (medium :: <gtk-medium>, x, y) => (record)
-  let (drawable :: <GdkDrawable*>, gcontext :: <GdkGC*>)
+  let (drawable :: <GdkDrawable>, gcontext :: <GdkGC>)
     = update-drawing-state(medium);
   let transform = medium-device-transform(medium);
   with-device-coordinates (transform, x, y)
@@ -33,7 +33,7 @@
 
 define sealed method draw-points
     (medium :: <gtk-medium>, coord-seq :: <coordinate-sequence>) => (record)
-  let (drawable :: <GdkDrawable*>, gcontext :: <GdkGC*>)
+  let (drawable :: <GdkDrawable>, gcontext :: <GdkGC>)
     = update-drawing-state(medium);
   let transform = medium-device-transform(medium);
   let thickness = pen-width(medium-pen(medium));
@@ -87,7 +87,7 @@
 
 define sealed method draw-line
     (medium :: <gtk-medium>, x1, y1, x2, y2) => (record)
-  let (drawable :: <GdkDrawable*>, gcontext :: <GdkGC*>)
+  let (drawable :: <GdkDrawable>, gcontext :: <GdkGC>)
     = update-drawing-state(medium, pen: medium-pen(medium));
   let transform = medium-device-transform(medium);
   with-device-coordinates (transform, x1, y1, x2, y2)
@@ -98,7 +98,7 @@
 
 define sealed method draw-lines
     (medium :: <gtk-medium>, coord-seq :: <coordinate-sequence>) => (record)
-  let (drawable :: <GdkDrawable*>, gcontext :: <GdkGC*>)
+  let (drawable :: <GdkDrawable>, gcontext :: <GdkGC>)
     = update-drawing-state(medium, pen: medium-pen(medium));
   let transform = medium-device-transform(medium);
   //---*** Use gdk-draw-segments
@@ -121,7 +121,7 @@
       draw-polygon(medium, coords, filled?: filled?, closed?: #t)
     end
   else
-    let (drawable :: <GdkDrawable*>, gcontext :: <GdkGC*>)
+    let (drawable :: <GdkDrawable>, gcontext :: <GdkGC>)
       = update-drawing-state(medium, pen: ~filled? & medium-pen(medium));
     //---*** Might need to use 'gdk-gc-set-ts-origin' to set tile/stipple origin to x1/y1
     with-device-coordinates (transform, x1, y1, x2, y2)
@@ -140,7 +140,7 @@
   if (~rectilinear-transform?(transform))
     draw-transformed-rectangles(medium, coord-seq, filled?: filled?)
   else
-    let (drawable :: <GdkDrawable*>, gcontext :: <GdkGC*>)
+    let (drawable :: <GdkDrawable>, gcontext :: <GdkGC>)
       = update-drawing-state(medium, pen: ~filled? & medium-pen(medium));
     let transform = medium-device-transform(medium);
     do-endpoint-coordinates
@@ -182,7 +182,7 @@
 define sealed method draw-rounded-rectangle
     (medium :: <gtk-medium>, x1, y1, x2, y2,
      #key filled? = #t, radius) => (record)
-  let (drawable :: <GdkDrawable*>, gcontext :: <GdkGC*>)
+  let (drawable :: <GdkDrawable>, gcontext :: <GdkGC>)
     = update-drawing-state(medium, pen: ~filled? & medium-pen(medium));
   let transform = medium-device-transform(medium);
   with-device-coordinates (transform, x1, y1, x2, y2)
@@ -200,13 +200,13 @@
 define sealed method draw-polygon
     (medium :: <gtk-medium>, coord-seq :: <coordinate-sequence>,
      #key closed? = #t, filled? = #t) => (record)
-  let (drawable :: <GdkDrawable*>, gcontext :: <GdkGC*>)
+  let (drawable :: <GdkDrawable>, gcontext :: <GdkGC>)
     = update-drawing-state(medium, pen: ~filled? & medium-pen(medium));
   let transform = medium-device-transform(medium);
   let scoords :: <integer> = size(coord-seq);
   let ncoords :: <integer> = size(coord-seq);
   let npoints :: <integer> = floor/(ncoords, 2) + if (closed? & ~filled?) 1 else 0 end;
-  with-stack-structure (points :: <GdkPoint*>, element-count: npoints)
+  with-stack-structure (points :: <GdkPoint>, element-count: npoints)
     //--- Can't use without-bounds-checks until it works on FFI 'element-setter' calls
     // without-bounds-checks
       for (i :: <integer> from 0 below ncoords by 2,
@@ -245,7 +245,7 @@
 // ---*** (I tried both Dylan stack allocated and gdk-gc-new gcontexts)
 // ---*** so the code has to frig a potentially shared gcontext (= not good).
 //      gdk-draw-lines(drawable, gcontext, points, npoints)
-      with-stack-structure (gcontext-values :: <GdkGCValues*>)
+      with-stack-structure (gcontext-values :: <GdkGCValues>)
         let old-cap-style = #f;
         block ()
           gdk-gc-get-values(gcontext, gcontext-values);
@@ -284,7 +284,7 @@
     (medium :: <gtk-medium>, center-x, center-y,
      radius-1-dx, radius-1-dy, radius-2-dx, radius-2-dy,
      #key start-angle, end-angle, filled? = #t) => (record)
-  let (drawable :: <GdkDrawable*>, gcontext :: <GdkGC*>)
+  let (drawable :: <GdkDrawable>, gcontext :: <GdkGC>)
     = update-drawing-state(medium, pen: ~filled? & medium-pen(medium));
   let transform = medium-device-transform(medium);
   with-device-coordinates (transform, center-x, center-y)
@@ -325,7 +325,7 @@
 // GTK bitmaps and icons are handled separately
 define sealed method draw-image
     (medium :: <gtk-medium>, image :: <image>, x, y) => (record)
-  let (drawable :: <GdkDrawable*>, gcontext :: <GdkGC*>)
+  let (drawable :: <GdkDrawable>, gcontext :: <GdkGC>)
     = update-drawing-state(medium);
   let transform = medium-device-transform(medium);
   with-device-coordinates (transform, x, y)
@@ -424,7 +424,7 @@
 
 define sealed method clear-box
     (medium :: <gtk-medium>, left, top, right, bottom) => ()
-  let (drawable :: <GdkDrawable*>, gcontext :: <GdkGC*>)
+  let (drawable :: <GdkDrawable>, gcontext :: <GdkGC>)
     = get-gcontext(medium);
   let sheet = medium-sheet(medium);
   let transform = sheet-device-transform(sheet);
@@ -457,7 +457,7 @@
   let text-style :: <text-style> = medium-merged-text-style(medium);
   let font :: <gtk-font> = text-style-mapping(port(medium), text-style);
   let length :: <integer> = size(string);
-  let (drawable :: <GdkDrawable*>, gcontext :: <GdkGC*>)
+  let (drawable :: <GdkDrawable>, gcontext :: <GdkGC>)
     = update-drawing-state(medium, font: font);
   let transform = medium-device-transform(medium);
   with-device-coordinates (transform, x, y)

Modified: branches/opendylan-melange/gtk-duim/gtk-events.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/gtk-events.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/gtk-events.dylan	Sat May 19 21:54:47 2007
@@ -34,10 +34,10 @@
 end function fetch-signal-handler;
 
 define function do-with-disabled-event-handler
-    (function :: <function>, widget :: <GtkWidget*>, name :: <symbol>)
+    (function :: <function>, widget :: <GtkWidget>, name :: <symbol>)
  => (#rest values)
   let _handler = handler-function(fetch-signal-handler(name));
-  let object = GTK-OBJECT(widget);
+  let object = widget;
   block ()
     gtk-signal-handler-block-by-func(object, _handler, $null-gpointer);
     function()
@@ -50,7 +50,7 @@
   { with-disabled-event-handler (?widget:expression, ?name:expression)
       ?body:body
     end }
- => { do-with-disabled-event-handler(method () ?body end, GTK-WIDGET(?widget), ?name) }
+ => { do-with-disabled-event-handler(method () ?body end, ?widget, ?name) }
 end macro with-disabled-event-handler;
 
 define macro event-handler-definer
@@ -60,37 +60,37 @@
         ?eq "handle_" ## ?name;
       register-signal-handler(as-lowercase(?"name"), "_gtk-" ## ?name ## "-callback");
       define open generic ?handler
-    (sheet :: <abstract-sheet>, widget :: <GtkWidget*>, 
+    (sheet :: <abstract-sheet>, widget :: <GtkWidget>, 
      event :: ?event-type)
        => (handled? :: <boolean>);
       define function "handle_" ## ?name
-    (widget :: <GtkWidget*>, event :: ?event-type)
+    (widget :: <GtkWidget>, event :: ?event-type)
        => (code :: <integer>)
   do-handle-gtk-signal
     (?handler, widget, ?"name", widget, event)
       end }
 end macro event-handler-definer;
 
-define event-handler (destroy,              <GdkEventAny*>)       = handle-gtk-destroy-event;
-define event-handler (delete_event,         <GdkEventAny*>)       = handle-gtk-delete-event;
-define event-handler (motion_notify_event,  <GdkEventMotion*>)    = handle-gtk-motion-event;
-define event-handler (button_press_event,   <GdkEventButton*>)    = handle-gtk-button-press-event;
-define event-handler (button_release_event, <GdkEventButton*>)    = handle-gtk-button-release-event;
-define event-handler (key_press_event,      <GdkEventKey*>)       = handle-gtk-key-press-event;
-define event-handler (key_release_event,    <GdkEventKey*>)       = handle-gtk-key-release-event;
-define event-handler (configure_event,      <GdkEventConfigure*>) = handle-gtk-configure-event;
-define event-handler (expose_event,         <GdkEventExpose*>)    = handle-gtk-expose-event;
-define event-handler (enter_event,          <GdkEventCrossing*>)  = handle-gtk-enter-event;
-define event-handler (leave_event,          <GdkEventCrossing*>)  = handle-gtk-leave-event;
-
-define event-handler (clicked,              <GdkEventAny*>)       = handle-gtk-clicked-event;
-define event-handler (select_row,           <GdkEventAny*>)       = handle-gtk-select-row-event;
-define event-handler (click_column,         <GdkEventAny*>)       = handle-gtk-click-column-event;
-define event-handler (resize_column,        <GdkEventAny*>)       = handle-gtk-resize-column-event;
+define event-handler (destroy,              <GdkEventAny>)       = handle-gtk-destroy-event;
+define event-handler (delete_event,         <GdkEventAny>)       = handle-gtk-delete-event;
+define event-handler (motion_notify_event,  <GdkEventMotion>)    = handle-gtk-motion-event;
+define event-handler (button_press_event,   <GdkEventButton>)    = handle-gtk-button-press-event;
+define event-handler (button_release_event, <GdkEventButton>)    = handle-gtk-button-release-event;
+define event-handler (key_press_event,      <GdkEventKey>)       = handle-gtk-key-press-event;
+define event-handler (key_release_event,    <GdkEventKey>)       = handle-gtk-key-release-event;
+define event-handler (configure_event,      <GdkEventConfigure>) = handle-gtk-configure-event;
+define event-handler (expose_event,         <GdkEventExpose>)    = handle-gtk-expose-event;
+define event-handler (enter_event,          <GdkEventCrossing>)  = handle-gtk-enter-event;
+define event-handler (leave_event,          <GdkEventCrossing>)  = handle-gtk-leave-event;
+
+define event-handler (clicked,              <GdkEventAny>)       = handle-gtk-clicked-event;
+define event-handler (select_row,           <GdkEventAny>)       = handle-gtk-select-row-event;
+define event-handler (click_column,         <GdkEventAny>)       = handle-gtk-click-column-event;
+define event-handler (resize_column,        <GdkEventAny>)       = handle-gtk-resize-column-event;
 
   
 define inline function do-handle-gtk-signal
-    (handler_ :: <function>, widget :: <GtkWidget*>, name :: <string>,
+    (handler_ :: <function>, widget :: <GtkWidget>, name :: <string>,
      #rest args)
  => (code :: <integer>)
   let mirror = widget-mirror(widget);
@@ -124,11 +124,11 @@
       ?%handler:name (?params:*),
       ?_handler:name (?c-params)
     end }
-    => { define function ?%handler (widget :: <GtkWidget*>, ?params)
+    => { define function ?%handler (widget :: <GtkWidget>, ?params)
     do-handle-gtk-signal(?handler, widget, ?signal, ?args)
    end;
          define C-callable-wrapper ?_handler of ?%handler
-            parameter widget :: <GtkWidget*>;
+            parameter widget :: <GtkWidget>;
            ?c-params
          end;
          register-signal-handler(?signal, ?_handler)
@@ -149,14 +149,14 @@
 
 /// Adjustments
 define function %gtk-adjustment-value-changed-signal-handler
-    (adj :: <GtkAdjustment*>, widget :: <GtkWidget*>)
+    (adj :: <GtkAdjustment>, widget :: <GtkWidget>)
   do-handle-gtk-signal(gtk-adjustment-value-changed-signal-handler,
            widget, "adjustment/value_changed", adj)
 end;
 define C-callable-wrapper _gtk-adjustment-value-changed-signal-handler
   of %gtk-adjustment-value-changed-signal-handler
-  parameter adj :: <GtkAdjustment*>;
-  parameter user-data :: <GtkWidget*>;
+  parameter adj :: <GtkAdjustment>;
+  parameter user-data :: <GtkWidget>;
 end;
 register-signal-handler("value_changed",
       _gtk-adjustment-value-changed-signal-handler,
@@ -165,7 +165,7 @@
 define function install-named-handlers
     (mirror :: <gtk-mirror>, handlers :: <sequence>, #key adjustment) => ()
   let widget = mirror-widget(mirror);
-  let object = GTK-OBJECT(widget);
+  let object = widget;
   duim-debug-message("Installing handlers for %=: %=",
       mirror-sheet(mirror), handlers);
   for (key :: <symbol> in handlers)
@@ -223,7 +223,7 @@
 /// Event handlers
 
 define method handle-gtk-destroy-event
-    (sheet :: <sheet>, widget :: <GtkWidget*>, event :: <GdkEventAny*>)
+    (sheet :: <sheet>, widget :: <GtkWidget>, event :: <GdkEventAny>)
  => (handled? :: <boolean>)
   ignoring("handle-gtk-destroy-event");
   // frame-can-quit?...
@@ -231,7 +231,7 @@
 end method handle-gtk-destroy-event;
 
 define method handle-gtk-motion-event
-    (sheet :: <sheet>, widget :: <GtkWidget*>, event :: <GdkEventMotion*>)
+    (sheet :: <sheet>, widget :: <GtkWidget>, event :: <GdkEventMotion>)
  => (handled? :: <boolean>)
   let mirror = widget-mirror(widget);
   let sheet = mirror-sheet(mirror);
@@ -269,14 +269,14 @@
 end method handle-gtk-motion-event;
 
 define method handle-gtk-enter-event
-    (sheet :: <sheet>, widget :: <GtkWidget*>, event :: <GdkEventCrossing*>)
+    (sheet :: <sheet>, widget :: <GtkWidget>, event :: <GdkEventCrossing>)
  => (handled? :: <boolean>)
   ignore(widget);
   handle-gtk-crossing-event(sheet, event, <pointer-enter-event>)
 end method handle-gtk-enter-event;
 
 define method handle-gtk-leave-event
-    (sheet :: <sheet>, widget :: <GtkWidget*>, event :: <GdkEventCrossing*>)
+    (sheet :: <sheet>, widget :: <GtkWidget>, event :: <GdkEventCrossing>)
  => (handled? :: <boolean>)
   ignore(widget);
   handle-gtk-crossing-event(sheet, event, <pointer-exit-event>)
@@ -284,7 +284,7 @@
 
 // Watch out, because leave events show up after window have been killed!
 define sealed method handle-gtk-crossing-event
-    (sheet :: <sheet>, event :: <GdkEventCrossing*>,
+    (sheet :: <sheet>, event :: <GdkEventCrossing>,
      event-class :: subclass(<pointer-motion-event>))
  => (handled? :: <boolean>)
   let _port = port(sheet);
@@ -319,19 +319,19 @@
 end function gtk-detail->duim-crossing-kind;
 
 define method handle-gtk-button-press-event
-    (sheet :: <sheet>, widget :: <GtkWidget*>, event :: <GdkEventButton*>)
+    (sheet :: <sheet>, widget :: <GtkWidget>, event :: <GdkEventButton>)
  => (handled? :: <boolean>)
   handle-gtk-button-event(sheet, widget, event)
 end method handle-gtk-button-press-event;
 
 define method handle-gtk-button-release-event
-    (sheet :: <sheet>, widget :: <GtkWidget*>, event :: <GdkEventButton*>)
+    (sheet :: <sheet>, widget :: <GtkWidget>, event :: <GdkEventButton>)
  => (handled? :: <boolean>)
   handle-gtk-button-press-event(sheet, widget, event)
 end method handle-gtk-button-release-event;
 
 define method handle-gtk-button-event
-    (sheet :: <sheet>, widget :: <GtkWidget*>, event :: <GdkEventButton*>)
+    (sheet :: <sheet>, widget :: <GtkWidget>, event :: <GdkEventButton>)
  => (handled? :: <boolean>)
   let _port = port(sheet);
   when (_port)
@@ -376,7 +376,7 @@
 end function gtk-button->duim-button;
 
 define method handle-gtk-expose-event
-    (sheet :: <sheet>, widget :: <GtkWidget*>, event :: <GdkEventExpose*>)
+    (sheet :: <sheet>, widget :: <GtkWidget>, event :: <GdkEventExpose>)
  => (handled? :: <boolean>)
   let _port = port(sheet);
   when (_port)
@@ -485,7 +485,7 @@
 */
 
 define method handle-gtk-configure-event
-    (sheet :: <sheet>, widget :: <GtkWidget*>, event :: <GdkEventConfigure*>)
+    (sheet :: <sheet>, widget :: <GtkWidget>, event :: <GdkEventConfigure>)
  => (handled? :: <boolean>)
   let allocation = widget.GtkWidget-allocation;
   let native-x  = event.GdkEventConfigure-x;

Modified: branches/opendylan-melange/gtk-duim/gtk-fonts.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/gtk-fonts.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/gtk-fonts.dylan	Sat May 19 21:54:47 2007
@@ -12,7 +12,7 @@
 define sealed class <gtk-font> (<object>)
   sealed slot %font-name :: <string>,
     required-init-keyword: name:;
-  sealed slot %font-id :: false-or(<GdkFont*>) = #f;
+  sealed slot %font-id :: false-or(<GdkFont>) = #f;
   sealed slot %font-struct = #f;
 end class <gtk-font>;
 

Modified: branches/opendylan-melange/gtk-duim/gtk-framem.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/gtk-framem.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/gtk-framem.dylan	Sat May 19 21:54:47 2007
@@ -29,7 +29,7 @@
   let sheet  = top-level-sheet(frame);
   let mirror = sheet & sheet-direct-mirror(sheet);
   when (mirror)
-    let widget = GTK-WINDOW(mirror-widget(mirror));
+    let widget = mirror-widget(mirror);
     let title   = frame-title(frame) | "";
     with-c-string (c-string = title)
       gtk-window-set-title(widget, c-string)

Modified: branches/opendylan-melange/gtk-duim/gtk-gadgets.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/gtk-gadgets.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/gtk-gadgets.dylan	Sat May 19 21:54:47 2007
@@ -92,7 +92,7 @@
 //  debug-message("do-compose-space(%= , %d, %d)", gadget, width, height);
   let mirror = sheet-direct-mirror(gadget);
   if (mirror)
-    let widget = GTK-WIDGET(mirror-widget(mirror));
+    let widget = mirror-widget(mirror);
     gtk-space-requirements(gadget, widget)
   else
     gtk-debug("Composing space on an unmirrored gadget!");
@@ -102,7 +102,7 @@
 
 // We take the values suggested by GTK as the default sizes
 define method gtk-space-requirements
-    (gadget :: <gtk-gadget-mixin>, widget :: <GtkWidget*>)
+    (gadget :: <gtk-gadget-mixin>, widget :: <GtkWidget>)
  => (space-req :: <space-requirement>)
   let (width, height) = widget-size(widget);
   let max-width  = if (gadget.%gtk-fixed-width?)  width  else $fill end;
@@ -113,9 +113,9 @@
 end method gtk-space-requirements;
 
 define method widget-size
-    (widget :: <GtkWidget*>)
+    (widget :: <GtkWidget>)
  => (width :: <integer>, height :: <integer>)
-  with-stack-structure (request :: <GtkRequisition*>)
+  with-stack-structure (request :: <GtkRequisition>)
     gtk-widget-size-request(widget, request);
     values(request.GtkRequisition-width, request.GtkRequisition-height)
   end
@@ -172,7 +172,7 @@
     (client, gadget :: <gtk-gadget-mixin>) => ()
   ignore(client);
   next-method();
-  let widget = GTK-WIDGET(gadget-widget(gadget));
+  let widget = gadget-widget(gadget);
   gtk-widget-set-sensitive(widget, $true)
 end method note-gadget-enabled;
 
@@ -180,7 +180,7 @@
     (client, gadget :: <gtk-gadget-mixin>) => ()
   ignore(client);
   next-method();
-  let widget = GTK-WIDGET(gadget-widget(gadget));
+  let widget = gadget-widget(gadget);
   gtk-widget-set-sensitive(widget, $false)
 end method note-gadget-disabled;
 
@@ -323,7 +323,7 @@
     (gadget :: <gtk-label>)
  => (mirror :: <gadget-mirror>)
   with-c-string (c-string = defaulted-gadget-label(gadget))
-    let widget = GTK-LABEL(gtk-label-new(c-string));
+    let widget = gtk-label-new(c-string);
     assert(~null-pointer?(widget), "gtk-label-new failed");
     make(<gadget-mirror>,
 	 widget: widget,
@@ -334,7 +334,7 @@
 define sealed method update-mirror-label
     (gadget :: <gtk-label>, mirror :: <gadget-mirror>) => ()
   with-c-string (c-string = defaulted-gadget-label(gadget))
-    let widget = GTK-LABEL(mirror-widget(mirror));
+    let widget = mirror-widget(mirror);
     gtk-label-set-text(widget, c-string)
   end
 end method update-mirror-label;
@@ -400,8 +400,8 @@
 end method install-event-handlers;
 
 define sealed method handle-gtk-clicked-event
-    (gadget :: <gtk-button-mixin>, widget :: <GtkWidget*>,
-     event :: <GdkEventAny*>)
+    (gadget :: <gtk-button-mixin>, widget :: <GtkWidget>,
+     event :: <GdkEventAny>)
  => (handled? :: <boolean>)
   gtk-debug("Clicked on button %=", gadget-label(gadget));
   handle-button-gadget-click(gadget)
@@ -455,7 +455,7 @@
     ignoring("image label")
   end;
   with-c-string (c-string = text)
-    let widget = GTK-BUTTON(gtk-button-new-with-label(c-string));
+    let widget = gtk-button-new-with-label(c-string);
     assert(~null-pointer?(widget), "gtk-button-new-with-label failed");
     make(<gadget-mirror>,
 	 widget: widget,
@@ -512,10 +512,9 @@
   with-c-string (c-string = text)
     let widget
       = if (push-button-like?(gadget))
-	  GTK-TOGGLE-BUTTON(gtk-toggle-button-new-with-label(c-string))
+	  gtk-toggle-button-new-with-label(c-string)
 	else
-          GTK-RADIO-BUTTON(gtk-radio-button-new-with-label
-                             (null-pointer(<GSList*>), c-string))
+          gtk-radio-button-new-with-label(null-pointer(<GSList>), c-string)
 	end;
     assert(~null-pointer?(widget), "gtk-toggle/radio-button-new-with-label failed");
     make(<gadget-mirror>,
@@ -583,9 +582,9 @@
   with-c-string (c-string = text)
     let widget
       = if (push-button-like?(gadget))
-          GTK-TOGGLE-BUTTON(gtk-toggle-button-new-with-label(c-string))
+          gtk-toggle-button-new-with-label(c-string)
 	else
-          GTK-CHECK-BUTTON(gtk-check-button-new-with-label(c-string))
+          gtk-check-button-new-with-label(c-string)
 	end;
     assert(~null-pointer?(widget), "gtk-toggle/radio-button-new-with-label failed");
     make(<gadget-mirror>,
@@ -615,10 +614,6 @@
 
 /// Text gadgets
 
-define gtk-type-cast-function GTK-EDITABLE => <GtkEditable*>;
-
-// --- TODO: should this be unicode?
-define gtk-type-cast-function GTK-STRING => <c-string>;
 define method gtk-copy-text (text :: <c-string>) => (str :: <string>)
   // Convert to gc'able string.
   as(<byte-string>, text)
@@ -637,23 +632,11 @@
 define method install-event-handlers
     (sheet :: <gtk-text-gadget-mixin>, mirror :: <gadget-mirror>) => ()
   next-method();
-  install-named-handlers(mirror, #[#"changed", #"activate"]);
+  let widget = mirror-widget(mirror);
+  g-signal-connect(widget, "activate", method (#rest args) activate-gtk-gadget(sheet) end);
+  g-signal-connect(widget, "changed", method(#rest args) handle-text-gadget-changing(sheet) end);
 end method install-event-handlers;
 
-// #"activate" signal
-define method gtk-activate-signal-handler (gadget :: <gtk-text-gadget-mixin>,
-					   user-data :: <gpointer>)
-  ignore(user-data);
-  activate-gtk-gadget(gadget);
-end;
-
-// #"changed" signal
-define method gtk-changed-signal-handler (gadget :: <gtk-text-gadget-mixin>,
-					  user-data :: <gpointer>)
-  ignore(user-data);
-  handle-text-gadget-changing(gadget);
-end;
-
 define sealed method update-mirror-attributes
     (gadget :: <gtk-text-gadget-mixin>, mirror :: <gadget-mirror>) => ()
   next-method();
@@ -674,9 +657,9 @@
     (gadget :: <gtk-text-gadget-mixin>) => ()
   gtk-debug("handle-text-gadget-changing");
   let old-text = gadget.gadget-text-buffer;
-  let widget = GTK-EDITABLE(gadget-widget(gadget));
+  let widget = gadget-widget(gadget);
   // --- TODO: use a stretchy buffer to avoid copying on each character?
-  let chars = GTK-STRING(gtk-editable-get-chars(widget, 0, -1));
+  let chars = gtk-editable-get-chars(widget, 0, -1);
   let new-text = unless (old-text = chars)
 		   gadget.gadget-text-buffer := gtk-copy-text(chars);
 		 end;
@@ -699,7 +682,7 @@
 
 define sealed method text-selection
     (gadget :: <gtk-text-gadget-mixin>) => (range :: type-union(<text-range>, one-of(#f)))
-  let widget = GTK-EDITABLE(gadget-widget(gadget));
+  let widget = gadget-widget(gadget);
   let start-pos = widget.selection-start-pos-value;
   let end-pos = widget.selection-end-pos-value;
   when (start-pos < end-pos)
@@ -709,7 +692,7 @@
 
 define sealed method selected-text
     (gadget :: <gtk-text-gadget-mixin>) => (string :: false-or(<string>))
-  let widget = GTK-EDITABLE(gadget-widget(gadget));
+  let widget = gadget-widget(gadget);
   let start-pos = widget.selection-start-pos-value;
   let end-pos = widget.selection-end-pos-value;
   if (start-pos >= end-pos)
@@ -717,7 +700,7 @@
   elseif (start-pos = 0 & end-pos = gadget.gadget-text-buffer.size)
     gadget.gadget-text-buffer
   else
-    let chars = GTK-STRING(gtk-editable-get-chars(widget, start-pos, end-pos));
+    let chars = gtk-editable-get-chars(widget, start-pos, end-pos);
     let string = gtk-copy-text(chars);
     g-free(chars);
     string
@@ -750,7 +733,7 @@
     (range :: type-union(<text-range>, one-of(#t, #f)),
      gadget :: <gtk-text-gadget-mixin>)
  => (range :: type-union(<text-range>, one-of(#t, #f)))
-  let widget = GTK-EDITABLE(gadget-widget(gadget));
+  let widget = gadget-widget(gadget);
   let (start-pos, end-pos) = widget-range-bounds(widget, range);
   gtk-editable-select-region(widget, start-pos, end-pos);
   range
@@ -759,7 +742,7 @@
 define sealed method text-caret-position
     (gadget :: <gtk-text-gadget-mixin>)
  => (position :: <integer>)
-  let widget = GTK-EDITABLE(gadget-widget(gadget));
+  let widget = gadget-widget(gadget);
   gtk-editable-get-position(widget);
 end method text-caret-position;
 
@@ -767,7 +750,7 @@
     (position :: false-or(<integer>), gadget :: <gtk-text-gadget-mixin>)
  => (position :: false-or(<integer>))
   if (position)
-    let widget = GTK-EDITABLE(gadget-widget(gadget));
+    let widget = gadget-widget(gadget);
     gtk-editable-set-position(widget, position);
     position
   end;
@@ -803,9 +786,9 @@
   let text = gadget-text-buffer(gadget);
   let visibility = %gtk-text-visibility(gadget);
   let widget = if (max)
-                 GTK-ENTRY(gtk-entry-new-with-max-length(max))
+                 gtk-entry-new-with-max-length(max)
 	       else
-                 GTK-ENTRY(gtk-entry-new());
+                 gtk-entry-new();
 	       end;
   assert(~null-pointer?(widget), "gtk-entry-new failed");
   // Note that this is happening before install-event-handlers, so don't
@@ -825,7 +808,7 @@
 define sealed method update-gadget-text
     (gadget :: <gtk-text-field-mixin>, mirror :: <gadget-mirror>) => ()
   ignore(mirror);
-  let widget = GTK-ENTRY(gadget-widget(gadget));
+  let widget = gadget-widget(gadget);
   let new-text = gadget-text-buffer(gadget);
   with-disabled-event-handler (widget, #"changed")
     with-c-string (c-text = new-text)
@@ -901,8 +884,8 @@
   let columns = gadget-columns(gadget);
   let word-wrap? = text-field-word-wrap?(gadget);
   let text = gadget-text-buffer(gadget);
-  let widget = GTK-TEXT(gtk-text-new(null-pointer(<GtkAdjustment*>),
-                                     null-pointer(<GtkAdjustment*>)));
+  let widget = gtk-text-new(null-pointer(<GtkAdjustment>),
+                            null-pointer(<GtkAdjustment>));
   assert(~null-pointer?(widget), "gtk-text-new failed");
   // Note that this is happening before install-event-handlers, so don't
   // need to disable events.
@@ -919,10 +902,10 @@
 define sealed method update-gadget-text
     (gadget :: <gtk-text-editor>, mirror :: <gadget-mirror>) => ()
   ignore(mirror);
-  let widget = GTK-TEXT(gadget-widget(gadget));
+  let widget = gadget-widget(gadget);
   when (widget)
     let new-text = gadget-text-buffer(gadget);
-    let old-text = GTK-STRING(gtk-editable-get-chars(widget, 0, -1));
+    let old-text = gtk-editable-get-chars(widget, 0, -1);
     let update? = old-text ~= new-text;
     g-free(old-text);
     when (update?)
@@ -1009,20 +992,20 @@
 
 define method scroll-bar-adjusted-contents
     (gadget :: <gtk-scroll-bar>)
- => (value :: <single-float>,
-     lower :: <single-float>, upper :: <single-float>,
-     step-increment :: <single-float>, page-increment :: <single-float>,
-     page-size :: <single-float>)
+ => (value :: <double-float>,
+     lower :: <double-float>, upper :: <double-float>,
+     step-increment :: <double-float>, page-increment :: <double-float>,
+     page-size :: <double-float>)
   let range-value = gadget-value(gadget);
   let (range-start, range-end, range-step) = gadget-range-values(gadget);
   let slug-size = gadget-slug-size(gadget);
 
-  let lower = as(<single-float>, range-start);
-  let page-size = as(<single-float>, slug-size);
-  let step-increment = as(<single-float>, range-step);
+  let lower = as(<double-float>, range-start);
+  let page-size = as(<double-float>, slug-size);
+  let step-increment = as(<double-float>, range-step);
   let page-increment = max(page-size, step-increment);
-  let upper = as(<single-float>, range-end); // this inclues page size.
-  let value = as(<single-float>, range-value);
+  let upper = as(<double-float>, range-end); // this inclues page size.
+  let value = as(<double-float>, range-value);
 
   values(value, lower, upper, step-increment, page-increment, page-size)
 end scroll-bar-adjusted-contents;
@@ -1032,15 +1015,15 @@
  => (mirror :: <gadget-mirror>)
   let (value, lower, upper, step-inc, page-inc, page-size)
     = scroll-bar-adjusted-contents(gadget);
-  let adj = GTK-ADJUSTMENT(gtk-adjustment-new(value,
-                                              lower,
-                                              upper,
-                                              step-inc,
-                                              page-inc,
-                                              page-size));
+  let adj = gtk-adjustment-new(value,
+                               lower,
+                               upper,
+                               step-inc,
+                               page-inc,
+                               page-size);
   let widget = select(gadget-orientation(gadget))
-		 #"horizontal" => GTK-HSCROLLBAR(gtk-hscrollbar-new(adj));
-		 #"vertical"   => GTK-VSCROLLBAR(gtk-vscrollbar-new(adj));
+		 #"horizontal" => gtk-hscrollbar-new(adj);
+		 #"vertical"   => gtk-vscrollbar-new(adj);
 	       end;
   assert(~null-pointer?(widget), "gtk-h/vscrollbar-new failed");
   // --- Does DUIM have anything to select/deselect smooth scrolling?
@@ -1059,8 +1042,8 @@
 end method install-event-handlers;
 
 define method gtk-adjustment-value-changed-signal-handler
-    (gadget :: <gtk-scroll-bar>, adjustment :: <GtkAdjustment*>) => ()
-  let value = adjustment.value-value;
+    (gadget :: <gtk-scroll-bar>, adjustment :: <GtkAdjustment>) => ()
+  let value = adjustment.gtk-adjustment-get-value;
   scroll-to-position(gadget, value);
 end;
 
@@ -1094,16 +1077,16 @@
   when (widget)
     let (value, lower, upper, step-inc, page-inc, page-size)
       = scroll-bar-adjusted-contents(gadget);
-    let adjustment :: <GtkAdjustment*> = gtk-range-get-adjustment(widget);
-    adjustment.GtkAdjustment-lower := lower;
-    adjustment.GtkAdjustment-upper := upper;
-    adjustment.GtkAdjustment-value := value;
-    adjustment.GtkAdjustment-step-increment := step-inc;
-    adjustment.GtkAdjustment-page-increment := page-inc;
-    adjustment.GtkAdjustment-page-size := page-size;
+    let adjustment :: <GtkAdjustment> = gtk-range-get-adjustment(widget);
+    adjustment. at lower := lower;
+    adjustment. at upper := upper;
+    adjustment. at value := value;
+    adjustment. at step-increment := step-inc;
+    adjustment. at page-increment := page-inc;
+    adjustment. at page-size := page-size;
     // --- TODO: cache gtk-signal-lookup
     with-c-string (name = "changed")
-      gtk-signal-emitv-by-name(adjustment, name, null-pointer(<GtkArg*>));
+      gtk-signal-emitv-by-name(adjustment, name, null-pointer(<GtkArg>));
     end;
   end;
 end method note-scroll-bar-changed;
@@ -1120,7 +1103,7 @@
 define method update-mirror-attributes
     (gadget :: <gtk-list-control-mixin>, mirror :: <gadget-mirror>) => ()
   next-method();
-  let widget = GTK-CLIST(mirror.mirror-widget);
+  let widget = mirror.mirror-widget;
   gtk-clist-set-selection-mode
     (widget,
      select (gadget-selection-mode(gadget))
@@ -1147,8 +1130,8 @@
 end method install-event-handlers;
 
 define sealed method handle-gtk-select-row-event
-    (gadget :: <gtk-list-control-mixin>, widget :: <GtkWidget*>,
-     event :: <GdkEventAny*>)
+    (gadget :: <gtk-list-control-mixin>, widget :: <GtkWidget>,
+     event :: <GdkEventAny>)
  => (handled? :: <boolean>)
   gtk-debug("Clicked on list control!");
   let selection = list-selection(gadget, sheet-direct-mirror(gadget));
@@ -1158,8 +1141,8 @@
 end method handle-gtk-select-row-event;
 
 define sealed method handle-gtk-button-press-event
-    (gadget :: <gtk-list-control-mixin>, widget :: <GtkWidget*>,
-     event :: <GdkEventButton*>)
+    (gadget :: <gtk-list-control-mixin>, widget :: <GtkWidget>,
+     event :: <GdkEventButton>)
  => (handled? :: <boolean>)
   gtk-debug("Pressed button %=, type %=",
 		event.GdkEventButton-button,
@@ -1182,17 +1165,17 @@
     (gadget :: <gtk-list-control-mixin>, mirror :: <gadget-mirror>)
  => (vector :: <vector>)
 /* TODO: GtkCList is deprecated in GTK2 */
-  let widget = GTK-CLIST(mirror.mirror-widget);
+  let widget = mirror.mirror-widget;
   let selection = widget.selection-value;
   glist-to-vector(selection, <integer>)
 end method list-selection;
 
 define method glist-to-vector
-    (GList :: <GList*>, type :: <type>)
+    (GList :: <GList>, type :: <type>)
  => (vector :: <stretchy-object-vector>)
   let vector = make(<stretchy-object-vector>);
   local method process-list
-	    (GList :: <GList*>)
+	    (GList :: <GList>)
 	  case
 	    null-pointer?(GList) =>
 	      #f;
@@ -1222,7 +1205,7 @@
 define sealed method update-list-control-items
     (gadget :: <gtk-list-control-mixin>, mirror :: <gadget-mirror>)
  => ()
-  let widget = GTK-CLIST(mirror.mirror-widget);
+  let widget = mirror.mirror-widget;
   let items = gadget-items(gadget);
   let label-function = gadget-label-key(gadget);
   gtk-clist-clear(widget);
@@ -1286,7 +1269,7 @@
 define sealed method make-gtk-mirror
     (gadget :: <gtk-list-box>)
  => (mirror :: <gadget-mirror>)
-  let widget = GTK-CLIST(gtk-clist-new(1));
+  let widget = gtk-clist-new(1);
   assert(~null-pointer?(widget), "gtk-clist-new failed");
   make(<gadget-mirror>,
        widget: widget,
@@ -1312,7 +1295,7 @@
 define sealed method make-gtk-mirror
     (gadget :: <gtk-list-control>)
  => (mirror :: <gadget-mirror>)
-  let widget = GTK-CLIST(gtk-clist-new(1));
+  let widget = gtk-clist-new(1);
   assert(~null-pointer?(widget), "gtk-clist-new failed");
   make(<gadget-mirror>,
        widget: widget,
@@ -1376,16 +1359,16 @@
 end method install-event-handlers;
 
 define sealed method handle-gtk-click-column-event
-    (gadget :: <gtk-table-control>, widget :: <GtkWidget*>,
-     event :: <GdkEventAny*>)
+    (gadget :: <gtk-table-control>, widget :: <GtkWidget>,
+     event :: <GdkEventAny>)
  => (handled? :: <boolean>)
   gtk-debug("Clicked on column!");
   #t
 end method handle-gtk-click-column-event;
 
 define sealed method handle-gtk-resize-column-event
-    (gadget :: <gtk-list-control-mixin>, widget :: <GtkWidget*>,
-     event :: <GdkEventAny*>)
+    (gadget :: <gtk-list-control-mixin>, widget :: <GtkWidget>,
+     event :: <GdkEventAny>)
  => (handled? :: <boolean>)
   gtk-debug("Resized column!");
   #t
@@ -1439,7 +1422,7 @@
 define sealed method make-gtk-mirror
     (gadget :: <gtk-option-box>)
  => (mirror :: <gadget-mirror>)
-  let widget = GTK-CLIST(gtk-clist-new(1));
+  let widget = gtk-clist-new(1);
   assert(~null-pointer?(widget), "gtk-clist-new failed");
   make(<gadget-mirror>,
        widget: widget,
@@ -1483,7 +1466,7 @@
 define sealed method make-gtk-mirror
     (gadget :: <gtk-combo-box>)
  => (mirror :: <gadget-mirror>)
-  let widget = GTK-CLIST(gtk-clist-new(1));
+  let widget = gtk-clist-new(1);
   assert(~null-pointer?(widget), "gtk-clist-new failed");
   make(<gadget-mirror>,
        widget: widget,
@@ -1703,7 +1686,7 @@
     (sheet :: <gtk-viewport>)
  => (mirror :: <widget-mirror>)
 // let widget = GTK-DRAWING-AREA(gtk-drawing-area-new());
- let widget = GTK-WIDGET(gtk-drawing-area-new());
+ let widget = gtk-drawing-area-new();
 // gtk-drawing-area-size(widget, 200, 200);
  gtk-widget-set-size-request(widget, 200, 200);
  make(<drawing-area-mirror>,
@@ -1838,7 +1821,7 @@
 define sealed method make-gtk-mirror
     (gadget :: <gtk-horizontal-slider>)
  => (mirror :: <gadget-mirror>)
-  let widget = GTK-HSCALE(gtk-hscale-new(null-pointer(<GtkAdjustment*>)));
+  let widget = gtk-hscale-new(null-pointer(<GtkAdjustment>));
   assert(~null-pointer?(widget), "gtk-hscale-new failed");
   make(<gadget-mirror>,
        widget: widget,
@@ -1848,7 +1831,7 @@
 define sealed method make-gtk-mirror
     (gadget :: <gtk-vertical-slider>)
  => (mirror :: <gadget-mirror>)
-  let widget = GTK-VSCALE(gtk-vscale-new(null-pointer(<GtkAdjustment*>)));
+  let widget = gtk-vscale-new(null-pointer(<GtkAdjustment>));
   assert(~null-pointer?(widget), "gtk-vscale-new failed");
   make(<gadget-mirror>,
        widget: widget,

Modified: branches/opendylan-melange/gtk-duim/gtk-keyboard.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/gtk-keyboard.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/gtk-keyboard.dylan	Sat May 19 21:54:47 2007
@@ -10,19 +10,19 @@
 /// GTK keyboard handling
 
 define method handle-gtk-key-press-event
-    (sheet :: <sheet>, widget :: <GtkWidget*>, event :: <GdkEventKey*>)
+    (sheet :: <sheet>, widget :: <GtkWidget>, event :: <GdkEventKey>)
  => (handled? :: <boolean>)
   handle-gtk-key-event(sheet, widget, event)
 end method handle-gtk-key-press-event;
 
 define method handle-gtk-key-release-event
-    (sheet :: <sheet>, widget :: <GtkWidget*>, event :: <GdkEventKey*>)
+    (sheet :: <sheet>, widget :: <GtkWidget>, event :: <GdkEventKey>)
  => (handled? :: <boolean>)
   handle-gtk-key-event(sheet, widget, event)
 end method handle-gtk-key-release-event;
 
 define method handle-gtk-key-event
-    (sheet :: <sheet>, widget :: <GtkWidget*>, event :: <GdkEventKey*>)
+    (sheet :: <sheet>, widget :: <GtkWidget>, event :: <GdkEventKey>)
  => (handled? :: <boolean>)
   ignore(widget);
   let _port = port(sheet);

Modified: branches/opendylan-melange/gtk-duim/gtk-medium.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/gtk-medium.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/gtk-medium.dylan	Sat May 19 21:54:47 2007
@@ -15,8 +15,8 @@
 define sealed class <gtk-medium> (<basic-medium>)
   sealed slot %ink-cache :: <object-table> = make(<table>);
   sealed slot %palette = #f;		//---*** MAYBE JUST USE THE FRAME'S PALETTE?
-  sealed slot %foreground-color :: false-or(<GdkColor*>) = #f;
-  sealed slot %background-color :: false-or(<GdkColor*>) = #f;
+  sealed slot %foreground-color :: false-or(<GdkColor>) = #f;
+  sealed slot %background-color :: false-or(<GdkColor>) = #f;
   // Cached clipping region
   sealed slot %clip-mask = #f;		// #f, #"none", or an X region
 end class <gtk-medium>;
@@ -51,8 +51,8 @@
 	 sheet);
   duim-debug-message("Attaching medium to %= (medium-sheet %=)",
 		sheet, medium-sheet(medium));
-  let widget = GTK-WIDGET(mirror.mirror-widget);
-  let drawable = pointer-cast(<GdkDrawable*>, widget.GtkWidget-window);
+  let widget = mirror.mirror-widget;
+  let drawable = pointer-cast(<GdkDrawable>, widget.gtk-widget-get-window);
   clear-ink-cache(medium);
   medium-drawable(medium) := drawable;
   // Set up the palette and fg/bg pixels
@@ -169,16 +169,16 @@
 
 define inline method get-gcontext
     (medium :: <gtk-medium>)
- => (drawable :: <GdkDrawable*>, gcontext :: <GdkGC*>)
+ => (drawable :: <GdkDrawable>, gcontext :: <GdkGC>)
   let sheet = medium.medium-sheet;
   let mirror = sheet.sheet-mirror;
-  let widget = GTK-WIDGET(mirror.mirror-widget);
+  let widget = mirror.mirror-widget;
   let drawable = medium-drawable(medium);
-  // let gcontext = widget.GtkWidget-style.GtkStyle-black-gc;
-  let gcontext = widget.GtkWidget-style.GtkStyle-fg-gc[GTK-WIDGET(widget).GtkWidget-state];
+  // let gcontext = widget.gtk-widget-get-style.GtkStyle-black-gc;
+  let gcontext = widget.gtk-widget-get-style.GtkStyle-fg-gc[widget.gtk-widget-get-state];
   if (null-pointer?(drawable))
     duim-debug-message("Null pointer drawable!");
-    let drawable = pointer-cast(<GdkDrawable*>, widget.GtkWidget-window);
+    let drawable = widget.gtk-widget-get-window;
     medium-drawable(medium) := drawable;
     values(drawable, gcontext)
   else
@@ -190,8 +190,8 @@
 // but the pen and font default to #f in order to avoid unnecessary work
 define sealed method update-drawing-state
     (medium :: <gtk-medium>, #key brush, pen, font)
- => (drawable :: <GdkDrawable*>, gcontext :: <GdkGC*>)
-  let (drawable :: <GdkDrawable*>, gcontext :: <GdkGC*>)
+ => (drawable :: <GdkDrawable>, gcontext :: <GdkGC>)
+  let (drawable :: <GdkDrawable>, gcontext :: <GdkGC>)
     = get-gcontext(medium);
   ignoring("update-drawing-state");
   /*
@@ -257,13 +257,13 @@
 end;
 
 define sealed method establish-brush
-    (medium :: <gtk-medium>, brush :: <standard-brush>, gcontext :: <GdkGC*>)
+    (medium :: <gtk-medium>, brush :: <standard-brush>, gcontext :: <GdkGC>)
  => ()
   ignoring("establish-brush for <standard-brush>")
 end method establish-brush;
 
 define sealed method establish-brush
-    (medium :: <gtk-medium>, color :: <rgb-color>, gcontext :: <GdkGC*>) => ()
+    (medium :: <gtk-medium>, color :: <rgb-color>, gcontext :: <GdkGC>) => ()
   ignoring("establish-brush");
   /*---*** Colors not implemented yet!
   gdk-gc-set-fill(gcontext, $GDK-SOLID);
@@ -273,12 +273,12 @@
 end method establish-brush;
 
 define sealed method establish-brush
-    (medium :: <gtk-medium>, color :: <contrasting-color>, gcontext :: <GdkGC*>) => ()
+    (medium :: <gtk-medium>, color :: <contrasting-color>, gcontext :: <GdkGC>) => ()
   ignoring("establish-brush for <contrasting-color>")
 end method establish-brush;
 
 define sealed method establish-brush
-    (medium :: <gtk-medium>, brush :: <foreground>, gcontext :: <GdkGC*>) => ()
+    (medium :: <gtk-medium>, brush :: <foreground>, gcontext :: <GdkGC>) => ()
   ignoring("establish-brush");
   /*---*** Colors not implemented yet!
   gdk-gc-set-fill(gcontext, $GDK-SOLID);
@@ -288,7 +288,7 @@
 end method establish-brush;
 
 define sealed method establish-brush
-    (medium :: <gtk-medium>, brush :: <background>, gcontext :: <GdkGC*>) => ()
+    (medium :: <gtk-medium>, brush :: <background>, gcontext :: <GdkGC>) => ()
   ignoring("establish-brush");
   /*---*** Colors not implemented yet!
   gdk-gc-set-fill(gcontext, $GDK-SOLID);
@@ -299,7 +299,7 @@
 
 
 define sealed method establish-pen 
-    (medium :: <gtk-medium>, pen :: <standard-pen>, gcontext :: <GdkGC*>) => ()
+    (medium :: <gtk-medium>, pen :: <standard-pen>, gcontext :: <GdkGC>) => ()
   let width 
     = begin
 	let width = pen-width(pen);
@@ -342,7 +342,7 @@
 
 
 define sealed method establish-font
-    (medium :: <gtk-medium>, font :: <gtk-font>, gcontext :: <GdkGC*>) => ()
+    (medium :: <gtk-medium>, font :: <gtk-font>, gcontext :: <GdkGC>) => ()
   ignoring("establish-font");
   // gdk-gc-set-font(gcontext, font.%font-id)
 end method establish-font;
@@ -351,33 +351,33 @@
 /// Ink decoding
 
 define generic decode-ink
-    (medium :: <gtk-medium>, gcontext :: <GdkGC*>, brush)
+    (medium :: <gtk-medium>, gcontext :: <GdkGC>, brush)
  => (color :: <native-color>, fill-style, operation :: <integer>,
      image :: false-or(<image>));
 
 define sealed method decode-ink 
-    (medium :: <gtk-medium>, gcontext :: <GdkGC*>, brush :: <foreground>)
+    (medium :: <gtk-medium>, gcontext :: <GdkGC>, brush :: <foreground>)
  => (color :: <native-color>, fill-style, operation :: <integer>,
      image :: false-or(<image>))
   decode-ink(medium, gcontext, medium-foreground(medium))
 end method decode-ink;
 
 define sealed method decode-ink 
-    (medium :: <gtk-medium>, gcontext :: <GdkGC*>, brush :: <background>)
+    (medium :: <gtk-medium>, gcontext :: <GdkGC>, brush :: <background>)
  => (color :: <native-color>, fill-style, operation :: <integer>,
      image :: false-or(<image>))
   decode-ink(medium, gcontext, medium-background(medium))
 end method decode-ink;
 
 define sealed method decode-ink 
-    (medium :: <gtk-medium>, gcontext :: <GdkGC*>, color :: <color>)
+    (medium :: <gtk-medium>, gcontext :: <GdkGC>, color :: <color>)
  => (color :: <native-color>, fill-style, operation :: <integer>,
      image :: false-or(<image>))
   values(allocate-color(color, medium.%palette), $GDK-SOLID, $boole-1, #f)
 end method decode-ink;
 
 define sealed method decode-ink
-    (medium :: <gtk-medium>, gcontext :: <GdkGC*>, color :: <contrasting-color>)
+    (medium :: <gtk-medium>, gcontext :: <GdkGC>, color :: <contrasting-color>)
  => (color :: <native-color>, fill-style, operation :: <integer>,
      image :: false-or(<image>))
   let color = contrasting-color->color(color);
@@ -385,7 +385,7 @@
 end method decode-ink;
 
 define sealed method decode-ink
-    (medium :: <gtk-medium>, gcontext :: <GdkGC*>, pattern :: <stencil>)
+    (medium :: <gtk-medium>, gcontext :: <GdkGC>, pattern :: <stencil>)
  => (color :: <native-color>, fill-style, operation :: <integer>,
      image :: false-or(<image>))
   not-yet-implemented("decode-ink");
@@ -422,14 +422,14 @@
 end method decode-ink;
 
 define sealed method decode-ink
-    (medium :: <gtk-medium>, gcontext :: <GdkGC*>, pixmap :: <pixmap>)
+    (medium :: <gtk-medium>, gcontext :: <GdkGC>, pixmap :: <pixmap>)
  => (color :: <native-color>, fill-style, operation :: <integer>,
      image :: false-or(<image>))
   not-yet-implemented("decode-ink for <pixmap>")
 end method decode-ink;
 
 define sealed method decode-ink
-    (medium :: <gtk-medium>, gcontext :: <GdkGC*>, brush :: <standard-brush>)
+    (medium :: <gtk-medium>, gcontext :: <GdkGC>, brush :: <standard-brush>)
  => (color :: <native-color>, fill-style, operation :: <integer>,
      image :: false-or(<image>))
   let (color :: <native-color>, fill-style, operation :: <integer>, pattern)

Modified: branches/opendylan-melange/gtk-duim/gtk-menus.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/gtk-menus.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/gtk-menus.dylan	Sat May 19 21:54:47 2007
@@ -25,20 +25,19 @@
   duim-debug-message("Adding %= to menu %=",
 		gadget-label(mirror-sheet(child)),
 		gadget-label(mirror-sheet(parent)));
-  gtk-menu-shell-append(GTK-MENU(mirror-widget(parent).GtkMenuItem-submenu),
-		  mirror-widget(child))
+  gtk-menu-shell-append(mirror-widget(parent).Gtk-Menu-Item-get-submenu,
+                        mirror-widget(child))
 end method set-mirror-parent;
     
 define method set-mirror-parent
     (child :: <menu-mirror>, parent :: <menu-mirror>)
  => ()
   let widget = mirror-widget(child);
-  let menu = GTK-MENU(gtk-menu-new());
+  let menu = gtk-menu-new();
   duim-debug-message("Creating submenu for %s",
 		gadget-label(mirror-sheet(child)));
   gtk-menu-item-set-submenu(widget, menu);
-  gtk-menu-shell-append(GTK-MENU(mirror-widget(parent).GtkMenuItem-submenu),
-		  widget)
+  gtk-menu-shell-append(mirror-widget(parent).Gtk-Menu-Item-get-submenu, widget)
 end method set-mirror-parent;
     
 define method set-mirror-parent
@@ -50,7 +49,7 @@
 //      gtk-menu-item-right-justify(widget)
       gtk-menu-item-set-right-justified ((widget), /* TRUE */ 1)
     end;
-    let menu = GTK-MENU(gtk-menu-new());
+    let menu = gtk-menu-new();
     duim-debug-message("Creating submenu for menu bar");
     gtk-menu-item-set-submenu(widget, menu);
     gtk-menu-shell-append(mirror-widget(parent),
@@ -306,7 +305,7 @@
 define sealed method make-gtk-mirror
     (gadget :: <gtk-menu-bar>)
  => (mirror :: <gadget-mirror>)
-  let widget = GTK-MENU-BAR(gtk-menu-bar-new());
+  let widget = gtk-menu-bar-new();
   make(<gadget-mirror>,
        widget: widget,
        sheet:  gadget)
@@ -354,7 +353,7 @@
     mnemonic := allocate-unique-mnemonic(gadget, text)
   end;
   with-c-string (c-string = text)
-    let widget = GTK-MENU-ITEM(gtk-menu-item-new-with-label(c-string));
+    let widget = gtk-menu-item-new-with-label(c-string);
     make(<menu-button-mirror>,
 	 widget: widget,
 	 sheet:  gadget)
@@ -411,7 +410,7 @@
     ignoring("menu with image")
   end;
   with-c-string (c-string = text)
-    let widget = GTK-MENU-ITEM(gtk-menu-item-new-with-label(c-string));
+    let widget = gtk-menu-item-new-with-label(c-string);
     let owner = menu-owner(gadget);
     let owner = if (frame?(owner)) top-level-sheet(owner) else owner end;
     make-menu-mirror-for-owner(owner, gadget, widget)
@@ -419,7 +418,7 @@
 end method make-gtk-mirror;
 
 define sealed method make-menu-mirror-for-owner
-    (owner :: <sheet>, gadget :: <gtk-menu>, widget :: <GtkMenuItem*>)
+    (owner :: <sheet>, gadget :: <gtk-menu>, widget :: <GtkMenuItem>)
  => (mirror :: <popup-menu-mirror>)
   let selection-owner = menu-record-selection?(gadget) & gadget;
   make(<popup-menu-mirror>, 
@@ -429,7 +428,7 @@
 end method make-menu-mirror-for-owner;
 
 define sealed method make-menu-mirror-for-owner
-    (owner == #f, gadget :: <gtk-menu>, widget :: <GtkMenuItem*>)
+    (owner == #f, gadget :: <gtk-menu>, widget :: <GtkMenuItem>)
  => (mirror :: <menu-mirror>)
   make(<menu-mirror>,
        widget: widget,

Modified: branches/opendylan-melange/gtk-duim/gtk-mirror.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/gtk-mirror.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/gtk-mirror.dylan	Sat May 19 21:54:47 2007
@@ -205,20 +205,20 @@
     ignoring("activate? keyword to raise-mirror")
   end;
   let widget = mirror-widget(mirror);
-  gdk-window-raise(widget.GtkWidget-window)
+  gdk-window-raise(gtk-widget-get-window(widget))
 end method raise-mirror;
 
 define sealed method lower-mirror
     (_port :: <gtk-port>, sheet :: <sheet>, mirror :: <widget-mirror>) => ()
   let widget = mirror-widget(mirror);
-  gdk-window-lower(widget.GtkWidget-window)
+  gdk-window-lower(widget.gtk-widget-get-window)
 end method lower-mirror;
 
 define sealed method mirror-visible? 
     (_port :: <gtk-port>, sheet :: <sheet>, mirror :: <widget-mirror>)
  => (visible? :: <boolean>)
   let widget = mirror-widget(mirror);
-  gdk-window-is-visible(widget.GtkWidget-window) == $false
+  gdk-window-is-visible(widget.gtk-widget-get-window) == $false
 end method mirror-visible?;
 
 
@@ -292,7 +292,7 @@
 define method do-make-gtk-mirror 
     (sheet :: <mirrored-sheet-mixin>)
 => (mirror :: <widget-mirror>)
-  let widget = GTK-FIXED(gtk-fixed-new());
+  let widget = gtk-fixed-new();
   //---*** We really want to switch this off entirely...
   gtk-container-set-resize-mode(widget, $GTK-RESIZE-QUEUE);
   make(<fixed-container-mirror>,
@@ -303,9 +303,9 @@
 define method do-make-gtk-mirror
     (sheet :: <standard-repainting-mixin>)
   => (mirror :: <widget-mirror>)
-  let widget = GTK-DRAWING-AREA(gtk-drawing-area-new());
+  let widget = gtk-drawing-area-new();
 //  gtk-drawing-area-size(widget, 200, 200);
-  gtk-widget-set-size-request(GTK-WIDGET(widget), 200, 200);
+  gtk-widget-set-size-request(widget, 200, 200);
   make(<drawing-area-mirror>,
        widget: widget,
        sheet:  sheet);
@@ -324,8 +324,8 @@
 end method install-event-handlers;
 
 define sealed method handle-gtk-expose-event
-    (sheet :: <mirrored-sheet-mixin>, widget :: <GtkWidget*>,
-     event :: <GdkEventExpose*>)
+    (sheet :: <mirrored-sheet-mixin>, widget :: <GtkWidget>,
+     event :: <GdkEventExpose>)
  => (handled? :: <boolean>)
   let area   = event.GdkEventExpose-area;
   let x      = area.GdkRectangle-x;
@@ -383,7 +383,7 @@
  => ()
   let widget = mirror.mirror-widget;
   let (left, top) = box-position(mirror.%region);
-  with-stack-structure (allocation :: <GtkAllocation*>)
+  with-stack-structure (allocation :: <GtkAllocation>)
     allocation.GdkRectangle-x      := left;
     allocation.GdkRectangle-y      := top;
     allocation.GdkRectangle-width  := width;

Modified: branches/opendylan-melange/gtk-duim/gtk-pixmaps.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/gtk-pixmaps.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/gtk-pixmaps.dylan	Sat May 19 21:54:47 2007
@@ -11,7 +11,7 @@
 // /*---*** Not doing pixmaps yet!
 
 define sealed class <gtk-pixmap> (<pixmap>)
-  sealed slot %pixmap :: false-or(<GdkPixmap*>) = #f,
+  sealed slot %pixmap :: false-or(<GdkPixmap>) = #f,
     init-keyword: pixmap:;
   sealed slot %medium :: <gtk-medium>,
     required-init-keyword: medium:;

Modified: branches/opendylan-melange/gtk-duim/gtk-port.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/gtk-port.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/gtk-port.dylan	Sat May 19 21:54:47 2007
@@ -175,8 +175,8 @@
 			  logior($GDK-POINTER-MOTION-MASK,
 				 $GDK-BUTTON-PRESS-MASK,
 				 $GDK-BUTTON-RELEASE-MASK),
-			  null-pointer(<GdkWindow*>),		// confine to
-			  null-pointer(<GdkCursor*>),		// cursor
+			  null-pointer(<GdkWindow>),		// confine to
+			  null-pointer(<GdkCursor>),		// cursor
 			  current-time);
   end;
   result ~= 0

Modified: branches/opendylan-melange/gtk-duim/gtk-top.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/gtk-top.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/gtk-top.dylan	Sat May 19 21:54:47 2007
@@ -44,7 +44,7 @@
     (child :: <widget-mirror>, parent :: <top-level-mirror>)
  => ()
   let (x, y) = sheet-native-edges(mirror-sheet(child));
-  gtk-container-add(GTK-CONTAINER(mirror-widget(parent)),
+  gtk-container-add(mirror-widget(parent),
 		    mirror-widget(child))
 end method set-mirror-parent;
     
@@ -354,7 +354,7 @@
 define sealed method make-top-level-mirror
     (sheet :: <top-level-sheet>, frame :: <basic-frame>)
  => (mirror :: <top-level-mirror>)
-  let widget = GTK-WINDOW(gtk-window-new($GTK-WINDOW-TOPLEVEL));
+  let widget = gtk-window-new($GTK-WINDOW-TOPLEVEL);
   make(<top-level-mirror>,
        widget: widget,
        sheet:  sheet)
@@ -372,7 +372,7 @@
     gtk-window-set-title(widget, c-string)
   end;
   gtk-window-set-modal(widget, if (modal?) $true else $false end);
-  gtk-container-set-border-width(GTK-CONTAINER(widget), $top-level-border);
+  gtk-container-set-border-width(widget, $top-level-border);
 end method update-mirror-attributes;
 
 define method install-event-handlers
@@ -415,8 +415,8 @@
 end method lower-mirror;
 
 define sealed method handle-gtk-delete-event
-    (sheet :: <top-level-sheet>, widget :: <GtkWidget*>,
-     event :: <GdkEventAny*>)
+    (sheet :: <top-level-sheet>, widget :: <GtkWidget>,
+     event :: <GdkEventAny>)
  => (handled? :: <boolean>)
   let frame  = sheet-frame(sheet);
   let controller = frame & frame-controlling-frame(frame);
@@ -535,8 +535,8 @@
 end method handle-move;
 
 define sealed method handle-gtk-configure-event
-    (sheet :: <top-level-sheet>, widget :: <GtkWidget*>,
-     event :: <GdkEventConfigure*>)
+    (sheet :: <top-level-sheet>, widget :: <GtkWidget>,
+     event :: <GdkEventConfigure>)
  => (handled? :: <boolean>)
   let frame  = sheet-frame(sheet);
   let left   = event.GdkEventConfigure-x;

Modified: branches/opendylan-melange/gtk-duim/gtk-utils.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/gtk-utils.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/gtk-utils.dylan	Sat May 19 21:54:47 2007
@@ -7,11 +7,6 @@
 Dual-license: GNU Lesser General Public License
 Warranty:     Distributed WITHOUT WARRANTY OF ANY KIND
 
-/// Useful constants
-
-define constant $TRUE  :: <integer> = 1;
-define constant $FALSE :: <integer> = 0;
-
 define constant $null-gpointer = null-pointer(<gpointer>);
 
 

Modified: branches/opendylan-melange/gtk-duim/library.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/library.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/library.dylan	Sat May 19 21:54:47 2007
@@ -15,13 +15,9 @@
   use duim-core;
   use gtk-duim-gadget-panes;	//---*** until we've got all native gadgets in
 
-  use C-FFI;
-  use Glib-2;
-  use Gdk-2;
-  use Gtk-2;
-  use GObject-2;
-  use Xlib;
-  use Xt;
+  use c-ffi;
+
+  use gtk;
 
   export gtk-duim;
 

Modified: branches/opendylan-melange/gtk-duim/module.dylan
==============================================================================
--- branches/opendylan-melange/gtk-duim/module.dylan	(original)
+++ branches/opendylan-melange/gtk-duim/module.dylan	Sat May 19 21:54:47 2007
@@ -16,13 +16,9 @@
   use duim-internals;
   use duim-gadget-panes-internals;	//---*** until we've got all native gadgets in
 
-  use C-FFI;
-  use Glib-2;
-  use Gdk-2;
-  use Gtk-2;
-  use GObject-2;
-  use Xlib, prefix: "x/";
-  use Xt, prefix: "Xt/";
+  use c-ffi;
+
+  use gtk;
 
   // Basic classes
   export <gtk-port>,

Added: branches/opendylan-melange/registry/generic/gtk-duim
==============================================================================
--- (empty file)
+++ branches/opendylan-melange/registry/generic/gtk-duim	Sat May 19 21:54:47 2007
@@ -0,0 +1 @@
+abstract://dylan/gtk-duim/gtk-duim.lid
\ No newline at end of file



More information about the chatter mailing list