Lokale Funktionen

Top  Previous  Next

Befehle, die mit dem Digitalisiertablett oder Menüs abgesetzt werden erlauben es, neben der Menü- und Dialogsprache (%c%,...) einzelne Befehle einzubauen, die nicht erst beim Befehlsinterpreter von Moskito abgearbeitet werden. Diese Befehle, im weiteren ”lokale Funktionen” genannt, werden herausgefiltert und abgearbeitet, wenn die Befehlssequenz in die Warteschlange gestellt wird. Diese Befehle dienen dem vollständig asynchronen Bearbeiten von Befehlen. Es handelt sich nur um eine kleine Menge von Spezialbefehlen, etwa die Break-Funktion, die Prinzipbedingt nicht auf das synchrone Abarbeiten warten kann. Alle lokalen Funktionen müssen mit einem <ESC>-Zeichen beginnen, um als solche erkannt zu werden. Alle diese Befehle beginnen mit Window, um sie gesondert erkennbar zu halten:

 

<ESC>WindowWinHelp <file> <command> <data>

 

Befehl zum Zugriff auf die Hilfedatei, die unter <file> mit ihrem kompletten Pfad angegeben sein muß. Dazu gibt es eine Reihe unterschiedlicher Kommandos <command> und ggf. je nach Kommando Zusatzparameter <data>. Momentan werden folgende Kommandos unterstützt:

 

HELP_CONTENTS:

Es wird die jeweilige Inhaltsangabe geöffnet.

 

Beispiel ist das Öffnen der Hilfedatei im Standardmenü mit:

 

<ESC>WindowWinHelp ..\\help\\syshelp.hlp HELP_CONTENTS 0

 

HELP_FINDER:

Es wird der "Finder" zu der Hilfedatei geöffnet (Dialogbox mit den Laschen "Inhalt", "Index" und "Suchen"). Lasche "Inhalt" ist liegt dabei vorne.

 

HELP_KEY <DATA>:

Es wird der "Finder" zu der Hilfedatei geöffnet. Zusätzlich wird die Lasche "Index" aktiviert und im Dialogfeld wird diejenige Überschrift markiert, die im Zusatzparameter <data> angegeben wurde.

 

Beispiel:

<ESC>WindowWinHelp ..\help\Admin.hlp HELP_KEY "Prozeduren herstellen"

 

image5_141

 

HELP_HELPONHELP:

Es wird die vom Betriebssystem vorgesehene Hilfe zur Benutzung der Hilfe im Finder angezeigt.

HELP_CONTEXT <DATA>:

Es wird direkt das der unter <DATA> angegebenen Indexnummer entsprechende Hilfethema geöffnet. (wenn man also die Indexnummer kennt, ist es gut, wenn nicht, dann nicht).  

 

Beispiel:

<ESC>WindowWinHelp ..\help\Admin.hlp HELP_CONTEXT 23

 

image5_142

 

HELP_CONTEXTPOPUP <DATA>:

Es erscheint lediglich ein kleines Popup-Feld mit der Überschrift der unter <DATA> angegebenen Indexnummer.

 

Beispiel:

image5_143

 

<ESC>WindowWinHelp ..\help\Admin.hlp HELP_CONTEXTPOPUP 23

 

HELP_PARTIALKEY <DATA>:

Es öffnet sich der Finder und unter der Lasche "Index" wird diejenige Überschrift markiert, die zu dem unter <DATA> angegebnen Textfragment am ehesten passt.

 

Beispiel:

image5_144

 

<ESC>WindowWinHelp ..\help\Admin.hlp HELP_PARTIALKEY Pfad

 

HELP_QUIT:

Eventuell noch offene Dialogfenster der Hilfe werden geschlossen.

 

<ESC>WindowStopOutput

 

Hält die Ausgabe im Inputfenster an.

 

Programmintern wird ein Flag gesetzt, mit dem bei der nächsten Ausgabe, die angefordert wird, eine Dialogbox über den Stop informiert. Erst wenn diese mit OK bestätigt worden ist wird die Ausgabe abgearbeitet und der Ablauf normal fortgesetzt. Die Dialogbox ist an das Graphikfenster gekoppelt, so daß im Kommandofenster beliebig gearbeitet werden kann.

 

<ESC>WindowScreenToClipboard

 

Der Inhalt des Grphikfensters wird als Bitmap in die Zwischenablage kopiert.

 

Die Größe der Bitmap ist die Größe des aufgezogenen Fensters. Es wird das Hauptfenster abgebildet. Durch das Darstellungsprinzip kann es vorkommen, daß um den Fensterausschnitt ein Bereich ungefüllt mit übertragen wird.

 

<ESC>WindowDataStart

Im Menü der Start von eingelagerten Daten.

 

<ESC>WindowToggleMenue id

 

Schaltet den Dialog <id> von sichtbar auf unsichtbar oder andersrum

 

<ESC>WindowHideMenue id

 

Schaltet den Dialog <id> von sichtbar auf unsichtbar

 

<ESC>WindowCloseMenue id

 

Entfernt den Dialog <id>

 

<ESC>WindowBrowseFile

 

<ESC>WindowBrowseFile <Startfilename> <Startdir> <Title> <Def.Ext> <Dest.field> (<Filter1> <Ext.1>) (<Filter2> <Ext.2>)

<ESC>WindowBrowseFile <Startfilename> <Startdir> <Title> <Def.Ext> <Dest.field> (<Filter1> <Ext.1>) (<Filter2> <Ext.2>) <flags>

 

