@DATABASE "M&M.guide"
@INDEX myIndex
@REMARK $VER: 1.05, 10.05.94

@NODE Main "Menus & More Hilfe"

                     Menus & More Version 3.01

              (C) 1992-94 by @{"Axel Sodtalbers" link Axel}, Göttingen

    im Vertrieb von RHEIN-MAIN-SOFT   Postfach 2167   D-61411 Oberursel



                            @{" - Hilfestellung - " link AboutHelp}


@{" Copyright              " link Copyright}
@{" Installation           " link Installation}

@{" über Menus & More      " link AboutMM}

@{" Der M&M Editor         " link MMEditor}	@{" Der Bildschirm von MMEditor " link Screen}
				@{" Die Fenster von MMEditor    " link Windows}
				@{" Die Menüs von MMEditor      " link AllMenus}
@{" Der M&M Player         " link MMPlayer}

@{" Hilfsprogramm MMReq    " link MMReq}

@{" Die Beispiele          " link Examples}
@{" Bekannte Fehler        " link Errors}
@{" M&M in der Zukunft     " link Future}

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE Copyright "Copyright"

COPYRIGHT 1994 BY AXEL SODTALBERS, GÖTTINGEN.

ALLE RECHTE AN ALLEN MIT DEM MENUS & MORE ZUSAMMENHÄNGENDEN DATEIEN
BEI AXEL SODTALBERS, GÖTTINGEN.

SÄMTLICHE VERLETZUNGEN DER RECHTE AN ALLEN ZU MENUS & MORE GEHÖRENDEN
DATEIEN WERDEN SOWOHL ZIVIL- ALS AUCH STRAFRECHTLICH VERFOLGT.


Menus & More wird vertrieben von: RHEIN-MAIN-SOFT
				  Postfach 21 67
				  D-61411 Oberursel
				  Telefon: 06171 - 268301
				      Fax: 06171 - 23491
				  Mailbox: 06171 - 21850 (24h 8N1)


Die mit dem Programm "MMEditor" erstellten Dateien sind frei kopierbar.

Das Programm "MMPlayer" ist Public Domain und darf somit ebenfalls frei
kopiert werden.

Das Programm "MMReq" ist Public Domain und darf ebenfalls frei kopiert
werden.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE AboutHelp "Über dieses Hilfesystem       [V1.05, 10.05.94]"

Dies ist das Commodore Hilfssystem "AmigaGuide" (R)
Wenn Sie mehr Informationen über die Bedienung des AmigaGuides haben
wollen, klicken Sie oben "Help" an oder drücken die H-Taste.

Vom Menus&More Editor aus können Sie den AmigaGuide auf zwei Arten aufrufen:

1. Durch Drücken der HELP Taste.
2. Durch Anwahl eines Menüs und Drücken der HELP Taste. Sie erhalten
   dann gezielt Informationen über den gewählten Menüpunkt.

Außerdem verfügt AmigaGuide über einen @{" Index " link myIndex}

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE Installation "M&M Installation"

Am einfachsten neben Sie die Installation mit Hilfe des Programms

               Zuerst!.M&M

vor. Es befindet sich im gleichen Ordner wie auch die übrigen M&M
Programme und stellt seinerseits ein M&M Projekt dar.
Gestartet wird es durch einfaches Anklicken.
Anschließend Menü-Punkt "Installation" anklicken oder F2 drücken.

Zu beachten ist folgendes:

Das Programm "MMEditor" (der Menus & More Editor) greift auf
folgende Dateien zurück:

    - "M&M.config"	enthält die Konfiguration)
    - "M&M.icon"	ein Projekt-Icon, das einem neu erstellten
    			M&M-Projekt zugewiesen wird. Kann nach Wunsch
    			verändert werden.
    - "M&M.guide"	Die AmigaGuide-Datei - also der Text, den Sie
    			jetzt gerade lesen...

=> All diese Programme sollten sich im gleichen Verzeichnis wie die
   anderen Programme befinden !


Sämtliche Beispiel-Projekte greifen auf das Verzeichnis

     "MM:Beispiele"

zurück. Es sollte also in der Datei S:User-Startup entsprechend gesetzt
werden, z.B. durch folgende Zeile

     Assign MM: DH0:Tools/M&M


Folgende Libraries werden benötigt:

  asl.library		Version 36+
  AmigaGuide.library	Version 34+
  diskfont.library	Version 33+
  rexxsyslib.library	Version 36+

Diese müssen sich im LIBS: Verzeichnis befinden.

Weiterhin benutzt das Programm Zuerst!.M&M (und einige Beispiele)
das Programm "Ed" von der Commodore Workbench Disk 2.x. Dieses
sollte sich im "C:" Verzeichnis befinden.

Beachten Sie die den Hinweis während der mit "Zuerst!" durchgeführten
Installation!

