home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-09-06 | 44.6 KB | 1,730 lines |
- /**********************************************************************/
- /* RCT 1.62 September 93 */
- /* */
- /* RCT Info Neuerungen seit der Version 1.51 vom Mai 92 */
- /* */
- /* - Gadgets werden nun direkt im 2.0 Look angezeigt. */
- /* */
- /* - neuer, File Requester mit folgenden Features */
- /* - reentrant in einer Library enthalten. */
- /* - tastatursteuerbar */
- /* - als Vorschau auf die Version 2.0 von R.C.T. größen und */
- /* Fontvariabel. */
- /* - sehr leicht aus allen Programmiersprachen z.B. GFA-Basic */
- /* ( siehe Programm FILER_GFABAS.LST ) aufrufbar. */
- /* */
- /* */
- /* - RCT_TO_ASCII wurde in RCT2ASC umbenannt und komplett neu */
- /* gestaltet */
- /* */
- /* - es kann jetzt Source-Code für die Programmiersprachen */
- /* AMIGA-, GFA-, HiSoft-Basic, */
- /* Lattice-, Aztec-C, */
- /* Kick-Ass, Aztec-Ass, GfaAssembler, */
- /* Kick-Pascal */
- /* Modula M2 generiert werden. */
- /* MAXON C++ in Vorbereitung */
- /* */
- /**********************************************************************/
-
-
- Wichtig: Damit R.C.T. überhaupt gestartet werden kann, müssen Sie die
- RCT.LIBRARY aus dem Verzeichnis LIBRARIES auf der Diskette in ihren
- Libs-Ordner kopieren. Klicken Sie dazu das Ikon RCTLib-Install
- vor dem ersten Starten des Programmes an.
-
- Durch die Änderung des R.C.T. auf den 3D-Look von 2.0 stimmen leider
- die Abbildungen im Handbuch nicht mehr mit denen des Programmes überein.
- Einzelnen Funktionen innerhalb der Requester haben sich allerdings nur
- im Text-Requester und im Füllmuster-Requester geändert.
- Der File-Requester hatte schon in der Version 1.2 ein anders Aussehen, was
- in der neuen Version noch einmal gänzlich geändert wurde.
-
- Die Seiten 5 "Lieferumfang", 9 "Der Datei-Auswahl-Requester" und 45
- "Der Source-Code-Generator" stimmen mit der aktuellen Programmversion nicht
- mehr überein und können ignoriert werden. Im Folgenden werden Änderungen
- und Neuerungen beschrieben.
-
- Lieferumfang:
-
- Wurzelverzeichnis
-
- RCT -> Das Hauptprogramm
- RCTRESOURCE.RCT -> Die Benutzeroberfläche von RCT
- RCTLIB-INSTALL -> Batch zum kopieren der RCT.LIBRARY
- NEUHEITEN -> Der Text den Sie gerade lesen
-
- Ordner Source
-
- NEURCTTOASC.RCT -> Die Benutzeroberfläche zum Programm
-
- Ordner Libs
-
- FileReq.mod -> File-Requester einbindung in Modula 2
- rct.bmap -> Definitionen für AMIGA-Basic
- rct.def -> Definitionen für Modula 2
- rct.library -> Funktionsbibliothek
- rct.sym -> Symbole für Modula 2
- rctdef.h -> includes für C-Programme
- rctlibrary.lib -> includes für Pascal Programme
- rctneu.def ->
- rct_amigabasic.vorsp -> Programm vorbereitung für Amiga-Basic
- rct_bas.fd -> FD-Datei zur Funktionsbibliothek
- rct_gfabas.lst -> Funktionseinbindungen für GFA-Basic
- rct_lnk.asm -> Funktionseinbindugen für C und Assembler
-
-
- Der Ordner Demos enthält Beispielprogramme im Source-Code
- für verschiedene Programmiersprachen.
-
-
- Neues im R.C.T.
-
- Die wichtigste Änderung ist die, daß jetzt auch das RCT von der Möglichkeit
- den Oberflächencode während der Laufzeit nachzuladen gebrauch macht.
- Leider haben sich im Zuge der Änderung alle Requester geändert, und stimmen
- nun nicht mehr mit den im Handbuch abgebildeten überein.
- Die Umstellung hatte zur Folge, daß ich weniger Daten in meinem C-Source
- bekam und dadurch auf das Small-Code-Data-Model umsteigen konnte, was
- ungefähr einen um 100 KByte kürzeren Programmcode ausmachte.
-
- Für alle Funktionen, die die Manipulation der Oberfläche betreffen, werden
- Library-Funktionen aus der RCT.Library aufgerufen.
-
- In der Objektauswahl haben sie lediglich die Menüleisten geändert und sind
- nun entsprechend den Commodore Richtlinien aufgebaut.
-
- Der Menüpunkt Ausgabe kam hinzu. Mit diesem Menüpunkt kann festgelegt
- werden, für welche Programmiersprache eine Include-Datei erzeugt werden
- soll. In der Include-Datei sind die Konstantendeklarationen für die
- REQUESTER-, GADGET-, und MENU-IDs enthalten. Die Einstellungen unter diesem
- Menüpunkt könnenim RCTSETUP gespeichert werden, so daß nach einem Neustart
- von R.C.T. die Einstellung weiterhin vorhanden ist.
-
- Das RCTSETUP wird gespeichert in dem Sie den "RCT Setup Requester"
- ( Menüpunkt "OBJEKTBEARBEITUNG" -> "R.C.T. - Setup") mit OK bestädigen.
-
-
- Im Requester-Editor hat sich einiges getan.
-
- - Automatische Border
-
- In der alten Version mußte man, sobald ein Gadget vergrößert wurde, die
- Border des Gadgets selbst nachbearbeiten.
-
- Jetzt passen sie sich automatisch den neuen Gadget-Ausmaßen an.
-
- - Neue Tastaturbelegung
-
- Bei gedrückter Taste "T" und Anwahl eines Requestertextes mir der Maus,
- wird nur der Requestertext ausgewählt obwohl er eventuell unter einem
- Gadget steht und normal nicht angewählt werden kann.
-
- Das gleiche ist auch mit Border möglich, wenn die Taste "B" gedrückt wird.
- Bei Border-Objekten muß allerdings einer der Eckpunkte angeklickt werden.
-
- - Flexiblere Fontverwaltung
-
- In der letzten Version war es nicht möglich, einen mit dem R.C.T.
- generierten Requester, in dem von den Systemfonts abweichende Fonts
- (DISKFONTS) enthalten waren auf einem anderen Computersstem mit dem
- R.C.T. anzuzeigen, wenn die Fontliste im FONTS:-Verzeichnis anders
- sortiert war.
- Dies ist nun behoben. Wird beim Laden ein verwendeter Font nicht
- gefunden, erscheint ein Alert der mit dem Fontnamen draufhinweist.
- Für alle Objekte die den nicht gefundenen Font benutzen wollten, wird
- dann der kleinste Systemresidente Fonts eingestellt (normalerweise
- TOPAZ 8).
-
- Die allermeisten Neuerungen hat allerdings die Library erfahren!
- Sie ist aber dennoch voll kompatibel zur Alten.
-
-
-
- Der Source-Code Generator
-
- Der Source-Code Generator ist nicht in das R.C.T. integriert sondern ist
- ein eigenständiges Programm. Sie finden es auf der Originaldiskette im
- Verzeichnis "SOURCE". Nach dem Start des Programmes RCT2ASC wird ein Requester
- innerhalb eines Fensters auf dem Workbenchscreen angezeigt.
-
- Für folgende Programmiersprachen kann Source-Code generiert werden:
-
- GFA-BASIC
- AMIGA-BASIC
- HISOFT-BASIC
- AZTEC-C
- LATTICE-C (SAS-C)
- AZTEC-ASSEMBLER
- HISOFT-ASSEMBLER
- KICK-ASSEMBLER
- KICK-C++ (noch im Vorbereitung. Wird im ersten Quartal `92 erwartet)
- KICK-PASCAL
- MODULA M2-AMIGA
-
- Sie könne zwischen verschiedenen Möglichkeiten der Source-Code erzeugung
- wählen. Die einfachste ist es, sich den puren Datencode erzeugen zu lassen.
- Dabei wird die vom R.C.T. gespeicherte Datei direkt in Date-Source
- umgewandelt.
-
- Möchten Sie jedoch einen fertigen Programmrumpf generieren, so daß das
- Ergebnis direkt compiliert oder intepretiert werden kann, muß die Option
- "mit Programmrumpf" eingeschaltet sein. Dabei hat man weiter
- Auswahlmöglichkeiten.
-
-
- OHNE LIBRARY
-
- Voreingestellt ist die Option "ohne Library". Mit dieser Einstellung wird
- Programmcode generiert, der rein auf die Systemlibraries ausgelegt ist.
-
- Das heist, zur Anzeige eines Requester wird zuvor ein Window geöffnet,
- dessen Source-Code (NewWindow-Struktur) ebenfalls erzeugt wird usw.
-
-
- MIT LINKER-LIBRARY
- MIT AMIGA-LIBRARY
-
- Ist einer der beiden Optionen eingeschaltet, wird auf die Funktionen der
- R.C.T.-Library zurückgegriffen. Der Unterschied zwischen den beiden
- Optionen ist, daß bei eingeschalteter AMIGA-Library im Hauptprogramm die
- RCT.LIBRAY geöffnet wird. Dies ist nicht notwendig, wenn die
- Linker-Library benutzt wird, da die RCT-Funktionen direkt an das Programm
- gelinkt werden.
-
- Bei eingeschalteter Linker- oder Amiga-Library Option besteht zusätzlich
- die Möglichkeit die Option "Resource nachladen" einzuschalten. Hierbei wird
- kein Daten-Source erzeugt sondern reiner Programmcode, in dem die Funktionen
- der RCT.LIBRARY genutzt werden um die mit dem R.C.T. erzeugt Obeflächendaten
- nachzuladen.
-
- Bevor nun mit der Codeerzeugung begonnen werden kann, muß eine R.C.T.-Datei
- ausgewählt werden. Mit Klick auf den Button "Datei Auswahl" erscheint eine
- File-Requester, mit dessen Hilfe Sie die gewünschte Datei auswählen können.
-
- Der Name der gewählten Datei wird im darunter stehenden String-Gadget
- angezeigt.
-
- KONVERTIEREN
-
- Sie können die Konvertierung mit Klick auf das Gadget "Starte Konvertierung"
- starten.
-
- Die erzeugt Datei wird in das Verzeichnis geschrieben, aus dem die R.C.T.-Datei
- gewählt wurde.
-
-
-
-
- Die RCT-Library Version 1.5
-
- Die RCT-Library enthält Funktionen zum Laden und Verwalten der mit R.C.T.
- erstellten Benutzeroberfläche. Sie ist komplett reentrant und enthält
- außerdem einen sehr komfortablen File-Requester und einen einfach
- aufrufbaren System-Alarm-Requester.
- Im Libraries-Verzeichnis der Diskette ist eine ".FD"-Datei enthalten,
- in der die Library Offsets und Funktionsparamter für BASIC und C enthalten
- sind. Anhand der FD-Datei können Sie die Libraryeinbindung für andere
- Progammiersprachen einfach nachbilden. In der R.C.T.-Endversion sind neben
- allen Include-Dateien auch Linker-Librarys für Aztec- und Lattice-Compiler
- enthalten.
-
-
- Die Versionsnummer der neue Library ist 15 mit der Revisionsnummer 7.
-
- Sie sollten also beim öffnen immer die Library mit der Versionsnummer 15
- verlangen.
-
-
-
- NAME
-
- rctload
-
- SYNOPSIS
-
- rctadress = rctload( pfad)
- A0
-
- APTR rctadress;
- char *pfad;
-
-
- ERKLÄRUNG
-
- Lädt die im String angegebene R.C.T.-Datei in den Speicher und liefert deren
- Adresse. Im String sollte nur der Dateiname stehen, da sich die Datei, bei
- ganzen Pfadangaben immer im betreffenden Pfad befinden muß.
- Es ist vielmehr sinnvoller, nur den Dateinamen anzugeben, und bevor das
- Programm gestartet wird, mit "CD" einen Pfad zu legen. Das Pfadproblem ist nur
- dann vorhanden, wenn ein Programm aus dem CLI gestartet wird. Startet man ein
- Programm von der Workbench, wird der aktuelle Pfad automatisch auf den gelegt,
- von dem aus das Programm gestartet wird.
-
- ÄNDERUNGEN
- Kann die angegebene Datei nicht gefunden werden, wird versucht, diese von
- Laufwerk "RCT:" zu laden. Dies bedeutet, daß Sie ein Verzeichnis anlegen können
- in das Sie alle RCT-Dateien kopieren und am besten in der Startup-Sequence das
- betreffende Verzeichnis mit "ASSIGN RCT: Verzeichnis" anmelden sollten.
- In den Requester-Flags wird das Flag NOISYREQ generell gesetzt. Dadurch ist es
- möglich auch RAWKEY-Codes bei aktivem Requester zu empfangen. Man muss zum
- Empfangen allerdings die Message-Funktion waitall() verwenden. Mit reqwait
- werden nur GADGETDOWN, GADGETUP und MOUSEBUTTON Messages geliefert.
-
- RÜCKGABEN
-
- Zurückgeliefert wird eine Adresse auf die geladenen Datei, die jeder anderen
- RCT-Library-Funktion, die aufgerufen wird, übergeben werden muß.
-
- SIEHE
-
- rctfree
-
- BUGS
-
- Fehler mit DISKFONTS. Wird ein gewünschter Diskfont nicht gefunden, wird als
- default immer der TOPAZ 8 Font genommen.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- rctfree
-
- SYNOPSIS
-
- Boolean = rctfree( rctadress)
- A0
- APTR rctadress;
-
- ERKLÄRUNG
-
- Gibt den durch die Funktion rctload() reservierten Speicherplatz wieder frei.
- Dies sollte am Ende jedes Programmes oder wenn eine
- andere RCT-Datei geladen wird, gemacht werden.
-
- Wurde die Funktion ausgeführt, führt jeder weitere Zugriff mit den
- RCT-Library-Funktionen auf die freigegebene RCT-Datei zu einem Systemabsturz.
-
- RÜCKGABEN
-
- Kann ignoriert werden.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- rctaddr
-
- SYNOPSIS
-
- addr = rctaddr( rctadress, art, id)
- A0 D0 D1
-
- struct Requester *addr; oder struct Menu *addr;
- APTR rctadress;
- SHORT art;
- SHORT id;
-
- ERKLÄRUNG
-
- Ermittelt die Adresse von Requester oder Menüleisten. Die Funktion muß vor dem
- Anzeigen von Requester oder Setzen von Menüleisten ausgeführt werden. Je nach
- Art wird die Speicheradresse eines Requesters (art = 0) oder die
- Speicheradresse einer Menüleiste (art > 0) zurückgeliefert. Die id der Objekte
- wird beim Speichern der RCT-Datei in einer Include-Datei abgelegt. Die Endung
- des Dateinamens unterscheidet sich je nach Programmierspracheneinstellung im
- R.C.T.
- Ist die der Funktion übergebene id zu groß, wird NULL zurückgeliefert.
-
- RÜCKGABE
-
- Ist art gleich 0 wird die Adresse des durch id definierten Requester und bei
- art größer 0 die Adresse der betreffenden Menüleiste zurückgeliefert.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- reqcenter
-
- SYNOPSIS
-
- Boolean = reqcenter( rctadress, requester, window)
- A0 A1 A2
-
- APRT rctadress;
- struct Requester *requester;
- struct Window *window;
-
- ERKLÄRUNG
-
- Zentriert den angegebenen Requester innerhalb der Ausmaße des angegebenen
- Windows. Ist der Requester bereits angezeigt, hat dies keine Auswirkung auf die
- Position des Requesters. Erst bei erneutem Anzeigen wird die Position neu
- gesetzt. Diese Funktion sollte deshalb vor dem Zeichnen des Requesters
- aufgerufen werden.
-
- RÜCKGABE
-
- Bei Erfolg TRUE andernfalls FALSE wobei dann eine der drei anzugebenden
- Adressen nicht initialisiert ist.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- reqdraw
-
- SYNOPSIS
-
- Boolean = reqdraw( rctadress, requester, window)
- A0 A1 A2
-
- APTR rctadress;
- struct Requester *requester;
- struct Window *window;
-
- ERKLÄRUNG
-
- Zeichnet den angegebenen Requester in das angegebene Window. Das Fenster sollte
- mindestens so groß wie der Requester sein.
-
- RÜCKGABE
-
- Ist nicht genügend CHIP-Speicher vorhanden, wird FALSE
- zurückgeliefert, andernfalls TRUE.
-
- HINWEIS
-
- Wird für ein Gadget innerhalb des Requesters das Flag ENDGADGET definiert, wird
- der Requester durch Inuition automatisch ge-
- schlossen, sobald man das Gadget anklick. In diesem Fall ist es nicht mehr
- möglich, den Requester mit der Funktion reqend() zu schließen.
-
-
-
- ----------------------------------------------------------------
-
- NAME
-
- reqdrawwindow
-
- SYNOPSIS
-
- window = reqdrawwindow( rctadress, requester, screen, title)
- A0 A1 A2 A3
-
- struct Window *window;
- APTR rctadress;
- struct Requester *requester;
- struct Screen *screen;
- char *title;
-
- ERKLÄRUNG
-
- Öffnet ein Window in der Größe des angegebenen Requesters und zeigt diesen
- darin an. Das Window ist verschiebbar und kann in den Vorder- oder Hintergrund
- geklickt werden. Ohne Angabe einer Screenadresse wird das Window auf dem
- Workbenchscreen geöffnet. Beim Schließen des Requesters mit der Funktion
- reqend() wird auch das Window geschlossen.
-
- RÜCKGABE
-
- Konnte die Funktion erfolgreich ausgeführt werden, wird die Adresse des Windows
- zurückgeliefert, andernfalls NULL.
-
- HINWEIS
-
- Wird für ein Gadget innerhalb des Requesters das Flag ENDGADGET definiert, wird
- der Requester durch Inuition automatisch ge-
- schlossen, sobald man das Gadget anklick. In diesem Fall ist es nicht mehr
- möglich, den Requester mit der Funktion reqend() zu schließen. Man muß dann das
- Window selbst schließen.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- reqwait
-
- SYNOPSIS
-
- id = reqwait( rctadress, requester, &messageart)
-
- SHORT id;
- APTR rctadress;
- struct Requester *requester;
- ULONG messageart;
-
- ERKLÄRUNG
-
- Wartet auf Nachrichten, die auftreten, wenn mit der Maus Gadgets innerhalb des
- angegebenen Requesters angeklickt werden.
- RÜCKGABEN
-
- Zurückgeliefert wird die ID-Nummer des angeklickten Gadgets und in messageart,
- ob das Gadget gedrückt (GADGETDOWN) oder losgelassen wurde (GADGETUP). Da die
- Nachricht GADGETUP nur dann geliefert wird, wenn man den Mausebutton über dem
- Gadget losläßt, würde man keine Nachricht erhalten, wenn der Mausbutton
- außerhalb des Gadgets losgelassen wird. In diesem Fall liefert die Funktion in
- messageart eine MOUSEBUTTON Nachricht. Dabei muß nicht ausgewertet werden, ob
- es sich um SELECTDOWN oder SELECTUP handelt, da diese Nachricht nur bei
- SELECTUP geliefert wird.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- getreqstruct
-
- SYNOPSIS
-
- wert = getreqstruct( rctadress, requester, item)
- A0 A1 D0
-
- VOID wert;
- APTR rctadress;
- struct Requester *requster;
- SHORT item;
-
- ERKLÄRUNG
-
- Liefert den Wert des angegebenen Requester-Strukturteils.
-
- Folgende Werte kann item annehmen:
-
- item = 0 -> struct Requester *OlderRequest
- item = 1 -> LeftEdge
- item = 2 -> TopEdge
- item = 3 -> Width
- item = 4 -> Height
- item = 5 -> RelLeft
- item = 6 -> RelTop
- item = 7 -> struct Gadget *ReqGadget
- item = 8 -> struct Border *ReqBorder
- item = 9 -> struct InuiText *ReqText
- item = 10 -> Flags
- item = 11 -> BackFill
- item = 12 -> struct Layer *ReqLayer
- item = 13 -> struct BitMap *ImageBMap
- item = 14 -> struct Window * RWindow
-
-
- ----------------------------------------------------------------
-
- NAME
-
- setreqstruct
-
- SYNOPSIS
-
- Boolean = setreqstruct( rctadress, requester, item, wert)
- A0 A1 D0 D1
- APTR rctadress;
- struct Requester *requester;
- SHORT item;
- SHORT wert;
-
- ERKLÄRUNG
-
- Setzt den in item angegebenen Struturteil der Requester-
- Struktur auf den
- in wert angegebenen Wert.
-
- Folgende Werte kann item annehmen:
-
- item = 1 -> LeftEdge
- item = 2 -> TopEdge
- item = 3 -> Width
- item = 4 -> Height
- item = 5 -> RelLeft
- item = 6 -> RelTop
- item = 7 -> Flags
- item = 8 -> BackFill
- Ist der Requester angezeigt, verändert sich nichts an seinem
- Aussehen. Erst wenn er erneut angezeigt wird, wird eine Ver~
- änderung sichtbar.
-
- ----------------------------------------------------------------
-
- NAME
-
- setreqtext
-
- SYNOPSIS
-
- Boolean = setreqtext( rctadress, requester, id, stringadr)
- A0 A1 D0 A2
- APTR rctadress;
- struct Requester *requester;
- SHORT id;
- char *stringadr;
-
- ERKLÄRUNG
-
- Setzt einen neuen Textstring in eine Requestertext. Ist der Requester angezeigt
- wird das Textfeld neugezeichnet, so daß der neue Text direkt sichtbar wird.
-
-
- ----------------------------------------------------------------
-
- NAME
- getreqtext
-
- SYNOPSIS
-
- stringadr = getreqtext( rctadress, requester, id)
- A0 A1 D0
- char *stringadr;
- APTR rctadress;
- struct Requester *requester;
- SHORT id;
-
- ERKLÄRUNG
-
- Liefert die Adresse des Textstrings des angegebenen Requester~
- textes. In GFA-Basic wird ein Basic-String zurückgeliefert.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- gettextstruct
-
- SYNOPSIS
-
- wert = gettextstruct( rctadress, requester, id, item)
- A0 A1 D0 D1
- VOID wert;
- APTR rctadress;
- struct Requester *requester;
- SHORT id;
- SHORT item;
-
- ERKLÄRUNG
-
- Ermittelt den Wert des in item angegebenen Strukturteils der IntuiTextstruktur.
- Item kann folgende Werte annehmen:
-
- item = 0 -> FrontPen
- item = 1 -> BackPen
- item = 2 -> DrawMode
- item = 3 -> LeftEdge
- item = 4 -> TopEdge
- item = 5 -> struct TextAttr *ITextFont
- item = 6 -> Adresse der Textstrings
- item = 7 -> Adresse des nächsten Requester-Textes
-
-
- ----------------------------------------------------------------
-
-
- NAME
-
- settextstruct
-
- SYNOPSIS
-
- Boolean = settextstruct( rctadress, requester, id, item, wert)
- A0 A1 D0 D1 D2
- APTR rctadress;
- struct Requester *requester;
- SHORT id;
- SHORT item;
- SHORT wert;
-
- ERKLÄRUNG
-
- Schreibt den in wert angegebenen Wert in den in item angebenen Strukturteil der
- Intuitext Struktur eines Requestertextes.
-
- Item kann folgende Werte annehmen:
-
- item = 0 -> FrontPen
- item = 1 -> BackPen
- item = 2 -> DrawMode
- item = 3 -> LeftEdge
- item = 4 -> TopEdge
-
-
- ----------------------------------------------------------------
- NAME
-
- setgadtext
-
- SYNOPSIS
-
- Boolean = setgadtext( rctadress, requester, id, stringadr)
- A0 A1 D0 A2
- APTR rctadress;
- struct Requester *requester;
- SHORT id;
- char *stringadress;
-
- ERKLÄRUNG
-
- Setzt anstelle des Gadgettextes einen neuen Textstring ein.
- Ist der Requester auf dem Bildschirm angezeigt, wird das Gadget gleichzeitig
- neu gezeichnet, so daß der neue Text direkt sichtbar wird.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- getgadtext
-
- SYNOPSIS
-
- stringadr = getgadtext( rctadress, requester , id)
- A0 A1 D0
-
- APTR rctadress;
- struct Requester *requester;
- short id;
-
- ERKLÄRUNG
-
- Ermittelt die Adresse des Gadgettexts der im Gadget mit der Objetnummer id
- gesetzt ist. In GFA-Basic wird ein Basic-String zurückgeliefert.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- getgadstruct
-
- SYNOPSIS
-
- wert = getgadstruct( rctadress, requester, id, item)
- A0 A1 D0 D1
- void wert;
- APTR rctadress;
- struct Requester *requester;
- SHORT id;
- SHORT item;
-
- ERKLÄRUNG
-
- Ermittelt den Wert des Strukturteils item der Gadget Struktur des in der
- Objektnummer id angegebenen Gadgets.
-
- item kann folgende Werte annehmen:
-
- item = 0 -> Adresse der Gadget-Struktur
- item = 1 -> struct Gadget *NextGadget
- item = 2 -> LeftEdge
- item = 3 -> TopEdge
- item = 4 -> Width
- item = 5 -> Height
- item = 6 -> Flags
- item = 7 -> Activation
- item = 8 -> GadgetType
- item = 9 -> APTR GadgetRender
- item = 10 -> APTR SelectRender
- item = 11-> struct IntuiText *GadgetText
- item = 12-> MutualExclude
- item = 13-> APTR SpecialInfo
- item = 14-> Gadgetid
- item = 15-> APTR UserData
-
- ----------------------------------------------------------------
-
- NAME
-
- setgadstruct
-
- SYNOPSIS
-
- Boolean = setgadstruct( rctadress, requester, id, item, wert)
- A0 A1 D0 D1 D2
- APTR rctadress;
- struct Requester *requester;
- SHORT id;
- SHORT item;
- void wert
-
- ERKLÄRUNG
-
- Schreibt in das in item angegebene Strukturteil der Gadget Struktur
- den Wert wert.
-
- item kann folgende Werte annehmen:
-
- item = 1 -> LeftEdge
- item = 2 -> TopEdge
- item = 3 -> Width
- item = 4 -> Height
- item = 5 -> Flags
- item = 6 -> Activation
- item = 7 -> GadgetType
- item = 8 -> MutualExclude
- item = 9 -> Gadgetid
- item = 10-> APTR UserData
-
- ----------------------------------------------------------------
-
- NAME
-
- redrawgadgets
-
- SYNOPSIS
-
- Boolean = redrawgadgets( rctadress, requester, id)
- A0 A1 D0
- APTR rctadress;
- struct Requester *requester;
- SHORT id;
-
- ERKLÄRUNG
- Zeichnet alle Gadgets ab dem in id angegebenen Gadget ent-
- sprechend ihrer Verbindung neu.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- redrawgad
-
- SYNOPSIS
-
- Boolean = redrawgad( rctadress, requester, id, anzahl)
- A0 A1 D0 D1
- APTR rctadress;
- struct Requester *requester;
- SHORT id;
- SHORT anzahl;
- ERKLÄRUNG
-
- Zeichnet die in anzahl angegebenen Gadgets ab dem in id angegebenen Gadget neu.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- aktivegad
-
- SYNOPSIS
-
- Boolean = aktivegad( rctadress, requester, id)
- A0 A1 D0
- APTR rctadress;
- struct Requester *requester;
- SHORT id;
-
- ERKLÄRUNG
-
- Aktiviert das in id angegebene String Gadget, so da
- s, requester, id, stringadr)
- A0 A1 D0 A2
- APTR rctadress;
- struct Requester *requester;
- SHORT id;
- char *stringadr;
-
- ERKLÄRUNG
-
- Setzt einen neuen Text in das Eingabefeld eines String Gadgets.
- Ist der Requester zu dem das Gadget gehört angezeigt, wird der neue Text direkt
- sichbar.
-
-
-
- ----------------------------------------------------------------
-
- NAME
- getstrgadtext
-
- SYNOPSIS
-
- stringadr = getstrgadtext( rctadress, requester, id)
- A0 A1 D0
- char *stringadress;
- APTR rctadress;
- struct Requester *requester;
-
- ERKLÄRUNG
-
- Ermittelt die Adresse des Textes der in das Eingabefeld des String Gadget mit
- der Objektnummer id eingegeben wurde.
- In GFA-Basic wird ein Basic-String zurückgeliefert.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- getstrgadstruct
-
- SYNOPSIS
-
- wert = getstrgadstruct( rctadress, requester, id, item)
- A0 A1 D0 D1
- void wert;
- APRT rctadress;
- struct Requester *requester;
- SHORT id;
- SHORT item;
-
- ERKLÄRUNG
-
- Ermittelt den in item angegebenen Strukturteil der Stringinfo Struktur des
- String Gadgets mit der Objektnummer id.
-
- item kann folgende Werte annehmen:
-
- item = 0 -> Adresse der StringInfo-Struktur
- item = 1 -> *Buffer
- item = 2 -> *UndoBuffer
- item = 3 -> BufferPos
- item = 4 -> MaxChars
- item = 5 -> DispPos
- item = 6 -> UndoPos
- item = 7 -> NumChars
- item = 8 -> DispCount
- item = 9 -> CLeft
- item = 10-> CTop
- item = 11-> struct Layer *LayerPtr
- item = 12-> LongInt
- item = 13-> struct KeyMap *AltKeyMap
-
-
- ----------------------------------------------------------------
-
- NAME
-
- setstrgadstruct
-
- SYNOPSIS
-
- Boolean = setstrgadstruct( rctadress, requester, id, item, wert)
- A0 A1 D0 D1 D2
- APTR rctadress;
- struct Requester *requester;
- SHORT id;
- SHORT item;
- SHORT wert;
-
- ERKLÄRUNG
-
- Schreibt den in wert angegebenen Wert in das in item angegebene Strukturteil
- der Stringinfo Struktur des String Gadgets mit der Objektnummer id.
-
- item kann folgende Werte annehmen:
- item = 1 -> BufferPos
- item = 2 -> MaxChars
- item = 3 -> DispPos
-
-
- ----------------------------------------------------------------
-
- NAME
-
- getpropgadstruct
-
- SYNOPSIS
-
- wert = getpropgadstruct( rctadress, requester, id, item)
- A0 A1 D0 D1
- void wert
- APTR rctadress;
- struct Requester *requester;
- SHORT id;
- SHORT item;
-
- ERKLÄRUNG
-
- Ermittelt den Wert des in item angegebenen Strukturteiles der Propinfo Strutur
- des Proportional Gadgets mit der Objektnummer id.
-
- item kann folgende Werte annehmen:
-
- item = 0 -> Adresse der PropInfo-Struktur
- item = 1 -> Flags
- item = 2 -> HorizPot
- item = 3 -> VertPot
- item = 4 -> HorizBody
- item = 5 -> VertBody
- item = 6 -> CWidth
- item = 7 -> Height
- item = 8 -> HPotRes
- item = 9 -> VPotRes
- item = 10-> LeftBorder
- item = 11-> TopBorder
-
-
-
- ----------------------------------------------------------------
-
- NAME
-
- setpropgadstuct
-
- SYNOPSIS
-
- Boolean = setpropgadstruct( rctadress, requester, id, item, wert)
- A0 A1 D0 D1 D2
-
- APTR rctadress;
- struct Requester *requester;
- SHORT id;
- SHORT item;
- UHORT wert;
-
- ERKLÄRUNG
-
- Schreibt den in wert angegebenen Wert in den in item angegegeben Strukturteil
- der Propinfo Struktur des Proportional Gagets mit der Objektnummer id.
-
- item kann folgende Werte annehmen:
-
- item = 1 -> Flags
- item = 2 -> HorizPot
- item = 3 -> VertPot
- item = 4 -> HorizBody
- item = 5 -> VertBody
-
-
- ----------------------------------------------------------------
-
- Menü-Bibliothek
-
-
- NAME
-
- menudraw
-
- SYNOPSIS
-
- Boolean = menudraw( rctadress, menu, window)
- A0 A1 A2
- APTR rctadress;
- struct Menu *menu;
- struct Window *window;
-
- ERKLÄRUNG
-
- Setzt in das in window angegebene Window die in menu angegebene Menüleiste.
-
- ----------------------------------------------------------------
-
- NAME
-
- menuend
-
- SYNOPSIS
-
- Boolean = menuend( rctadress, menu, window)
- A0 A1 A2
- APTR rctadress;
- struct Menu *menu;
- struct Window *window;
-
- ERKLÄRUNG
-
- Löscht die in menu angegeben Menüleiste aus dem in window angegebenen Window.
- Die Menüleiste wird dabei nicht aus dem Speicher gelöscht. Dies geschieht mit
- der Funktion rctfree().
-
- ----------------------------------------------------------------
-
- NAME
-
- setmenutitle
-
- SYNOPSIS
-
- Boolean = setmenutitle( rctadress, menu, menuid, stringadr)
- A0 A1 D0 A2
- APTR rctadress;
- struct Menu *menu;
- SHORT menuid;
- char *stringadr;
- ERKLÄRUNG
-
- Schreibt den neuen String in den Menütitel mit der Objektnummer menuid.
-
-
-
- ----------------------------------------------------------------
-
- NAME
-
- getmenutitle
-
- SYNOPSIS
-
- stringadr = getmenutitle( rctadress, menu, menuid)
- A0 A1 D0
- char *stringadr;
- APTR rctadress;
- struct Menu *menu;
- SHORT menuid;
-
- ERKLÄRUNG
-
- Ermittelt die Adresse des Menütiteltextes des Menütitel mit der Objektnummer
- menuid.
- In GFA-Basic wird ein Basic String zurückgeliefert.
-
-
-
- ----------------------------------------------------------------
-
- NAME
-
- setmenustruct
-
- SYNOPSIS
-
- Boolean = setmenustruct( rctadress, menu, menuid, item, wert)
- A0 A1 D0 D1 D2
- APTR rctadress;
- struct Menu *menu;
- SHORT menuid;
- SHORT item;
- void wert;
-
- ERKLÄRUNG
-
- Schreibt den in wert angegebenen Wert in den in item angegebenen Strukturteil
- des Menüs mit der Objektnummer menuid.
-
- item kann folgende Werte anehmen:
-
- item = 0 -> Adresse der Menu-Struktur
- item = 1 -> struct Menu *NextMenu
- item = 2 -> LeftEdge
- item = 3 -> TopEdge
- item = 4 -> Width
- item = 5 -> Height
- item = 6 -> Flags
- item = 7 -> *MenuName item = 8 -> struct MenuItem *FirstItem
-
-
- ----------------------------------------------------------------
-
- NAME
-
- getmenustruct
-
- SYNOPSIS
-
- wert = getmenustruct( rctadress, menu, menuid, item)
- A0 A1 D0 D1
- SHORT wert;
- APTR rctadress;
- struct Menu *menu;
- SHORT menuid;
- SHORT item;
-
- ERKLÄRUNG
-
- Ermittelt den Wert des in item angegebenen Strukturteil der Menü Struktur des
- Menüs mit der Objektnummer menuid.
-
- item kann folgende Werte anehmen:
-
- item = 1 -> LeftEdge
- item = 2 -> TopEdge
- item = 3 -> Width
- item = 4 -> Height
- item = 5 -> Flags
-
- ----------------------------------------------------------------
-
- NAME
-
- setmenuitext
-
- SYNOPSIS
-
- Boolean = setmenuitext( rctadress, menu, menuid, itemid, stringadr)
- A0 A1 D0 D1 A2
- APTR rctadress;
- struct Menu *menu;
- SHORT menuid;
- SHORT itemid;
- char *stringadr;
-
- ERKLÄRUNG
-
- Schreibt den in String der an der Adresse stringadr im Speicher steht
- in den Menüeintrag mit der Objektnummer itemid.
-
-
-
- ----------------------------------------------------------------
-
- NAME
-
- getmenuitext
-
- SYNOPSIS
-
- stringadr = getmenuitext( rctadress, menu, menuid, itemid)
- A0 A1 D0 D1
-
- char *stringadr;
- APTR rctadress;
- struct Menu *menu;
- SHORT menuid;
- SHORT itemid;
-
- ERKLÄRUNG
-
- Ermittlet die Adresse des Textstrings des Menüeintrages mit der Objektnummer
- itemid im Pull-Down Menü mit der Objektnummer menuid.
- In GFA-Basic wird ein Basic-String zurückgeliefert.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- setmenuitemstruct
-
- SYNOPSIS
-
- Boolean = setmenuitemstruct( rctadress, menu, menuid, itemid, item, wert)
- A0 A1 D0 D1 D2 D3
- APTR rctadress;
- struct Menu *menu;
- SHORT menuid;
- SHORT itemid;
- SHORT item;
- void wert;
-
- ERKLÄRUNG
-
- Schreibt den in wert enthaltenen Wert in die Strukturkomponente item des
- Menüeintrages mit der Objektnummer itemid im Pull-Down-
- Menü mit der Objektnummer menuid.
-
- item kann folgende Werte annehmen:
-
- item = 1 -> LeftEdge
- item = 2 -> TopEdge
- item = 3 -> Width
- item = 4 -> Height
- item = 5 -> Flags
- item = 6 -> MutualExclude
- item = 7 -> Command
- item = 8 -> NextSelect
-
-
- ----------------------------------------------------------------
-
- NAME
-
- getmenuitemstruct
-
- SYNOPSIS
-
- wert = getmenuitemstruct( rctadress, menu, menuid, itemid, item)
- A0 A1 D0 D1 D2
-
- void wert;
- APTR rctadress;
- struct Menu *menu;
- SHORT menid;
- SHORT itemid;
- SHORT item;
-
- ERKLÄRUNG
-
- Ermittelt den Wert der in item angegebenen Strukturkomponente der Menuitem
- Struktur des Menüeintrages mit der Objektnummer itemid im Pull-Down-Menü mit
- der Objektnummer menuid.
-
- item kann folgende Werte annehemen:
-
- item = 0 -> Adresse der MenuItem-Struktur
- item = 1 -> struct MenuItem *NextItem
- item = 2 -> LeftEdge
- item = 3 -> TopEdge
- item = 4 -> Width
- item = 5 -> Height
- item = 6 -> Flags
- item = 7 -> MutualExclude
- item = 8 -> APTR ItemFill
- item = 9 -> APTR SelectFill
- item = 10-> Command
- item = 11-> struct MenuItem *SubItem
- item = 12-> NextSelect
-
- ----------------------------------------------------------------
-
- NAME
-
- setmenustext
-
- SYNOPSIS
-
- Boolean = setmenustext( rctadress, menu, menuid, itemid, subid, stringadr)
- A0 A1 D0 D1 D2 A2
-
- APTR rctadress;
- struct Menu *menu;
- SHORT menuid;
- SHORT itemid;
- SHORT subid;
- char *stringadr;
-
- ERKLÄRUNG
-
- Schreibt einen neuen Text in das Submenü mit der Objektnummer subid, dessen
- ursprung im Menüeintrag mit der Objektnummer itemid liegt und sich im
- Pull-Down-Menü mit der Objektnummer menuid befindete.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- getmenustext
-
- SYNOPSIS
-
- stringadr = getmenustext( rctadress, menu, menuid, itemid, subid)
- A0 A1 D0 D1 D2
- char *stringadr;
- APTR rctadress;
- struct Menu *menu;
- SHORT menuid;
- SHORT itemid;
- SHORT subid;
-
- ERKLÄRUNG
-
- Ermittelt die Adresse des Textstrigns des Submenü mit der Objektnummer subid,
- dessen ursprung im Menüeintrag mit der Objektnummer itemid liegt und sich im
- Pull-Down-Menü mit der Objektnummer menuid befindete.
- In GFA-Basic wird ein Basic-String zurückgeliefert.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- setmenusubstruct
- SYNOPSIS
-
- Boolean = setmenusubstruct( rctadress, menu, menuid, itemid, subid ,item,
- wert)
- A0 A1 D0 D1 D2
- D3 D4
- APTR rctadress;
- struct Menu *menu;
- SHORT menuid;
- SHORT itemid;
- SHORT subid;
- SHORT item;
- void wert;
-
- ERKLÄRUNG
-
- Schreibt den Inhalt von wert in die in item angegebene Struktur-
- komponuente des Submenüs mit der Objetnummer subid, dessen Ursprung im
- Menüeintrag mit der Objektnummer itemid liegt und sich im Pull-Down-Menü mit
- der Objektnummer menuid befindete.
-
- item kann folgende Werte annehmen:
-
- item = 1 -> LeftEdge
- item = 2 -> TopEdge
- item = 3 -> Width
- item = 4 -> Height
- item = 5 -> Flags
- item = 6 -> MutualExclude
- item = 7 -> Command
- item = 8 -> NextSelect
-
-
- ----------------------------------------------------------------
-
- NAME
- getmenusubstruct
-
- SYNOPSIS
-
- wert = getmenusubstruct( rctadress, menu, menuid, itemid, subid, item)
- A0 A1 D0 D1 D2 D3
- void wert;
- APRT rctadress;
- struct Menu *menu;
- SHORT menuid;
- SHORT itemid;
- SHORT subid;
- SHORT item;
-
- ERKLÄRUNG
-
- Ermittelt den Wert der in item angegebenen Strukturkomponenten des Submenü mit
- der Objektnummer subid, dessen ursprung im Menüeintrag mit der Objektnummer
- itemid liegt und sich im Pull-Down-Menü mit der Objektnummer menuid befindete.
-
- item kann folgende Werte annehemen:
-
- item = 0 -> Adresse der MenuItem-Struktur
- item = 1 -> struct MenuItem *NextItem
- item = 2 -> LeftEdge
- item = 3 -> TopEdge
- item = 4 -> Width
- item = 5 -> Height
- item = 6 -> Flags
- item = 7 -> MutualExclude
- item = 8 -> APTR ItemFill
- item = 9 -> APTR SelectFill
- item = 10-> Command
- item = 11-> NextSelect
-
-
- ----------------------------------------------------------------
-
- NAME
-
- showscreen
-
- SYNOPSIS
-
- screen = showscreen( rctadress, mod, depth, title)
- A0 D0 D1 A1
- struct Screen *screen;
- APTR rctadress;
- USHORT mod;
- SHORT depth;
- char *title;
-
- ERKLÄRUNG
-
- Öffnet einen Screen in der angegebenen Auflösung und Tiefe und liefert die
- Adresse auf die Screen Struktur zurück. Unter Workbench 2.0 wird der Screen
- automatisch im 3D-Look geöffnet.
-
-
-
- ----------------------------------------------------------------
-
- NAME
-
- remscreen
-
- SYNOPSIS
-
- Boolean = remscreen( rctadress, screen)
- A0 A1
-
- APTR rctadress;
- struct Screen *screen;
-
- ERKLÄRUNG
-
- Bevor der Screen geschlossen wird, werden alle Windows und Requester
- geschlossen, so daß keine Fensterleichen entstehen.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- form_alert
-
- SYNOPSIS
-
- id = form_alert( default, commandstring)
- D0 A0
-
- SHORT id;
- SHORT default;
- char *commandstring;
-
- ERKLÄRUNG
-
- Zeigt eine Alarm-Requester zentriert auf dem aktiven Screen an.
- Im commandstring sind sowohl die Texte der Alarmmeldung als auch die der
- Gadgets enthalten. Es können maximal 5 Textzeilen je 30 Zeichen und Maximal 3
- Gadgets mit je 12 Zeichen ausgegeben werden.
- Der String hat folgendes Format:
- "[SYMBOLNUMMER][1. Textzeile|2. Textzeile|3. Textzeile|4. Textzeile|5.
- Textzeile][1. Gadget|2. Gadget|3. Gadget]"
-
- Wie Sie sehen werden die Textzeilen und die Gadgets durch ein |-
- Zeichen voneinander getrennt. Die erste Ziffer, die mit SYMBOLNUMMER bezeichnet
- ist, wählt das Symbol, das links im Requester erscheinen soll.
- Es gibt vier Möglichkeiten:
-
- 0 -> kein Symbol
- 1 -> NOTE (ein auf der Spitze stehendes Quadrat mit Ausrufezeichen)
- 2 -> WAIT (ein Fragezeichen in einem Achtung-Schild)
- 3 -> STOP (ein STOP-Schild)
-
- Eines der Gadgets kann durch die Variable default als Default-Gadgets definiert
- werden. Das Default-Gadget ist durch eine dickeren Rahmen in der Farbe mit dem
- Index 3 unübersehbar und kann mit der Taste Return ausgewählt werden.
- Ist der Requester auf dem Bildschirm angezeigt, kann der Rahmen mit den
- Cursor-Tasten von Gadget zu Gadget gewechselt werden. Es ist immer das Gadget
- mit Return wählbar, auf dem der Default-
- Rahmen gezeichnet ist.
-
- Ist default = 0 gibt es kein Default-Gadget.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- filer
-
- SYNOPSIS
-
- boolean = filer( rctfilereq)
-
- struct RCTFileRequester *rctfilereq;
-
-
- ERKLÄRUNG
-
- Durch Aufrufen dieser Funktion erscheint ein komfortabler, vollkommen
- tastatursteuerbarer, reentranter Datei-Requester. Der Requester erscheint
- wahlweise in einem verschiebaren Window oder in einem feststehenden Requester.
-
- Die Datenstruktur deren Adresse übergeben werden muß, muß nicht unbedingt
- initialisiert werden, was den Aufruf aus Programmiersprachen wie Basic
- erheblicht vereinfacht. Die Struktur sollte aber wenigstens mit Nullen gefüllt
- sein.
-
- Die Datenstruktur und die einstellbaren Flags wurden vom FileRequester Aufruf
- der REQUESTER.Library übernommen, so daß eine Umstellung auf den
- RCT-File-Requester sehr einfach gemacht werden kann.
-
- Die Struktur sieht folgendermaßen aus:
-
-
- struct RCTFileRequester
- {
- UWORD VersionNumber; /* Die Versionsnummer der Library, die beim
- Programmieren verwendet wird */
-
- char *Title; /* Entweder der Fenstertitel oder ein besonderes
- Requestergadget */
- char *Dir; /* Pfad-Array (DSIZE+1) */
- char *File; /* Dateiname-Array (FCHARS+1) */
- char *PathName; /* Pfad- und Dateinamen-Array (DSIZE+FCHARS+2) */
-
- struct Window *Window; /* Window in dem der Requester angezeigt werden
- soll oder NULL */
- UWORD reserved; /* wird ignoriert */
- UWORD numlines; /* wird ignoriert */
- UWORD numcolumns; /* wird ignoriert */
- UWORD devcolumns;
- ULONG Flags; /* Definitionen der Flags siehe weiter */
- UWORD dirnamescolor; /* wird ignoriert */
- UWORD filenamescolor; /* wird ignoriert */
- UWORD devicenamescolor; /* wird ignoriert */
- UWORD fontnamescolor; /* wird ignoriert */
- UWORD fontsizescolor; /* wird ignoriert */
-
- UWORD detailcolor; /* wird ignoriert */
- UWORD blockcolor; /* wird ignoriert */
- UWORD gadgettextcolor; /* wird ignoriert */
- UWORD textmessagecolor; /* wird ignoriert */
- UWORD stringnamecolor; /* wird ignoriert */
- UWORD stringgadgetcolor; /* wird ignoriert */
- UWORD boxbordercolor; /* wird ignoriert */
- UWORD gadgetboxcolor; /* wird ignoriert */
-
- UWORD FRU_Stuff[18]; /* Reserviert, sollte NULL sein */
- struct DateStamp DirDateStamp; /* wird ignoriert */
-
- UWORD WindowLeftEdge; /* Diese beiden Felder werden benutzt, um den
- Requester zu */
- UWORD WindowTopEdge; /* positionieren. */
-
- UWORD FontYSize; /* wird ignoriert */
- UWORD FontStyle; /* wird ignoriert */
-
- ULONG *reserved1; /* Reserviert */
- char Hide[WILDLENGTH+2]; /* Wildcards Text für Dateien die nicht
- angezeigt werden sollen */
- char Show[WILDLENGTH+2]; /* Wildcards Text für Dateien die angezeigt
- werden sollen */
- WORD FileBufferPos; /* Werte für Stringgadgets */
- WORD FileDispPos; WORD DirBufferPos; WORD
- DirDispPos; WORD HideBufferPos;
- WORD HideDispPos;
- WORD ShowBufferPos;
- WORD ShowDispPos;
-
- /**; Die nachfolgenden Felder sind Privat und sollten aus Ihren
- Programmen nie angesprochen oder genutzt werden */
-
- APTR privat1;
- APTR privat2;
- APTR privat3;
- char privat4[DSIZE+2]; /* Used for keeping a record of which */
- struct FileInfoBlock *privat6;
- WORD privat7;
- WORD privat8;
- WORD privat9;
- WORD privat10;
- };
-
-
- DSIZE ist die Definition für die Größe des Pfadnamen-Arrays.
- FCHARS steht für die Größe des Dateinamen-Arrays.
- WILDLENGTH ist die länge des Stings für den Hide- und Showtext.
-
- Durch folgende Flags kann das Aussehen und die Art des Requesters verändert
- werden:
-
- FRQCACHINGM /* Wenn das eingelesene Verzeichnis zwischengespeichert und
- beim nächsten Aufruf des Requesters wieder aufgerufen werden
- soll */
- FRQABSOLUTEXYM /* in den Felder WindowLeftEdge, WindowTopEdge werden
- Koordianten angegeben anderenfalls wird der Requester
- zentiert */
- FRQCACHEPURGEM /* Das zwischengespeicherte Verzeichnis wird neu geladen wenn
- sich das Datum des Verzeichnisses geändert hat */
- FRQNOHALFCACHEM /* Die eingelesenen Dateien werden nicht bis zum nächsten
- Aufruf zwischengespeichert, wenn sie nicht vollständig
- eingelesen werden konnten */
- FRQNOSORTM /* Die Dateinamen sollen unsortiert angezeigt werden */
- FRQNODRAGM /* Der Requester kann nciht verschoben oder in den
- Hinter-/Vordergrund geholt werden */
- FRQSAVINGM /* Im "OK-Gadget" wird der Text "SAVE" angezeigt */
- FRQLOADINGM /* Im "OK-Gadget" wird der text "LOAD" angezeigt */
- FRQNODEPTHM /* Das Fenster soll zwar verschiebbar aber nicht in der
- Vorder-/Hintergrund stellbar sein. */
-
-
- Alle Funktionen des Requesters können mit der Tastatur erreicht werden. Die
- Gadgets sind durch Drücken der Ctrl-Taste zusammen mit dem jeweiligen
- Anfangsbuchstaben des Gadgettextes zu erreichen.
-
- Das aktuelle Device sowie der erste Dateiname sind nach Aufruf des Requester
- invers unterlegt. Mit den Cursortasten-Auf und -Ab kann der Dateiname
- gewechselt werden. Tatsächlich angewählt und in das String-Gadtet übernommen
- wird er allerdings erst, wenn Return betätigt wird. Genau so verhält es sich
- auch mit den Devices. Es muß lediglich zusammen mit den Cursortasten die Ctrl-
- Taste gedrückt werden um in der Deviceliste zu scrollen. Ctrl und Return wählt
- ein Device an um lädt dessen Inhaltsverzeichnis.
- Eventuell Pfadeinstellungen werden beim Wechseln der Devices gemerkt und bei
- erneuten Wechsel wieder eingestellt.
-
-
- ----------------------------------------------------------------
-
- NAME
-
- filercachefree
-
- SYNOPSIS
-
- void filercachefree( rctfilereq)
- A0
- struct RCTFileRequester *rctfilereq;
-
-
- ERKLÄRUNG
-
- Ist bei Aufruf des FilerRequester das Flag zum Zwischenspeichern (FRQCACHINGM)
- des Verzeichnisses eingestellt gewesen, muß spätestens beim Beenden des
- Programmes der Speicher wieder freigeben werden.
-
- ----------------------------------------------------------------
-
- NAME
-
- waitall
-
- SYNOPSIS
-
- void waitall( Port, message)
- A0 A1
- struct MessagePort *port;
- struct IntuiMessage *message;
-
-
- ERKLÄRUNG
-
- Anders als bei reqwait werden bei dieser Funktion die IDCMP-Flags
- des Fensters nicht beeinflußt. Sie liefert eine exakte Kopie der
- Nachricht und schickt die Original-Nachricht an das System zurück.
- Die Auswertung bleibt Ihnen überlassen.
-
- Beispiel:
-
- struct IntuiMessage message; /* kein Pointer sondern die ganze Struktur */
- struct Window *window;
-
- waitall( window->UserPort, &message);
-
- if(message.Class & RAWKEY)
- {
- ......
- }
-
-
- SIEHE
-
- reqwait
-
-
- ----------------------------------------------------------------
-
- NAME
-
- gaddrawwindow
-
- SYNOPSIS
-
- window = gaddrawwindow( rctadress, requester, screen, title, idcmp, flags)
- A0 A1 A2 A3 d0 d1
-
- struct Window *window;
- APTR rctadress;
- struct Requester *requester;
- struct Screen *screen;
- char *title;
- ULONG idcmp;
- ULONG flags;
-
- ERKLÄRUNG
-
- Öffnet ein Window in der Größe des angegebenen Requesters und zeigt diesen
- darin an. Ohne Angabe einer Screenadresse wird das Window auf dem
- Workbenchscreen geöffnet. Beim Schließen des Requesters mit der Funktion
- reqend() wird auch das Window geschlossen.
- Der einzige Unterschied zu reqdrawwindow ist der, daß alle Gadgets,
- Requestertexte und Border direkt auf Window gebracht werden. Man hat dadurch
- den Vorteil, das zusätzlich zur Abfrage der Gadgets noch die Menüleiste
- berücksichtigt werden kann.
-
- RÜCKGABE
-
- Konnte die Funktion erfolgreich ausgeführt werden, wird die Adresse des Windows
- zurückgeliefert, andernfalls NULL.
-
- HINWEIS
-
- Wird für ein Gadget innerhalb des Requesters das Flag ENDGADGET definiert,
- wird der Requester durch Inuition automatisch geschlossen, sobald man
- das Gadget anklick. In diesem Fall ist es nicht mehr möglich, den Requester
- mit der Funktion reqend() zu schließen. Man muß dann das
- Window selbst schließen.
-
-
- ----------------------------------------------------------------
-