[ WWWFun | Software | O'Caml ]

LablGTK

NEWS 2011.02.22 The LablGTK project has move to OCamlCore. The new home page can be found there. Information on this page will not be update.

LablGTK is an Objective Caml interface to gtk+. It comes in two flavors: LablGTK1 for gtk+-1.2 and LablGTK2 for gtk+-2.0 to gtk+-2.16.

It uses the rich type system of Objective Caml 3 to provide a strongly typed, yet very comfortable, object-oriented interface to gtk+. This is not that easy if you know the dynamic typing approach taken by gtk+.

It is still under development, but already fully functional. All widgets (but one) are available, with almost all their methods. The GLArea widget is also supported in combination with LablGL. LibGlade and GdkPixbuf support is also included for both versions. LablGTK2 adds support for gnomecanvas, librsvg and libpanel Many examples are provided.

Objective Caml threads are supported, including for the toplevel, which allows for interactive use of the library.

LablGTK also works under Windows. See the README for details about how to build it for Win32.

Since release 1.2.1, LablGTK contains support for rapid development with glade, through an interface wrapper compiler, and a libglade binding. You can also find code generators in the tools section.

Here are the READMEs for the currents versions:

Here is the ocamldoc generated documentation:

Download

SVN access
The working sources of LablGTK are available from GNA.org. The main branch is for lablgtk2, you need to use the branch lablgtk1 for the old version.
lablgtk-2.14.2.tar.gz
Latest release of LablGTK2. It fixes a number of bugs, including an incompatibility between ocaml 3.12 and previous versions. See the changes for the details.
lablgtk-2.14.0-win32.zip
Compiled version for Windows. Can be used only with the Objective Caml 3.11 distribution (msvc or mingw). Required GTK+ dlls are available from the Gnome distribution. Supports both bytecode and native code. The runtime environment is enough for bytecode, but you need the development environment for native linking. Here are the installation instructions. Note that this release was compiled with mingw, so there are no extra dependencies.
lablgtk-2.12.0.tar.gz
5th release of LablGTK2.
lablgtk-2.12.0-win32.zip
Compiled version for Windows. Can be used only with the Objective Caml 3.11 distribution (msvc or mingw). Required GTK+ dlls are available from the Glade for Windows Project. Supports both bytecode and native code. The runtime environment is enough for bytecode, but you need the development environment for native linking. Here are the installation instructions.
Note: the dlls included in this package were compiled with VC++ 8.0, as a result they require msvcr90.dll. If it is not already installed on your system, you should install Microsoft Visual C++ 2008 Redistributable Package (x86).
lablgtk-2.10.1.tar.gz
Fixes some bugs in lablgtk-2.10.0, the 4th release of LablGTK2. Here are the changes.
lablgtk-2.10.1-win32.zip
Compiled version for Windows. Can be used with the Objective Caml 3.08 to 3.10 distribution (msvc or mingw), without any extra tools. Required GTK+ dlls are available from the Glade for Windows Project. Supports both bytecode and native code. The runtime environment is enough for bytecode, but you need the development environment for native linking. Here are the installation instructions.
lablgtk-2.10.1-dlls-3.11.zip
New stub DLLs for using then win32 binary distribution with OCaml 3.11. You should just put them in lib/stublibs in place of those in lablgtk-2.10.1-win32.zip.
lablgtk-1.2.7.tar.gz
New release for Objective Caml 3.05 and up. Only a few additions and fixes.
lablgtk-1.2.7-ocamlwin-3.08.zip
Compiled version for windows. Can be used with the Objective Caml 3.08 distribution, without any extra tools. Required GTK+ dlls are available as gtk-1.3.0-dlls-win32.zip. Supports only bytecode linking.
Ftp directory
Ftp access to the distribution.

Software and Links

Lots of stuff is included in the distribution, but here are some more from external contributors.
LablGTK2 Tutorial by SooHyoung Oh
A nice lablgtk translation of the GTK+ Tutorial. See also the Tree View Tutorial (in progress).
Unison by Benjamin Pierce et al.
A file synchronizer. Uses LablGTK for its GUI.
MLglade by Benjamin Monate
An extension to glade, for generating LablGTK code.
Cameleon2 by Maxence Guesdon
An IDE for OCaml, written itself in LablGTK.
CamlImages
A library to handle various image formats in Caml. Includes support for LablGTK.
Motazaar by malc
A 3D viewer, using also lablGL.
Maxence's hump
Another index of lablGTK software.

Mailing list

Here is the web interface to the lablgtk mailing list (for subscription, etc...)

Here is the archive. (The above web interface only keeps messages since june 2007.)


Jacques Garrigue, 2010.9.18.