FOX-Toolkit

| Home |
| Home News Download Goals & Approach Documentation FAQ FXRex Screenshots Adie PathFinder FOX Calculator Projects FXPy FXRuby EiffelFox The FOX Hole Japanese Docs |  | 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. FOX is Platform Independence! The list of platforms is growing! Currently, we have FOX running on a large number of operating systems, ranging from Linux, FreeBSD, SGI IRIX, HP-UX, IBM AIX, SUN Solaris, DEC/Compaq Tru64 UNIX, to MS-Window operating systems like Windows 9x, Windows NT, Windows ME and Windows 2000. Since most of the FOX implementation is completely oblivious to the underlying platform (in many cases it is not even including header files), applications work virtually identically on all these platforms. For example, here is the FOX textedit sample application running under Windows NT. And here is the same application running on a Silicon Graphics Octane system. Mailing Lists We now have two mailing lists: Announce List The announce list is a low-traffic list on which new releases of various software based on FOX will be announced, including new releases of the library itself. Discussions on various topics however should preferably take place in the users list, to prevent swamping people's mailboxes. To subscribe, send a mail to foxgui-announce-request@lists.sourceforge.net with the word subscribe in the message body, or fill out a web-based subscription form. Users List The users list is intended for discussion on various FOX topics between developers and/or users of the FOX library or applications based on it. If you have questions, feel free to post your questions here, as many people [including myself] are only too happy to answer them. To subscribe, send a mail to foxgui-users-request@lists.sourceforge.net with the word subscribe in the message body, or fill out a web-based subscription form. We recommend at least subscribing to the announce list to stay abreast of new releases of the library and applications. The announce list is being archived by GeoCrawler, and the discussion list is there also. This facility was provided automatically be switching over to Source Forge. The old FOX mailing list has been archived at: http://www.egroups.com/list/fox-users/ and at eScribe. This has been set up by Thomas Jordan. FOX project pages are provided at the FOX Source Forge web site. Sponsor The FOX project owes a debt of gratitude to CFD Research Corp., which has allowed me to develop this library under the GNU Library Public License, supplied web-hosting and moreover has allowed substantial contributions made by other CFDRC employees to be incorporated into the library. Please take a minute to visit the CFD Research web page. |  |