summaryrefslogtreecommitdiff
path: root/doc/menugenerator/menu-generator handbuch.3
diff options
context:
space:
mode:
Diffstat (limited to 'doc/menugenerator/menu-generator handbuch.3')
-rw-r--r--doc/menugenerator/menu-generator handbuch.3155
1 files changed, 155 insertions, 0 deletions
diff --git a/doc/menugenerator/menu-generator handbuch.3 b/doc/menugenerator/menu-generator handbuch.3
new file mode 100644
index 0000000..e982988
--- /dev/null
+++ b/doc/menugenerator/menu-generator handbuch.3
@@ -0,0 +1,155 @@
+#block##pageblock#
+#pagenr("%",1)##setcount(1)##count per page#
+#headeven#
+gs-Menu-Generator
+#center#____________________________________________________________
+
+#end#
+#headodd#
+#right#gs-Menu-Generator
+#center#____________________________________________________________
+
+#end#
+#bottomeven#
+#center#____________________________________________________________
+3 - % #right#ERGOS
+#end#
+#bottomodd#
+#center#____________________________________________________________
+ERGOS #right# 3 - %
+#end#
+#ib#3 Die Arbeitsweise von gs-DIALOG#ie#
+
+
+In diesem Kapitel soll die grundsätzliche Arbeitsweise von gs-DIALOG erläutert
+werden. Sie erfahren, wie das Menusystem aufgebaut ist, wie man Menukarten an­
+koppelt und Menus zur Ausführung bringt. Ebenso wird erläutert, wie eine Menukarte
+aufgebaut ist.
+Wenn Sie die hier beschriebenen Vorgänge auf ihrem System nachvollziehen wollen,
+so muß in Ihrer Task das Programm 'gs-DIALOG' zur Verfügung stehen!
+
+
+#ib#3.1 Ankoppeln einer Menukarte - Ausführen eines Menus#ie#
+
+Vereinfacht gesagt ist eine Menukarte ein Datenraum, in dem alle Informationen, die
+zum Menu (zu den Menus) gehören, abgelegt sind. Der genaue Aufbau einer solchen
+Menukarte wird in Kapitel 3.2 beschrieben.
+Alle Menukarten, die auf einem System zur Verfügung stehen, werden in einer zentra­
+len Task ('gs-MENUKARTEN') bereitgehalten. Die Menukarten können von hier
+angefordert werden.
+Lassen Sie sich in Ihrem System eine Übersicht der vorhandenen Menukarten geben
+(list (/"gs-MENUKARTEN") <RETURN> ). Darauf wird Ihnen gegebenenfalls folgen­
+de Übersicht angeboten:
+
+ 01.09.87 "gs-MENUKARTE:Archiv"
+ 01.09.87 "gs-MENUKARTE:Herbert und Robbi"
+ 01.09.87 "gs-MENUKARTE:MP-BAP"
+ ...
+
+Zumindest die erste Menukarte müßte - sofern die gs-DIALOG-Basissoftware instal­
+liert ist - auf Ihrem System vorhanden sein. Die beiden anderen Menukarten sind
+natürlich nur dann vorhanden, wenn Sie die Programme 'gs-Herbert und Robbi'
+und 'gs-MP BAP' installiert haben.
+
+In einer weiteren Task (z.B. 'DIALOG') sind die Programme installiert, die es ermög­
+lichen, diese Menukarten zu handhaben. Alle Sohntasks dieser Task "erben" natür­
+lich diese Fähigkeiten. Von einer solchen Task aus kann nun eine Menukarte ange­
+fordert und ein darin enthaltenes Menu zur Ausführung gebracht werden. Das haben
+Sie sicher schon oft gemacht, z.B. wenn Sie den Befehl 'archiv' gegeben haben. Was
+hinter diesem Befehl steckt, sollen Sie sich jetzt klar machen:
+
+Wenn Sie den Befehl 'archiv' geben, wird zunächst die Menukarte
+'gs-MENUKARTE:Archiv' aus der Task 'gs-MENUKARTEN' angefordert und in Ihre
+Task kopiert. Davon merken Sie normalerweise nichts, denn nachdem die Ankopp­
+lung des Datenraumes (als unbenannter Datenraum) erfolgt ist, wird die Daten­
+raumkopie gelöscht; daher taucht der Name auch nie in Ihrer Dateiliste auf. Intern
+vermerkt das System, welche Menukarte aktuell angekoppelt ist. Soll wiederholt
+dieselbe Menukarte angekoppelt werden, so erübrigt sich das Kopieren aus der zen­
+tralen Bereitstellungstask.
+
+Nach dem Ankoppeln der Menukarte können Sie auf die in der Menukarte enthalte­
+nen Informationen zugreifen. Da in einer Menukarte mehrere Menus enthalten sein
+können, müssen Sie dem System noch mitteilen, welches Menu aktiviert werden soll.
+In der Menukarte 'gs-MENUKARTE:Archiv' ist nur ein Menu enthalten, das den
+Namen 'ARCHIV' hat (der Name des Menus erscheint übrigens bei der Präsentation
+immer oben links in der Kopfzeile).
+
+Sie sollen jetzt, ohne den Befehl 'archiv' zu verwenden, das Menu zur Ausführung
+bringen. Geben Sie dazu die folgenden Kommandos in der 'gib kommando:'- Ebene:
+
+ #ib#install menu#ie# ("gs-MENUKARTE:Archiv");
+ #ib#handle menu#ie# ("ARCHIV")
+
+Mit dem ersten Befehl koppeln Sie die genannte Menukarte an, mit dem zweiten
+Befehl bringen Sie das darin enthaltene Menu 'ARCHIV' zur Ausführung.
+Allerdings stellen Sie sicher auch einen Unterschied zur Ausführung des Befehls
+'archiv' fest, denn dort erscheint nicht erst unser "Software - Emblem" auf dem
+Bildschirm, sondern direkt das Menu.
+
+Wenn Ihnen eines der Programme 'gs-Herbert und Robbi' oder 'gs-MP BAP'
+bekannt ist, haben Sie unser Emblem aber sicher schon gesehen - wir verwenden es
+immer, um unsere Softwareprodukte kenntlich zu machen. Da man aber das Archiv­
+programm sehr häufig benötigt und es dann nur störend wirkt kann die Ausgabe
+unterdrückt werden. Daher gibt es den Befehl 'install menu' in zwei Versionen.
+Versuchen Sie es gleich einmal:
+
+ install menu ("gs-MENUKARTE:Archiv", FALSE);
+ handle menu ("ARCHIV")
+
+Die Präsentation des Menus erfolgt gleich aus zwei Gründen schneller als beim ersten
+Mal: einerseits wurde auf die Ausgabe unseres Software - Emblems verzichtet, ande­
+rerseits brauchte die Menukarte nicht erneut aus der Task 'gs-MENUKARTEN' kopiert
+zu werden, da sie ja schon angekoppelt war.
+Damit sind Sie nun in der Lage, Menukarten anzukoppeln und Menus zur Ausfüh­
+rung zu bringen.
+
+
+#ib#3.2 Aufbau/Inhalt einer Menukarte#ie#
+
+Eine Menukarte ist eine komplexe Datenstruktur, die bis zu 6 vollständige Menus
+aufnehmen kann. Weiterhin sind eine Reihe von Texten in jeder Menukarte abgelegt,
+auf die gs-DIALOG zurückgreift. Darüberhinaus kann der Anwendungsprogram­
+mierer bis zu 2000 Texte in die Menukarte auslagern, um so beim Insertieren seiner
+Programme den Umfang an Paketdaten geringer zu halten.
+Auf den ersten Blick scheint es wenig Sinn zu machen, mehrere Menus in einer
+Menukarte zu verwalten. Nehmen wir aber als Beispiel das Programmsystem
+gs-Herbert und Robbi. Hier ist ein Programm in zwei unterschiedlichen Ausprä­
+gungen zu behandeln. Sowohl das Hamster- als auch das Robotermenu befinden sich
+in einer Menukarte. Bei einem Wechsel zwischen den Modellen braucht also keine
+neue Menukarte angefordert, sondern nur ein neues Menu aus der aktuellen Menu­
+karte aktiviert zu werden.
+Zum anderen ist gs-DIALOG schon auf umfangreichere Programmsysteme vorberei­
+tet: Es ist nämlich möglich, von einem Menu aus ein weiteres Menu aus der aktuellen
+Menukarte zu aktivieren. Auf dem Bildschirm werden die beiden Menus dann ge­
+schachtelt (das zuletzt aktivierte vor dem aufrufenden Menu) angezeigt. Nach Verlas­
+sen der zweiten Menuebene gelangt der Benutzer automatisch in das Ausgangsmenu
+zurück.
+Zwar ist es nicht möglich, mehr als zwei Menus gleichzeitig zu aktivieren (geschach­
+telt auf dem Bildschirm darzustellen), doch können an verschiedenen Stellen des
+Ausgangsmenus ja unterschiedliche Menus aus der aktuellen Menukarte aktiviert
+werden.
+
+Jedes Menu in der Menukarte wird durch einen Namen gekennzeichnet. Dieser Name
+erscheint in der Kopfzeile oben links. Über diesen Namen kann das Menu aktiviert
+werden.
+Ein Menu besteht aus den sogenannten 'Oberbegriffen', die in der Kopfzeile angezeigt
+werden. In einer Kopfzeile können bis zu 10 Oberbegriffe verwaltet werden. Da zu
+jedem Oberbegriff bis zu 15 Verarbeitungsfunktionen (in den Pull-Down-Menus)
+verwaltet werden können, ist es möglich, in einem Menu bis zu 150 Verarbeitungs­
+funktionen abzulegen. Nutzt man alle 6 Menus einer Menukarte, so können maximal
+bis zu 900 Verarbeitungsfunktionen in einer Menukarte verwaltet werden.
+
+Eine Verarbeitungsfunktion besteht aus der/dem
+
+ - 'Ein-Zeichen-Kennung' - die angibt, durch welche Taste die Verarbei­
+ tungsfunktion ggf. aktiviert werden kann;
+ - 'Menupunktbezeichnung' - die im Pull-Down-Menu als Name für die
+ Verarbeitungsfunktion erscheint;
+ - 'Funktionsaufruf' - dem Namen der Prozedur, die bei der Aktivie­
+ rung des Menupunktes zur Ausführung ge­
+ bracht wird;
+ - 'Informationstext' - der zur aktuellen Verarbeitungsfunktion durch
+ Tippen der <?>-Taste abgerufen werden
+ kann.
+
+