@{"Komplettübersicht über sämtliche Dateien" link FileList"

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE FileList "Übersicht über die M&M-Dateien"

Folgende Dateien sollten sich auf der M&M Disk befinden:


MMEditor		Der Menus & More Editor

MMPlayer		Das Menus & More Abspiel-Programm

MMReq			Ein Hilfsprogramm für Skripte

M&M.config		Die Konfigurations-Datei für MMEditor

M&M.icon		Das Icon für die Menus & More Projekte

M&M.guide		Die AmigaGuide Datei (dieser Text)

Zuerst!.M&M		Einführungs-Programm (ein M&M Projekt)

LiesMich		Kurzer Hinweis-Text

Beispiele (Schublade)	M&M Beispiel-Projekte

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE AboutMM "Über Menus & More"

Was fange ich mit Menus & More an ?

Mit Menus & More (kurz M&M) können Sie graphisch orientierte
Bildschirm-Menüs erstellen. Damit sind solche Programme gemeint, mit
denen Sie viele, u.U. quer auf Ihrer Festplatte verteilte Programme,
zentral von einem Programm aus aufrufen können.
Doch M&M kann noch mehr - sonst würde es ja nicht Menus & MORE heißen !


Wie sind diese Menüs aufgebaut ?

Grundlage eines M&M Menüs sind die sog. Screens (engl. für Bildschirm).
Sie sind nichts anderes als gewöhnliche IFF Bilder, wie man sie z.B.
mit Malprogrammen wie Deluxe Paint erstellen kann.
Sie enthalten das Menü quasi als Bild: Jeder später zu verwendende
Auswahlpunkt des Menüs wird als Schalter gemalt. Dann muß man M&M
nur noch mitteilen, wo diese Schalter liegen und was passieren soll,
wenn der Benutzer sie anklickt.

Aufbauend auf einem Screen können für die Menüs folgende weiteren
Elemente verwenden werden:

Buttons : Diese stellen die oben schon erwähnten Schalter dar.
	  Nach Anwahl wird ein vom Ersteller des Menüs angegebener
	  Befehl ausgeführt.

  Menüs : Damit sind die von Amiga Betriebssystem bekannten
  	  Pulldown-Menüs gemeint. Auch sie können in ein M&M Menü
  	  eingebaut werden. Ebenso wie bei den Buttons wird auch
  	  nach Anwahl eines Klappmenüs ein Befehl ausgeführt.

  	  (Um die Begriffsverwirrung nicht ins Unermeßliche steigen
  	  zu lassen, werden diese Menüs in Zukunft mit dem
  	  - zugegebenermaßen recht albernen Begriff - "Klappmenüs"
  	  bezeichnet! Innerhalb der M&M Programme werden sie jedoch
  	  weiterhin einfach Menüs genannt)

Anzeigen: Sie spielen eine gewisse Sonderrolle insofern, daß damit
	  keine Befehle ausgeführt werden, sondern lediglich auf
	  dem Screen Status-Anzeigen gebracht werden können.
	  Dargestellt werden können die Uhrzeit, das Datum oder der
	  freie Speicher.



	Kurze Übersicht:         S c r e e n s
                                /      |      \
                           Buttons   Menüs  Anzeigen
                              |        |
                           Befehl    Befehl


Wie erstelle ich diese Menüs ?

Sie erstellen die M&M Menüs mit dem Programm "MMEditor".
Diese Menüs werden als "Menü-Projekt" auf Diskette oder Festplatte
gespeichert. Diese Datei enthält alle zur Ausführung des Menüs
benötigten Daten, etwa welche Screens benutzt wurden, welche
Befehle wann ausgeführt werden, usw.


Wie lasse ich sie ablaufen ?

Ausgeführt werden die Menü-Projekte mit dem Programm "MMPlayer".
Er lädt das das Menü ein und läßt es "abspielen", d.h. lädt die
verwendeten Screens ein, installiert die Buttons und Klappmenüs
und zeigt die Status-Anzeigen an.

Hier nochmal eine kurze Übersicht über das Geschehen:


			 ------------
      IFF-Bilder ------> | MMEditor | -----> erstellt ----
      (=Screens)         ------------                    ||
	  |    						 ||
	  |    						 \/
	  |    					  ----------------
	  |    					  | Menü-Projekt |
	  |    					  ----------------
	  |    					          |
	  |    					          |
	  |    		 ------------		          |
	  -------------> | MMPlayer | <--------------------
	      		 ------------
                              ||
                          spielt ab
                              ||
                              ||
                              \/
                           Benutzer


Bei der Erstellung eines Menü-Projektes wird jedes dieser vier Elemente
(Screen, Button, Menü, Anzeige) durch ein Fenster auf dem Bildschirm
repräsentiert. Vgl. auch @{"die Fenster von M&M" link Windows}.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE MMEditor "Der Menus & More Editor"

Mit dem Programm "MMEditor" können Sie Menü-Projekte erstellen.

Start von der Workbench aus

  1. Durch Anklicken des Piktogramms von "MMEditor"
  2. Anklicken eines Menü-Projektes, Shift-Taste drücken und dann
     das Piktogramm von "MMEditor" anklicken. Das angegebene Projekt
     wird dann nach Programmstart automatisch geladen.

Start vom CLI aus mit der Eingabe "MMEditor" (vorher muß jedoch mit
  1> Stack 8192
die Stack-Größe auf 8192 Bytes gestellt werden.

Folgendes Merkmal kann im Icon von MMEditor angegeben werden:

  WINDOW=AusgabeFenster

    wobei "AusgabeFenster" eine gültige AmigaDos Fenster-Beschreibung sein muß.
    Bsp.: WINDOW=CON:10/10/200/50/Moin!
    Auf dieses Fenster werden beim Testlauf die Ausgaben des @{"Start-Kommandos" link StartComm}
    des Screens gelenkt. Wurde dieses Merkmal nicht angegeben, so wird als
    Standard "CON:0/0/400/200/M&M/AUTO/CLOSE/WAIT" genommen.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE MMPlayer "Der Menus & More Player"

Mit dem Programm "MMPlayer" können Sie Menüs, die Sie mit dem Menus & More
Editor erstellt haben, ablaufen lassen.

Dazu öffnet MMPlayer einen @{"Public-Screen" link PlayerScr} und einen @{"ARexx-Port" link PlayerRexx}.

Beide haben den Namen MMPlayer (wenn MMPlayer mehrmals gestartet wird,
MMPlayer_1, MMPlayer_2 usw).

Start von "MMPlayer" von der Workbench aus:

  1. Nach Anklicken des Piktogramms von "MMPlayer" erscheint in
     Datei-Requester, mit dem Sie ein M&M Projekt auswählen können.
  2. Anklicken eines Menü-Projektes, Shift-Taste drücken und dann
     das Piktogramm von "MMPlayer" anklicken.
  3. Durch die Angabe von "MMPlayer" als Standardprogramm (default tool)
     in der Information des Projektes.

Start vom CLI aus mit: "MMPlayer Projektname"

Folgendes Merkmal kann im Icon von MMPlayer angegeben werden:

  WINDOW=AusgabeFenster

    wobei "AusgabeFenster" eine gültige AmigaDos Fenster-Beschreibung sein muß.
    Bsp.: WINDOW=CON:10/10/200/50/Moin!
    Auf dieses Fenster werden beim Ablauf die Ausgaben des @{"Start-Kommandos" link StartComm}
    des Screens gelenkt. Wurde dieses Merkmal nicht angegeben, so wird als
    Standard "CON:0/50/640/150" genommen.

Wenn Sie den Ablauf eines Menüs abbrechen wollen und der Ersteller keine
entsprechende Option ("Menü beenden") in das Menü aufgenommen hat, können
Sie den Abbruch auf jeden Fall durch folgende Tastenkombination vornehmen:

  1. Ctrl- Taste drücken ud gedrückt halten
  2. Escape-Taste drücken.

Es wird dann gefragt, ob Sie das Menü abbrechen wollen.

Befinden sich bei Beendigung des Menüs noch Fenster auf dem Bildschirm
des M&M Players, erscheint ein Requester, der auf diesen Umstand hinweist.
Das Fenster muß dann vom Benutzer erst beseitigt werden.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE PlayerRexx "Der ARexx-Port des M&M Players"

Beim Start öffnet der Player automatisch einen eigenen ARexx-Port
mit dem Namen "MMPlayer".

Allerdings beherrscht dieser Port zur Zeit nur einen einzigen Befehl,
nämlich

  QUIT		Beendet das gerade ablaufende Menü.

In der nächsten Version werden jedoch mehr Befehle implementiert
sein (etwa solche zur Darstellung von Requestern).

Wenn bereits ein Menü läuft und dann ein zweites Menü mit dem Player
gestartet wird, so enthält der ARexx-Port dieses "zweiten" Players
die Bezeichnung "MMeditor_1", ein eventueller dritter Player "MMEditor_2"
usw.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE PlayerScr "Der Bildschirm des M&M Players"

Der Bildschirm, den das Programm "MMPlayer" öffnet um darauf die IFF
Menü-Bilder darzustellen, ist ein sog. Public-Screen. Das bedeutet,
daß Sie auch von dritten Anwendungen - etwa AmigaDos - aus Zugriff
auf diesen Screen haben.

Der Name des Public-Screens lautet "MMPlayer" (muß noch ein Screen
geöffnet werden weil ein zweites Menü gestartet wurde, "MMPlayer_1",
bei einem dritten Screen "MMPlayer_2" usw.)

Sie können z.B. durch folgende AmigaDos Anweisung auf dem Bildschirm
des Players eine Shell öffnen:

  NewShell CON:0/0/400/100/MeineShell/SCREENMMPlayer

Bitte schlagen Sie die entsprechenden Hinweise zu den Public Screens
in Ihrem AmigaDos Handbuch nach!


@REMARK ----------------------------------------------------------------

@NODE Screen "Der Bildschirm des M&M Editors"

Der Bildschirm des M&M-Editors stellt ein "Klon" Ihres Workbench-
Bildschirms dar. Modus, Auflösung und Farben sind also identisch.

Ausnahmen:

  * Es wird STETS der Zeichensatz topaz in der Größe 8 benutzt.

  * Die Tiefe des Bildschirms (also die Anzahl der Planes)
    ist STETS 2.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE Windows "Die Fenster des M&M Editors"

Der Bildschirm des M&M-Fensters ist in verschiedene Fenster aufgeteilt:

  @{" das 'Screens'- Fenster   " link ScrWin}

  @{" das 'Buttons' - Fenster  " link ButWin}
  @{" das 'Menüs' - Fenster    " link MenWin}
  @{" das 'Anzeigen' - Fenster " link DisWin}


Das Screens-Fenster ist beim Start des Editors auf jeden Fall geöffnet.
Die übrigen drei öffnen sich erst, wenn entweder

  1. Durch Anwahl von "Neu" (bzw. "Einfügen") ein Screen geladen wird oder
  2. Ein Projekt @{"geöffnet" link Open} wurde.

Schließlich kann man ja auch z.B. einen Button erst dann erstellen, wenn
ein Screen geladen wurde.

Diese Fenster haben stets die Breite des @{"Editor-Bildschirms" link Screen}.
Jedoch können sie in ihrer vertikalen Position beliebig verschoben werden.
Diese Y-Positionen werden auch in der @{"Konfigurations-Datei" link SaveConfig} gespeichert.

Die Standard-Einstellung der Fenster-Positionen ist so angelegt, daß sich
die Fenster der "Buttons", "Menüs" und "Anzeigen" überlappen. So hat man
immer im Blick, welchen Screen man gerade bearbeitet.

Durch Betätigen der Funktionstasten können die jeweiligen Fenster in den
Vordergrund gebracht werden:

* [F1] für das "Screens"-Fenster
* [F2] für das "Buttons"-Fenster
* [F3] für das "Menüs"-Fenster
* [F4] für das "Anzeigen"-Fenster

Darüberhinaus kann das "Buttons"-, "Menüs"- oder "Anzeigen"-Fenster
beliebig ein- oder ausgeschaltet werden: Das geschieht entweder durch
Anklicken des CLOSE-Gadgets oder durch die Anwahl des Menüpunktes
@{"Fenster ein- oder ausschalten" link SwitchWins} im Konfigurations-Menü.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE ScrWin "Das Screens-Fenster"

In diesem Fenster können Sie alles bezüglich der für das aktuelle Projekt
verwendeten Screens regeln.

Es wird eine Liste der Dateinamen aller verwendeten Screens angezeigt.
Der Screen, der im Moment gerade bearbeitet wird, wird unterhalb dieser
Liste angezeigt.

Mit "Neu" fügen Sie dieser Liste einen neuen Screen hinzu.

Mit "Einf." fügen Sie VOR dem aktuellen einen neuen Screen ein.

Mit "Löschen" können Sie - nach Rückfrage - den aktuellen Screen löschen !


Nach Anwahl von "Editieren" können Sie weitere Parameter für den
aktuellen Screen bestimmen:

  1. Den für den @{"Screen verwendeten Zeichensatz" link ScrFont}.
     Wählen Sie einen neuen Font (oder auch nur eine neue Fonthöhe),
     so wird das für dieses Screen verwendete IFF-Bild noch einmal
     eingeladen, der Screen also komplett neu erstellt.

  2. Titelleiste anzeigen
     Soll beim Abspielen der Menüs die Titelleiste des Screens
     angezeigt werden.

  3. @{"Startup-Befehl" link StartComm}
     Der hier angegebene Befehl wird VOR (!) dem Einladen des
     IFF-Bildes ausgeführt.

Falls Sie mit den hier verwendeten Begriffen nicht so recht
klar gekommen sind, sollten Sie noch einmal im Kapitel
@{"Über Menus & More" link AboutMM} nachschauen !

@{"Weitere Hinweise zu den Screens" link ScreenHints}

@ENDNODE

@NODE ScrFont "Der Zeichensatz des Screens"

Für jeden Screen kann ein eigener Zeichensatz angegeben werden.
Dieser Font wird verwendet für:

   1. die Titelleiste des Screens und damit auch für
   2. (eventuell) vorhandene Menü-Titel
   3. @{"Anzeigen" link DisWin}.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE ButWin "Das Buttons-Fenster"

Dieses Fenster öffnet sich erst, wenn für das M&M Projekt ein
Screen bestimmt und eingeladen worden ist.

Es wird eine Liste der Namen aller verwendeten Buttons angezeigt.
Der aktuelle Button wird unterhalb dieser Liste dargestellt (hier
können Sie auch den Namen durch Editieren verändern).

Mit "Neu" fügen Sie einen neuen Button an das Ende der Liste ein.
  Sie müssen dann @{"die Fläche des Buttons auf dem Screen bestimmen." link GetButton}

Mit "Einf." fügen Sie einen neuen vor den aktuellen Button ein.
  Auch hier müssen Sie die Fläche des Buttons auf dem Screen bestimmen

Mit "Löschen" kann man den aktuellen Button aus der Liste entfernen.

Nach Anwahl von "Editieren" können Sie den Fläche des Buttons noch einmal
neu bestimmen.

Wenn Sie das Feld "Datei" anklicken, erscheint ein Datei-Requester.
Der dann ausgewählte Dateiname wird in das Feld, in dem der eigentliche
Befehl steht, kopiert.

"Taste" gibt eine korrespondierende Taste (mit der man auch anstatt
mit der Maus den Befehl auslösen kann) an. Eine Liste mit Sondertasten
erhält man durch Anklicken des "Taste"-Schalters.

Außerdem können Sie bestimmen, was für eine @{"Aktion" link Commands} nach Anwahl
dieses Buttons ausgeführt werden soll und ob vorher noch eine @{"Abfrage" link Asks}
von Parametern erfolgen soll.

@{"Weitere Hinweise zu den Button" link ButtonHints}

@ENDNODE


@NODE GetButton "Bestimmen der Fläche eines Buttons"

Die Fläche eines Buttons wird folgendermaßen bestimmt:

  1. Der Screen wird angezeigt.
  2. Mit der Maus suchen Sie die linke obere Ecke des Schalters und
     klicken diese mit der linken Maustaste an.
  3. Maustaste gedrückt halten.
     (Falls Sie jetzt doch lieber eine andere Ecke anwählen wollen:
     Escape-Taste drücken, Sie sind dann wieder bei Punkt 2)
  4. Mit der Maus zur rechten unteren Ecke gehen und
  5. Maustaste loslassen.

Mit dieser Methode ist es nicht immer ganz einfach, die genaue Schalter-
fläche zu "treffen". Daher wurde ein Funktion namens "Lasso" eingeführt.
Ist sie eingeschaltet (mit der Leertaste), muß man die Fläche des
Schalters nur noch ungefähr einrahmen, es wird dann automatisch die
richtige Fläche gesucht.

Mit der Taste F10 können Sie beim Bestimmen der Button-Fläche die
Titelleiste des Screens ein- und ausschalten.

Haben Sie die Fläche des Buttons bestimmt, werden Sie nach einem
Namen für diesen gefragt. Damit die einzelnen Buttons unterschieden
werden können, darf dieser Name noch nicht in der Liste vorhanden sein.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE MenWin "Das Menüs-Fenster"

Auch hier wird eine Liste alle Klappmenü-Punkte angezeigt.
Erstellt wird diese Liste durch Anwahl von @{"Editieren" link GetMenus}.

Einzelne Menüpunkte können eingefügt ("Einf.") oder gelöscht werden.

Nach der Editierung können Sie für jeden Klapp-Menüpunkt bestimmen,
was für eine @{"Aktion" link Commands} nach Anwahl ausgeführt werden
soll und ob vorher noch eine @{"Abfrage" link Asks} von Parametern
erfolgen soll.

@{"Weitere Hinweise zu den Menüs" link MenuHints}
@ENDNODE


@NODE GetMenus "Editieren des Klapp-Menüs"

Es erscheint ein Fenster auf dem aktuellen Screen.

Maximal verarbeitet werden 15 Menütitel, die jeweils max. 15 Menüpunkte
haben dürfen. Ist die vertikale Auflösung des aktuellen Screen nicht
sehr hoch (etwa bei LoRes-Screens), wird dadurch natürlich auch die
Höhe des Editor-Fenster kleiner, so daß dementsprechend die Anzahl der
maximal editierbaren Menüpunkte kleiner wird.

Jeder Menü-Punkt kann einen entsprechenden Auswahl-Buchstaben haben.
So kann dieser Punkt auch durch Drücken der linken Amiga-Taste plus
dem Auswahl-Buchstaben angewählt werden.

Geben Sie einfach die Menü-Titel und -punkte ein.
Von einem Punkt zum nächsten kommen Sie mit der ENTER-Taste
Mit der TAB-Taste gelangen Sie zum nächsten Auswahl-Buchstaben.

Mit der linken Cursor-Tasten kommen Sie zum vorherigen Titel, mit
der rechten zum nächsten (geht nur, wenn der Cursor nicht zu sehen ist).

Mit dem "Zchs"-Schalter können Sie einen neuen Zeichensatz für
das Klapp-Menü auswählen. Dieser ist aber NUR für die Menü-Punkte
gültig - für die Titel gelten der beim @{"Editieren des Screens" link ScrWin} angewählte
Zeichensatz.

Durch "Lsch." können ein oder alle Titel gelöscht werden.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE DisWin "Das Anzeigen-Fenster"

"Neu"     hängt eine neue Anzeige an die Liste.
"Einf."   fügt eine neue Anzeige vor der aktuellen ein.
"Löschen" löscht eine Anzeige.

Das Bestimmen einer Anzeige geht folgendermaßen vonstatten:

Es erscheint ein Fenster auf dem Menü-Screen, bei dem Sie

  die X- und Y-Position der Anzeige auf dem Screen
  den Text VOR und NACH der Anzeige sowie (am wichtigsten)

  den Anzeige-Modus (also freier Speicher, Uhrzeit oder Datum)

festlegen können.

Mit "Neu positionieren" kann die X- und Y-Position bequem mit der
Maus bestimmt werden.

Die Anzeige wird folgendermaßen erstellt:

    VORTEXT Leerzeichen ANZEIGE Leerzeichen NACHTEXT

    Bsp.     Vor: "Zeit:"		\
            Nach: "Uhr"			 > Anzeige: Zeit: 16.24.13 Uhr
           Modus: "Zeit - 16.24.13"	/

Die Farbe der Anzeige läßt sich nicht beeinflussen (sie stellt stets
das Komplement der Farbe "unterhalb" der Anzeige dar - Ausprobieren!).
Es wird stets der @{"Zeichensatz des Screens" link ScrFont} verwendet.

@{"Weitere Hinweise zu den Anzeigen" link DsiplayHints}

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE AllMenus "Die Menüs von M&M"

Die Menüs sind in 4 Gruppen aufgeteilt:

1.Projekt         @{" Neu         " link New}
                  @{" Öffnen      " link Open}
                  @{" Speichern   " link Save}
                  @{" Information " link Information}
                  @{" Beenden     " link Quit}

2.Testlauf        @{" Vom aktuellen Screen " link RunCurrScr}
                  @{" Des gesamten Menüs   " link RunFirstScr}

3.Konfiguration   @{" Buttons-Fenster  " link SwitchWins}
                  @{" Menüs-Fenster    " link SwitchWins}
                  @{" Anzeigen-Fenster " link SwitchWins}
                  @{" Icons            " link DoIcons}
                  @{" Sichern          " link SaveConfig}

4.Hilfe           @{" Aufrufen   " link AboutHelp}
                  @{" Index      " link AboutHelp}
                  @{" über Hilfe " link AboutHelp}


@ENDNODE AllMenus

@REMARK ----------------------------------------------------------------

@NODE New "Neues Projekt"

Hiermit können Sie ein im Speicher vorhandenes Projekt löschen.

Wurde das Projekt vorher noch nicht gespeichert, erscheint eine
Warnung, die auf diesen Umstand hinweist. Sie haben dann die
Möglichkeit, das aktuelle Projekt zu speichern.

@ENDNODE


@NODE Open "Projekt Öffnen"

Zum Öffnen eines bereits gespeicherten Projektes. Nach Anwahl erscheint
der Datei-Requester, in dem man die zu ladende Datei auswählt.

Wurde das sich im Speicher befindende, aktuelle Projekt vor der
Anwahl dieses Menüpunktes noch nicht gespeichert, so erscheint
eine Sicherheitsabfrage.

Beim Laden können folgende Fehler auftreten:

  * Das gewählte Projekt ist keine M&M Datei
  * Das Format der gewählten Projektes ist nicht korrekt
  * Es ist nicht mehr genug Speicher zum Laden frei.

@ENDNODE


@NODE Save "Projekt Speichern (Als)"

Hiermit speichern Sie ein Projekt.

Speichern Sie ein Projekt zum ersten Mal (Projekt-Name = "Ohne Namen.M&M"),
erscheint auf jeden Fall der Datei-Requester.

Hat das Projekt bereits einen Namen, so können Sie mit Anwahl von

      "Speichern" : Unter dem gleichen Namen sichern - es erscheint aber
                    eine Sicherheitsabfrage, falls die Datei bereits auf
                    dem Datenträger existiert;

  "Speichern Als" : Einen neuen Projekt-Namen auswählen.

@ENDNODE


@NODE Information "Information"

Sie erhalten eine Information über

  * die Programmversion
  * den Autor @{"Axel Sodtalbers" link Axel}
  * das Copyright und
  * den freien Speicher.

@ENDNODE


@NODE Quit "Beenden"

Hiermit beenden Sie Menus & More. Vorher erscheint jedoch eine
Sicherheitsabfrage, die testet, ob Sie auch wirklich gewillt und
in Ihrem Gemüt gefestigt genug sind, dieses Programm zu beenden.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE RunCurrScr "Testlauf vom aktuellen Screen"

Mit diesem Menüpunkt starten Sie einen Testlauf von dem
gerade geladenen Screen aus.

Sie können so testen, ob Ihr Menü wunschgemäß arbeitet.
Dabei sollten Sie bedenken, auch einen Funktion "MENÜ BEENDEN"
einzubauen. Haben Sie das vergessen, so können Sie das Menü
auf jeden Fall durch gleichzeitiges Drücken der Control- und
Escape-Taste beenden.

@ENDNODE


@NODE RunFirstScr "Testlauf des gesamten Menüs"

Die Menüpunkt hat die gleiche Funktion wie @{"Testlauf vom aktuellen Screen" link RunCurrScr},
nur das hier mit der Menü-Ausführung mit dem ersten Screen gestartet wird.

Die Anwahl hat also den gleichen Effekt wie ein Aufruf des @{"MMPlayers" link MMPlayers}.

@ENDNODE


@NODE PlayerModes "DOS Befehle immer/auf Anfrage/nie ausführen"

Mit diesem Menüpunkt können Sie festlegen, was passieren soll,
wenn Sie beim Testlauf einen Button oder Menü anwählen,
der/das einen DOS- oder Screenwechsel-Befehl auslösen soll.

* immer ausführen: Das DOS-Kommando wird auf jeden Fall ausgeführt
                   bzw. es wird auf jeden Fall auf den angegebenen
                   Screen umgeschaltet.

* auf Anfrage    : Beim Testlauf wird vorher gefragt, ob das DOS-Kommando
		   bzw. der Screen-Wechsel durchgeführt werden soll.
		   Das empfiehlt sich auf jeden Fall bei "haarigen"
		   Dos-Kommandos wie z.B. "Format" oder "Delete".

* nie ausführen  : Das Dos-Kommando bzw. der Screen-Wechsel wird
		   auf keinen Fall ausgeführt.

Die aktuelle Einstellung erkennen Sie am Haken vor dem angewählten
Menüpunkt. Sie wird in der @{"Konfigurations-Datei" link SaveConfig} gesichert.

Die Einstellung wirkt sich auch auf die Ausführung des @{"Startup-Befehls" link StartComm} aus.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE SwitchWins "Fenster ein- oder ausschalten"

Durch das @{"Fenster-System" link Windows} von M&M können Sie beliebig
Fenster auf dem Bildschirm des M&M Editors ein- oder ausschalten.
Ausnahme: Das Screens-Fenster.

Sie können das einmal durch Anklicken des CLOSE-Gadgets des jeweiligen
Fensters oder durch Anwahl eben dieses Menüpunktes. Ein eingeschaltetes
Fenster erkennen Sie am Haken vor dem jeweiligen Menüpunkt.

Die betreffenden Fenster (Buttons, Menüs, Anzeigen) öffnen sich erst,
wenn sich ein Screen im Speicher befindet (d.h. die Screen-Liste im
Screens-Fenster ist nicht leer). Folglich können Sie diese Menüpunkte
erst anwählen, wenn ein Screen im Speicher ist (z.B. durch @{"Öffnen" link Open}
eines Projektes oder durch Anwahl von "Neu" im Screens-Fenster).

Die aktuellen Einstellungen werden in der @{"Konfigurations-Datei" link SaveConfig} gesichert.

@ENDNODE


@NODE doIcons "Icons"

Sie bestimmen durch die Anwahl dieses Menüpunktes, ob bei der @{"Speicherung" link Save}
eines Projektes ein Workbench-Icon erstellt werden soll.

Die aktuelle Einstellung erkennen Sie am Haken vor diesem Menüpunkt.

Als Projekt-Icon wird das Icon "M&M.icon" im M&M-Verzeichnis benutzt.
Falls es nicht zu finden ist, das Standard-Projekt Icon der Workbench.

@ENDNODE


@NODE SaveConfig "Konfiguration sichern"

Die aktuelle Konfiguration wird gesichert. Sie beinhaltet:

  * von allen @{"Fenstern" link Windows}: y-Position, ob eingeschaltet oder nicht
  * den @{"Modus des Testlaufs" link PlayerModes}
  * die Positionen und Größe des Datei-Requesters
  * die Positionen und Größe des Zeichensatz-Requesters
  * die Einstellung, ob @{"Icons" link doIcons} beim Speichern erstellt werden soll oder nicht.

Die Konfiguration wird unter dem Namen "M&M.config" stets in dem Verzeichnis
gespeichert, von dem aus der "MMEditor" gestartet wurde.

Konnte bei Programm-Start keine Konfigurations-Datei gefunden werden,
werden automatisch die Vorgaben benutzt.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE Asks "Die Abfragen"

Vor der Ausführung des eigentlichen Befehls können Parameter vom Benutzer
abgefragt werden. Die Antworten werden in Umgebungs-Variablen gespeichert.
Diese können von AmigaDos aus durch

  1. den AmigaDos-Befehl "GetEnv" oder
  2. durch Voranstellen des "$"-Zeichens in Befehlen und Skripten

verarbeitet werden.


Die Abfrage besteht aus folgenden Elementen:

  1. dem Abfragetyp
  2. dem @{"Abfragetext" link AskText}
  3. den Namen einer @{"Umgebungs-Variablen" link AskEnvs}, in die das Ergebnis der
     Abfrage gespeichert werden soll.

Abgefragt werden kann:   Ein Dateiname
			 Ein Verzeichnis-Name
			 Eine Textzeile

			 Ob Ja oder Nein	(die Befehle werden nur
			 Ob Okay oder Abbruch.   ausgeführt, wenn der
						 Benutzer Ja/Okay wählt)


Übersicht:

---------------------------------------------------------------------------------
Abfragetyp   | Es erscheint      | Abfragetext ist       | In der Umg.Var wird	|
(1.)	     |			 | (2.)			 | gespeichert  (3.)	|
=============|===================|=======================|======================|
DATEINAME    | Datei-Requester	 | Titel des Req.        | kompletter Dateiname |
-------------|-------------------|-----------------------|----------------------|
VERZEICHNIS  | Datei-Requester   | Titel des Req.        | Verzeichnisname	|
	     | nur Verzeichnisse |		         | plus "/"		|
-------------|-------------------|-----------------------|----------------------|
TEXTZEILE    | Requester mit	 | Über der Eingabezeile | Eingegebener Text	|
	     | Eingabezeile      |			 |			|
-------------|-------------------|-----------------------|----------------------|
JA/NEIN	     | Requester	 | Requester-Text	 | nichts		|
	     |			 |			 | Aktion nur wenn "Ja" |
-------------|-------------------|-----------------------|----------------------|
OKAY/CANCEL  | Requester	 | Requester-Text	 | nichts		|
	     |			 |			 | Aktion nur w. "Okay" |
---------------------------------------------------------------------------------

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE AskText "Der Abfragetext"

Der Abfragetext kann in das String-Gadget eingetragen werden.
Bei den Abfragen nach Datei oder Verzeichnis erscheint er als Titel
des Datei-Requester. Bei Abfrage einer Textzeile wird er über der
Eingabezeile eingeblendet.

Bei den Ja/Nein- und Okay/Cancel-Requester erscheint der Text als
Frage oder Hinweis im Requester. Durch die Tastenkombination

  AMIGA LINKS + CONTROL + j

wird im Text einen Zeilenvorschub eingefügt. Im Eingabegadget für
den Text erscheint dieser als kleines Kästchen - wenn jedoch der
Requester auf dem Player Bildschirm erscheint, wird an den
betreffenden Stellen auf die nächste Zeile umgeschaltet.

In den Beispielen kann man sich das einmal anschauen.

@ENDNODE

@REMARK ----------------------------------------------------------------


@NODE AskEnvs "Die Umgebungsvariablen"

AmigaDos verwaltet sog. Umgebungs-Variablen. Die Inhalte dieser Variablen
werden im Pseudo-Verzeichnis "ENV:" (liegt meistens im RAM:) gespeichert.
Sie können in Befehlen oder Skripten leicht abgefragt werden. Außerdem
existieren die Befehle

  "GetEnv" (Auslesen einer Umgebungsvariablen) und
  "SetEnv" (Setzen einer Umgebungsvariablen).

In Befehlen oder Skripten wird die Zeichenfolge

  "$Umgebungsvariable"

durch den Inhalt derselbigen ersetzt. Angenommen, Sie haben im MMEditor
als Befehl für einen Button folgendes eingegen:


	Abfrage: Datei       speichern in: Dateiname

		 Bitte Dateinamen wählen!


	 Aktion:  DOS Befehl ausführen

		  Type "$Dateiname" to prt:


dann würde folgendes passieren:

  Auf dem Bildschirm des Players würde nach Anklicken des Buttons ein
  Datei-Requester mit der Aufforderung "Bitte Dateinamen wählen!" erscheinen.
  Wählt jetzt der Benutzer z.B. die Datei "RAM:MeinText.asc" aus,
  dann würde zunächst eben dieses Ergebnis "RAM:MeinText.asc" in die
  Umgebungsvariable Dateiname gespeichert.

  Anschließend wird das angegebene AmigaDOS-Kommando ausgeführt, allerdings
  "versteht" AmigaDos, daß der Text nach dem $ der Name einer Umgebungs-
  variablen ist und ersetzt diesen durch den Inhalt der Variable.
  Und wie oben dargestellt, ist der aktuelle Inhalt eben "RAM:MeinText.asc".

  Ausgeführt wird also das Kommando:

    Type RAM:MeinText.asc" to prt:

  Übrigens: Die Gänsefüßchen ("") haben lediglich den Sinn, daß AmigaDos auch
  dann, wenn der Inhalt der Variablen Leerzeichen enthält, den Text richtig
  einsetzt. Beispiel:

                   Dateiname enthält: RAM:Brief An Bundeskanzler.asc
                   Lautet der Befehl: Type $Dateiname
  würde AmigaDos folgendes ausführen: Type RAM:Brief An Bundeskanzler

  also Type RAM:Brief, was hier falsch ist und durch Einsatz der
  Gänsefüßchen verhindert werden kann.

  Mehr Informatioen zum Thema Umgebungs-Variablen finden sich im
  AmigaDos Handbuch ("GetEnv, "SetEnv" und "Umgebungsvariablen") und
  für den erfolgreichen Einsatz von M&M lohnt es sich wirklich, diese
  Kapitel noch einmal nachzulesen !

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE Commands "Die Aktionen"

Folgende Aktionen können ausgeführt werden:

  @{"Amiga-Dos Befehle" link CommDos}
  @{"ARexx Befehle    " link CommRxx}
  @{"Textdatei anzeigen" link CommTxt}
  @{"anderen Screen anzeigen" link CommScr}
  @{"M&M Menü beenden " link CommStp}

  oder auch gar keine Aktion.

"Zurück": bestimmt, ob nach Ausführung des Befehls zurück zum M&M Menü
gekehrt oder dessen Ausführung gestoppt werden soll.

"Auswahl": läßt Sie weitere Optionen zur Durchführung des Aktionen
auswählen.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE StartComm "Der Startup-Befehl"

Sie haben die Möglichkeit, daß beim Ablauf eines Menüs VOR dem Laden
eines Screens automatisch ein beliebiges Programm ausgeführt wird.

Dies kann für etwaige Initialisierungen sehr nützlich sein. Zum Beispiel
wäre es sinnvoll, ein bestimmtes Verzeichnis mit dem Dos-Befehl "Assign"
einen beliebigen Geräte-Namen zuzuweisen, um alle im Menü verwendeten
Datei-Namen auf diesen Geräte-Namen zu beziehen.

    Startup-Befehl:  Assign MeinMenü: SYS:M&M/Daten

    Beispiele für im MMEditor verwendete Dateinamen:

      MeinMenü:ErstesBild.pic	(für einen Screen)
      MeinMenü:Information.txt	(für eine Textdatei)	usw.

Natürlich kann man durch die Angabe von "Execute Skriptname" auch ganze
Skripte ausführen lassen.

Zu beachten ist die Ausgabe des Startup-Befehls:

Haben Sie daß Menü von der Workbench aus gestartet, können Sie ein
Ausgabe-Fenster durch die Angabe von

      WINDOW=CON:x/y/b/h/Name/Optionen      als Merkmal (tool type)

bestimmen (vgl. im Dos-Handbuch unter Konsole-Fenster).
Diese Option gilt sowohl für den MMEditor (beim Testlauf) als auch
für den MMPlayer.

Beim Start vom CLI aus wird stets das CLI-Fenster aus Ausgabe-Fenster
genutzt.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE CommDos "DOS-Befehl ausführen"

Führt jedes beliebige Amiga-Programm aus.

Folgende Optionen stehen einem zur Verfügung (nach Anklicken von "Auswahl"):

  Die @{"Ausmaße des Ausgabe-Fensters" link GetWin}.
  Der Titel des Ausgabe-Fensters.

  "Screen"          : Das Ausgabe-Fenster erscheint auf dem aktuellen
                      Screen. Ist diese Option nicht angewählt, erscheint
                      es auf der Workbench.
  "Auto"	    : Das Ausgabe-Fenster erscheint nur, wenn auch
  		      wirklich Text ausgegeben wird.
  "Warten"	    : Das Ausgabe-Fenster bleibt nach Ausführung des
  		      Befehls solange stehen, bis der Benutzer das
  		      Close-Gadget anwählt oder Ctrl+\ drückt.

    Schließ-Gagdet,
  nicht verschiebbar,
  kein Größen-Gadget,
  kein Rahmen,
  im Hintergrund    : Bestimmt das Aussehen des Ausgabe-Fensters.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE CommRxx "ARexx Befehl senden"

Hiermit können Sie Arexx-Befehle oder -Programme ausführen lassen.

"Port" - Wohin der Befehl/Programm gehen soll.

Wollen Sie ein Arexx-Programm ausführen lassen, muß als Port "REXX"
(für das Programm RexxMast) eingetragen werden.

Soll nur ein ARexx Kommando (z.B. Say) ausgeführt werden,
muß "als Befehlszeile" angewählt sein.

Das Programm MMPlayer verfügt selbst auch über einen @{"ARexx-Port" link PlayerRexx}.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE CommTxt "Textdatei anzeigen"

Zeigt eine beliebige Textdatei an.

Folgende Optionen stehen einem zur Verfügung (nach Anklicken von "Auswahl"):

  Die @{"Ausmaße des Text-Fensters" link GetWin}.
  Welcher Zeichensatz verwendet werden soll.
  Ob der Text auf dem Screen oder auf der Workbench dargestellt werden soll.

Außerdem kann man hier bequem festlegen, welcher Text angezeigt werden soll.
Die Textanzeige beruht auf dem @{"Textanzeiger" link TextView} "mMore".
Es ist weitgehend kompatibel zum original "More" von Commodore
- zumindestens was die Tastensteuerung angeht. Außerdem ist es einigermaßen
veraltet, weswegen es zur nächsten Version umprogrammiert werden wird.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE TextView "Die Textanzeige (mMore)"

Nach Einladen des ASCII-Files hat man folgende Möglichkeiten, die
Textanzeige zu beeinflußen:

  LEERTASTE		Nächste Seite
  RETURN		Nächste Zeile
  <			Erste Seite
  >			Letzte Seite
  BACKSPACE		Vorherige Seite
  q oder CTRL+C		Textanzeige beenden

  F1			bis 10% des Textes anzeigen
  F2			bis 20%  "    "        "
  ...			...
  F9			bis 90%  "    "        "
  F0			bis zum Ende anzeigen

  h 			bringt eine Hilfsseite auf den Bildschirm
  			(zurück zur Textanzeige mit LEERTASTE)

Wie man sieht, decken sich die Funktionen so ziemlich mit denen
vom original "More" von Commodore.
Die nächste Seite kann außerdem auch die Druck der linken Maustaste ange-
zeigt werden.

Die Sprungfunktion der Funktionstasten läuft z.Zt. recht ungenau.

mMore bietet die Möglichkeit, seine Texte in beliebigen Farben darzustellen.
Dazu fügt man einfache Kommandos in den Text ein. Folgende Kommandos gibt es:


     Zeichen im Text    ausgeführte Funktion

        \+NN  \-NN      Umschalten auf Farbe NN; Zurück auf Standard-Farbe 1
                        Die Farbnummer MUß zweistellig sein
                        (also \+05 und NICHT \+5)

        \+UN  \-UN	Unterstreichen ein; aus

        \+IT  \-IT	Italic ein; aus

        \+BO  \-BO      Bold ein; aus

        \+RS            Normaler Style mit Farbe 1


    Beispiel:

    \+03Commodore\-01 Computer    das Commodore erscheint in Farbe 3

    \+02\+IT\+UNCommodore\+RS     Commodore erscheint in Farbe 2, außerdem
    				  wird es in unterstrichener Schrägschrift
    				  dargestellt.


Will man ein bestimmtes Wort im ganzen Text in einer bestimmten Farbe
erscheinen lassen, so benutzt man am besten die Suchen und Ersetzen-Funktion
des Editors.

               Suche: Amiga
             Ersetze: \+06Amiga\+01

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE CommScr "Auf anderen Screen umschalten"

Wählen Sie aus, auf welchen Screen in der aktuellen Liste der momentanen
verfügbaren Screens umgeschaltet werden soll.

Wollen Sie bei der Ausführung des Menüs einfach nur ein IFF-Bild anzeigen
lassen, wählen Sie mit "andere Screens" ein solches aus. Die Anzeige eines
solchen Bildes wird durch Anklicken desselbigen oder durch Drücken der
Leertaste beendet. Es wird dann zurück auf den ursprünglichen Bildschirm
geschaltet.

Achtung: Soll nur eine IFF Datei angezeigt werden, wird der aktulle
	 Screen NICHT gelöscht, sondern lediglich in den Hintergrund
	 geschaltet. Es sind dann sich also mind. 2 Screens gleich-
	 zeitig geöffnet - hinzu kommen Workbench und eventuell andere
	 geöffnete Bildschirme (Speicherplatz!).
	 Aber wie gesagt, daß gilt nur für anzuzeigende Screens, die sich
	 nicht in der Screenliste befinden...

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE CommStp "Menü beenden"

Beendet das Menü.
Es kann ein Rückgabe-Wert (an AmigaDos) angegeben werden (mit "Auswahl").
Als vorgegebene Werte können OKAY, WARN, ERROR und FAIL (s. AmigaDos Handbuch)
gewählt werden.

Das Menü wird (logischerweise) nur dann beendet, wenn NICHT "Zurück"
angewählt wurde.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE GetWin "Ausgabe-Fenster bestimmen"

X, Y, Breite und Höhe geben Position und Ausmaß des Ausgabe-Fensters an.

Wählt man "Zeigen" an, erscheint das Ausgabe-Fenster. Man kann es jetzt
auch direkt durch Verschieben und Vergrößern/Verkleinern verändern, die
Werte in X, Y, Breite und Höhe ändern sich jeweils dementsprechend.

Nach "Schließen" wird das Ausgabe-Fenster wieder geschlossen.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE ScreenHints "Hinweise zu den Screen"

Die Screens stellen schlichtweg IFF Bilder, wie man sie mit Programmen wie
DPaint u.ä. erstellen kann, dar. Ausmaße und Farbtiefe sind beliebig.

Hinweis: Zur Zeit werden die neueren Auflösungen wie Productivity NOCH
	 nicht unterstützt.

Folgendes sollte bei der ERSTELLUNG eines Screen (also eines IFF-Bildes)
beachtet werden: In der aktuellen Version 3.00 hat M&M Schwierigkeiten
mit Bildern, in denen einen sog. Maske gesetzt ist. Eine solche sollte
also vor dem Abspeichern des Bildes aus dem Malprogramm heraus ggf.
abgeschaltet werden.

M&M schreibt bei der Speicherung eines Projektes auch Informationen
- nämlich Höhe, Breite und Tiefe - zu den einzelnen Screens in die
Projekt-Datei. Deswegen ist es NICHT möglich, einen einmal mit dem
Editor bearbeiteten Screen nachträglich mit einem Malprogramm zu
verändern, wenn eben auch diese Informationen (Höhe, Breite, Tiefe)
verändert werden.
Behält das Bild jedoch exakt die Ausmaße und die Tiefe, kann es auch
nachträglich verändert werden...

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE ButtonHints "Hinweise zu den Buttons"

Wenn man einen neuen Button auf den Screen einfügt, kommt es zu folgendem
Problem: Da nicht jedesmal sämtliche IDs der Gadgets neu berechnet werden,
kann es passieren, daß einige Gadgets bei einem - direkt nach der Einführung
durchgeführten - Testlauf nicht erkannt werden.

Abhilfe schafft man folgendermaßen:

  Hat man nur einen Screen für das Projekt vorgesehen:
  Projekt speichern, neu und erneut einladen. Wird jetzt ein Testlauf durch-
  geführt, verläuft alles wieder normal.

  Einfacher ist es, wenn das Projekt mehrere Screens enthält:
  Kurz zum nächsten Screen schalten (durch Anklicken in der Screen-Liste)
  und dann den alten wieder einladen - alles funktioniert wieder.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE MenuHints "Hinweise zu den Klapp-Menüs"

Bei der Erstellung der Klapp-Menüs ist zu beachten, daß - neben der
Limitierung durch die Auflösung des Screens - allerhöchstens

  15 Klapp-Menüs mit je höchstens 15 Menü-Punkten

editiert werden können.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE DisplayHints "Hinweise zu den Anzeigen"

Zur Zeit keine besonderen Hinweise...

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE MMReq "MMReq - Menus&More Requester Hilfsprogramm"

MMReq ist ein kurzes Hilfsprogramm, mit dem man von einem Shell-Skript aus
die M&M Abfrage-Requester (Datei, Verzeichnis, Textzeile, OkayCanc, JaNein)
auf den Bildschirm des Players bringen kann.

Leider konnte das Programm noch nicht richtig fertig gestellt werden,
weswegen es auch die Versions-Nummer 0.1 trägt. Zur Zeit kann es
lediglich den Okay/Cancel- oder den Ja/Nein-Requester erzeugen.

Der Aufruf lautet folgendermaßen:

  MMReq [reqText] [reqType]

wobei reqType z.Zt. "OKCANC" oder "YESNO" sein darf.

Ist der Bildschirm des Players geöffnet, erscheint der entsprechende Requester
auf diesem Bildschirm. Wählt der Benutzer die negative Antwort (Cancel oder Nein),
wird an das DOS ein Returnwert von 10 (=Fail) zurückgegeben.
Für die positive Antwort ein Returnwert von 0.

Ist der Player nicht aktiv, erscheint eine Fehlermeldung.
Sind mehrere Player aktiv, erscheinen die Requester stets nur auf dem
zuerst geöffneten (PublicScreen Name = MMPlayer)

Hier ein Beispiel für den Aufruf innerhalb eines Skriptes:

	Failat 20
	MMReq YESNO "Text-Dateien kopieren ?"
	IF NOT ERROR
	  Copy #?.txt to RAM:
	ENDIF
	MMReq YESNO "Alte Dateien beibehalten ?"
	IF ERROR
	  Delete #?.txt
	ENDIF;

Ein anderes Beispiel finden Sie in der Datei "Install.bat", die
vom M&M Projekt "Zuerst!.M&M" zur Installation aufgerufen wird.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE Examples "Die mitgelieferten Beispiel-Projekte"

Allgemein läßt sich zu sämtlichen Beispielen sagen, daß es sich durchaus
lohnt, einen näheren Blick auf sie zu werfen - sie enthalten sicherlich
für den ein oder anderen ein guten Tip für die Erstellung von Menüs mit
M&M.

Zuerst!.M&M		Dies ist ein sehr umfangreiches Menü - was beweist,
			das M&M auch mit sehr großen Projekten zurecht kommt.
			(es dauert allerdings zugegebenermaßen einige Zeit,
			bis nach Verlassen des Editors der Speicher wieder
			freigegeben wird - ich arbeite daran...!).
			Beachten sollte man den Startup-Befehl des ersten
			Bildschirms: er ASSIGNt das aktuelle Verzeichnis
			dem Pseudo-Device MM: Sämtliche Bilder werden dann
			aus dem Verzeichnis "MM:Beispiele" gelesen.

ErstesBeispiel.M&M	Ist eigentlich kein richtiges Menü - vielmehr eine
			Aufforderung, die entsprechenden Befehle für den Aufruf
			des Text- oder Malprogrammes selbst im Editor einzutragen
			und das Ergebnis einmal zu testen....

FuncTest.M&M		Hier kann man einmal sämtliche Möglichkeiten von M&M
			prüfen. Wurde während der Entwicklung als Test-Programm
			benutzt. Beim Start wird auf der WB das aktuelle
			Verzeichnis ausgegeben, deswegen verzögert sich das
			Erscheinen des Menüs ein wenig.

EnhancedEd.M&M		demonstriert die Möglichkeiten, die die Verwendung von
			ARexx-Befehlen bieten. Benötigt wird der Original
			Commodore "Ed". Leider kann man auch erkennen, daß der
			Button "Load" nicht funktioniert. Das hat folgenden Grund:
			Zwar setzt AmigaDos für die Zeichenfolge "$envvar" den
			entsprechenden Inhalt der Umgebungs-Variablen - NICHT
			aber ARexx! So versucht der Editor im die Datei
			"$textfile" zu laden, doch die gibt es natürlich nicht...

ZooCom.M&M		ist noch ein Überbleibsel von M&M 2.8 und als eine Art
			Front-End für den Zoo Packer dienen.

M2Dev.M&M		ist ebenfalls schon für M&M 2.8 erstellt worden. Mit diesem
			Programm kann man Modula-2 Programme erstellen. Es ist zwar
			auf den Compiler M2Amiga zugeschnitten, unterstützt aber
			(noch) nicht dessen Projekt Konzept.

M2Com.M&M		Ein bißchen komplexer ist da schon dieses, für M&M 3.0
			neu erstellte Projekt. Es verwaltet ein Haupt-Modul
			sowie ein Unter-Modul jeweils mit Implementation und
			Definition.
			Man kann sich die Optionen zu den verschiedenen M2Amiga
			Werkzeugen anzeigen lassen. Man kann den erscheinenden
			Text stehen lassen und anschließend die gewünschten
			Optionen mittels des entsprechenden Menüpunktes bequem
			veränderen.

MakeV2.M&M		ist mein selbst benutztes Make-Projekt für M&M. Es ruft
			spezielle Skripts auf. Diese wurden natürlich nicht mit
			in das Beispiele Verzeichnis kopiert (warum auch?),so
			daß dieses Projekt nur reinen Demo-Zwecken dient.

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE Versions "Versionen..."

Von Version 3.00 zu Version 3.01:

  - läuft jetzt auch mit den AA Chipset (Amiga 1200/4000)



Übersicht über die bisher veröffentlichten Versionen:


Programm	Version	vom		Größe	Bemerkung
=========================================================================
MMEditorDEMO	3.00BTA	10.02.94	121460	BETA Release
		3.00	27.03.94	120608	endgültige Version 3.00
		3.01	10.05.94	120764  AA Chipset
-------------------------------------------------------------------------
MMEditor	3.00	27.03.94	123116	endgültige Version 3.00
		3.01	10.05.94	123272	AA Chipset
-------------------------------------------------------------------------
MMPlayer	3.00BTA	06.02.94	 43292	BETA Release
		3.00	27.03.94	 42780	endgültige Version 3.00
		3.01	10.05.94	 42932	AA Chipset
-------------------------------------------------------------------------
MMReq		0.10	10.02.94	  6772	unvollendet
		0.10	10.02.94	  5976	unvollendet
		0.10	10.02.94	  5972	unvollendet

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE Errors "Bekannte, aber noch nicht behobene Fehler"

MMEditor:
---------
  Aus mir zur Zeit nicht erklärlichen Gründen wird am Programmende nicht
  sämtlicher Speicher freigegeben.
  Es kann zum Absturz kommen, wenn man erst ein Projekt mittels "Neu"
  schließt und anschließend eine neues einlädt.

MMPlayer:
---------

MMReq:
------
  noch nicht komplett fertig gestellt.


Ich arbeite daran...


@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE Future "Die Pläne für die Zukunft"

Für die Version 3.1 ist geplant:

  - mehr ARexx Befehle des Players
  - Kopieren von Befehlen zwischen Klapp-Menus und Buttons
  - Locale Anbindung von Anzeigen und Requestern
  - neuer Textanzeiger

und für die Version 4.0:

  Neue Elemente auf dem Screen (neben Buttons, Klapp-Menüs und Anzeigen):

  - Datei-Listen und
  - Eingabe-Felder

@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE Axel "Der Programmierer..."

Adresse:  Axel Sodtalbers
	  Albrecht-Thaer-Weg 10-104
	  37075 Göttingen

Fragen bitte schriftlich mit Rückumschlag und -Porto an obige Adresse!

Sehr erwünscht sind auch Fehler-Meldungen, Verbesserungsvorschläge und
Anregungen zu M&M - bitte an obige Adresse senden. Herzlichen Dank!

Das M&M Projekt wurde mit dem M2Amiga Compiler der A+L AG erstellt.



Grüße an Daniela Latz und Mike Oldfield!


@ENDNODE

@REMARK ----------------------------------------------------------------

@NODE myIndex "Index - wichtige Stichwörter"

@{"Abfragen                     " link Asks}
@{"Aktionen                     " link Commands}
@{"Anderer Screen               " link CommScr}
@{"Anzeigen-Fenster             " link DisWin}
@{"ARexx Befehl                 " link CommRxx}
@{"ARexx-Port des Players       " link PlayerRexx}

@{"Beispiele                    " link Examples}
@{"Buttons bestimmen            " link GetButton}
@{"Buttons-Fenster              " link ButWin}

@{"Copyright                    " link Copyright}

@{"Dateien, Liste der           " link FileList}
@{"Dos Befehl                   " link CommDos}

@{"Editor                       " link MMEditor}

@{"Fenster ein- oder ausschalten" link SwitchWins}
@{"Fenster-System               " link Windows}

@{"Installation                 " link Installation}

@{"Konfiguration                " link SaveConfig}

@{"Menus & More                 " link AboutMM}
@{"Menüs                        " link AllMenus}
@{"Menü beenden                 " link CommStp}
@{"Menüs-Fenster                " link MenWin}
@{"MMReq                        " link MMReq}
@{"Modus des Testlaufs          " link PlayerModes}

@{"Player                       " link MMPlayer}
@{"Public-Screen des Players    " link PlayerScr}

@{"Screens-Fenster              " link ScrWin}
@{"Startup-Befehl               " link StartComm}

@{"Textanzeiger                 " link TextView}
@{"Textdatei anzeigen (Befehl)  " link CommTxt}
@{"Umgebungsvariablen           " link AskEnvs}

@{"Versionen                    " link Versions}

@ENDNODE
