Dokumentation zu ProjectManager (projman), einem GUI-FrontEnd fuer Oberon. DISCLAIMER: Diese Programm ist Freeware. D.h. es ist frei kopierbar, solange das gesamte Archive unveraendert weitergegeben wird. Wenn es auf PD-Disketten vertrieben wird, darf der Preis der Diskette nicht mehr als 8DM betragen. Einzige Ausnahme ist die AMOK-PD Reihe des AMOK-Clubs. Die elektronische Verbreitung z.B. via FTP oder Mailboxen ist ausdruecklich erlaubt, solange das Copyright beim Autor bleibt. Kommerzielle Nutzung bedarf der Zustimmung des Autors. EINLEITUNG: Mich hat bei Oberon immer die Bedienung gestoert. Aufrufen vom Cli aus, uebergabe des Modulnamens und der Parameter. Wenn man mal eben ein Modul debuggen will, geht die Tipperei los. Ausserdem verliert man bei vielen Modules (projman jat z.B. 14) leicht den Ueberblick. Deshalb habe ich Projman geschrieben. Man hat alles im Blick und wenn mal wieder die Kiste abstuertzt, kann man gleich da weiter machen, wo man aufgehoert hat. SYSTEMVORAUSSETZUNGEN: ProjMan benoetigt Oberon :-), Kickstart 2.0 (>=V37). Getestet wurde ProjMan auf einem 2000er mit 2630 Kick,2.0 und 5MB Speicher, sowie auf einem 4000/040, Kick 3.0, 10MB Speicher. Diese Hardware ist nicht noetig, aber auf einem 68000 ist GadTools ein bisserl troedelig. Da ich keine Betatester mit einem 00'er habe, waere ich fuer einen Erfahrungsbericht sehr dankbar. INSTALLATION: ProjMan benoetigt einen Assign OBERON:. Dann einfach ProjMan irgendwo hinkopieren und starten. ProjMan sucht Module im Verzeichnis txt/ und OptFiles im Verzeichnis opt/. Sind diese Verzeichnisse nicht vorhanden, wird im aktuellen Projektverzeichnis gesucht. ProjMan kan von CLI oder Workbench gestartet werden und benoetigt mindestens 8k Stack. Besser ein bischen mehr. BEDIENUNG: Beim ersten Starten oeffnet ProjMan ein Fenster "Select Projects". Hier sollte man NEW anklicken, ein Verzeichnis wahlen, das Verzeichnis im Listview aktivieren, und mit USE das Fenster verlassen. Betaetigt man SAVE wird die Liste in OBERON:ProjMan.projects abgespeichert. Diese Prozedur ist nur beim allerersten Start noetig, da ProjMan die Liste mit den Projekten nicht findet. Der Residentmanager wird von Projman gestartet. Naeheres dazu bei ENVIRONMENT-VARIABLE unter OberonStarted. BEISPIEL-SESSION: Hier wird kurz eine Beispiel-Session beschrieben. Eigentlich sollte das Programm selbsterklaerend sein. Genaue Beschreibungen der Gadgets folg im Anschluss. Wird ein Wort GROSSGESCHRIEBEN, so ist damit gemeint, dass das entsprechende Gadget mit der Maus betaetigt werden soll. In einem Oberon-Verzeichnis ein Unterverzeichnis "opt" anlegen. ProjMan starten. Wenn kein "Select Projects" Fenster erscheint NEWPROJ betaetigen. NEW Im Requester das Verzeichnis anwaehlen. Im Listview das Verzeichnis anwaehlen. SAVE USE Jetzt habe wir ein Verzeichnis zum aktuellen Projekt gemacht. Im obersten Listview sollten jetzt alle Module erscheinen. Jetzt ein paar Flags bei "Compiler-Opts" und "Linker-Opts" einstellen. Im unteren Listview das Stringgadget aktivieren, und einen Namen eingeben. z.B. Test.opt SAVEOPT Die Einstellungen wurden jetzt im File Project/opt/Test.opt abgespeichert. Jetzt ein Modul anwaehlen. mit COMPILE kann man das Modul compilieren. Jetzt mit QUIT oder dem Close-Gadget ProjMan abbrechen. Wieder Starten. Wie man sieht, sieht alles so aus wie vor dem Verlassen. Das Project ist geladen, das Modul aktiviert, und die Einstellungen der Compiler-Flags so wie vorher. Das sollte einen kurzen Einblick in die Bedienung des Programms geben. HAUPTFENSTER: Alle Gadgets bei denen ein Buchstabe unterstrichen ist, koennen ueber diese Taste aktiviert werden. Im WindowTitel steht der Pfad zum aktuellen Verzeichnis. Options-Gadgets: Die Gadget auf der linken Seite stellen die Flags fuer Oberon ein. Daneben sind die Flags fuer den Linker. Die Cycle-Gadgets stellen den Prozessor und den Coprozessor ein. Symbols-Stringgadget: Hier kann man Symbole zur bedingten Compilation uebergeben. z.b. "SET foobar CLEAR barfoo" Objectfiles-Stringgadget: Hier kann man Object-Files, die spaeter dazu gelinkt werden sollen angeben. z.B. "obj/Test.obj" Gadget-Gruppe rechts oben: NewProj.: Oeffnet das Select-Projects Fenster s.u. Update: Liest das Project neu ein. Wenn zum Beispiel ein neues Modul ohne ProjMan angelegt hat. Prefs: Oeffnet das Prefs-Fenster s.u. Gadget-Gruppe rechts mitte: SaveOpt: Speichert die Einstellungen fuer Compiler und Linker im aktuellen OptFile. DelOpt: Loscht das aktuelle OptFile von der Platte. LoadOpt: Laedt das aktuelle OptFile neu ein. Clear: Loescht alle Einstellungen fuer Compiler und Linker d.h. alle Gadgets werden neu initialisiert. Gadget-Gruppe unten: Compile,Link,Make,Make: All rufen Oberon,Olink und OMake mit den Entsprechenden Parametern auf. Edit: Ruft den in den Prefs eingestellten Editor auf. Run: Startet das Programm "Aktuelles Modul" ohne .mod. SaveEnvs: Speichert die Environment-Variablen s.u. in ENVARC: ab. About: Zeigt einen About-Requester . Quit: beendet das Programm. Listview oben: Hier stehen alle Module im Verzeichnis Project bzw. Project/txt. Man kann hier das aktuelle Modul angeben. Mit einem Doppelklick auf ein Modul wird der Editor geladen. Der Listview kann auch durch Cursor-Hoch/Runter gesteuert werden. Zusammen mit Shift wird an den Anfang bzw. ans Ende der Liste gesprungen. Listview unten: Hier gilt dasselbe nur fuer die .opt-Files. Nur das einfaches anklicken zum Laden reicht. Hier kann man Cursor-Links/Rechts alternativ zur Anwahl benutzen. PREFSFENSTER: Hier kann das Programm den eigenen Vorstellungen angepasst werden. Editor: Hier steht der Befehl, mit dem der Editor aufgerufen wird: z.B.:Oberon/Oed DEFAULT: C:ED Output: Hier steht das Ausgabefenster. Dort werden die Ausgaben von Oberon, Olink und OMake angezeigt. DEFAULT: CON:0/230/640/200/ProjMan/AUTO Modpattern: Hier kann man ein Pattern fuer das Modul-Listview angeben. Es werden nur die Files angezeigt, die dem Pattern entsprechen. Man kann so z.B. .info Files ausfiltern und sich .mode Files anzeigen lassen. DEFAULT: ~(#?.(info|i|dis) OptPattern: Dasselbe wie oben, nur fuer den Opt-Listview. DEFAULT: #?.opt Pubscreen: Hier kann man den Namen einen PubScreens angeben, auf dem ProjMan sein Fenster aufmachen soll. DEFAULT: "" XPos,YPos: Hier stehen die x,y-Koordinaten des Hauptfensters. Diese Daten werden beim oeffnen des Prefs-Fenster neu ermittelt. d.h. man verschiebt das Hauptfenster dahin, wo man moechte, oeffnet das Prefsfenster und speichert die neu Position einfach ab. DEFAULT: 0,10 EditOnError: Wenn diese Gadget an ist, such ProjMan nach dem Compilieren nach einem File AktModule.mode. Wenn es das findet, wird automatisch der Editor gestartet. DEFAULT: OFF USE: Benutzt die neuen Einstellungen. SAVE: Speichert zusaetzlich die Prefs in OBERON:ProjMan.rc LOAD: Lad die Prefs neu ein. CANCEL: Bricht die Prefs ab, ohne die Einstellungen zu uebernehmen. SELECT PROJECTS-FENSTER Projects-Listview: Hier kann man ein neues aktuelles Projekt anwaehlen. NEW: Oeffent einen Filerequester, in dem man ein neues Project laden kann. REMOVE: Entfernt das angewaehlte Project aus der Liste. SAVE: Speichert die Projectliste in OBERON:ProjMan.projects ab. USE: Schliesst das Prefs-Fenster und laed das angewahlte Project. CANCEL: Schliesst das Prefs-Fenster. ENVIRONMENT-VARIABLEN: ProjMan benutzt 5 Env-Variablen: ProjManProject -- Pfad des aktuellen Projects ProjManModule -- aktuelles Modul ProjManOpt -- aktuelles opt-File ProjManFlags -- Compilerflags Diese Variablen haben zwei Bedeutungen: 1. Sie werden beim Programmstart ausgelesen, und das Programm danach konfiguriert. d.h. Das aktuelle Project wird geladen, das aktuelle Modul angewaehlt und das aktuelle Options-Filee geladen. Damit ist das Programm immer so eingestellt, wie man es verlassen hat. Zu diesem Zweck werden die Variablen bei QUIT,RUN und SaveEnvs nach ENVARC: kopiert. 2. Man hat Zugrifff auf die aktuellen Einstellungen. Ich habe mir z.B. ein Alias angelegt: Alias Cdp cd *$PROJMANPROJECT Durch aufruf von cdp komme ich sofort ins aktuelle Projekt-Verzeichnis. Ausserdem setze ich beim Starten des Editord das aktuelle Verzeichnis des Editors auf PROJMANPROJECT, so dass Oberon beim Compilieren aus CED seine .obj und .sym Files ins richtige Verzeichnis ablegt. Die CompileFlags kann man benutzten, um beim Compilieren vom Editor aus dieselben Flags zu setzten, wie bei ProjMan eingestellt. OberonStarted ProjMan startet beim 1.Start den ResidentManager. Damit dieser bei mehrfachem Starten von Projman nicht immer wieder gestartet wird, setzt ProjMan am Anfang die ENV-Variable OberonStarted auf 1. Diese Variable wird natuerlich nicht nach ENVARC: kopiert, so dass nach einem Reset der Residentmanager neu gestarted wird. Ich hoffe dass mit dieser Doku alle Unklarheiten beseitigt sind. Wie man unschwer sieht, ist Doku schreiben keine meiner Staerken, wer diese Doku in eine andere Sprache ode in Amigaguide bzw. TeX-Format umsetzten will, soll sich bei mir melden. Wer Fragen, Anregungen und Bugreports auf dem Herzen hat, kan mich unter folgenden Addressen erreichen. Dort koennen auch Geld und Geschenke geschickt werden :-) Ich brauche zur Zeit Speicher, ne groessere Platte und ne 105'er SysQuest, ne Grafikkarte, einen 21" Monitor ...... :-) Mario Kemper Geiststrasse 53 4780 Lippstadt INTERNET: magick@uni-paderborn.de FIDONET : Mario Kemper@2:242/401.16 ZERBERUS: MAGICK@DELBOX.ZER Telefon : 02941/5509 Ich moechte folgenden Personen danken: Fridtjof Siebert : fuer Oberon Jan van den Baard : fuer GadToolsBox, mit dem die Oberflaeche entstand. Kai Bolay : fuer den Oberon-Sourcecode-Generatur fuer GTB Commodore : fuer den A4000 (aber nicht fuer den Buster :-( ) und meinen Betatestern.