|


Libraries/Source Code

GUI
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
This object-oriented GUI class library has an API
that is compatible with Borland's Turbo Vision. You
can thus recompile your existing Turbo Vision
programs (which are text-based) with this library to
give it a graphical interface. It has support for
TrueType, vector and VGA fonts; as well as support
for Turbo Vision and Windows resource files. It is
free for individual use and requires Turbo Pascal
7.0 or Delphi 1.0. If you don't have these, you can
always use the version designed for the Free Pascal
Compiler (see elsewhere on this page).
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). If you want one for Turbo Pascal 7.0 or
Delphi 1.0, see elsewhere on this page for the other
version.
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.
|
 GUI
CATEGORIES :
|
 |