Added scm-layout event handlers and gdk-key support.
authorMatt Birkholz <matt@birkholz.chandler.az.us>
Thu, 8 Jul 2010 22:06:07 +0000 (15:06 -0700)
committerMatt Birkholz <matt@birkholz.chandler.az.us>
Tue, 21 Dec 2010 17:29:18 +0000 (10:29 -0700)
commit3b6db54ad4b2a854780387236ed8572293947813
treee31973f9bfc45548598507a4c0f917819f909ef5
parentcfbd775aa7f252e362eb7c6efb3f3c6dc87f45d6
Added scm-layout event handlers and gdk-key support.

A more complete wrapping eliminates the need for c-includes in the
"Hello, World!" example and scm-layout demo.

* doc/gtk/gtk.texinfo: The FFI syntax is no longer used in hello.scm.

* src/gtk/Tags.sh: Fixed the exuberant ctags commandline to avoid
wiping out the Scheme file extensions list, thus punting *.scm.

* src/gtk/demo.scm: Use new callback and event wrappers.

* src/gtk/gtk-object.scm: Use integrate-operator where a parameter is
referenced multiple times.

(gtk-widget-font): Return a PangoFontDescription alien.

(set-gtk-button-clicked-callback!)
(set-gtk-window-delete-event-callback!): More wrapping, to get
C-callback syntax out of hello.scm and demo.scm.

* src/gtk/gtk.pkg: Added keys.scm.  Export new callback and event
wrappers to (gtk).

* src/gtk/gtk.sf: Added keys.scm.

* src/gtk/gtk-ev.scm: Punt impish delete_event callback from hello.

* src/gtk/hello.scm: Simplify.  Use new wrappers.

* src/gtk/keys.scm: New.

* src/gtk/scm-layout.scm: Punted null-alien in favor of 0.  Added an
"event-handlers" vector per widget.  Provide specific event handler
setters, which can translate from toolkit to Scheme constants, so the
provided handlers do not need C- syntax.

(scm-layout-event-handler): Handle expose events directly.  Lookup the
rest in the event-handlers vector.
doc/gtk/gtk.texinfo
src/gtk/Tags.sh
src/gtk/demo.scm
src/gtk/gtk-ev.scm
src/gtk/gtk-object.scm
src/gtk/gtk.pkg
src/gtk/gtk.sf
src/gtk/hello.scm
src/gtk/keys.scm [new file with mode: 0644]
src/gtk/scm-layout.scm