home *** CD-ROM | disk | FTP | other *** search
- Short: Object-oriented programming language
- Author: Matthias Gietzelt
- EMail: shamane@exmail.de
- Uploader: Andreas Gietzelt <endee@t-online.de>
- Version: 4.0
- Type: dev/c
- Requires: OS 3.5, well-equipped Amiga, some knowledge,
- Amiga Developer CD 2.1 (see below)
-
-
- _______ __ __ ___ _______ ___ ___ ___
- /******/ /**| /**| /***\ /******/ /***\ /***\ /***\
- /**____/ /***|/***| /*__**\ /**____/ /*__**\ /*___*\ /*__**\
- /**/___ /*/ |**/|*| /*/__/*| /**/___ /*/__/*| |*/ \*| /*/__/*|
- /******/ /*/ |_/ |*| /*******/ /******/ /*******/ |*| |*| /*******/
- /**____/ /*/ |*| /*______/ /**____/ /*__**__/ |*| |*| /*__**__/
- /**/___ /*/ |*| /*/ /**/___ /*/ \*\ \*\___/*/ /*/ \*\
- /******/ /*/ |*| /*/ /******/ /*/ \*\ \*****/ /*/ \*\
- /______/ /_/ |_| /_/ /______/ /_/ \_\ \___/ /_/ \_\
-
-
- The object-oriented programming language
-
- Available at www.aminet.de ! (Drawer: dev/c)
-
-
-
- Für die deutsche Version, bitte weiter unten lesen....
-
-
- ENGLISH:
-
-
- History
-
- 2.0 - Initial release
- ---
- 2.1 - GadTools gadgets support !!
- - reached to shrink programsize by coding the window-stuff by myself
- instead of making it by ReActor
- ---
- 2.2 - Oops..The program crashed, when a clicktab was in a test-window.
- - speed optimizations (e.g. at startup, shutdown etc.)
- - defined catalog-creation
- - C++-Code support
- - added the macro "Preferences-Menu" for Prefs-Programs
- - better & easier generated C-sourcecode
- - minor bugfixes
- ---
- 2.3 - prefs-editor rewritten
- - chooseable processortype for generated StormC-project
- - modified programming-help
- - some functionmacros rewritten
- - minor bugfixes
- ---
- 3.0 - gadgets-test routine rewritten
- - fixed bugs by showing tapedeck & colorwheel gadgets
- - fixed problems with clicktabs & page gadgets (see "clicktabsexample")
- - added function "Shutdown()" (called, when program quits)
- - added progress-bar while saving
- - added macrofunctions "Emperor_Set/GetGadgetAttrComplex()" (see guide for details)
- ---
- 3.1 - fixed a bug when generating source for window with colorwheel
- - source is now *more* SAS/C friendly
- - fixed a silly bug when copy a function from programming help into texteditor
- - added online help for macrofunctions (see chapter Programming Help for details)
- - added ARexx-connection to StormC (Scripts - Dir)
- - added arguments by starting StormC (e.g. GoldED support for StormC)
- - added loading picture
- ---
- 3.2 - added parametry of several image-gadgets (bevel, bitmap, glyph)
- (see "ClicktabExample" for details)
- - fixed a bug with slider and getfile-gadgets
- - fixed problem with requester-body-text ["\n" (Newline) will be recognized now]
- - rewritten routine for adding, moving (up and down) and removing of objects in a list
- ---
- 3.5 - showing of scroller & slider-gadgets fixed
- - layout-gadget (bevelstyle & -state) doesn't switch back to previous setted
- values anymore
- - added support of finnish catalog
- - added program-environment for configuration of version, program name,
- stack, mem and many more
- - deleting windows is possible now
- - when pages were added to gadgetlist, its generation was incorrect
- - added gadgethelp support - just connect a gadget to configure ! (program-environment)
- - added function <Menu-Edit-Clearlist> to reset current list of objects
- - label's Locale-connection works correct now
- - gadgethelp for nearly every gadget
- - added chooseable HookType for string-gadgets
- - added some initial-configurations for texteditor-gadgets
- - moving Locale-entrys is possible now
- - editing the includelist is also possible now
- - added new startup-picture (thanks to Janne Peräaho)
- ---
- 3.6 - Gradientsliders horiz/vert orientation works correct now
- - some global variables problems fixed
- - problems with node-array fixed
- - special positions/sizes for OS 2.0 windows work now
- - chooseable smallfont for large lists
- - fixed crash when moving a test-window
- - modifyable library-integration for your project
- - fixed bug in installer-script (doesn't notice, if an OS higher than 3.5 was installed)
- - added interconnection maps
- - generating source based on AmigaOS 2.0, AmigaOS 3.5+ or mixed code
- ---
- 4.0 - DONE ! the whole code is rewritten and structured ! only 4 MBytes of systemmemory
- is needed !
- - the programflow maybe changed a bit to a better, because also all low-level
- functions were rewritten
- - look also changed a bit
- - menu is more complex and professional
- - expanded GadTools-handling (with RightMouseButton)
-
-
- Introduction
-
- Thanks for decrunching and the will to testing the program-packet.
- This program should "revolutioning" the software-development on Amiga.
-
- Object-oriented programminglanguage (OOP) is maybe a bit too high for that
- program, because there are "real" C/C++-sourcecodes generated and
- an external C/C++-Compiler must translate it into machine-code. In the Amiga-sphere
- there are only less applications like CanDo, Storm-Wizard and so on, but one day
- I have seen the program "Delphi" on the PC :( ! This OOP is exclusive controlable
- in Pascal (that set's me up) and it has millions of configuration-possibilities.
- I didn't knew such things on Amiga, and so I made it by myself.
-
- I want to make parameting of the Graphical User Interface (GUI) and its macro-elements as easy as
- possible.
- Following standard-GUI-elements are implemented:
- * requests
- * ASL-requests
- * menus
- * OS2.0 gadgets (GadTools)
- * Locale
- * OS3.5 gadgets (Reaction)
- * windows
- Following NON-GUI-elements are implemented:
- * function-macros, which makes programming under OS3.5+ more easily
- * includes
- * declare variables
- * library-opening
- * interConnection Maps between gadgets
- * create list-arrays for gadgets
-
- With Emperor you are generating a complete C/C++-sourcecode, which only must be
- compiled by an external compiler (e.g. StormC from the developer CD2.1).
-
- Aim of this program is to assure software developer to create their programs (its sourcecode)
- by Emperor, because the making of software (opening of windows, file- and fontrequests,
- menus etc.) is often equal and must not longer copied by programmers from other sourcecodes.
- Emperor decrees about one or more macros for every GUI-element. Like the menus:
- here you must, for creating the complete Project-menu (open, close, save, print etc.) and its
- translation, (in Locale-".catalog"-file) only select the corresponding entry in the list.
- This is also possible with requests e.g. by making a QuitRequest. These are called in
- the own sourcecode as function "REQUESTNAME();".
-
- But the program should also be for user, who never programmed before,
- and bade an easy way in the programming of AmigaOS-GUIs.
-
-
- Systemrequirements
-
- - an Amiga ;-)
- - Memory at least 4 MByte; recommended 16 MByte or more
- - Workbench version 3.5 or higher
- - Processor at least 68020; recommended 68060
- - Amiga Developer CD 2.1 of the HAAGE & Partner GmbH
- - C/C++-Compiler (from the developer CD "ADCD_2.1:Contributions/Haage_&_Partner/StormC/")
- - CatComp (from the developer CD "ADCD_2.1:NDK/NDK_3.5/Tools/CatComp")
-
-
- DEUTSCH:
-
-
- Die Geschichte
-
- 2.0 - Erste Veröffentlichung
- ---
- 2.1 - AmigaOS 2.0 Gadgets hinzugefügt !!
- (GadTools-Gadgets sind nun verfügbar !)
- - Programm ist durch Code-Umsetzung von ReActor nach eigenem Code geschrumpft.
- ---
- 2.2 - Programmabsturz, wenn Clicktab-Gadgets in einem Test-Fenster waren.
- - Geschwindigkeitsoptimierungen (z.B. beim Start, Ende etc.)
- - definierte Catalog-Erstellung
- - Makro "Preferences-Menü" für Einstellungs-Programme
- - C++-Quelltext Unterstützung
- - besserer & einfacherer generierter C-Quelltext
- - minimale Fehler behoben
- ---
- 2.3 - Prefs-Editor überarbeitet
- - wählbarer Prozessortyp für generierten StormC-Projekt
- - modifizierte Programmierhilfe
- - diverse Funktionsmakros überarbeitet
- - minimale Fehler behoben
- ---
- 3.0 - Gadget-Test Routine überarbeitet
- - Fehler beim Anzeigen von Tapedeck & Colorwheel Gadgets behoben
- - Probleme mit Clicktabs & Page Gadgets behoben (siehe "clicktabsexample")
- - Funktion "Shutdown()" hinzugefügt (Aufruf, bei Programmende)
- - Fortschrittsanzeige während des Speicherns
- - Makrofunktion "Emperor_Set/GetGadgetAttrComplex()" hinzugefügt
- (siehe Emperor.guide)
- ---
- 3.1 - Fehler beim Quelltextgenerieren mit ColorWheels behoben
- - Quelltext ist nun SAS/C freundlich*er*
- - Fehler beim Kopieren einer Funktion von der Programmierhilfe in den Texteditor behoben
- - Online Hilfe für Makrofunktionen hinzugefügt (siehe Kapitel Programmierhilfe)
- - ARexx-Verbindung zu StormC (Scripts - Verzeichnis)
- - Argumente beim Starten von StormC hinzugefügt (z.B. GoldED support für StormC)
- - Ladebild hinzugefügt
- ---
- 3.2 - diverse Image-Gadgets (Bevel, Bitmap, Glyph) hinzugefügt
- (siehe "ClicktabExample" für Einzelheiten)
- - Fehler mit Slider und Getfile-Gadgets behoben
- - Problem mit dem Requester-Body-Text behoben ["\n" (Newline) wird nun berücksichtigt]
- - Routine für hinzufügen, verschieben (hoch und runter) und löschen von Objekten
- in den Listen überarbeitet
- ---
- 3.5 - Anzeigen des Scroller & Slider-Gadgets ist überarbeitet worden
- - Layout-Gadget (BevelStyle & -State) springt nicht mehr zu zuvor eingestellten
- Werten zurück
- - Finnischen Katalog hinzugefügt
- - Programmumgebung zur Konfiguration von Version, Programmnamen, Stack, Speicher
- und vielem, vielem mehr hinzugefügt
- - löschen von Fenstern ist nun möglich
- - wenn Pages hinzugefügt wurden, waren deren Generationen inkorrekt
- - GadgetHelp hinzugefügt - einfach ein Gadget verbinden, um die GadgetHelp zu
- konfigurieren ! (Programmumgebung)
- - Funktion <Menü-Bearbeiten-Liste löschen> für das Zurücksetzen der aktiven Liste von
- Objekten hinzugefügt
- - Label's Locale-Verbindung arbeitet nun korrekt
- - GadgetHelp für beinahe jedes Gadget
- - wählbarer HookType für String-Gadgets
- - diverse Initial-konfigurationen für Texteditor-Gadgets hinzugefügt
- - verschieben von Locale-Einträgen ist nun möglich
- - editieren der Includeliste ist nun möglich
- - neues Startupbild hinzugefügt (Dank an Janne Peräaho)
- ---
- 3.6
- - Gradientsliders horiz/vert Ausrichtung arbeitet nun korrekt
- - einige Probleme mit globalen Variablen behoben
- - Probleme mit Node-Arrays behoben
- - spezielle Positionen/Größen für OS 2.0 Fenster arbeiten nun korrekt
- - wählbarer Smallfont für komplexe Listen (Texteditor/Programmierhilfe)
- - Fehler behoben beim verschieben vom Vorschaufenster
- - veränderbare Library-Integration für das eigene Projekt
- - Fehler behoben im Installer-Skript (arbeitet jetzt mit OS-Versionen >3.5 zusammen)
- - Interconnection Maps hinzugefügt (Verknüpfung von Gadgets)
- - Quelltextgenerierung auf Basis von AmigaOS 2.0, AmigaOS 3.5+ oder gemischt
- ---
- 3.7 - spezifische Projekt-Verzeichnisse erstellbar
- - erweiterte Fensterattribute
- ---
- 4.0 - GESCHAFFT ! der gesamte Quelltext ist neugeschrieben, strukturiert und überarbeitet !!
- nur noch 4 MBytes Systemspeicher sind für den Start von Emperor notwendig !
- - der Programmfluß hat sich teilweise geändert, weil auch alle low-level Funktionen
- neugeschrieben wurden.
- - neuer Look
- - komplexeres und professionelleres Menü
- - erweitertes GadTools-handling (mit RechtemMausButton)
-
-
- Die Einführung
-
- Vielen Dank, daß Sie dieses Programm entpackt haben und ausprobieren möchten !
- Dieses Programm soll die Software-Entwicklung auf dem Amiga "revolutionieren".
-
- Objekt-orientierte Programmiersprache (OOP) ist vielleicht ein wenig
- zu hoch gegriffen, da weiterhin "echte" C/C++-Quelltexte generiert und
- durch einen externen C/C++-Compiler übersetzt werden müssen. Im Amiga-Bereich
- gibt's nur wenige Ausnahmen wie CanDo, Storm-Wizard u.a., aber irgendwann habe
- ich das Programm "Delphi" auf dem PC :( kennengelernt ! Diese OOP ist
- ausschließlich in Pascal gehalten (was mich arg störte) und erschlägt einen
- mit den Millionen Konfigurations-möglichkeiten. Ich kannte soetwas in der Art
- bisher auf dem Amiga nicht, und kurzentschlossen setzte ich mich selbst daran.
-
- Ich wollte die Parametrierung der Oberfläche und der Makro-Elemente so einfach wie
- möglich machen.
- Folgende Standard-Oberflächenelemente sind implementiert:
- * Requester
- * ASL-Requester
- * Menüs
- * OS2.0 Gadgets (GadTools)
- * Locale
- * OS3.5 Gadgets (Reaction)
- * Fenster
- Folgende Nicht-Oberflächenelemente sind implementiert:
- * vorgefertigte Funktionsmakros, die das Programmieren unter OS3.5 wesentlich erleichtern.
- * Includes
- * Deklarieren von Variablen
- * definierbare Einbindung vonFuntions-Bibliotheken
- * InterConnection Maps zwischen Gadgets
- * Datenfelder für Listen von Gadgets
-
- Man generiert mit Emperor einen komplett fertigen C/C++-Quelltext, der nur noch
- durch einen externen Compiler (z.B. StormC auf der Developer CD2.1) übersetzt werden muß.
-
- Ziel dieses Programms soll sein, Softwareentwickler zu überzeugen mit Emperor ihre
- Programme (deren Quelltext) zu erstellen, da die Verfahrensweise bei der Erstellung
- von Software (Öffnen von Fenstern, Datei- und Schriftauswahlrequestern, Menüs etc.)
- oft gleich ist und nicht weiter durch den Programmierer selbst mühsam aus anderen
- Quelltexten herausgefischt werden muß. Emperor verfügt für jedes Element schon
- ein oder mehrere vorgefertigte, aber veränderbare, Makros. So z.B. bei den Menüs:
- hier muß für das Projekt-Menü (Öffnen, Speichern, Drucken etc.) und dessen
- Übersetzung (für Locale - ".catalog"-Datei) nur der entsprechende Eintrag
- gewählt werden. Dies gilt auch für Requester z.B. für das QuitRequest. Diese müssen
- nur noch im eigenen Quelltext als Funktion "REQUESTERNAME();" aufgerufen werden.
-
- Das Programm soll aber auch für Amigianer sein, die noch nie programmiert haben,
- und so einen einfachen Einstieg in die Programmierung der AmigaOS-Oberfläche bieten.
-
-
- Die Systemanforderungen
-
- - einen Amiga ;-)
- - Speicher mindestens 4 MByte; empfohlen 16 MByte oder mehr
- - Workbench Version 3.5 oder höher
- - Prozessor mindestens 68020; empfohlen 68060
- - Amiga Developer CD 2.1 von der HAAGE & Partner GmbH
- - C/C++-Compiler (von der Developer CD "ADCD_2.1:Contributions/Haage_&_Partner/StormC/")
- - CatComp (von der Developer CD "ADCD_2.1:NDK/NDK_3.5/Tools/CatComp")
-