home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PROG_GEN
/
TVGRAPH.ZIP
/
README.DOC
< prev
next >
Wrap
Text File
|
1994-01-04
|
11KB
|
290 lines
README.DOC 12/31/93
Changes with TVGraphic Version 1.5
------------------------
Partial List of What's New with 1.5
BitMapped Text now faster than belief.
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, a Visual Design tool.
See file Tools.Doc.
-------------------------
In Process
First generation code for TEditor and TMemo in the Editors unit is
running but work and much testing remain. - expected March 1994.
An interface/conversion program for Dialog Design that generates
TVGraphic source code is included in 1.5. The interface program to
generate TVGraphic resource files is also expected to be ready in March.
------------------------
REGISTRATION Update see file TVGrafic.Doc for info/license
Public (software) Library handles credit card registration for TVGraphic.
When you Register through them, the author will mail you a disk with
the latest version of TVGraphic.
"CREDIT CARD ORDERS ONLY -
You can order with MC, Visa, Amex, or Discover from Public (software)
Library by calling 800-2424-PsL or 713-524-6394 or by FAX to 713-524-6398
or by CIS Email to 71355,470. You can also mail credit card orders to PsL
at P.O.Box 35705, Houston, TX 77235-5705.
THE ABOVE NUMBERS ARE FOR REGISTRATION ORDERS ONLY.
Any questions about the status of the shipment of the order, refunds,
registration options, product details, technical support, volume discounts,
dealer pricing, site licenses, etc, must be directed to
Richard P Andresen
RR2 Box 900
Hinesburg VT, 05461
CompuServe # 71222,1200
To insure that you get the latest version, PsL will notify me the day of
your Registration and I will ship the product directly to you."
COMPUSERVE REGISTRATION
CompuServe online registration should be available early January 1994.
Type
Go Computer and select shareware registration
If you register via CompuServe, I assume you have downloaded the current
version of TVGraphic and do not automatically mail you a disk. Email if
you need one. You will receive the upgrade descibed below.
NOTE:
There are two TVGraphic v1.5 entries to allow two registration fees.
Registered Users
Registered users will automatically receive the Editors unit and
Resource file interface program when they become available.
Source code for the Interface programs will be included so you
can customize them if desired.
This file will be updated as things change.
------------------------
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)}
0 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}