\input texinfo   @c -*-texinfo-*-
@comment %**start of header
@settitle guile-gnome Tutorial
@setfilename guile-gnome-tutorial.info
@include version.texi
@set UPDATED 12 September 2004
@syncodeindex pg cp
@comment %**end of header
@dircategory The Algorithmic Language Scheme
@direntry
* guile-gnome: (guile-gnome-tutorial).   An introduction to guile-gnome.
@end direntry
@copying
Copyright @copyright{} 2001 Martin Baulig
Copyright @copyright{} 2003,2004 Andy Wingo

@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation;

with the Invariant Sections being:

         "The GNU General Public License"
         "The GNU Free Documentation License"

and no Front-Cover Texts or Back-Cover Texts.

You can find more information about this license, and the license of
guile-gnome itself, at the end of the manual.
@end quotation
@end copying

@titlepage
@title guile-gnome Tutorial
@subtitle for version @value{VERSION}, last updated @value{UPDATED}
@author Andy Wingo (@email{wingo at pobox.com})
@page
@vskip 0pt plus 1filll
@end titlepage

This tutorial is for guile-gnome (version @value{VERSION}, last
updated @value{UPDATED}), a binding between the Guile extension
language and the Gnome programming environment.

@ifinfo
@node Top, The GLib type system, (dir), (dir)
@top guile-gnome Tutorial

@end ifinfo

@insertcopying

@ifnotinfo
@contents
@end ifnotinfo

@menu
* The GLib type system::        The foundations.
* Gtk+ Gdk Pango Atk::          An introduction to some guile-gnome
                                wrapsets.
* CORBA::                       Using CORBA from Scheme.

* The GNU General Public License::  
* The GNU Free Documentation License::  
@detailmenu
 --- The Detailed Node Listing ---

The GLib type system

* Basic types::                 
* Enums and flags::             
* Closures::                    
* GType::                       
* GObject::                     
* Deriving your own GObject types::  

Gtk+, Gdk, Pango, Atk

* hello world::                 
* hello world improved::        

CORBA

* Bootstrapping your IDL::      
* Calling CORBA Methods::       
* Implementing CORBA servants::  
* Implementing CORBA servants - multiple inheritance::  
* Implementing CORBA servants - an important limitation::  
* CORBA structs / sequences::   

@end detailmenu
@end menu

@include gobject.texi

@include gtk.texi

@include corba.texi

@c the binding generator page is out-of-date
@c @include bindings-generator.texi

@c @include references.texi

@include gpl.texi

@include fdl.texi

@ignore
<h3><a name="other-info">Other sources of information</a></h3>
<dl>
 <dt><a href="http://savannah.gnu.org/project/guile-gtk/">0.2.0 release notes</a></dt>
 <dd>
  Although they were released almost two years ago, Martin Baulig's
  notes on the first guile-gobject release are still relevant today.
 </dd>
 <dt><a href="http://savannah.gnu.org/project/guile-gtk/">0.5.0 release notes</a></dt>
 <dd>
  An acceptable introduction to the binding generator, with some examples.
  Also introduces the use of generic functions, as well as the Gtk bindings.
 </dd>
</dl>
@end ignore

@bye
