Module:    Dylan-user	%comment -*- Mode: Dylan -*-
Synopsis:  FFI declarations translated from GTK header files.
%comment   This file is a template that is expanded to produce "library.dylan".
Copyright: (c) 1999 Functional Objects, Inc.  All rights reserved.


define library GTK-Widgets
  use functional-dylan;
  use C-FFI;
  use Machine-Word;
  use GLib;
  use GDK;
  use GTK-Common;
  export GTK-Widgets;
end library GTK-Widgets;

define module GTK-Widgets
  use functional-dylan;
  use C-FFI,
    export: {null-pointer, null-pointer?, pointer-address,
	     pointer-value, pointer-value-setter, size-of,
	     <C-void*>, <C-pointer>, <C-string>, <C-unicode-string>,
	     <C-string*>, <C-unicode-string*>,
	     pointer-cast, destroy,
	     pointer-value-address, c-type-cast,
	     c-callable-wrapper-definer, 
	     \with-c-string, \with-stack-structure } ;
  use Machine-Integer-User, 
    export: {%logior, %logand};
  use Glib,
    /* have to export here names that are used as structure accessors in
       both modules. */
    export: { data-value, data-value-setter,
              flags-value, flags-value-setter,
              key-value, key-value-setter,
              parent-value, parent-value-setter,
              ref-count-value, ref-count-value-setter,
              user-data-value, user-data-value-setter };
  use GDK;
  use GTK-Common;

%include gtkseparator.exp
%include gtklabel.exp
%include gtkbutton.exp
%include gtkcheckbutton.exp
%include gtkradiobutton.exp
%include gtktogglebutton.exp
%include gtkrange.exp
%include gtkscrolledwindow.exp
%include gtkviewport.exp
%include gtkscrollbar.exp
%include gtkhscrollbar.exp
%include gtkvscrollbar.exp
%include gtkscale.exp
%include gtkhscale.exp
%include gtkvscale.exp
%include gtkeditable.exp
%include gtkentry.exp
%include gtktext.exp
%include gtkitem.exp
%include gtklist.exp
%include gtkclist.exp
%include gtklistitem.exp
%include gtkmenushell.exp
%include gtkmenu.exp
%include gtkmenubar.exp
%include gtkmenufactory.exp
%include gtkmenuitem.exp

  // Callbacks
  export \button-press-callback-definer;

  // Type coercion
  export \GTK-CLIST,
         \GTK-MENU,
         \GTK-MENU-BAR;
end module GTK-Widgets;
