Free GUI Libraries and Source Code

MGui
MGui, or the MORELLO Graphic User Interface, is a cross-platform GUI written in ANSI C. It has the usual widgets like menus, push buttons, editable fields, lists. It comes with a code generation tool so that you can design and maintain your interface visually. Platforms supported include Windows 3.1, 95, 98, NT, X Window, DOS. The GUI may not be used for commercial purposes. Only binaries are supplied. The library does not appear to have been updated for quite a long time.
MiniGUI
If you need a lightweight cross-platform GUI for real-time embedded devices and an embedded graphics middleware, you may want to check out MiniGUI. It runs on Linux/uClinux, eCos, VxWorks, pSOS, ThreadX, Nucleus, uC/OS-II, Win32. Hardware platforms tested with it include Intel x86, ARM (ARM7, ARM9, StrongARM, xScale), PowerPC, MIPS, and M68K (DragonBall, ColdFire). You can run it with support for threads, processes or compile it to run standalone. It has support for built-in resources like bitmaps, icons, fonts. It has a multi-window and messaging mechanism, commonly used controls like labels, buttons, multi-line edit boxes, list boxes, combo boxes, progress bars, property sheets, toolbars, track bar, tree view, list view, month calendar, grid view, animation, etc, as well as support for dialog boxes and message boxes. You can also use menus, accelarator keys, the caret, timers, Windows resource files, popular image file formats (GIF, JPEG, PNG, Windows BMP, etc), multiple character sets, fonts, etc. The graphics API allows you to do raster operations such as create complex regions, draw and fill ellipses, arcs, polygons, etc. There is also special support for embedded systems such as common I/O operations, byte-order functions, touch screen calibration, etc. The library is released under the GPL. Be sure to select the GPL open source package when you download.
QT3/Windows Free Edition
QT3/Windows is a port of Trolltech's GPLed Qt/X11 sources to Win32. It is thus covered under the GNU GPL. It supports the MinGW, Cygwin, Borland and Visual C++ compilers.
Trolltech Qt/X11, Qt/Embedded and Qt/Mac Open Source Edition
Trolltech provides its Qt GUI toolkit under the GNU GPL for Unix systems. At the time I write this, they have also announced that they will be releasing Qt version 4 under GPL for Windows as well. If, however, you wish to develop using Qt 3, you can check out the QT3/Windows toolkit mentioned on on this page.
SmartWin++
SmartWin is a C++ abstraction of the Windows API. It is designed to by type safe and be as thin a layer over the Windows API as possible. It currently requires you to either have the free Microsoft Visual C++ compiler (scroll down that page for more information) or the commercial Microsoft Visual Studio C++ 7.1, since the library is designed specifically for that compiler.
Winelib and Wine
Winelib is a development toolkit that is included in Wine (the open source implementation of the Windows API, both Win32 and Win16). It allows you to compile and link your Windows source code so that it runs under systems that support Wine (like Linux, FreeBSD, etc). Although, at the time of this review, the process is not as smooth as developers would like it to be (ie, you can't just take your Windows source code and recompile with gcc -lwine), it makes porting your applications considerably easier since you don't have to rewrite your application to use a different API. Wine and Winelib is licensed under the GNU Lesser General Public License (LGPL).
ReWind - Re-Engineering Windows
ReWind is a fork of the Wine project back when it was still licensed under the MIT/X11 license. Some developers prefer using this license, especially for commercial projects, to the GNU LGPL. Like Wine, it is an open source implementation of the Windows API, thus allowing you to port your Win API applications to supported systems (like Linux) without having to rewrite it for a different API.
GtkAda Ada95 Graphical Toolkit
GtkAda is an Ada95 graphical toolkit based on Gtk+ (a graphical toolkit for X-Window and Windows). The language bindings allow you to access all the widgets in Gtk+. The toolkit is distributed under a modified GPL license that allows the creation of proprietary software. The toolkit has been tested on Linux (x86, Sparc, PowerPC), Solaris (x86 and Sparc), Tru64, SGI IRIX, HPUX, Windows NT, Windows 2000, AIX, FreeBSD, and UnixWare.
Windows++
Windows++ is a C++ application framework that has a small footprint. It works with Win32 and Windows 3.1. The framework is the one described in the book of the same name (in the Andrew Schulman Programming Series).
Fox Toolkit
Fox is a C++ graphical class library that allows you to develop portable GUI applications that run on numerous platforms. It has a number of controls, icons, images, status line help, tooltips, supports drag and drop, selection as well as OpenGL widgets for 3D graphical manipulation. Among the platforms supported are Linux, FreeBSD, SGI IRIX, HP-UX, IBM AIX, Sun Solaris, DEC/Compaq Tru64 Unix, Windows 9x/ME, and Windows NT/2000.
V: Free Portable C++ Gui Framework
V is a free multi-platform C++ GUI, supporting Windows, OS/2, Linux and other Unices (using the X Athena, Motif or Lesstif widgets). It is released under the GNU LGPL. Your application will have the look of the native operating system, but your code is supposed to be portable across the supported platforms. There is support for menus, status bars, tool bars, a drawing canvas, text entry, check and radio buttons, modal and modeless dialog boxes, platform independent printer support, timers, OpenGL, etc.
MicroWindows
MicroWindows is an Open Source project that allows you to add a graphical windowing environment to your applications that are designed for smaller devices and platforms. It does not require any operating system or graphics system support and writes directly to the display hardware. Very handy if you're developing for the portable handheld and pocket PCs (Palm, etc). They support the Win32 API as well as the Nano-X API, so you should probably be able to port your Windows programs more easily. If you are a PDA developer, you might want to check this out.
OpenMotif
This is not a clone of Motif, but the actual Motif itself. The developers have now made Motif a sort of open software with source code and binaries freely available for download. However, the licensing allows you to use it free of charge only on open source operating systems like Linux and FreeBSD. Precompiled binaries for the latter two operating systems are available.
HCL
HCL is a C++ framework for X Windows applications that is based directly on Xlib. The user interface is described in a language somewhat like that used in Windows and OS/2's resource files, and compiled using a resource compiler that is part of the package. The library and its tools are distributed under the GNU LGPL.
Viewkit
This is a C++ application framework that requires Motif. The company that develops it tells me that there has been reports that it also runs with Lesstif as well. The Linux version is free when you register at their website.
Graphics Vision For The Free Pascal Compiler
This is a free implementation of Borland's Turbo Vision which provides an object oriented user interface. Unlike Turbo Vision, this is graphics based, and has support for TrueType, vector and VGA fonts, etc. This particular version is designed for the Free Pascal Compiler (see the Free Pascal and Delphi Compilers page). It works not only on the MSDOS platform, but also on Linux as well (using SVGALIB).
Lazarus
This is a set of class libraries for the Free Pascal compiler (see the Free Pascal Compilers page) that will enable it to understand and compile Delphi syntax. Now you can actually develop Delphi programs without having to purchase the commercial product - just get Free Pascal, Lazarus and write your code. There's even an additional advantage to using this over the real Delphi - this one is portable: you can actually compile your Delphi source code for all the platforms supported by Free Pascal (Win32, Linux, OS/2, Amiga OS, etc). The libraries are distributed under the GNU LGPL, which means you can actually distribute your programs (commercial or otherwise) without needing to distribute source code, if that is what you want. Note that while the project comes with an IDE, the Rapid Application Development (RAD) portion of it is far from complete (at the time of this writing). The project is currently still under development.
Whisper
Whisper is a general purpose C++ application framework, which takes advantage of templates, multiple inheritance, STL and exceptions. It is portable to both Macintosh and Win32. It contains numerous debugging tools. If you need to write an application that is portable across Mac and Windows, it may be worth your while to check this out.
CodeWeavers Wine Preview
The CodeWeavers Wine Preview is based on an early version of Wine. It includes a Wine Configuration Wizard, a Wine Launcher the Winemaker porting tool and of course Winelib. Winelib allows you to link your Windows source code with the Wine libraries, thus providing you with an easy way of making your Win32 API applications run on Linux (instead of rewriting your GUI source code to use X).
TWIN
This is an excellent library for Windows programmers who want to port their application to Unix and Macintosh. The library provides an emulation of the Win32 API so that you can simply compile your program on the Unix-based system and link it with the library, and, voila! They even have a working winhelp that will work under Unix so you don't have to even convert your documentation! The sources are distributed under GNU LGPL. OSes supported include Linux, Solaris, AIX, HP/UX, MacOS, SunOS, SGI IRIX, SCO Unix, SCO Unixware, and Digital Unix. Processors supported include Intel x86, Sparc, Alpha and PowerPC.
OpenAmulet
This public domain C++ toolkit has built-in support for animation, UNDO, a variety of widgets (buttons, check boxes, radio buttons, menus, scroll bars, scrolling windows, text input fields), etc. It supports Win32, Linux, Solaris, Mac, among others.
FLTK (Fast Light Tool Kit)
This C++ GUI toolkit, Fast Light Tool Kit, works under X Windows, OpenGL and Windows 95/98/NT, making it very useful if you have to write a program that works on a variety of platforms. It works on OS/2 too, if you have XFree86 for OS/2 installed. The source code is released under LGPL. There is also an interface builder that generates a human-readable, editable C++ code for you. If you write C++ GUI programs for a number of platforms, and want a portable high level library that takes care of the lower level details of each platform for you, you might want to check this out.
TOAD C++ GUI Class Library
A C++ GUI frameworks for use with X Windows systems. Requires the GNU C compiler or EGCS.
Lesstif
This is a clone of Motif that run on various Unices and Unix-clones.
WxWidgets
A free multi-platform C++ GUI library with bindings for the Python language. It has ports for Windows 3.1, Windows 95/98/ME/NT/2k/XP, Macintosh, OS/2 and various Unices (Linux, FreeBSD, Solaris, AIX, HP-UX, IRIX, SCO UnixWare). The Unix ports requires either GTK, Motif or Lesstif. Old versions which use XView are also available.
VCF Visual Component Framework
VCF is a C++ application framework designed for Rapid Application Development (RAD). It has various graphics classes, including support for anti-aliased vector graphics; image loading support for various graphic formats (TIFF, TGA, PSD, PNG, SGI, MNG, RAS, PBM, PPM, etc); facilities for drawing graphics; application classes for handling resources, loading windows or forms, saving application state; Undo/Redo support; GUI controls; etc. It uses modern C++ features like exceptions, templates, STL, and name spaces. It is intended to be portable across systems, although at the time this was written, it has only released versions for Windows; the Linux and Mac OSX ports are not yet available. The framework is licensed under the BSD License.

0 comments: