                                  - TOC-   1 -





 GVApp - Unit .........................................................      1
 SaveGetMC - Variable (Unit GVApp) ....................................      1
 cmIdle - Kommando (Unit GVApp) .......................................      1
 CColor - Palette (Unit GVApp) ........................................      2
 DoChMCursor - Prozedur (Unit GVApp) ..................................      2
 DoGetMCursor - Prozedur (Unit GVApp) .................................      2
 TDesktop - Objekt (Unit GVApp) .......................................      3
 TProgram - Objekt (Unit GVApp) .......................................      3
 TProgram.DoneEvents - Methode ........................................      4
 TProgram.DoneFonts - Methode .........................................      4
 TProgram.DoneTexts - Methode .........................................      4
 TProgram.ExecuteDialog - Methode .....................................      4
 TProgram.GetEvent - Methode ..........................................      4
 TProgram.Idle - Methode ..............................................      5
 TProgram.InitEvents - Methode ........................................      5
 TProgram.InitFonts - Methode .........................................      6
 TProgram.InitScreen - Methode ........................................      6
 TProgram.InitTexts - Methode .........................................      6
 TProgram.LanguageResource - Methode ..................................      6
 TApplication - Objekt (Unit GVApp) ...................................      7
 TProgram.Timer - Methode .............................................      7




































                                  - TOC-   1 -
                                    -    1 -






GVApp - Unit
 

GVApp ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
GVApp stellt die Klassen der TV Unit App in GV bereit.
Die Klasse TBackground ist in GVViews implementiert.
Aufgrund der Anforderungen einer grafischen Oberflche sind einige Routinen
von TV hier verndert worden.

 Variablen und Konstanten:

  CColor
  cmIdle
  SaveGetMC

 Prozeduren und Funktionen:

  DoChMCursor
  DoGetMCursor
  StdStatusKeys       (siehe Pascal-Dokumentation)
  StdFileMenuItems    (siehe Pascal-Dokumentation)
  StdEditMenuItems    (siehe Pascal-Dokumentation)
  StdWindowMenuItems  (siehe Pascal-Dokumentation)

 Objekte:

  TDesktop
  TProgram
  TApplication

cmIdle - Kommando (Unit GVApp)
 
 Deklaration:
   cmIdle = 41;

 Funktion:

Diese Kommando wird immer dann ausgelst, wenn gerade kein Ereignis anliegt.
Damit knnen Objekte im Hintergrund aktualisiert werden, wenn gerade nichts
"zu tun" ist.

 siehe auch:

   TProgram.Idle

SaveGetMC - Variable (Unit GVApp)
 

 Deklaration:
   SaveGetMC: TGetMCProc;

 Funktion:
Diese Variable speichert einen Zeiger auf die Routine, die vor dem Start eines
GV - Programmes in der Variable GetMCursor der Unit MyMouse gespeichert war.
Sie dient zusammen mit DoGetMCursor der Bereitstellung GV -
eigener Mauszeiger. Weitere Informationen erhalten Sie aus der MyMouse Dokumentation.

 siehe auch:
   GetGVViewsCursor



                   gvapp, Page #   1   Date 22-7-1996 Monday
                                    -    2 -





   GetGVDialogCursor
   TProgram.InitEvents

CColor - Palette (Unit GVApp)
 

CColor speichert die Farbpalette der Applikation. In GV werden natrlich keine
Farbattribute wie in TV (Textmodus) gespeichert sondern die Farbeintrge haben
Werte von 0 - 15 (entsprechend den Farbkonstanten).
Auch entfallen Paletten fr monochrome Darstellung, da GV nur VGA untersttzt.

brigens knnen Paletten von einzelnen Views auch direkt (ohne zwischengeschaltete
Palette ihres GOwner) auf CColor verweisen. Existiert keine
Palette der Gruppe geschieht dies automatisch. Sollte eine Gruppenpalette
existieren, verweist eine Viewpalette dann direkt auf CColor wenn die Verweisnummer
grer ist, als die Lnge der Gruppenpalette; z.B.

       CDialogElement = #112#113#114
       CGruppe        = #34#23#56
