Dec 092017
DOS user interface C++ source code--windows, dialog boxes, menus, etc.
File DOSUIT07.ZIP from The Programmer’s Corner in
Category Recently Uploaded Files
DOS user interface C++ source code–windows, dialog boxes, menus, etc.
File Name File Size Zip Size Zip Type
ALERT.CPP 3197 976 deflated
ALERT.HPP 2733 1103 deflated
APPLIC.CPP 9886 2238 deflated
APPLIC.HPP 3139 1294 deflated
BUTTON.CPP 10200 2297 deflated
BUTTON.HPP 10575 2811 deflated
CHECK.CPP 1645 621 deflated
CHECK.HPP 1756 794 deflated
CLUSTER.CPP 14349 2480 deflated
CLUSTER.HPP 6479 1376 deflated
COLLECT.CPP 7276 1758 deflated
COLLECT.HPP 15403 3608 deflated
COLSET.CPP 6251 1898 deflated
COLSET.HPP 2233 848 deflated
COMMAND.CPP 914 342 deflated
COMMAND.HPP 4865 1424 deflated
CRITERR.CPP 2957 1032 deflated
DIALOG.CPP 1967 628 deflated
DIALOG.HPP 2016 760 deflated
DOCCLASS.CPP 38404 8889 deflated
DOCCLASS.HPP 17765 4965 deflated
EDITCLUS.CPP 2424 559 deflated
EDITCLUS.HPP 3559 740 deflated
EDITCTRL.CPP 2867 753 deflated
EDITCTRL.HPP 3296 1141 deflated
EVENT.CPP 12922 3453 deflated
EVENT.HPP 11593 3494 deflated
EXAMPLE1.CPP 1180 543 deflated
EXAMPLE2.CPP 11500 4112 deflated
EXAMPLE3.CPP 16646 5473 deflated
EXAMPLE4.CPP 22797 7002 deflated
FILEEDIT.CPP 4860 1510 deflated
FILEEDIT.HPP 2024 752 deflated
FLIST.CPP 11188 2680 deflated
FLIST.HPP 5967 2049 deflated
FORM.C 810 405 deflated
GROUP.CPP 7687 1716 deflated
GROUP.HPP 3156 1164 deflated
HARDWARE.HPP 4344 1656 deflated
HELP.CPP 9599 2645 deflated
HELP.HPP 1620 724 deflated
INSPECT.CPP 1468 583 deflated
INSPECT.HPP 371 225 deflated
LAYOUT.CPP 1093 451 deflated
LAYOUT.HPP 1240 543 deflated
LIST.CPP 10406 2829 deflated
LIST.HPP 10028 2752 deflated
MAKEALL 127 90 deflated
MAKEEXAM 327 185 deflated
MAKEFILE 90 47 deflated
MAKEHELP.CPP 5066 1706 deflated
MAKEHELP.HPP 1019 445 deflated
MAKELIB 10788 1975 deflated
MAKEUIT 6957 1302 deflated
MENU.CPP 11560 2826 deflated
MENU.HPP 6364 2094 deflated
PANEL.CPP 1441 519 deflated
PANEL.HPP 1265 567 deflated
PHONE.HLP 4074 1627 deflated
PHONE.SRC 6443 2426 deflated
POPWIN.CPP 2432 792 deflated
POPWIN.HPP 1724 693 deflated
PROTECT.CPP 5426 1644 deflated
PROTECT.HPP 5033 1769 deflated
RADIO.CPP 6889 1137 deflated
RADIO.HPP 4465 1088 deflated
README.TXT 7168 2988 deflated
RECT.CPP 3663 1011 deflated
RECT.HPP 3904 1217 deflated
SCREEN.CPP 11254 3114 deflated
SCREEN.HPP 2236 951 deflated
T.CPP 7842 2079 deflated
T.SRC 3679 1116 deflated
TEXT.CPP 4312 1197 deflated
TEXT.HPP 2826 994 deflated
TEXTEDIT.CPP 11190 2854 deflated
TEXTEDIT.HPP 8507 2915 deflated
TIME.CPP 5634 1416 deflated
TIME.HPP 2953 936 deflated
TIMEEDIT.CPP 1896 582 deflated
TIMEEDIT.HPP 1660 519 deflated
UIT1.RSP 1414 297 deflated
UIT2.RSP 2386 407 deflated
UITBOR07.ZIP 8590 7937 deflated
VOBJECT.CPP 14325 3116 deflated
VOBJECT.HPP 18123 5748 deflated
WINDOW.CPP 11778 2870 deflated
WINDOW.HPP 6671 2296 deflated

Download File DOSUIT07.ZIP Here

Contents of the README.TXT file

Text Mode User Interface Toolkit

Getting started Guide

Release 1.07

Copyright (c) 1991-93 Trumphurst Ltd.

Trumphurst Ltd.
The Willows
St. Martins Moor
SY10 7BH
Tel: (+44) 0691-670318
Fax: (+44) 0691-670316
Mail: [email protected]


The toolkit is provided as ZIPped archives, as follows ...

DOSUITnn.ZIP Library source and makefiles for Zortech C++ (3.0r4)
UITBORnn.ZIP Extra Borland C++ files

