Gtk--
Gtk-- is a LGPL'd C++ wrapper for a popular widget library Gtk.
Don't hesitate to mail me if you have any
problems/inconveniences.
Now, where can I get latest version of gtk--?
Note! 0.9.0 version breaks every application!!
Current Gtk-- version: 0.9.2
Gtk version(s) known to work with current gtk--: 1.0.0
Gtk version(s) known to NOT work with gtk--: <1.0.0
What did change in gtk-- from last release?
See Release notes
The package requires gtk, where can I find it?
Where's all the documentation for Gtk--?
- A hello world in gtk--: hello.cc
- examples of how to build custom widgets, how to use and document them. (this is from Christof Petig)
- A FAQ
- A gtk-- reference (Read it now and make some more documentation - see CList as example of how to do them)
- screenshots
- A tutorial of signal framework used in gtk--.
- A document about available signals and connect() function signatures.
- A tiny document about how C's function and class names map to C++'s naming convention used in gtk--.
- An article about design of the new signal system. (not tutorial for use ; it doesnt have everything exactly like gtk-- has, but read if you want to modify gtk-- or for deep
understanding of gtk--'s signals)
- A porting.txt file describes how to port a Qt/KDE application to use gtk--.
- Check www.gtk.org for further documentation.
- See range.gen_h example of how to create C++ wrapper for your C widget.
- See news items to see what magazines think of gtk--.
What other very useful gtk-- widgets are available?
(if you've done some cool widget with gtk--, let me know)
Where do I send bug reports?
Mail them directly to terop@modeemi.cs.tut.fi
General discussion should be directed to gtk-list -mailinglist.
If you catch me from #gimp on irc.mint.net:6666 irc server, you might
get things fixed more quickly.
Known bugs/todo list
- Gnome widgets have no C++ interface yet - also some new gtk widgets don't have one yet.
- You cannot connect menus from menu factory to C++ member functions and cannot use C++'s
connect for same functions that receive C's menu callbacks. (this has been fixed, but not yet included - use the hard way of creating menus instead)
- There's problem with using gtk_signal_emit to emit signals (and currently gtk-- uses it). Will need to be changed. (causes problems when for example gtk_widget_destroy() is different from just emiting "destroy"-signal).
- BaseWidget::function() calls the most derived function if used for wrapper classes, instead of base class function. (not too important)
- no support for signal_connect_after() or signal_connect_before() or signal_connect_interp() (not too important)
- C++ interface for gdk (check interface) (still very incomplete, like missing completely gdk_draw_line) (not too important as people can use the C interface for low level stuffs)
Known additional features compared to plain gtk
- type-safe callback support
- Connect()'s to member functions and function objects
- classes use the neat C++ syntax, derivation from classes, overriding virtual methods with C++ syntax -- Extending the widget hierarchy via inheritance is now easy enough to use as main method for creating applications
- tries to track development of gtk and provide equivalent C++ interface
Which people have been developing Gtk--?
Elliot Lee <sopwith@redhat.com>
Phil Dawes <P.L.Dawes-CSSE94@cs.bham.ac.uk>
Tero Pulkkinen <terop@modeemi.cs.tut.fi>
Guillaume Laurent
Stephan Kulow
Marcus Brinkmann is maintaining debian package of gtk--.
Cvs
There's now a cvs server. If you want write access to one, send mail
to terop@modeemi.cs.tut.fi and include account you want and crypt()ed
password entry.
You can get current cvs version from the anonymous cvs:
export CVSROOT=:pserver:anonymous@cvs.gimp.org:/debian/home/gnomecvs
mkdir foo
cd foo
cvs login (press return on password)
cvs -z9 co gtk--
Other resources
The gimp
The gtk home page
gtk
Gnome
wxGTK
freeqt
gdk_multi-0.2.tar.gz - printing with gtk
Linuxmp3
Glade - gui builder for gtk.
Tero Pulkkinen (terop@modeemi.cs.tut.fi)