(Das Objekt, zu dem CDialogElement gehrt ist Mitglied der Gruppe, zu dem
CGruppe gehrt. Da CGruppe keinen 112. bis 114. Eintrag hat, geht GV davon aus
da CDialogElement die "nchsthhere" Palette meint.)

siehe auch:
  TGView.GetColor

DoChMCursor - Prozedur (Unit GVApp)
 

 Deklaration:
   procedure DoChMCursor; far;

 Funktion:
Diese Routine wird von MyMouse aufgerufen, um automatische Anpassungen des
Mauszeigers an Bedienelemente durchzufhren. Weitere Informationen erhalten
Sie in der MyMouse Dokumentation.

 siehe auch:
   TProgram.InitEvents

DoGetMCursor - Prozedur (Unit GVApp)
 

 Deklaration:
   procedure DoGetMCursor (n: Integer); far;

 Funktion:
Diese Prozedur wird von MyMouse aufgerufen, wenn ein Mauszeiger gesetzt werden
soll. Sie ruft die Routinen auf die GV - eigene Mauszeiger bereitstellen.
Auerdem werden die MyMouse Standardmauszeiger untersttzt.

 siehe auch:
   SaveGetMC
   GetGVViewsCursor



                   gvapp, Page #   2   Date 22-7-1996 Monday
                                    -    3 -





   GetGVDialogCursor
   TProgram.InitEvents

TDesktop - Objekt (Unit GVApp)
 

TDesktop unterscheidet sich nur uerst geringfgig von seinem TV - Pendant.
Sie mssen lediglich beachten, da TileColumnsFirst in GV standardmig true
ist, d.h. Fenster werden vorrangig nebeneinander angeordnet, wenn Sie Tile
aufrufen.

 Felder:
   Background        (siehe Pascal-Dokumentation)
   TileColumnsFirst  (siehe Pascal-Dokumentation)

 Methoden:
   Init              (siehe Pascal-Dokumentation)
   Cascade           (siehe Pascal-Dokumentation)
   HandleEvent       (siehe Pascal-Dokumentation)
   Load              (siehe Pascal-Dokumentation)
   Store             (siehe Pascal-Dokumentation)
   InitBackground    (siehe Pascal-Dokumentation)
   Tile              (siehe Pascal-Dokumentation)
   TileError         (siehe Pascal-Dokumentation)

TProgram - Objekt (Unit GVApp)
 

TProgram bildet auch in GV das Fundament aller Programme. Einige der
Methoden sind in GV leicht modifiziert worden.

Methoden:
  DoneEvents
  DoneTexts
  ExecuteDialog
  GetEvent
  Idle
  InitEvents
  InitScreen
  InitFonts
  InitTexts
  LanguageResource
  Timer

  Init            (siehe Pascal-Dokumentation)
  Done            (siehe Pascal-Dokumentation)
  CanMoveFocus    (siehe Pascal-Dokumentation)
  GetPalette      (siehe Pascal-Dokumentation)
  HandleEvent     (siehe Pascal-Dokumentation)
  InitDesktop     (siehe Pascal-Dokumentation)
  InitMenuBar     (siehe Pascal-Dokumentation)
  InitStatusLine  (siehe Pascal-Dokumentation)
  InsertWindow    (siehe Pascal-Dokumentation)
  OutOfMemory     (siehe Pascal-Dokumentation)



                   gvapp, Page #   3   Date 22-7-1996 Monday
                                    -    4 -





  PutEvent        (siehe Pascal-Dokumentation)
  Run             (siehe Pascal-Dokumentation)
  ValidView       (siehe Pascal-Dokumentation)

TProgram.DoneEvents - Methode
 

 Deklaration:
   procedure DoneEvents; virtual;

 Funktion:
DoneEvents beendet die Ereignisverwaltung von GV. DoneEvents ruft GVDriver.DoneEvents
auf. Im Unterschied zu TV handelt es sich bei DoneEvents um eine Methode eines
Objektes. Dies ergibt sich aus der Notwendigkeit, vernderbare Mauszeiger
zu verwenden.

 siehe auch:
   InitEvents

TProgram.DoneFonts - Methode
 
 Deklaration:
procedure DoneFonts; virtual;

 Funktion:

