EnhancedGEM-Library Version 1.35 ----------------------------------- (inkl. Sourcen in C und Assembler) Eine Dialog-Library von ... Christian Grunenberg Traminerweg 5 D-71717 Beilstein Tel.: 07062 - 5287 E-Mail: Christian Grunenberg @ S2 (Mausnet) Christian_Grunenberg@S2.maus.de (Usenet) EnhancedGEM ist eine Dialoglibrary, welche nach dem Freeware-Prinzip verteilt wird. Dies bedeutet, daž jeder die Library inkl. der Sourcen kopieren, be- nutzen und weitergeben darf, aužer es handelt sich um PD-Versender, denn diese mssen sich bei mir eine schriftliche Genehmigung einholen. Eine kommerzielle Verwendung der Library ist allerdings untersagt bzw. muss mit mir abgesprochen werden. Ebenso ist es verboten, ver„nderte Versionen der Sourcen bzw. unvoll- st„ndige Archive zu verbreiten. Bei vorhandenen Fehlern sollte man sich statt- dessen immer mit genauen Fehlermeldungen an mich wenden. Fr das einwandfreie Funktionieren der Library oder eventuell entstehender Sch„den bernehme ich keinerlei Garantie bzw. Verantwortung. Sollte Ihnen die Library dennoch gefallen oder Sie wollen die neueste Version, so senden Sie mir einfach eine beliebige PD-Diskette (als Anerkennung) und einen frankierten Rckumschlag (fr die neueste Version) zu. In der Maus Stuttgart 2 (@S2) liegt immer die neueste Version der Library. F„higkeiten der EnhancedGEM-Dialog-Library: ------------------------------------------- - l„žt sich mit GNU-C, Pure C und Lattice C einsetzen - an MultiTOS, Mag!X 2.0 sowie Winx >= 2.1 angepažt - alle F„higkeiten von Let 'em fly, den FlyDials, der XFormDo-Lib, den WinDials sowie der Ruby-Library u.„. Libraries - beliebig viele Fenster-/fliegende Dialoge gleichzeitig - fliegende Dialoge springen zur Mausposition bei Mausklick aužerhalb des Dialogs - Fensterdialoge optional auch (!) vor MTOS/Falcon-TOS im Hintergrund bedienbar (funktioniert teilweise nicht einwandfrei bei aktivem ArrowFix von Martin Osieka) - unmodale/modale Fensterdialoge - Tastaturbedienung der Dialoge, wobei in Dialogen mit Edit-Feldern zus„tzlich die Alternate-Taste gedrckt werden muž (Doppelklick durch zus„tzlich gedrckte Shift-Taste) - erweiterte Alert-Funktion: - 18 vordefinierten Icons - benutzerdefinierte Icons beliebiger Gr”že - beliebig langen Zeilen und Buttons - maximal 10 Zeilen sowie 5 Buttons - Buttons ber Hotkey anw„hlbar (auch ohne Alternate-Teste) - erweiterte Eingabem”glichkeiten in EDIT-Feldern - exakte Cursorpositionierung per Maus - Mauscursor wird ber Eingabefeldern zum Textcursor - erstes/letzes Eingabefeld (Home/Shift-Home) - Wort vor/zurck (Ctrl-Left/Right) - Anfang/Ende des Eingabesfeldes (Shift-Left/Right) - n„chstes Eingabefeld (Tab/(Shift-) Enter/Shift-Return/opt. Return) - Eingabefeld l”schen (Esc) - Eingabefeld nach Cursor l”schen (Shift-Del) - Eingabebox fr alle Ascii-Zeichen (Shift-Insert) - Undo, sofern kein Undo-Button definiert ist - History ((Shift-) Ctrl-Up/Down) - Clipboarduntersttzung ((Shift-) Ctrl-X/C/V) | -> s.a. Let' em fly 1.20 - Cookie-/Scrap-/Rsrc- u. Environment-Library - erweiterte Rectangle- & Object-Library von PC-GEM 2.0 - viele erweiterte Objekte: - Radio-Buttons - Check-Buttons - Cycle-Buttons fr Popups - Help-Button - Undo-Button - Text mit Attributen - unterstrichen,kursiv,umrandet,schattiert,fett,hell,klein/grož - Rahmen mit Titel - Titel (=unterstrichener Text) - beliebige Strichdicke, optional doppelt unterstrichen - Flugecke - Slider-Arrows - Niceline - opt. von EDIT-Eingaben abh„ngiges DEFAULT-Objekt - modale Objekte, d.h. das Objekt kommt nur in modalen Dialogen vor - usw. - Echtzeitgummiband/-schieber - variable Popup-Mens (vollst„ndig tastaturbedienbar (Hotkeys), frei positionierbar) - Dialogoptik in weiten Grenzen variierbar: - Hintergrundbox (Muster,Farbe,Rahmen) - Flugecke wird an Hintergrundbox angepažt - Rahmen (Titel umrandet,Titelgr”že,doppelter Rahmen) - Titel-Unterstrich (L„nge,Dicke,doppelt unterstrichen) - Farben der erweiterten Objekte - viele Varianten der Radio-/Check/Cycle-Buttons sowie Sliderpfeile - usw. - sauber programmiert, d.h. unabh„ngig von - Computer (ST/TT/Falcon/Emulator) - Aufl”sung und Anzahl der Farben - (Multi) TOS-Version - VDI/GDOS-Treiber - Gr”že des System-Fonts - usw. Einsatz unter Pure C, GNU-C und Lattice C: ------------------------------------------ 1. Pure C EnhancedGEM l„žt sich sowohl mit den Pure-C-Libraries als auch mit den MiNT- Libraries ab Patchlevel 30 compilieren. Hierzu muž jedoch im Header-File AESBIND.H der MiNT-Libraries die Zeile __EXTERN int evnt_timer __PROTO((unsigned long Interval)); in __EXTERN int evnt_timer __PROTO((int Int_locount,int Int_hicount)); ge„ndert werden. Weiterhin muž das Makro __MINT_LIB__ definiert werden (s. E_GEMMNT.PRJ) 2. GNU-C/Lattice C Ebenfalls l„žt sich EnhancedGEM mit GNU-C und Lattice C verwenden, wobei allerdings die MiNT-Library sowie die entsprechenden Makefiles (Makefile.GCC bzw. Makefile.LCC) benutzt werden mssen. Eventuell auftretende Warnungen bei der šbersetzung sind bedeutungslos. WICHTIG: -------- Wurde EnhancedGEM mit Hilfe der MiNT-Libraries bersetzt, so MšSSEN die MiNT-Libraries und die dazugeh”rigen Header-Dateien auch benutzt werden. Ansonsten sind die Reaktionen nicht vorhersehbar, aber h”chstwahrscheinlich resultieren daraus Fehlfunktionen (aužer evtl. bei GNU-C). Durch das beiliegende kommentierte Beispielprogramm, das einen Teil der F„hig- keiten demonstriert, sowie die ver”ffentlichten Quelltexte der WinLupe sollte die Programierung unter Verwendung der Library kein gr”žeres Problem dar- stellen. Weiterhin sollte die Verwendung der einzelnen Funktionen aus den Quelltexten bzw. dem Namen oder „hnlichen Libraries ersichtlich sein. Sollte jemand den- noch nicht damit zurecht kommen, kann er sich an mich wenden. Verbesserungen an den Quelltexten sollten immer an mich eingesandt werden, damit die Library einheitlich bleibt und nicht verschiedene Versionen im Umlauf sind. Fr den privaten Gebrauch kann die Library natrlich nach Belieben ver„ndert werden. Bisherige EnhancedGEM-Applikationen: ------------------------------------ - Example (Beispielprogramm) - WinLupe (Bildschirmlupe) - Ess-Code (GEM-UUencoder/-decoder) von Michel Forget - Before Dawn (Bildschirmschoner) von Arne Rudolph - PLZ (Postleitzahlenkonvertierer) - LZH-Shell (Shell zu LHarc) in Arbeit: - Simpl (Texteditor mit Highlighting) von Frank Laus - Thor (GEM-Variante des Spiels Thor) von Jean-Jaques Michel - Laborant professionell (Chemie-Analyseprogramm) von Jens Schulz