|
|
|
|
A multithreading
screenshot of TnFOX on X11 is here (125Kb)
Screenshot of
TnFOX adapting to a mobile phone and the user's handedness
Download a self-contained
Win32 version of the program below (897Kb)

Features of FOX:
 |
Portable to X11/POSIX (Linux, BSD,
Apple MacOS X) and Microsoft Windows |
 |
Wide range of easily extendable (via
subclassing) widgets |
 |
License based on the Library GNU Public
License (LGPL) so can be used by closed-source & commercial applications |
 |
Fast and Lightweight, noticeably faster
than other C++ GUI toolkits |
 |
Dynamic run-time binding of widgets
to each other and to data via messaging |
 |
Also provides OpenGL, drag & drop,
anti-aliased fonts, MIME, graphics & compression support |
 |
Unicode support |
|
|
Additional features of TnFOX (see the library documentation below for
more detail):
 |
Outstanding error handling & robustness
tools, including full C++ exception support, exception safety within
the extensions and full checking of all host OS errors. Suitable
for mission-critical applications |
 |
Integrated
Python support with full set
of exception-safe, thread-safe Python bindings. It is extremely
easy to embed python scriptlets into your C++ code (based on
Boost.Python) or base your python
program on TnFOX |
 |
Many of the extensions replicate the
Qt API except that they
are all exception and thread safe |
 |
Extensive heavy-duty multithreading
tools with assembler-written signal-safe fast mutex (futex) |
 |
Per-thread event loops, allowing multiple
threads to run GUI trees concurrently - a markedly superior way
to use threads in your GUI |
 |
Superior Qt-style automatic human language
translation (much better than GNU gettext). TnFOX comes with Spanish
& all Google Translation supported
translations included |
 |
Extremely secure with
SSL, strong encryption, a
secure heap, data shredding, Access Control List & POSIX discretionary
security, segfault/GPF handling and a high-quality entropy gatherer |
 |
Also provides shared memory regions,
memory mapped files, constrained custom memory pools (based on
nedmalloc),
generic & compile-time meta-programming (policies, traits, typelists,
functors, smart pointers etc) and SIMD optimised vectors |
 |
Lightweight and highly efficient Inter
Process Communication (IPC) framework over pipes, sockets or encrypted
sockets with optional zlib compression. Can transport arbitrary
C++ object instances from one process to another. Benchmarks substantially
faster than CORBA |
 |
Improved UI facilities with small screen
support (for PDA's, mobile phones etc), run-time layout scaling,
user handedness layout and screen constraints for debugging |
 |
Metaprogramming driven generic SQL
database support with automatic to/from BLOB conversion between
C++ and SQL types with an integrated copy of the
SQLite3 database.
Can work with remote SQL databases over an IPC channel |
 |
Automatic transparent UTF and CR/LF
text format conversion with auto-detection of UTF-8, UTF-16LE, UTF-16BE,
UTF-32LE and UTF-32BE |
Upcoming features in v0.90:
 |
Fully working Python bindings [awaiting
improvements to pyplusplus] |
 |
Streaming Maths Computation module
which can utilise graphics cards |
Minimum System Requirements:
- Microsoft Windows 2000, XP, Vista or later.
OR
A POSIX compliant Unix with a recent GNU toolchain and a solid port
of X11. Recent versions of FreeBSD, GNU/Linux and Apple MacOS X
should suffice.
- Any processor architecture (little or big endian) including
x64 is fine, though the code is much faster with x86 and x64.
- A decent C++ compiler with partial template specialisation support.
GCC 4.x or better along with MSVC7.1
(Visual Studio .NET
2003) or better is preferred though the
Intel C++ compiler for Linux v8 and the
Intel C++ compiler for Windows v8 are known to work. Hope is
that the Digital Mars C++
compiler for Windows will be capable soon. And indeed GCC v3.2
and v3.3 should continue to be fine. MSVC6 support was dropped in
v0.4.
- The QTL is implemented as thunks to the STL, so you need a good
STL. With MSVC's Dinkumware or libstdc++ 3.2+ it's fine. If your
STL is poor, look into www.stlport.org
which is the same as the SGI-based STL supplied with recent versions
of GCC.
- Python v2.3 or later. TnFOX's
helper scripts use quite a few of the new features and the bindings
library is bound to that DLL.
- The scons make tool, v0.95
or later
- If you want to regenerate the python bindings, you'll need a
copy of the Boost library v1.33
or later, GCCXML and the
elementtree library for python
- If you want to compile in strong encryption support, you will
need a copy of the OpenSSL
library.
|