Diese Methode beendet die Schriftartenverwaltung von Graphics Vision
durch einen Aufruf durch GVDriver.DoneFonts.

TProgram.DoneTexts - Methode
 

 Deklaration:
   procedure DoneTexts; virtual;

 Funktion:
DoneTexts ruft FreeTexts auf, um den Speicher den die Standardausgabetexte von
GV belegt haben wieder freizugeben.

 siehe auch:
   GVTexts
   TApplication

TProgram.ExecuteDialog - Methode
 

 Deklaration:
   function ExecuteDialog (P: PDialog; Data: Pointer): Word;

 Funktion:
Diese Funktion ist vollstndig mit TV kompatibel. Es gibt jedoch einen
Ausnahmefall, in dem sie nicht benutzt werden darf.

 siehe:
   ExecuteWindowList

TProgram.GetEvent - Methode



                   gvapp, Page #   4   Date 22-7-1996 Monday
                                    -    5 -





 

 Deklaration:
   procedure GetEvent(var Event: TEvent); virtual;

 Funktion:
TProgram.GetEvents berprft zunchst, ob ein von TProgram.PutEvent
generiertes Ereignis anliegt und gibt gegebenenfalls dieses Ereignis zurck.

Ist das nicht der Fall, wird GetMouseEvent und, wenn auch darber nur ein
Ereignis des Typs evNothing ermittelt wird, GetKeyEvent aufgerufen.
Liefert auch dieser Aufruf evNothing, wird GetTimerEvent aufgerufen,
um ein Zeitgeber-Ereignis abzufragen.

Liegt ein solches Ereignis an, ruft GetEvent die Methode Timer
auf, liefert aber selbst nur ein Ereignis des Typs evNothing zurck.

Ergab aber auch GetTimerEvent ein evNothing-Ereignis, ruft GetEvent die
Methode Idle auf. Dadurch kann ein Programm, das auf Eingaben des
Benutzers wartet, im Hintergrund andere Aufgaben erledigen.

Ist endlich ein der Weitergabe wrdiges Ereignis ermittelt, berprft
GetEvent, ob dies ein Ereignis des Typs evKeyDown oder evMouseDown ist.
Sollte das der Fall sein, wird das Ereignis zunchst der Statuszeile
bergeben.

TProgram.Idle - Methode
 
 Deklaration:
   procedure Idle; virtual;

 Funktion:

GetEvent ruft Idle immer dann auf, wenn kein Ereignis anliegt. Statt also
auf Eingaben des Benutzers zu warten, kann das Programm in dieser Zeit im
Hintergrund andere Aufgaben erledigen.

Die Methode TProgram.Idle ruft StatusLine^.Update auf, damit sich die
Darstellung der Statuszeile entsprechend dem aktuellen Status des Programms
ndern kann.

Hat sich seit dem letzten Aufruf von TProgram.Idle der Satz verfgbarer
Befehle gendert, wird das Rundrufereignis cmCommandSetChanged abgesetzt,
was anderen View-Objekten, die von nderungen des Befehlssatzes abhngig
sind, erlaubt, sich den genderten Verhltnissen entsprechend darzustellen.

Wenn Sie die Idle-Methode berschreiben, sorgen Sie dafr, da in der neuen
Methode die geerbte Idle-Methode aufgerufen wird, und achten Sie darauf, da
die Aufgaben, die die neue Methode zu erledigen hat, den Rechner nicht allzu
lange beschftigen, da sonst Ihr Programm etwas lahm auf Eingaben des
Benutzers reagiert.

Zustzlich zu diesen Eigenschaften stellt Idle in GV eine weitere ntzliche
Funktion bereit. Bei jedem Aufruf wird das Kommando cmIdle vom
Type evBroadcast ausgelst. Dies knnen Sie in HandleEvent-Methoden
auswerten.




                   gvapp, Page #   5   Date 22-7-1996 Monday
                                    -    6 -





TProgram.InitEvents - Methode
 

 Deklaration:
   procedure InitEvents; virtual;

 Funktion:
