    
                                The FOX GUI Library
                                ===================
                            
                            

                          


What Is FOX? 
============

FOX is a C++ based Toolkit for developing Graphical User Interfaces easily and 
effectively.   It offers a wide, and growing, collection of Controls, and provides
state of the art facilities such as drag and drop, selection, as well as OpenGL widgets 
for 3D graphical manipulation.  FOX also implements icons, images, and user-convenience 
features such as status line help, and tooltips.  Tooltips may even be used for 3D 
objects! 

Considerable importance has been placed on making FOX one of the fastest toolkits 
around, and to minimize memory use:- FOX uses a number of techniques to speed up drawing 
and spatial layout of the GUI.  Memory is conserved by allowing programmers to create 
and destroy GUI elements on the fly. 

Even though FOX offers a large collection of Controls already, FOX leverages C++ to 
allow programmers to easily build additional Controls and GUI elements, simply by taking 
existing controls, and creating a derived class which simply adds or redefines the 
desired behavior. 

One of the prime design goals of FOX is the ease of programming; thus, most controls 
can be created using a single line of C++ code; most parameters have sensible default 
values, so that they may be omitted, and layout managers ensure that designers of GUI's 
do not have to worry about precise alignments. 

Another nice feature of FOX which significantly reduces the number of lines of code 
which have to be written is FOX's ability to have widgets connect to each other, and 
passing certain commands between them; for example, a menu entry Hide Toolbar can be 
directly connected to the Toolbar, and cause it to hide. 

Finally, FOX makes it easy to maintain the state of the GUI in an application by having 
the GUI elements automatically updating themselves by interrogating the application's 
state.  This feature eliminates the large amount of effort that may go into sensitizing, 
graying out, checking/unchecking etc. depending on the application state. 
  


Where to get it? 
================

You can FTP the complete FOX GUI toolkit from our FTP site: 

	ftp://cyberia.cfdrc.com/pub/fox.tar.gz.


The tar-ball includes this on-line (HTML) documentation you see here. 

  
Mailing List. 
=============

To stay informed, we now have a mailing list for FOX.  To subscribe, send mail to 
fox-users-request@cfdrc.com with the word subscribe in the message body.  Messages to 
the list can be sent to fox-users@cfdrc.com.  FOX announcements will be made through 
this list also. 


Installation.
=============

Please refer to the file INSTALL.  FOX should compile on a large number of UNIX
systems.  The current "configure" scripts are however still somewhat primitive;
if you need to make specific alterations to the configure system, feel free to
send them to me so that I may merge them into the main distribution.
The current FOX distribution compiles on Windows NT using the eXceed system; we 
expect however to get some core functionality to become available under the native
Windows environment fairly soon.



Getting started.
=================

To get started programming with FOX, take a look at the tests directory, which contains
some example programs.  The best one to look at is probably the "glviewer" application.
Note that you need OpenGL or Mesa on your machine in order to compile it.


Bugs.
=====

Please file bugs and questions to the list fox-users@cfdrc.com.  Before filing a bug, 
please take a moment to download the latest version of FOX, and make sure the problem 
still persists:- FOX is being developed fairly rapidly, and it is possible that some
of the problems you may have experienced have already been fixed.



License.
========

The FOX Library proper is licensed under Library GPL; all the examples and demo programs
are licensed under GPL.



List of Contributors.
=====================

List of contributors in alphabetical order. 


Johnathan Bush.		The Progress Bar Widget.

Freddy Golos.		Freddy [Fyodor] was one of the first adopters of FOX, back
			when everybody still had to take my word for it how nice it was;
			Freddy made it clear there was real potential here.

Lyle Johnson.		The Spinner Widget. Lyle is also largely responsible for the 
			Window NT port of FOX.  
			 
Guoqing Tian.		The Dial Widget.

Charles W. Warren.	The Shutter Widget.  The concept of the Data Targets.  Charles 
			has also been my principal sounding board for exploring the
			philosophical underpinnings of the FOX Library.


The true list should probably be much larger; if you feel I have inadvertantly omitted
you, please email me jvz@cfdrc.com and I'll amend the errors in my ways.



Yours,


	Jeroen van der Zijp
	jvz@cfdrc.com

