Turbo Vision

port to the GNU compiler

Attention!! I moved this site to Source Forge.
The new URL is http://tvision.sourceforge.net/.
Thank you very much to Yahoo/Geocities for their service, but it isn't enough for my needs and I can't afford the non-free service.
In Source Forge you'll find a mailing list and CVS.


Introduction and information

What's Turbo Vision?

Turbo Vision (TVision for short) is a TUI (Text User Interface) that implements the well known CUA widgets. With TVision you can create an intuitive text mode application, intuitive means it will have CUA like interface (check boxes, radio buttons, push buttons, input lines, pull-down menues, status bars, etc.). All the people acustomed to the Windows, MacOS, OS/2, Motif, GTK, etc. interfaces will understand the interface at first sight.

Who created TVision?

TVision was developed by Borland (now Imprise) in 1992 (v1.03) as a tool for your TurboC and TurboPascal compilers. Around 1997 the masive use of the Window GUI make the product relative obsolete for commercialization and Borland put the sources in your ftp site, only the C++ version was released. Later they even authorized to the FPC group to use the Pascal sources.
Robert Höhne ported it to the djgpp toolkit to develope an IDE (Integrated Development Environment) similar to the Borland's BC++ 3.1 but for djgpp. DJGPP is based on the GNU compiler gcc.
I contributed some classes (the editor and help system) to the RHIDE project and made some modifications to the TVision sources.

What platforms are supported?

This port is a port of the C++ version for the DOS and Linux platforms. The port isn't 100% compatible with the original version from Borland because we want a library better than the original and not with the limititations imposed by the original 16 bits version and the huge security holes that are unacceptable.
Sergio Sigala made a port to Linux and FreeBSD with "100% of compatibility with the old version" as goal. The v0.6 of this port can be found in Sunsite.

What about copyrights?

The original code is copyrighted by Borland but is freely available from the net. Try here.
This port is distributed under the GPL license and the Sigala's port under a BSD like license.
According to a FAQ entry in the Borland's site (was in http://www.inprise.com/devsupport/bcppbuilder/faq/QNA906.html when I saw it) the code is public domain. I also asked in the Borland's newsgroup and the TeamB people (not official people but they are who give technical support in the net) said me the FAQ was right.


Download

Important! I'm not providing pre-compiled versions because that's usually a source of problems. Libraries compiled with one version of the compiler fails to link with others, etc. If you think I should provide binaries and have a really good reason just tell me.

DJGPP (DOS) TVision

The 1.1.3 and 1.1.4 releases can be downloaded from here:

Sources distribution: tv114s.zip tv113s.zip
or from the Simtelnet servers like: ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2tk/tv113s.zip

Linux TVision

Important: ncurses and gpm are needed for the Linux port.

The 1.1.3 and 1.1.4 releases can be downloaded from here:

Sources distribution: rhtvision-1.1.4.src.tar.gz rhtvision-1.1.3.src.tar.gz
Mirror: http://prdownloads.sourceforge.net/setedit/rhtvision-1.1.4.src.tar.gz http://prdownloads.sourceforge.net/setedit/rhtvision-1.1.3.src.tar.gz

The following RPMs were provided by a volunteer: Michel Catudal and needs test, please give us some feedback. I can't test the RPMs in my Debian system. The version for the RPMs is 1.1.3.
Binary RPM: librhtv-1.1.3-4.i586.rpm
Source RPM: librhtv-1.1.3-4.src.rpm
Development RPM: librhtv-devel-1.1.3-4.i586.rpm

Previous version (1.0.10): Needed for Setedit 0.4.41 and RHIDE.
DOS sources
Linux sources


Release History

Important! These are only the most relevant things, for a detailed list of fixes/additions look in the change.log file.

Release 1.1.4
Added support for RHIDE 1.4.9 and MSS 1.2.1.
Fixed compatlayer issues when including it more than once.
Added a mechanism to easily enable/disable international support without recompiling.
Fixed 100% CPU usage in the BC++ 5.5 version.
Fixed some Solaris problems.
Fixed desklogo and listvi examples.

Release 1.1.3
Added gcc 3.1 support.
Fixed TRangeValidator.

