FOX toolkit
From Wikipedia, the free encyclopedia
In computing, the FOX toolkit is an open source, cross-platform widget toolkit, that is, a library of basic elements for building a graphical user interface (GUI).
It features a (currently hard-wired) Windows 95-style theme available for both Microsoft Windows itself as well as the X Window System (which is used on many UNIX and UNIX-like operating systems).
The FOX toolkit has been released under the GNU Lesser General Public Licence. It has been developed since 1997 by Jeroen van der Zijp, with the help of a growing user community.
The FOX toolkit is written in C++. Bindings are available for Python, Ruby and Eiffel. The FOX source code distribution supports building with many different (commercial and free) C++ compilers.
FOX differentiates itself in the following way from other cross-platform toolkits:
- Tk is a cross-platform toolkit but does not have all of the widgets that FOX considers desirable.
- Qt has a different licensing model (which may require a commercial license in some cases where FOX will not)
- wxWidgets promotes the use of native widgets on each supported platform
- FLTK is a fast, low-footprint library that supports rapid application development, and requires less code to use, but lacks advanced widgets
Both Qt and wxWidgets have some support for programming natively on Mac OS and Mac OS X platforms, which FOX currently does not support.
FOX uses a technique similar to the Java Swing-style approach to display a graphical user interface to the screen, using only graphical primitives available on that platform, as opposed to the original Java AWT-style approach which used native widgets.
A major advantage of this canvas-based approach is that the GUI is supposed to look and behave identically on all supported platforms. Some rather consider it a disadvantage, though, as it usually means that on at least some platforms FOX application will look and feel different from other, native applications for those platforms.
One disadvantage of the Swing-style approach is that certain native platform features may not be available immediately, such as comprehensive printing support, support for anti-aliased fonts, or internationalized input handling, because they will need to be re-implemented in a cross-platform way before they can be used in FOX.