[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