home *** CD-ROM | disk | FTP | other *** search
/ Dream 48 / Amiga_Dream_48.iso / Atari / c / libs / egemd220.lzh / E_GEM.TXT next >
Text File  |  1995-02-05  |  28KB  |  532 lines

  1.  
  2.                       EnhancedGEM-Library  Version 2.20
  3.                      -----------------------------------
  4.                         (c) 1994 Christian Grunenberg
  5.  
  6.  
  7.  Wichtigste Änderungen gegenüber der letzten Version:
  8. -----------------------------------------------------
  9.  (genaue Änderungen s. History und Anleitung)
  10.  
  11.  - knappe Beschreibung der Änderungen in der History umfa₧t ca. 34 KByte
  12.  - mehr als 50 neue und 30 erweiterte Funktionen, u.a. viele Font-, GDOS-,
  13.    Protokoll-, Objekt- und Echtzeit-Drag- Funktionen; 11 neue globale Aus-
  14.    kunftsvariablen; neue und erweiterte interne Nachrichten; Speichern u.
  15.    Laden von Informationsdateien
  16.  - nahezu beliebige Teile der Library können über Makro-Definitionen aus-
  17.    geblendet werden (Overhead-Minimierung bzw. Light-Versionen)
  18.  - erweiterte Popup-, Slider-, Dialog- u. Scroll-Strukturen bzw. -funktionen
  19.    (u.a. Fenster-/Submenüs, Slider mit automatischem Scrolling und auto-
  20.    matischer Cursorverwaltung, optional vollautomatische Popups)
  21.  - erweiterte Fensterverwaltung (u.a. optionales SEHR schnelles, aber
  22.    sauberes Fensterscrolling, verbesserte und offengelegte Ikonifizierung,
  23.    Tastendrücke/Menüpunkte für viele Fensterfunktionen (u.a. Scrolling))
  24.  - variabler und vollständig parametrisierbarer Fontselector
  25.  - Font- und Paula-Protokoll werden unterstützt; XAcc- und AV-Protokoll
  26.    verbessert und an neue Erweiterungen angepa₧t
  27.  - beliebig (!) viele parallele Timer
  28.  - neue Fensterdialogelemente und i.A. variablere Optik der Dialoge,
  29.    Fenster und Popups (mehr Möglichkeiten/Images bei den erweiterten
  30.    Objekten, bessere Unterstützung der AES-3D-Effekte); neuer erweiterter
  31.    Objekttyp (Escape-Button)
  32.  - Unterstützung von erweiterten Dateiselektoren (Mehrfachauswahl & Freedom)
  33.  - automatische Mauszeigerverwaltung (an MultiTasking-Systeme angepa₧t)
  34.  - nonmodale und mehrfach aufrufbare Alertboxen und Sonderzeicheneingabe-
  35.    boxen; mehr Gestaltungsmöglichkeiten bei Alertboxen und mehr Textzeilen
  36.  - massenhaft Detailänderungen, -verbesserungen und Bugfixes
  37.  - stark erweiterte und neue Utilities (FontPalette, FontSelector,
  38.    XAcc-Monitor/Mini-Monitor, MiniClipboard, MiniViewer, PlayIt!,
  39.    ResourcePreviewer); insgesamt 13 Utility-Programme
  40.  - 5 neue Beispielprogramme (insgesamt 8)
  41.  
  42.  
  43.  1. Rechtliches:
  44. -----------------
  45.  
  46.  EnhancedGEM ist inklusive aller Quelltexte (in C und Assembler) und
  47.  (Beispiel-) Programme Freeware, d.h. jedermann/-frau darf EnhancedGEM
  48.  beliebig oft und lang kopieren, benutzen und weitergeben.
  49.  Allerdings darf das Archiv nur unverändert weitergegeben werden, d.h.
  50.  u.a. dürfen keine Dateien gelöscht oder Änderungen/Erweiterungen in den
  51.  Sourcen vorgenommen werden. PD-Versender oder kommerzielle Mailboxen,
  52.  welche mit Gewinn arbeiten, dürfen EnhancedGEM NICHT verbreiten, solange
  53.  sich diese nicht ein schriftliche Genehmigung bei mir eingeholt haben.
  54.  
  55.  Eine kommerzielle Nutzung der Library für Share- oder Löhnware ist unter-
  56.  sagt, sofern sie nicht mit mir abgesprochen wurde! U.a. erwarte ich in
  57.  diesem Fall entweder eine einmalige, geringe "Entschädigung" (z.B. Geld-
  58.  oder Sachleistung oder eine Vollversion der Software) oder eine geringe
  59.  Beteiligung an der Sharewaregebühr bzw. dem Verkaufspreis (die Höhe
  60.  der "Entschädigung" ist Verhandlungssache!)
  61.  Für private Projekte sowie Freeware, Fairware, PostCardWare oder allgemein
  62.  PD-Software gelten diese Einschränkungen natürlich nicht, wobei ich mich
  63.  natürlich über jede Form von Anerkennung freue.
  64.  
  65.  Für die einwandfreie Funktionalität der Library kann und will ich nicht
  66.  garantieren und übernehme daher keinerlei Verantwortung für Schäden je-
  67.  glicher Art, die von der Library oder den beiliegenden Programmen verur-
  68.  sacht werden.
  69.  
  70.  Die Benutzung von EnhancedGEM erfolgt somit auf EIGENE Gefahr!
  71.  
  72.  
  73.  2. Support:
  74. -------------
  75.  
  76.  Die neueste Version der Library ist jeweils in der Maus Ludwigsburg
  77.  (Tel.: 07141-280479) im öffentlichen Programmteil erhältlich oder kann
  78.  direkt bei mir bezogen werden (frankierten und adressierten Rückumschlag
  79.  an mich senden). Bei Fragen und/oder Fehlermeldungen kann man sich eben-
  80.  falls an mich wenden.
  81.  
  82.      Christian Grunenberg
  83.      Traminerweg  5
  84.      D-71717 Beilstein
  85.  
  86.      Tel.: 07062 - 5287 (möglichst nicht vor 12 Uhr)
  87.  
  88.      E-Mail:
  89.      Christian Grunenberg@LB (Mausnet)
  90.      Christian_Grunenberg@LB.maus.de (Usenet)
  91.  
  92.  3. Fähigkeiten und Bedienung:
  93. -------------------------------
  94.  
  95.     - lä₧t sich mit GNU-C, Pure C und Lattice C einsetzen
  96.     - diverse Teile der Library können durch SMALL_NO_DD, SMALL_NO_EDIT,
  97.       SMALL_NO_XACC_AV, SMALL_NO_GRAF, SMALL_EGEM, SMALL_NO_FONT,
  98.       SMALL_NO_FSEL, SMALL_NO_DD_FSEL, SMALL_NO_POPUP, SMALL_NO_CLIPBRD,
  99.       SMALL_NO_SCROLL, SMALL_EDIT, SMALL_NO_HZ, SMALL_ALERT, SMALL_NO_MENU,
  100.       SMALL_NO_ICONIFY, SMALL_NO_XTEXT, SMALL_NO_PAULA sowie SMALL_LIGHT
  101.       ausgeblendet werden
  102.     - an MultiTOS, MiNT (Programme laufen u.a. in der MiNT-Domain),
  103.       Mag!X (ab V2.0), Geneva, (Speedo-) GDOS/NVDI sowie Winx (ab V2.1)
  104.       angepa₧t
  105.     - Definitionen der XAcc2-, AV-, Menü-, Clipboard-, View-, Font-,
  106.       Paula- und Drag & Drop-Protokolle
  107.     - XAcc2-, AV-, Clipboard- (SC_CHANGED), Font-, Paula- sowie
  108.       Drag & Drop-Protokolle werden unterstützt
  109.     - weit über 200 sehr flexible und kompakte Funktionen (viele Aufgaben
  110.       werden optional automatisch verwaltet)
  111.     - verbesserte Ereignis-Verwaltung mit 4 Rechteck-, 2 Button- und
  112.       4 sehr genauen Timer-Events sowie optimierte Pufferung von (Fenster-)
  113.       Nachrichten bei geöffneten systemmodalen Dialogen oder Popups (u.a.
  114.       werden mehrfache Nachrichten sowie Redraws zusammengefa₧t)
  115.     - beliebig viele parallele Timer
  116.     - automatische Verwaltung des Mauszeigers von geöffneten Dialogen oder
  117.       Fenstern
  118.     - provisorische Toolbars und Fenstermenüs inkl. Submenüs (s. Beispiele
  119.       XClipboard, DialogDemo und FontPalette)
  120.     - Resource-Previewer
  121.  
  122.     - Fensterverwaltung und -funktionen:
  123.         - Routinen zur Verwaltung von Fenstern (Öffnen, Schlie₧en, Setzen,
  124.           Scrolling, Redraw, usw.)
  125.         - halb-/vollautomatisches Ikonifizieren von Fenstern unter MTOS
  126.           (ab V1.07), MagiC (ab V3.00), Geneva, bei vorhandenem ICFS und
  127.           ansonsten ICFS-kompatibel
  128.         - ikonifizierte Darstellung (Titel und Icon) bei jedem Fenster
  129.           optional wählbar
  130.         - optionales Programmkürzel vor jedem Fenstertitel
  131.         - optional Redraw, Scrolling und Tastaturbedienung vollautomatisch
  132.         - optional vollautomatische Verwaltung des Mauszeigers:
  133.             -> Mausform innerhalb des Arbeitsbereichs, über den Toolbars,
  134.                au₧erhalb des Arbeitsbereichs und innerhalb des ikonifi-
  135.                zierten Fensterbereichs beliebig definierbar
  136.             -> optional Handler anmeldbar, der das Objekt unter dem Maus-
  137.                zeiger gemeldet bekommt und dementsprechend z.B. die Maus-
  138.                form, Informationen oder die Objektselektion setzen kann
  139.         - Unterstützung der Winx-Scrollboxen
  140.         - im ikonifizierten Zustand werden alle Fensternachrichten auto-
  141.           matisch ausgewertet
  142.         - Menüpunkte und Hotkeys für Fenster wechseln (CTRL-W), invers
  143.           wechseln (CTRL-SHIFT-W), global wechseln (ALT-CTRL-W), schlie₧en
  144.           (CTRL-U), alle schlie₧en (CTRL-SHIFT-U), ikonifizieren
  145.           (CTRL-Space), alle Fenster ikonifizieren (CTRL-SHIFT-Space) und
  146.           Scrolling definierbar (automatische Auswertung, voreingestellte
  147.           Hotkeys in Klammern)
  148.         - An-/Abmeldung der Fenster beim AV-Server
  149.         - optionale Hintergrundbedienung unter allen TOS-Versionen
  150.         - bei geöffneten systemmodalen Dialogen oder Popups werden Nach-
  151.           richten und zu setzende Werte automatisch bis zum Schlie₧en
  152.           der Dialoge/Popups gepuffert und dann an die Ereignisver-
  153.           waltung weitergeleitet
  154.  
  155.      - Ikonififizierung von Fenstern:
  156.  
  157.         MTOS-Ikonifizierung:
  158.          - Anklicken des Ikonifizierungsbuttons
  159.            -> ein einzelnes Fenster verkleinern
  160.          - Anklicken des Ikonifizierungsbuttons bei gedrückter Control-
  161.            Taste
  162.            -> alle Fenster in ein Fenster verkleinern
  163.          - Doppelklick in ein ikonifiziertes Fenster öffnet es wieder
  164.            an der alten Position (Hotkey: CTRL-Space)
  165.  
  166.         ICFS-(kompatible-) Ikonifizierung:
  167.         - [Alternate]-Closer - ein einzelnes Fenster verkleinern
  168.           (Hotkey: Ctrl-Space)
  169.         - [Shift]-Closer     - alle Fenster einzeln verkleinern
  170.           (Hotkey: Ctrl-Shift-Space)
  171.         - [Control]-Closer   - alle Fenster in ein Fenster verkleinern
  172.           (alternativ: [Alternate-Shift]-Closer unter Winx)
  173.         - Mausklick in ein verkleinertes Fenster öffnet es wieder an der
  174.           alten Position (Hotkey: Ctrl-Space). Durch eine zusätzlich ge-
  175.           drückte Shift-Taste werden alle Fenster an der alten Position
  176.           geöffnet.
  177.  
  178.     - einfache Menüverwaltung:
  179.         - An-/Abmeldung und (De-) Aktivierung der Menüleiste
  180.         - Menueinträge (de-) aktivieren sowie Menütitel (de-) selektieren
  181.         - automatische Verwaltung/(De-) Aktivierung der Fenster-Menüeinträge
  182.         - Abfrage, ob ein Drop-Down-Menü heruntergeklappt ist
  183.  
  184.     - Dialogverwaltung:
  185.         - unmodale/modale Fensterdialoge, fliegende und normale Dialoge
  186.         - beliebig viele Fenster-/fliegende Dialoge gleichzeitig
  187.         - Fensterdialoge können alle Fensterelemente des AES besitzen,
  188.           wobei die zusätzlichen Elemente i.A. von der Applikation gesetzt
  189.           und ausgewertet werden müssen
  190.         - fliegende Dialoge springen zur Mausposition bei Mausklick au₧er-
  191.           halb des Dialogs und fliegen optional bei Klick auf nicht-selek-
  192.           tierbares Objekt (u.a. system-modale Alertboxen)
  193.         - fliegende Dialoge können bei gedrückter Maustaste oder durch
  194.           einen kurzen Klick auf das Flugobjekt und einen nochmaligen
  195.           Klick verschoben werden
  196.         - Rechtsklick auf Objekt im Vordergrund-Dialog (bei aktiver Hinter-
  197.           grundbedienung auch im Hintergrund-Dialog) simuliert optional
  198.           Doppelklick (nicht in Popups!)
  199.         - Fensterdialoge durch zusätzlich gedrückte rechte Maustaste im
  200.           Hintergrund bedienbar (optional auch ohne rechte Maustaste)
  201.         - Fensterdialoge (u.a. applikations-modale Alertboxen) lassen sich
  202.           durch Anklicken eines nicht selektier-/editierbaren Objekts und
  203.           Gedrückthalten der linken Maustaste optional verschieben (bei
  204.           aktiver Hintergrundbedienung auch Hintergrundfenster!)
  205.         - bei aktiver Hintergrundbedienung werden Hintergrundfenster nach
  206.           einen kurzen Linksklick auf ein nicht selektier-/editierbares
  207.           Objekt nach vorne gebracht
  208.         - Tastaturbedienung der Dialoge:
  209.             - Alternate-Hotkey (in modalen/fliegenden Dialogen ohne
  210.               Eingabefelder mu₧ die Alternate-Taste nicht gedrückt werden
  211.               (z.B. in Alertboxen))
  212.             - Doppelklick-/Rechtsklick-Simulation durch zusätzlich
  213.               gedrückte Shift-/Control-Taste
  214.         - Tastendrücke optional zum Dialog unter dem Mauszeiger
  215.  
  216.     - erweiterte Alert-Funktion:
  217.         - 18 vordefinierte Icons
  218.         - benutzerdefinierte Icons beliebiger Grö₧e
  219.         - maximal 24 Zeilen sowie 5 Buttons
  220.         - beliebig lange Zeilen und Buttons
  221.         - Alert-Text optional mit allen Textattributen, kleinem/gro₧en
  222.           System-Font, rechts/linksbündig/zentriertem Text
  223.         - Buttons über Hotkey (auch ohne Alternate-Teste) sowie
  224.           UNDO und RETURN/ENTER anwählbar
  225.         - Buttons linksbündig/rechtsbündig/zentriert sowie optional
  226.           mit einheitlicher Breite
  227.         - System-, applikationsmodal oder nonmodal
  228.         - optional lassen sich Alerts manuell (wie normale Dialoge) ver-
  229.           walten
  230.  
  231.     - erweiterte Möglichkeiten in Eingabe-Feldern
  232.         - Text kann per ACC_TEXT-Nachricht eingegeben werden:
  233.             - Ist der Text einzeilig und enthält keinen Zeilentrenner
  234.               (CR,LF), so wird der Text an das aktuelle Eingabefeld
  235.               angehängt. Ansonsten wird der Text eingefügt und mit jedem
  236.               Zeilentrenner wird zum nächsten Eingabefeld gesprungen, so
  237.               da₧ durch die Übergabe eines mehrzeiligen Textes z.B.
  238.               alle Eingabefelder ausgefüllt werden können
  239.         - optional blinkender Cursor (beliebige Blinkrate)
  240.         - exakte Cursorpositionierung per Maus
  241.         - Cursor kann in ein Eingabefeld gezielt per Alternate+Hotkey
  242.           gesetzt werden
  243.         - Selektion eines Eingabefeldes (sofern selektier- und/oder anwähl-
  244.           bar) durch Doppelklick auf das Eingabefeld, Einzelklick auf einen
  245.           Bereich des Objekts au₧erhalb des Eingabebereichs oder
  246.           Alternate-Shift-Hotkey
  247.         - Mauscursor wird über Eingabefeldern zum Textcursor
  248.         - Enthält die Eingabemaske eines der Zeichen ',.;:\/' und wird
  249.           dieses Zeichen eingegeben, wenn der Cursor VOR diesem Zeichen
  250.           steht, so wird das Eingabefeld bis zu diesem Zeichen mit
  251.           Leerzeichen gefüllt und der Cursor hinter dieses Zeichen
  252.           gesetzt (Beispiel: Punkt '.' in Dateimasken)
  253.         - Wird in einem Eingabefeld, in dem Leerzeichen nicht eingegeben
  254.           werden können, ein Leerzeichen eingegeben, so wird das Eingabefeld
  255.           bis zum nächsten festen Maskenzeichen mit Leerzeichen gefüllt.
  256.           Wurde das ganze Eingabefeld gefüllt, so wird anschlie₧end zum
  257.           nächsten Feld gesprungen.
  258.         - erstes/letztes (bei Shift-Home an das Ende, bei Shift-Down
  259.           an den Anfang) Eingabefeld (Home/Shift-Home, Shift-Up/Down)
  260.         - Wort vor/zurück (Ctrl-Left/Right)
  261.         - Anfang/Ende des Eingabesfeldes (Shift-Left/Right)
  262.         - vorheriges Eingabesfeld (Up,Shift-Tab/Enter/Return)
  263.         - nächstes Eingabefeld (Down/Tab/Enter)
  264.         - Cursor ein Zeichen nach links/rechts (Left/Right)
  265.         - Eingabefeld löschen, sofern kein Escape-Button vorhanden (Esc)
  266.         - alle Eingabefelder löschen (Shift-Esc)
  267.         - Eingabefeld ab Cursor löschen (Shift-Del)
  268.         - Eingabefeld bis Cursor löschen (Shift-Backspace)
  269.         - Eingabebox für alle Ascii-Zeichen (Shift-Insert)
  270.             -> Auswahl eines (oder mehrerer, falls Fensterdialog)
  271.                Zeichen per Mausklick, Abbruch per Undo oder Klick auf
  272.                Dialoghintergrund
  273.             -> kann auch von der Anwendung aufgerufen werden (z.B. unmodal)
  274.         - Sonderzeicheneingabe durch Eingabe des dezimalen ASCII-Wertes
  275.           bei gedrückter Alternate-Taste auf dem Ziffernblock
  276.             -> sofern der ASCII-Wert nicht eindeutig ist (ASCII<=25), müssen
  277.                alle drei Stellen (evtl. mit führenden Nullen) eingegeben
  278.                werden
  279.         - Undo (Undo bzw. Shift-Undo, sofern Undo-Button vorhanden)
  280.         - History-Funktion der letzten eingegebenen Texte (Ctrl-Up/Down)
  281.             -> mit Shift-Taste: Text in History suchen
  282.         - optionale Clipboardunterstützung:
  283.             -> mit Shift-Taste: Text an Clipboard/Eingabe-Feld anhängen
  284.             -> Ctrl-X: Text ausschneiden und in Clipboard ablegen
  285.             -> Ctrl-C: Text in Clipboard ablegen
  286.             -> Ctrl-V: Text in Eingabefeld einfügen
  287.         - Einfüge-/Überschreibenmodus (Insert)
  288.             -> Strich-/Block-Cursor
  289.         - neue zusätzliche Gültigkeitsmasken in Eingabefeldern:
  290.             'c','C': Ziffern "0-9", Komma ".,", Rechenzeichen "+-*/^",
  291.                      Klammern "(){}[]"
  292.             'l','L': LED-Ziffern "0-9"
  293.             '<Ziffer>': Ziffer='0'-'9'
  294.                      alle Ziffern von '0' bis <Ziffer>, z.B.
  295.                      '1': Binärziffern
  296.                      '7': Oktalziffernn
  297.                      '9': Dezimalziffern
  298.             'h','H': Hexadezimalziffern "0-9A-F",
  299.                      Umwandlung in Klein/Gro₧buchstaben
  300.             'u','U': ASCII 32-127, Umwandlung in Klein-/Gro₧buchstaben
  301.             'v','V': ASCII 32-255, Umwandlung in Klein-/Gro₧buchstaben
  302.             'w','W': ASCII 32-127
  303.             'y','Y': ASCII 32-255
  304.         - Gültigkeitsmasken sind beliebig änder- und erweiterbar!
  305.         - Klammeraffen '@' können in Eingabefeldern eingegeben werden
  306.           (auch am Anfang)
  307.         - grö₧tenteils automatische Anpassung (sofern möglich) der
  308.           eingegeben Zeichen an Gültigkeitsmaske
  309.         - kleiner/gro₧er System-Font können in Eingabefeldern benutzt
  310.           werden. Unterstützt das AES auch nicht-proportionale GDOS-Fonts,
  311.           so können diese ebenfalls in Eingabefeldern verwendet werden.
  312.         - Bedeutung von Return wahlweise
  313.             - Return selektiert DEFAULT-Objekt
  314.             - Return springt zum nächsten Eingabefeld (zyklisch)
  315.             - Return selektiert beim letzten Eingabefeld das DEFAULT-Objekt
  316.  
  317.     - variabler Fontselector:
  318.         - Font-Familie,-schnitt und -grö₧e (in Punkt) einstellbar
  319.         - optional Effekte, Farbe und Neigung einstellbar sowie Zwischen-
  320.           grö₧en bei Vektorfonts
  321.         - an vorhandene Elemente angepa₧te Optik
  322.         - optional beliebige Beschränkung auf bestimmte Fonts, Grö₧en usw.
  323.           (Bitmap/Vector, proportional/monospaced, usw.)
  324.         - vollständig tastaturbedienbar und parametrisierbar
  325.         - verschiedene Varianten (fliegender Dialog, Fensterdialog
  326.           oder Drag&Drop-Selector) und Optionen (Familie/Schnitt-Liste
  327.           aplhabetisch sortieren oder mit Preview, automatischer Redraw
  328.           des Beispiels)
  329.         - Doppelklick auf einen Eintrag in den Font/Schnitt/Grö₧en-Listen
  330.           setzt diesen Eintrag und wählt automatisch den Default-Button,
  331.           sofern dieser nicht deaktiviert ist.
  332.         - Doppelklick auf das Beispiel aktualisiert dieses
  333.         - Tastaturbedienung:
  334.             Hoch/Runter             vorheriger/nächster Font
  335.             Shift-Hoch/Runter       Seite (Fontauswahl) hoch/runter
  336.             (Shift) Home            erster/letzter Font
  337.             CTRL-Hoch/Runter        vorheriger/nächster Schnitt
  338.             Shift-CTRL-Hoch/Runter  Seite (Schnittauswahl) hoch/runter
  339.             CTRL-(Shift-)Home       erster/letzter Schnitt
  340.             HELP                    Information/Hilfe anzeigen
  341.             CTRL-E                  Beispiel aktualisieren
  342.  
  343.     - Cookie-/Scrap-/Resource-/Font-/String- u. Environment-Library
  344.     - einfache Funktionen zur Verwaltung von Pfad-/Dateinamen sowie zum
  345.       Aufruf des Fileselectors (erweiterte Dateiselektoren, Freedom sowie
  346.       erweiterte Dateisysteme werden unterstützt (u.a. Mehrfachauswahl))
  347.     - erweiterte Rectangle- & Object-Library (u.a. von PC-GEM 2.0), u.a.
  348.         - Bildschirmbereiche kopieren, löschen, invertieren, sichern
  349.           und wiederherstellen
  350.  
  351.     - viele erweiterte Objekte:
  352.         - Radio-Buttons
  353.         - (TriState-) Check-Buttons
  354.         - Cycle-Buttons für Popups
  355.         - Help-Button
  356.         - Undo-Button
  357.         - Escape-Button
  358.         - Text mit Attributen
  359.             - links-/rechtsbündig, zentriert
  360.             - unterstrichen,kursiv,umrandet,schattiert,fett,hell,invers,
  361.               3D-Look,Titel-Effekt
  362.             - alle VDI-Schreibmodi
  363.             - beliebige GDOS-Fonts und Grö₧e wählbar (unabhängig vom AES!)
  364.         - Rahmen mit Titel
  365.         - Titel (=unterstrichener Text)
  366.         - Flugecke
  367.         - Slider-Arrows
  368.         - Niceline
  369.         - opt. von Eingabefeldern abhängiges DEFAULT-Objekt
  370.         - unmodale und modale Objekte, d.h. die Objekte kommen nur in
  371.           (un-) modalen Dialogen vor
  372.         - usw.
  373.  
  374.     - Echtzeitgummiband/-dragbox/-dragobjekte/-schieber/zählboxen mit halb- oder voll-
  375.       automatischer Verwaltung (u.a. Cursor, Ausgabe, Position, usw.) bzw.
  376.       Ereignisauswertung sowie optionaler Tastaturbedienung
  377.         - Sliderobjekte können Eingabefelder sein, wobei bei halbauto-
  378.           matischen Slidern die Eingabefelder, bei vollautomatischen
  379.           Slidern die Slider Vorrang bei der Mausbedienung haben
  380.  
  381.     - Bedienung der vollautomatischen Schieber/Zählboxen mit der Maus
  382.       (halbautomatische Varianten können von diesem Schema abweichen,
  383.        Tastaturkürzel sind nicht vordefiniert):
  384.         Pfeile (links/rechts,hoch/runter,Minus/Plus,usw.):
  385.           -> Einzelklick: Zeile hoch/runter (bzw. Wert erniedrigen/-höhen)
  386.           -> Doppelklick: Anfang/Ende (bzw. minimaler/maximaler Wert)
  387.         Hintergrundelement (grauer Bereich):
  388.           -> Einzelklick: Seite hoch/runter
  389.           -> Doppelklick: Slider positionieren
  390.         Slider:
  391.           -> Echtzeitverschieben während Maustaste gedrückt ist oder
  392.              durch einen kurzen Klick und einen weiteren Klick zur Posi-
  393.              tionierung
  394.  
  395.     - variable Popup- u. Sub-Menüs (vollständig tastaturbedienbar (Hotkeys),
  396.       frei und variabel positionierbar, verschiedene Varianten (auch
  397.       optisch), u.a. halb- oder vollautomatisch)
  398.         - alle selektierbaren Objekte (mit beliebigem Objekttyp) des Popups
  399.           müssen Kinder des Wurzelobjekts sein und innerhalb dieses Objekts
  400.           liegen; ansonsten unterliegt der Popup-Aufbau keinen weiteren
  401.           Einschränkungen
  402.         - Auswahl eines Eintrags per Maus (Bereich au₧erhalb des Popups
  403.           für Abbruch):
  404.           -> kurzer Klick auf Popup-Button/-Text und nochmaliger Klick
  405.              auf gewünschten Eintrag oder
  406.           -> Gedrückthalten der Maustaste beim Anklicken des
  407.              Popup-Buttons/-Textes und Loslassen der Maustaste über
  408.              gewünschtem Eintrag
  409.         - Cycle-Button (optional):
  410.             -> nächsten (Einfachklick)/vorherigen (Doppel-/Rechtsklick)
  411.                Eintrag wählen
  412.             -> i.A. per Alternate-Shift-Hotkey (nächster Eintrag) bzw.
  413.                Alternate-Control-Shift-Hotkey (vorheriger Eintrag) anwählbar
  414.         - Hotkeys (unterstrichener Buchstabe, optional mit gedrückter
  415.           Alternate-Taste)
  416.         - vorheriger Eintrag (Cursor links/hoch)
  417.         - nächster Eintrag (Cursor rechts/runter)
  418.         - erster Eintrag (Home)
  419.         - letzter Eintrag (Shift-Home)
  420.         - Abbruch (Escape/Undo)
  421.         - aktuellen Eintrag auswählen (Space,Return,Enter)
  422.         - Doppel-/Rechtsklicksimulation durch zusätzlich gedrückte
  423.           Shift-/Control-Taste
  424.         - Submenüs (allgemeine Richtlinie, Implementierung kann nahezu
  425.           beliebig erfolgen):
  426.             -> Aufklappen per Selektion des entsprechenden Eintrags (Return,
  427.                Enter, Space, Hotkeys, Cursor-Right) oder nach einer kurzen
  428.                Verzögerung, wenn der Mauszeiger über dem entsprechenden
  429.                Eintrag steht
  430.             -> Submenüs lassen sich i.A. wie Popups bedienen, aber zusätz-
  431.                lich per Cursor-Left (entspricht dann Escape/Undo) wieder
  432.                verlassen
  433.  
  434.     - Dialogoptik in weiten Grenzen variierbar:
  435.         - Hintergrundbox (Muster,Farbe,Rahmendicke/-farbe)
  436.         - Flugecke wird an Hintergrundbox angepa₧t
  437.         - dünner, mittlerer, dicker oder kein Rahmen bei Fensterdialogen
  438.         - optional 3D-Rahmen bei fliegenden Dialogen unter 3D-AES
  439.         - Rahmen (Überschrift einfach/nicht umrandet,Schriftgrö₧e,links-
  440.           bündig/zentriert,Farben u. Füllmuster von Text u. Hintergrund,
  441.           optional transparenter Text,beliebiges AES-Objekt als Rahmen)
  442.         - Titel-Unterstrich (Länge,Dicke,einfach/doppelt unterstrichen)
  443.         - (Hintergrund-) Farben der erweiterten Objekte
  444.         - viele Varianten der Images der erweiterten Objekte, optional
  445.           auch im normalen GEM-Look
  446.         - Sliderpfeile optional umrandet sowie Cyclebuttons optional
  447.           schattiert
  448.         - AES-3D-Effekte können weiterhin benutzt werden
  449.         - usw.
  450.  
  451.     - sauber programmiert, d.h. unabhängig von
  452.         - Computer ((MEGA) ST/STE,TT,Falcon,Emulator usw.)
  453.         - Auflösung und Anzahl der Farben
  454.         - Betriebsystem (TOS,MTOS,MiNT,MagiC,Geneva,MultiGEM usw.)
  455.         - VDI/GDOS-Treiber
  456.         - Grö₧e des System-Fonts
  457.  
  458.     - usw.
  459.  
  460.  4. Benutzung der Library:
  461. ---------------------------
  462.  
  463.  Durch die beiliegenden, kommentierten Beispielprogramme, welche einen Teil
  464.  der Fähigkeiten demonstrieren, sowie die Dokumentation der Funktionen,
  465.  Variablen und Strukturen bzw. Konstanten in der Datei 'MANUAL.TXT' bzw.
  466.  dem Hypertext 'E_GEM.HYP' sollte die Verwendung der Library kein grö₧eres
  467.  Problem darstellen.
  468.  
  469.  Eine weitere Hilfe sind sicherlich die veröffentlichten Quelltexte der
  470.  Library sowie der WinLupe als weiteres Beispielprogramm. Sollte jemand
  471.  dennoch Probleme mit oder Fragen bzgl. der Library haben, so kann er sich
  472.  an mich wenden.
  473.  
  474.  5. Bisherige EnhancedGEM-Applikationen:
  475. -----------------------------------------
  476.  (abgesehen von weniger nützlichen Beispielprogrammen)
  477.  
  478.  - WindowViewer & MiniViewer (Dateibetrachter als kommentierte Beispiel-
  479.    programme,PD)
  480.  - ClipboardViewer & MiniClipboard (Clipboardviewer als kommentierte
  481.    Beispielprogramme,PD)
  482.  - XClipboard (XClipboard-Clone,PD)
  483.  - FontPalette (Fontpalette,PD)
  484.  - FontSelector (D&D-Fontselector,PD)
  485.  - PreView (Resource-Previewer,PD)
  486.  - XAcc-Monitor/Mini-Monitor (XAcc/AV-Protokoll-Monitore,PD)
  487.  - PlayIt! (Puzzle-Spiel,PD)
  488.  - WinLupe (saubere Bildschirmlupe,PD)
  489.  - LZH-Shell (Shell zu LHarc,Fairware)
  490.  
  491.  - ESS-Code (GEM-UUencoder/-decoder,Shareware) von Michel Forget
  492.  - Before Dawn (Bildschirmschoner,Shareware) von Arne Rudolph
  493.  - PLZ (Postleitzahlenkonvertierer,PD) von Andreas Schrell
  494.  - DB-Log (Loginstatistik-Programm zur D-Box,PD) von Arne Konopinski
  495.  - PassThru (Desktoperweiterung,PostCardWare) von Florian Erhard
  496.  - 800XL Deejay (800XL-Laufwerksemulator,PD) von Kolja Koischwitz
  497.  - ACP (Another Crude Player,Freeware) von Carsten Tolkmit
  498.  - Thor (GEM-Variante des Spiels Thor,Shareware) von Jean-Jaques Michel
  499.  - GDOS-Print (Ausdrucken über GDOS, PD) von Steffan Kaminski
  500.  - Ballerburg 2 goes multi (GEM-Variante des Spiels Ballerburg, PD) von
  501.    Kolja Koischwitz
  502.  - Masterbrowse-Installationsprogramm (PD) von Michel Forget
  503.  - EGON!-CD-Utilities-Installationsprogramm von Peter Hilbring
  504.  - Freedom (nonmodaler Fileselector, Shareware, von
  505.    Christian Krueger und Kolja Koischwitz)
  506.  
  507. in Arbeit:
  508.  - Simpl (Texteditor mit Highlighting) von Frank Laus
  509.  - Laborant professionell (Chemie-Analyseprogramm) von Jens Schulz
  510.  - GEM-TV (Screeneyeprogramm) von Christian Krueger und Kolja Koischwitz
  511.  - Find a match (GEM-Variante des Spiels 'MatchIt') von Kolja Koischwitz
  512.  - Zorg (Disketten- und Festplattenutility) von Ludovic Rousseau
  513.  - u.a.
  514.  
  515.  6. Zukunft
  516. ------------
  517.  
  518.  In Abhängigkeit von meiner Lust, der vorhandenen Zeit, der Resonanz auf
  519.  diese Library und der Anzahl der veröffentlichten EnhancedGEM-Appli-
  520.  kationen sind für die Zukunft folgende Dinge geplant:
  521.  
  522.     - Fenster-Menüs
  523.     - Listboxen
  524.     - Text/Editor-Fenster
  525.     - Toolbars
  526.     - scrollbare Eingabefelder
  527.     - neue erweiterte Objekttypen
  528.     - Object Linking for GEM Applications (OLGA-Protokoll) und/oder
  529.       ObjectExchange-Protokoll
  530.     - Unterstützung der Help-, View- und Menü-Protokolle
  531.     - usw...
  532.