home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 21
/
CD_ASCQ_21_040595.iso
/
dos
/
prg
/
pas
/
tvgr70
/
readme.doc
< prev
next >
Wrap
Text File
|
1995-01-11
|
18KB
|
457 lines
README.DOC TVGraphic v2.00
v2.02 December 1994
101 Keyboard support added - see GDrivers unit in file REFER20.DOC
Scrollbar appearance and control colors changed to match other controls.
maintanence release
Documentation bugs corrected, some areas expanded/rewritten.
Bug in loading saved DeskTop's and other views from v1.5 fixed.
TVSCR1.Exe - THistory bug fixed.
Fix RadioButton redraw bug in registered versions.
Less flicker in redraw of TInputLine.
Bitmaps - handle certain bitmaps where grays were reversed.
Fix drawing bug if PutBitMap called when outside the Viewport.
Will now draw last character of a single line TStatictext that
is sized by TurboVision rules.
TGroup.ChangeBounds - fixed to Not draw the view as per documentation.
A view may now be transparent - view behind it provides the background.
New SetViewPortToView to restrict drawing to inside the view.
New method to restrict mouse cursor movement to rectangle.
TPanWindow (and nested windows) - much work done.
code rewritten, now fully working - you can drag a view and pan.
A single flag determines whether a view pans with the Interior or not.
If you use a view where VOffset <> 0,0 like this one, see new methods
TView.MakeInteriorGlobal, MakeLocalToInterior.
See revised Refer20.Doc for details.
-------------------------
Summary of .DOC files
README.DOC - This file.
Install.DOC - notes on installing this software, subdirectories
TVGrafic.DOC - the main documentation file + support policy
Refer20.DOC - object by object reference file
REGISTER.DOC - License, Registration, Warrenty
Beginner.DOC - tutorial material on Turbo Vision and TVGraphic
Bitmap.DOC - displaying bitmaps and using bitmapped views
Editors.DOC - documentation for text editing unit
European.DOC - read if your end user does not speak English
Fonts.DOC - replacing the default bitmapped fonts
GHelp.DOC - TVGraphic help system based on HelpFile.PAS
TextView.DOC - TVGraphic mods to Turbo Vision's TextView unit
Tools.DOC - using the Visual design tool
TVGDemo1.DOC - demo program change history - many changes apply to
ALL programs written with previous versions of TVGraphic.
-------------------------
Installation Note
You can use the -d option with UnZip or PKUnZip to install TVGraphic
with subdirectories. If you do this, you will need to copy the
READ_ME.NOW file to the DEMOS subdirectory (if you wish to run the demo
programs with DEMOS as the current DOS directory).
-------------------------
Partial List of What's New with 2.0
Version 2.0 is based on Turbo Vision 2.0
Requires Pascal 7.0. (v1.5 had units for both Pascal 6.0 and 7.0.)
Shareware version includes demo History, Validate, Editors units.
Registered users receive History, Validate, Editors units plus
ComboBox, HelpFile and Protected mode units.
TVGraphic source code may now be licensed.
Additional Demo programs
Simplified code to create an application (Init,Done).
VESA 800x600 support (see VESADEMO.PAS)
(SVGA note: TVGraphic supports Borland's VESA16 driver in 800x600.
Commercially registered versions of TVGraphic can also work
with your copy of the Ryle Design SVGA library for direct (non-VESA)
support of 800x600x16 on 16 chipsets. The VESA16 driver is faster.
Ryle's non-BGI features are not supported.
Alternatively users may use SciTech Software's UniVBE TSR to
support the VESA16 driver across an even larger number of chipsets.)
Editors unit has been extended/enhanced (Wordwrap, markers, etc.)
(see EDITORS.DOC)
Windows may have a pull-down Menu from the Close Icon.
(see TVGRAFIC.DOC, TVGDEMO1.PAS, REFER20.DOC)
Non-English languages/alphabets (see EUROPEAN.DOC)
User customizable UpCase function
User access to text strings of standard views.
TVGraphic's Bitmapped Fonts are now user replacable. (see FONTS.DOC)
European alphabet 8x8 and 8x14 fonts included.
TScroller - simplified - see main demo program
More sophisticated redrawing algorithm
User Option whether views respond to mouse button up or down.
more TV and TVGraphic Bug fixes
------------------------
Partial List of What's New with 1.5
BitMapped Text now much faster.
Graphic BitMaps and buttons are here.
See files TVGrafic.Doc and BitMap.DOC.
With the help of users, many bugs have been fixed. The most
noticable were in the screen redraw mechanism, Listbox,
GetShiftState, color selection dialog and F6'ing thru
subWindows in a TPanWindow.
Menus and Listboxes now have highlight bar under focused item.
Can insert a non-modal dialog into a window.
TV's Blinking Text Cursor added.
Interface to Dialog Design v4.0,4.1 a Visual Design tool.
See file Tools.Doc.
------------------------
LATEST shareware VERSION of TVGraphic
By the time you read this, it may not be the latest version.
Downloads {also for latest Dialog Design}
CompuServe: Borland English language Pascal forum, Turbo Vision library
Internet : anonymous ftp from ftp.std.com,
in directory "vendors/Andresen".
Disk
Order disk from PsL - see file REGISTER.DOC. First check that
version is more recent than your copy. Approx $9 domestic, US $16
with overseas airmail.
------------------------
REGISTRATION, Warrenty, Source Code License
see file REGISTER.DOC for info/license/form
------------------------
(***********************)
Changes with TVGraphic Version 2.0
0.Unit Names
Menus unit in earlier TVGraphic was GMenu6, Now GMENUS.
The "G" is dropped from names of all objects in GMenus unit.
Numbers dropped fron other unit names:
MyGraph3 -> MyGraph
MCursor2 -> MCursor
The mysterious unit Rodent has been exterminated.
TVGraphic units for HistList, Validate and HelpFile.Pas are named
GHistLst
GValidat
GHelp
1.Mandatory Changes in Applications written with v1.5:
> See TVGDemo1.DOC for list of changes to version 1.5 applications.
> Two of these are mandatory!
Need to call InitHistory, DoneHistory in your application's
Init and Done since TVGraphic 2.0 uses the History unit.
Else crash when a History button is pressed!
2.Creating an Application
The code needed to create an application (TMyApp.Init,Done)
has been simplified.
Descend your application from TProgram as usual in TVGraphic.
Several TV2.0 TApplication methods have been added to
TVGraphic's TProgram.
3.TScroller, TMyScroller (see main Demo program)
Yes its changed again. You no longer need to write your own
PartOfSetLimit method. The TScroller.SetLimit method has two added
parameters to set the scroll step sizes. There is a new
TScroller field to store these step sizes. Much simpler.
Also see REFER20.DOC.
4.More sophisticated Redrawing algorithm
Earlier versions of TVGraphic always redrew from the bottom view
to the top view. This gives good results in complex Dialogs but
is not as attractive when redrawing views that overlap - such as
stacked windows on the DeskTop.
Now the Application, DeskTop and TPanWindow use an alternate redraw
algorithm that draws from the top view down. (If the view gets too
complex, they still use the bottom up redraw.) If necessary, you can
change the method used by setting/clearing the dfAlternateRedraw
flag in the new TView field DrawFlags.
Redrawing within a ListBox has also been improved.
Modal Help Windows/Dialogs should now be executed by the Application to
avoid the need to manually redraw open box menus - see demo program.
5.Mouse Button Behavior
Control over whether views respond to mouse button up or down.
The main demo program's Mouse menu lets you change this variable:
ViewsRespondToMouseUp : boolean = false;
If you set it true, then views respond to button releases as in
Turbo Vision. Otherwise they respond to button presses as in
previous TVGraphic.
In your own programs, if you wish to change it, set it once in App.Init.
6.Default MouseGrids
Previous versions defaulted the mouse cursor grid to 10x10 and
enabled snap to grid for Menus and Dialogs. Then they changed these
settings with code in TDemoApp.Init.
Version 2.0 defaults to a single pixel grid (no grid) and disables snap
to grid in Menus and Dialogs. Thus TDemoApp.Init no longer sets the
grid and snap. If you want to change them, set them in TDemoApp.Init.
7.Mouse Cursor
The mouse cursor image may be replaced with your own. REFER20.DOC.
8.Default ViewPort
Now set in TProgram.Init. Set to cover the DeskTop. If no DeskTop, then
full screen.
9.Support for writing programs with a non-English user interface
fonts, text strings in standard views, UpCase
see file EUROPEAN.DOC
10.HELP
TVGraphic's version of the TV Help system (HelpFile.Pas) is unit GHelp.
See GHELP.DOC, HelpDemo.Pas.
The simpler dialog Help of TVGraphic is still available.
Modal Help dialogs or windows should now use Application^.ExecView(),
not DeskTop^.ExecView or ExecuteDialog. This also removes the
need to redraw the menu chain manually in certain circumstances.
11.READ_ME.NOW
Programs written with Unregistered and Personally registered TVGraphic
now require the presence of a reminder file to run.
12.ofVersion20
Several additional TVGraphic 2.0 views have the ofVersion20 flag set
in their Options field. Search REFER20.DOC for "ofVersion20".
13.dpTV1Dialog
Used in earlier versions of TVGraphic.
No longer defined. Use dpCyanDialog for default dialog colors.
14.TWindow palettes
The extensions of the TWindow palettes are changed from v1.5
(**************************)
Changes with TVGraphic Version 1.5
Earlier TVGraphic used different names from Turbo Vision
for GDialogs objects {object's palette name tracks object name}
TgDialog {extra constructor parameter}
TgCluster
TgRadioButtons
TgCheckBoxes
TgButton
TgCancelButton {unique to TVGraphic}
TgOKButton {unique to TVGraphic}
TgInputLine {extra constructor parameter}
TgStaticText {extra constructor parameter}
TgParamText {extra constructor parameter}
TgLabel {extra constructor parameter}
With version 1.5, the following objects revert to using the
same name as in Turbo Vision and the same list of parameters in
their constructors.
TgDialog -> TDialog {no extra constructor parameter}
TgCluster -> TCluster
TgRadioButtons -> TRadioButtons
TgCheckBoxes -> TCheckBoxes
TgButton -> TButton
TgCancelButton -> TCancelButton {unique to TVGraphic}
TgOKButton -> TOKButton {unique to TVGraphic}
The result is that with Ver1.5 and up, only those TVGraphic Dialog
objects that have different names have the extra Opts parameter in
their constructor. As before, it is always the last parameter.
Remembering should be easier too - different names/constructors
for Text objects and InputLines.
Dialog VOptions:
Without the extra constructor parameter, setting flags in
in a Dialog's VOption field is done after construction.
MyDialog.Init(........); (your descendent of TDialog}
begin
Dialog.Init(.......));
VOptions := VOptions or (TVGraphic specific option)
....
OR
var Dlg : PDialog;
...
Dlg := New(PDialog, Init(.......));
Dlg^.VOptions := Dlg^.VOptions or (TVGraphic specific option)
------------------------
UserHook
The name of the record type reserved for users has been changed
from TUserHook to TUserRec.
Function TView.UserHook now takes a parameter of type TUserRec
instead of a TRect.
-------------------------
MGridSize
The variable containing the current setting of the mouse cursor
grid has been renamed and hidden. MGridSize is now a local
variable. Function MCur.GetGrid(AGridRec : MGridRec) has been
added to access grid info.
To find the current grid settings: MGridSize := MCur.GetGrid;
-------------------------
Setting the Screen Mode to Color
Previous versions of TVGraphic's TVGDemo1 program forced the screen
into color mode in TDemoApp.Init. This can can cause a problem with
B&W LCD laptops which are able to drive an external VGA color monitor.
They end up in color mode and so Turbo Vision selects the color palette
instead of the B&W palette.
-------------------------
Changing Palette Colors
The shade of the dark gray and brown colors is modified by calling
procedure ImprovePaletteColors;
in the demo program. This is done both in TMyApp.Init and .DosShell.
During debugging in the IDE, if you break out of your program,
the original colors will be restored unless you enable (menu)
Options/Environment/StartUp EGAVGA Palette Save
from the IDE's menu.
-------------------------
Vertical Spacing for Text Views/Cursors
function VertTextOffset unit MyGraph3
This function has been renamed CalcVertTextOffset.
function CalcVertTextOffset(ViewYSize : integer) : integer;
For the current text font, this function calculates a vertical
offset for drawing the text in a view ViewYSize tall.
Can also be used to calculate offset to position text in a
particular vertical text line spacing by passing the line
spacing as parameter ViewYSize.
TView has had three new functions added
VertTextOffset : integer; virtual
VertTextSpacing : integer; virtual
HorzTextOffset : integer; virtual
The TView versions return the usual TVGraphic values of
Boxheight for VertTextSpacing
ByOffset for VertTextOffset.
{VerTextOffset calls CalcVertTextOffset(VertTextSpacing)}
for HorzTextOffset
The Draw routine for the blinking text cursor calls VertTextOffset,
VertTextSpacing and HorzTextOffset to locate the cursor properly
on the screen.
In your descendant views using the cursor:
If you change a View's text line spacing or the vertical offset
of text into this spacing, you need to override these functions
to return your values.
-------------------------
TOKButton and TCancelButton
These standard TVGraphic buttons have been increased in width
from seven to 10 * Charlen. They now match the width of other buttons.
-------------------------
TScroller, TMyScroller (in Demo program)
Earlier versions of TVGraphic fixed TScroller.SetLimit in text
mode coords using Charlen and Boxheight. There was no bug free way
to change scroll step and pageup/down spacing.
Procedure TScroller.PartOfSetLimit(X, Y ; integer); virtual;
has been added and is now called by SetLimit to set the Limit and
to call the scrollbars to set their step sizes and pageup/down
sizes. By overriding, the programmer can set up a scroller for
ANY vertical and horizontal text spacing (or drawing grid spacing).
See source code example in demo program - TMyScroller.
TScroller.SetLimits now works entirely in graphic (pixel) coordinates
unless PartOfSetLimit is overridden.
TMyScroller overrides PartOfSetLimit and works entirely in text
mode coordinates as before.
{lines vertically, chars horizontally}
You will need to change coordinates in calls to TScroller.SetLimit
and possibly override PartOfSetLimit for views descending from
TScroller rather than from TMyScroller. See demo program.
-------------------------
StatusLine
Events broadcast from the StatusLine now have the InfoPtr set to
Ptr(0000,0001) rather than @Self as in earlier TVGraphic.
-------------------------
WriteCStr
This routine writes highlighted text strings and has been joined
by WriteCStrXY. Both procedures are now in the MyGraph3 unit.
-------------------------
Mouse Cursor Madness
The cursor now can travel full screen. An hourglass "wait" cursor
has been added with a global flag to enable it. TMCur.SelectStdCursor
and TMCur.SelectHourGlass switch between shapes.
See unit MCursor in Reference file.
-------------------------
TV's Intrinsic Blinking Text Cursor
Yes its here but may not be entirely bug free. To enable the cursor
in a view, you need to set the view's EventMask to include evTimerTick
and call ShowCursor. Due to the fact that graphic mode doesn't support
a blinking cursor in hardware, you are partly responsible for the
cursor in your own redraws unless you redraw by calling DrawView.
As usual, TVGraphic handles the automatic screen redraws.
See section in TVGRAPHIC.DOC.
See TView methods SetCursor, ResetCursor in Reference file.
-------------------------
TApplication.GetEvent
Earlier versions of TVGraphic used the demo program's TMyApp.GetEvent
to generate TimerTick events and to update the mouse cursor position.
These operations are now done in TProgram.GetEvent. The remaining code
in TMyApp.GetEvent is optional. In your TApp.GetEvent, eliminate code
if (Event.What = evNothing) then begin
GetBiosTickEvent(Event);
if not (Event.What = evNothing) and not (TopView = @Self)
then begin
HandleEvent(Event);
end;
end;
AND
MCur.Move(Event.Where); {move cursor to mouse location}
-------------------
END.