Release 1.1.2
Added gcc 3.0 support.
Added support for CygWin (Win32).
DOS: Keyboard using BIOS by default.
Fixed problems to compile examples.
Fixed keypad under X.
Fixed endianess details, now the demo works for Power PC and SPARC (Linux).
Fixed compile problems in FreeBSD and Linux/Alpha.

Release 1.1.1
Fixed cursor updated jumping when desktop locked.
Fixed TSortedCollection incremental search issues.
Added option to configure TFileCollection.
Added new color for disabled TCluster objects.
Fixed endianess problems in the TView draw member.
Added better support for Linux terminals, including ISO-8859-1 accents support.
Added a dummy internationalization library.
Fixed compiling issues in Linux.
Added a dialog editor program.

Release 1.1.0
Added BC++ 5.5 support (Win32).
Added MinGW support (Win32).
Added a `library' called compat layer to abstract the OS/compiler dependent things.
Fixed some details to make the library compilable with FreeBSD and other UNIXes.
Moved headers to a subdirectory (tv/*.h).
Added TButton callback.
Added 32 bits TRadioButtons and TCheckBoxes.
Added Add and Done buttons to the FileOpenDialog.
Fixed TStatusItem now uses copies of the strings passed.

Release 1.0.10
Disable ^Q, ^S, ^C, ^/ and ^Z when using terminals.
TFileDialog is now "growable".
Now the initialization of the TScreen is called from TProgInit.

Release 1.0.9
Added configure/make/make install mechanism.
Added support for DOS greek keyboards.
Fixed wrong broadcast in TListView.
Fixed compilation problems with gcc 2.95 under DOS.
Fixed bug in the TFileList vertical scroll bar.

Release 1.0.8
Around 28 bugfixes collected from the net by Laurynas Biveinis.
Added some new broadcasts to make more clean some process that were ugly.
Added low level (register level) save/restore VGA mode for DOS, it workarounds bugs in some broken BIOSes.
Added TFileCollection sorting options.
Added TDesktop now can also tile windows partitioning first vertically.
Now the library releases the CPU by default.

Release 1.0.7
Added Eterm 0.8.10 support (excellent keyboard under X!).
Added a couple of new members to TCommandSet to re/set ranges of commands.
Added example to avoid 100% CPU usage.
Added the calculator to the library.
Ported TChdirDialog to Linux version.
Modifications in the TFileDialog scroll bars, other small changes to this class (no double dir read, no .. in DOS' root, etc.).
Fixed warnings in examples when using egcs.
Fixed bug in TFileInfoPane.
Fixed now ^Z is disabled.
Fixed many calls to delete without [] and passing void pointers.

Release 1.0.6
Added much better support for xterm, including mouse and window resize.
Added mouse support for NT.
Added a function to recycle the doEditDialog.
Added some support for Alpha/Linux (experimental).
Added support for readonly /dev/vcsa devices.
Added some nice things in TMenuBar and TStatusLine (resize and 1 space around).
Ported TParamText.
Reduced the ESC delay.
Fixed bugs in TEditor and TSortedListBox.
Fixed leak in TResourceFile.

Release 1.0.5
Added files to generate a .deb package.
Fixed memory leaks and modified to release all the allocated memory when exiting. I debugged my editor with YAMD and it was needed to detect leaks in the editor.
Added support for VESA modes from TDisplay::setCrtMode.
Changed the name of the library to avoid potential collisions with the Sigala's port. No body reported problems but I'm thinking about making the library part of the main Debian distribution.

Release 1.0.4
Added TEditor, TFileEditor, TEditorWindow and TMemo classes. They were lost when we incorporated my TCEditor class to RHIDE.
Fixed problems with VESA modes in S3 boards.
Added support for ACS_xxxx ncurses macros. It makes the program look much better when using xterm.

Release 1.0.3
Dynamic version for Linux.
Fixed some problems in the make process.

Release 1.0.2
Fixes for the keyboard mappings used in Red Hat 5.2.
Added nine examples, a 16 steps tutorial and a demo program.

Release 1.0.1
First public standalone release.

Release 1.0.0
First release, not public. Only sent to Robert.


E-mail contact


You can contact me by e-mail salvador@inti.gov.ar


LinkExchange
LinkExchange Member Free Home Pages at GeoCities