Getting started

Four makefiles are supplied ...

makefile Runs the other makefiles in the correct order.
makeuit Makes the documentation program, and the test program.
makelib Makes the libraries.
makeexam Makes the example programs.

Note that the ZTC flags used are -g -mli -bx. You may well have trouble
compiling the examples with a non DOS-extended version of the compiler,
particularly if you retain the -g switch. Feedback from beta testers will
be incorporated here as it is correlated.

The default make will create libraries with assertion, debugging, and
inspecting turned ON. To turn off the inspector, include "-DNINSPECT" in
CFLAGS in the makelib file. To turn off debugging and assertions, include

For those studying the source, and the makelib file, I should explain
that much effort has been expended in making library modules small, so
that unwanted code is not linked into the executable. To achieve this,
#defines are used to split up each source file into separately compiled
sections, and these are defined in the compiler command line, to give
multiple .OBJ files for each source file. The sources can be compiled
conventionally (e.g. for testing and debugging) by giving the switch "-
DALL" in the compiler command line.

Library documentation

All the library documentation is included in the header files. A new tool,
DocClass, is provided to extract the documentation into a useful, cross-
referenced form. DocClass is a standalone program, which may be compiled
with any C++ compiler. It should be run on all the header files at once
"docclass *.hpp >dosuit.doc".

Inspecting and debugging

The toolkit has a built-in Inspect function. Just place the mouse cursor
anywhere in an object on the screen in a running application, and hold
the Alt key down while clicking on the left mouse button. An inspector
dialog will appear, detailing the values of the internal variables in the
object. This inspect function is easily extended to new types of object
by overriding the inspectinfo virtual method for the object. The
inspector will also allow viewing of the state of the container of the
current VObject, and its container, right up through the hierarchy to the
Application object.

The toolkit also has a built-in debugging function - a static FILE
variable in the VObject class contains a file handle. If VObject::debug
is set to the handle of an fopened file, debugging information will be
output to the file whenever internal state changes occur within VObjects.
This file can be useful in determining what processing is going on as
objects are moved and resized by the automatic layout facilities in the
toolkit, and as input events occur.

Notes for Borland C++ users

Libraries should be installed in your Borland C++ directory. Separate
makefiles are provided for Borland C++. These have the extension "BCC" (i.
e. MAKEFILE.BCC, and MAKELIB.BCC). Version 2.0 of BC++ has a bug which
prevents parts of the toolkit working correctly. You should have at least
BC++ V3.00 (the compiler I used to test the port) to proceed. Obviously,
you should extract the Borland versions of the libraries (UITBB?nn.ZIP),
rather than the Zortech ones.

Notes for users of earlier versions of the toolkit.

In line with my expanding knowledge and understanding of C++, the toolkit
is gradually becoming more object oriented, as well as being extended to
provide additional functionality. The changes below are shown most recent

Release 1.07

Some minor modifications made to enable the toolkit to compile and run
without error under Borland C++ 3.1.

Also the .SRC files (which were missing) are now included in the

Release 1.06

The automatic documentation utility, DocClass, is now included. This
generates the full library documentation from the header files.

Release 1.05

There have been many minor bug fixes. The ListElement class is no longer
derived from VObject, thus saving lots of memory. A new type of generic
Collection, LCollection, is therefore available to hold ListElements.

Standard Command and Option function calls now take a const char *
parameter (the name of the invoking VObject), rather than a pointer to a

TextEdit objects now have an optional const char * parameter representing
a list of valid characters which may be accepted into the edit. This
makes it easy to create specialised TextEdits without having to derive a
new class for each one. The CRestore return value from the complete
function has been removed. togg toggled on and off by selecting the

The memory protection class Protected now has facilities for dumping a
stack trace as well as a list of all Protected objects allocated.

Release 1.04

Most variable argument lists have been removed, as they are not type safe.
Wherever a constructor or method expected a variable argument list, a new
one has been provided which takes a Collection. Together with the new
addition operators for Collections, this provides type- safe argument
list passing.

EditControl classes have been modified to provide a cleaner class
hierarchy - all EditControls now have a virtual method which returns a
pointer to the VObject which inherits from that particular EditControl.
Thus Collections of EditControls can be copied into Collections of
VObjects. This has enabled EditControlList to be defined as inheriting
from EditControl and GCollection(EditControl). EditCluster has been
redefined with this in mind, and it can now lay out any kind of
EditControl (not just TextEdits). Two similar layout classes
(EditHCluster and EditVCluster) provide layout for EditControls which
don't need separate prompts.

New classes ControlledButton and ButtonController provide a much improved
method of deriving such things as RadioButtons. Most of the behaviour of
groups of RadioButtons is now implemented in OneButtonController (derived
from ButtonController). This makes this area of the toolkit much easier
to extend with your own classes.

Release 1.03

New Command class introduced, providing type-safe function call despatch
to arbitrary classes. This enabled the UserEvent class to be eliminated

Release 1.02

The Event handling has been extensively re-written to remove switch
statements, and make Event despatch more extensible.

 December 9, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>