eGTK - multi-compiler Eiffel/Gtk interface
Gtk+ is a widget toolkit for X-window
systems. Gtk+ appears to be the most popular open source toolkit available
today on Linux. Although Gtk+ was developed to work with X-windows,
a port to MS Windows exists. In principle you should be able to use
the eGTK Eiffel bindings with Gtk+ on Windows.
The main goal of the eGTK library is to be portable among the
various Eiffel compilers. The development is done with ISE
and SmallEiffel compilers. Ports to Halstenbach and Visual Eiffel
will be done at a later date.
The compilers being used are:
GTK+ library and glade GUI builder have been ported to Windows, so
it's probably possible to use eGTK on Windows.
- The ISE 4.5 compiler and SmallEiffel -0.77 have a problem when interfacing
to GTK+ if you use Windows and MS Visual C compiler. There is an
incompatibility between EIF_BOOLEAN type and 'unsigned char'. This
results in bad boolean values passed to GTK+ routines.
The solution requires that the external declarations be rewritten to
force proper casting. In the future eGTK will use
GOTE to generate
the external classes automatically. (Thanks to Eugene Melkhov for pointing this
Note that this problem does not affect Linux and gcc.
- EGTK_WIDGET_FACTORY is not finished yet, so you may get errors
when trying to create some types of widgets. It's easy to
add new types.
- I added a BUGS file that describes several bugs that I wasn't able to fix.
If you are adventurous take a look.
- I created a more formal TODO file listing the easier things that need to be
done. Just pick one and start coding.
- The big TODO for the next version will be adapting GOTE to work with
SmallEiffel and with ISE, and to use it to generate all external declarations
and the needed C glue code.
- January 17th, 2003 - version 0.3.6-2 released (most work done by Oliver Elphick).
See ChangeLog for details of changes (synch up with latest eglade).
- April 22nd, 2002 - version 0.3.6-1 released (most work done by Oliver Elphick).
See ChangeLog for details of changes.
Can be used with ISE Eiffel 5.x.
- July 12th, 2000 - finally released version 0.3.5. Many changes, including begining
of Gnome support.
- March 31st, 2000 - added a link to EXG library.
- March 17th, 2000 - add links to two applications that use eGTK: eLauncher
and Calculator IV.
- March 13th, 2000 - added a "known problems" section. Although another tarball
has not been released, a lot of code was added to eGTK. If you can try
and take the source from the CVS.
- December 15th, 1999 - version 0.3.4-1 released. Fixes to get rid of
some SE warnings and some cleanup of obsolete classes.
- December 10th, 1999 - version 0.3.4 released. Includes number of bugfixes,
improvements to GTK_PIXMAP and GTK_WIDGET, and new examples. See CHANGELOG
file for details.
- October 25th, 1999 - removed all references to EIFFEL_GTK (replaced with EGTK)
and renamed the archive file to eGTK-0.3.3-1.tar.gz.
- October 15th, 1999 - version 0.3.3-1. Bug fixes in GTK_IDENTIFIED and related
C code for 64-bit machines.
- October 9th, 1999 - version 0.3.3. This is mainly a snapshot of current
CVS, but many things changed (for details see CHANGELOG). Here
are the highlights:
- Directories for the classes were rearranged. You have to adjust your
Ace and loadpath.se files.
- Lots of new widgets added.
- Generalized memory management for all widgets (see EGTK_WIDGET_FACTORY).
- New examples.
- 6/2/99 - version 0.3.2 released. Many additions, new widgets, bug fixes
etc. Revised design for handling callbacks - idea taken from Paul Janzen's and
Francois Pennach's SmallEiffel library. We also named the library eGTK.
- 2/13/99 - added GTK_FILE_SELECTION widget and updated to work
with Gtk+ 1.1.14.
- 1/2/99 - added GTK_DIALOG widget and a test in test_gtk. Fixed
some classes that produced warnings under SE (thanks to all who pointed
out the error).
- 12/16/98 - We now have a mailing list to discuss the Eiffel/gtk project.
I also added a link to Paul Janzen's page which contains another version
of the SmallEiffel/Gtk+ interface. My plan is to integrate this code into
- 12/7/98 - I adapted the code to SmallEiffel. Now all of this library can be
compiled with SmallEiffel (I'm using -0.79beta7).
- 7/25/98 - my code was retested with Gtk+ 1.0.4. I started to work
on a canvas widget in Eiffel. I split handling of GDK events and GTK
signals into separate classes.
- 3/11/98 - initial posting.
The developers include: Dave E. Martin XIII, Daniel Elphick, Oliver Elphick, Pirmin
Kalberer and Richie Bielak. Luc Taesch contibuted most of the code
for Gnome Canvas and Andreas Leitner did all the work on interfacing with
Code was also contributed by Jörgen
Tegne´r and Friedrich Dominicus, and we have "stolen" code and ideas
from Francois Pennach and Paul Janzen's library, and from VEGTK library.
Current version: 0.3.6-2
508 classes and 38,769 LOC
0.3.6-1 37,974 LOC,
0.3.5 had 37,502 LOC of Eiffel,
0.3.4 had, 27,928 LOC of Eiffel,
0.3.3 was 26,359 LOC and
0.3.2 was 11,500 LOC of Eiffel
Richie's Home Page
Last modified: Fri Jan 17 23:58:10 EST 2003