Fox Toolkit Article Index for
Fox
Website Links For
Fox
 

Information About

Fox Toolkit




  Logo
  Screenshot
  Caption FOX applications
  Developer Jeroen Van Der Zijp , FOX Community
  Latest Release Version 1625 (Major stable)
  Latest Release Date March 28 , 2007
  Operating System Cross-platform
  Genre Development Library
  License LGPL
  Website {Link without Title}


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). FOX stands for Free Objects for X.

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 . Development began 1997 by Jeroen Van Der Zijp while he was affiliated at CFDRC . Since then, Jeroen van der Zijp maintains the core library and test applications, 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.


CROSS-PLATFORM COMPATIBILITY


FOX differentiates itself in the following way from other cross-platform toolkits:

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. This means that applications will have a similar Look And Feel across platforms. In theory, porting FOX to a new platform should also be easier than implementing support for native widgets.

On the downside, it usually means that on at least some platforms FOX applications will Look And Feel different from other, native applications for those platforms, which some users may find confusing. Also, 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.


MESSAGING SYSTEM


A major advantage of the FOX toolkit is the simplicity and clarity of the code and programming paradigm that results in a steep learning curve. It offers a bi-directional messaging system that is transparent. Each Widget sends its message to a certain target. Each message is composed by a selector that identifies its kind and an id that is unique and provided by the widget's enumeration. The advantage is that each widget can call a target widget's method in a transparent manner, even if the method does not exist. Vice versa, in the implementation of the individual message handler, since the sender is known, the target can also dispatch a message to the sender. This is a particularly important feature in component oriented software, where components may be written by different people, or even different organizations.



HELLO WORLD

The following example creates a FOX application and a dialog with a button:


#include "fx.h"


application.init(argc, argv);

application.create();
main->show(PLACEMENT_SCREEN);
return application.run();
}



SOFTWARE BUILT ON FOX



SEE ALSO




EXTERNAL LINKS