InitEvents initialisiert die Ereignisverwaltung von GV durch einen Aufruf von
GVDriver.InitEvents. Die Variable ChangeCursor (Unit MyMouse) wird auf
DoChMCursor gesetzt, um automatische Mauszeigeranpassungen an
Bedienelemente zu ermglich.
SaveGetMC wird auf MyMouse.GetMCursor gesetzt. Diese Variable
wiederum auf DoGetMCursor, um die GV - eigenen Mauszeiger
verfgbar zu machen.
Wegen dieser Zuweisungen ist es ntig, da InitEvents eine Methode von
TProgram wird.

 siehe auch:
   DoneEvents

TProgram.InitFonts - Methode
 
 Deklaration:
procedure InitFonts; virtual;

 Funktion:

Initialisiert die Systemschriftarten von Graphics Vision durch
einen Aufruf von GVDriver.InitFonts.
Wenn Sie die Systemschriftarten durch andere ersetzen mchten,
sollten Sie diese Methode berschreiben.

TProgram.InitScreen - Methode
 

 Deklaration:
   procedure InitScreen; virtual;

 Funktion:
Neben einer direkten Zuweisung eines Grafikmodus (grXXXXXXX) an StdGrMode bietet
InitScreen die zweite Mglichkeit, einen anderen als den vorgegebenen Grafikmodus
einzustellen. berschreiben Sie einfach diese Methode und lassen Sie sie
SetScreenMode aufrufen. Den Aufruf anderer Routinen zur Manipulation
des Grafikmodus sollten Sie in InitScreen vermeiden.

TProgram.InitTexts - Methode
 

 Deklaration:
   procedure InitTexts; virtual;

 Funktion:
InitTexts initialisiert die von GV zu verwendenden Standardtexte durch einen
Aufruf von LoadTexts. Dazu wird nach der Resourcendatei gesucht,
deren Namen LanguageResource zurckgibt. Dabei
wird im Verzeichnis des gestarteten GV - Programms sowie in allen in der DOS -
Umgebungsvariable PATH angegebenen Verzeichnissen gesucht.



                   gvapp, Page #   6   Date 22-7-1996 Monday
                                    -    7 -






TProgram.LanguageResource - Methode
 

 Deklaration:
   function TProgram.LanguageResource: string; virtual;

 Funktion:
LanguageResource gibt abhngig vom Wert der Variablen Language den
Namen einer Sprachenresource zurck. Standardmig werden in GV die deutsche
sowie die englische Sprache untersttzt. Wollen Sie zustzlich andere Sprachen
untersttzen, so mssen Sie LanguageResource berschreiben, neue Werte fr
Language festlegen (z.B. lfSpanish) und nicht zuletzt natrlich die entsprechende
Resource bereitstellen.

 siehe auch:
   InitTexts
   GVTexts
   lfXXXXXXX

TProgram.Timer - Methode
 
 Deklaration:
procedure Timer(var Event: TEvent); virtual;

 Funktion:

Diese Methode wird von TProgram.GetEvent aufgerufen,
wenn ein Timer-Ereignis aufgetreten ist. Diese Implementation beschrnkt
sich darauf, das Ereignis Event an HandleEvent weiterzureichen.
Zeitgeber-Ereignisse werden also immer in der ganzen Applikation
verteilt, unabhngig von modalen Objekten.

TApplication - Objekt (Unit GVApp)
 

TApplication ist zusammen mit seinem Vorfahren TProgram das Fundament
aller GV - Programme. Der Unterschied zu TV besteht lediglich in leichten
Vernderungen in Konstruktor und Destruktor des Objektes.

Es werden hier zustzlich die Routinen InitVGAMan bzw.
DoneVGAMan sowie InitTexts und
DoneTexts aufgerufen.

 Methoden:
   Init           (siehe Pascal-Dokumentation)
   Done           (siehe Pascal-Dokumentation)
   Cascade        (siehe Pascal-Dokumentation)
   DosShell       (siehe Pascal-Dokumentation)
   GetTileRect    (siehe Pascal-Dokumentation)
   HandleEvent    (siehe Pascal-Dokumentation)
   Tile           (siehe Pascal-Dokumentation)
   WriteShellMsg  (siehe Pascal-Dokumentation)







                   gvapp, Page #   7   Date 22-7-1996 Monday