Startet eine Filedialogbox und liefert die Datei als Ergebnis.

 flags:        Eine Liste mit Namen, die das Verhalten der Box beeinflussen. Die Namen dürfen keine Leerzeichen beeinhalten, die einzelnen Flags werden durch ; oder : getrennt.

         OFN_OVERWRITEPROMPT:        Wenn eine bereits existierende Datei usgewählt wird erscheint eine Nachfrage, ob diese überschrieben werden soll.

         OFN_SAVEBOX:                Statt der "Öffnen-Box" erscheint die "Sichern-Box"

         OFN_FILEMUSTEXIST:                Es kann nur eine existierende Datei ausgewählt werden.

         OFN_CREATEPROMPT:        Beim Eintragen eines Dateinamen, der nicht existiert, erscheint eine Nachfrage.

         OFN_ALLOWMULTISELECT:        Es können auch mehrere Dateien ausgewählt werden.

 

<ESC>WindowBrowseFolder

 

<ESC>WindowBrowseFolder <Dest.field> <StartDir>

 

Startet eine Dialogbox und liefert als Ergebnis ein Directory. Wenn Dest.field 0 ist wird das Ergebnis als Eingabe geliefert. Sonst wird das Ergebnis in das Dialogfeld mit dieser ID geschrieben.

 

<ESC>WindowBrowseFont

 

<ESC>WindowBrowseFont <Dest.field> <StartFont> {{<fontSize>} <charset>}

 

Startet eine Dialogbox und liefert als Ergebnis einen Font. Wenn Dest.field 0 ist wird das Ergebnis als Eingabe geliefert. Sonst wird das Ergebnis in das Dialogfeld mit dieser ID geschrieben. fontSize ist eine Feldnummer, in der die Ausgewählte Fontgröße abgelegt werden kann. Mit charset kann ein Feld für den Zeichensatz ausgewählt werden. Dabei steht 1 für „westliche Sprachen“, 163 für Vietnamesisch.

 

<ESC>WindowSoftBreak

 

Liefert eine Unterbrechung ( ^C). Dies geschieht asynchron, also sofort.

 

<ESC>WindowHardBreak

 

Liefert eine Unterbrechung. Dies geschieht asynchron, also sofort. Die Unterbrechung wird von Userfunktionen als wichtige Unterbrechung gewertet.

 

<ESC>WindowExtreemBreak

 

Moskito wird beendet. Es wird versucht, das Workfile vor dem Beenden zu sichern.

 

<ESC>WindowSendChar num

 

Das Zeichen mit der Ordinalzahl num wird ausgegeben.

 

<ESC>WindowCharToInput num

 

Das Zeichen mit der Ordinalzahl num wird in der Eingabezeile zugefügt.

 

<ESC>WindowSetFocus dialogID {feldID}

 

Der Eingabefokus wird dem entsprechenden Fenster zugeordnet. Mit dialogID==-1 wird als aktives Fenster das Protokollfenster gewählt, mit -2 das Grafikfenster. Wird feldID angegeben, so wird in diesem Dialog das Element mit der angegebenen feldID aktiviert.

 

<ESC>WindowSetDialogPos num x y w h

 

Die Größe und Position des angegebenen Fensters wird gesetzt.

 

         (x,y)   Fensterposition

         (w,h)  Fensterbreite und Fensterhöhe

 

Wenn x kleiner als 0 ist wird nur die Größe, bei w<0 nur die Breite gesetzt.  Die Werte werden in logischen Einheiten angegeben, die Schriftgröße wird eingerechnet. Bei großen Fonts sind die hier angegebenen Werte in X-Richtung 10 Pixel je Dialogeinheit, in Y-Richtung 20 Pixel je Dialogeinheit, bei kleinen Fonts 8 und 16. Nullpunkt ist oben links.

 

<ESC>WindowSetPos num x y w h

 

Die Größe und Position des angegebenen Fensters wird gesetzt.

 

         (x,y)   Fensterposition

         (w,h)  Fensterbreite und Fensterhöhe

Wenn x kleiner als 0 ist wird nur die Größe, bei w<0 nur die Breite gesetzt.  Die Werte werden in Pixel angegeben. Nullpunkt ist oben links.

 

<ESC>WindowBrowseColor dest color

 

Es wird ein Farbauswahldialog angezeigt. Der Dialog beginnt mit der Farbe color, wobei dies eine Hexzahl sein muß. Wird dest mit 0 angegeben, so wird das Ergebnis als Hexzahl ausgegeben, sonst stellt dest die Nummer des Dialogfeldes dar, in das die Zahl eingetragen werden soll.

 

<ESC> WindowSeparatLines

 

Wie bei WindowDataStart werden Zeilen als Separate Nachrichten ausgegeben. Dies gilt nun bis zum Ende dieser Funktion

 

<ESC> WindowSetMenuEntry <win-id> <menu-art> "<menu-string>" "<new-text>" <feldID> <spalte>

 

Setzt auf Ebene des Bildschirmprozesses den Inhalt von Dialogfeldern.

 

<ESC> WindowExecCommand "<menu-string>"

 

Befehl ausführen.

 

Dieser Befehl wird vollständig asynchron ausgeführt. Er darf keine Funktionen enthalten, die gerade laufenden Synchronen Befehlen die Grundlage entziehen, etwa das Löschen eines Objekts.

 

<menu-string> darf Zeilenvorschübe enthalten.