Windom - GEM en francais

Die derzeit aktuellste GEM-Library für C kommt aus Frankreich.

Durchaus erstaunlich ist es, das die aktuellste Library aus Frankreich kommt, denn schließlich konnte man durch die letzten Testergebnisse den Eindruck gewinnen, das viele französische Programmierer Probleme mit GEM-Standards haben. Auf der anderen Seite gibt es aber Utilities wie Notice 2.2, das einen wirklich modernen Eindruck macht.

Die bekanntesten GEM-Libraries (sieht man einmal von SysGem) ab, waren schon immer Freeware und so ist es schon seit Anfang der 90er problemlos möglich, Dialoge mit Tastaturbedienung zu benutzen, Toolbars darzustellen oder erweiterte Edit-Felder anzubieten.

Alle diese Libraries entstanden aus einer Notsituation, denn Atari machte erst mit dem Falcon einen halbherzigen Versuch, das GEM etwas zu erweitern, indem Farbicons und Popup- sowie Sub-Menüs unterstützt wurden. MagiC/WDialog bot dann immerhin schon Mac-Radiobuttons und -Checkboxen, Listboxen, Fensterdialoge und Tastaturbedienung an. Das reicht für viele Anwendungen, aber eben nicht für alle - komplexe Anwendungen verlangen nach Dialog-Registerkarten, Toolbars, Window-Menüs und Routinen für BubbleGEM, OLGA & Co. dürfen es da schon sein.

WinDom lockt den C-Programmierer mit einigen ungewöhnlichen Features, die nicht bei anderen Libraries zu finden sind.

Voraussetzungen

WinDom stellt keine besonderen Anforderungen an den Computer oder das Betriebssystem und fühlt sich sowohl unter N.AES als auch unter MagiC wohl. Was an AES-Features nicht vorhanden ist, wird nachgebildet. Die Darstellung in monochromen Auflösungen ist etwas gewöhnungsbedürftig, da statt des grauen Hintergrunds in Farbmodi ein graues Muster verwendet wird, was der Lesbarkeit nicht zugute kommt. Allerdings sollte sich die Anzahl der User, die noch einen SM124 für moderne Anwendungen benutzen, stark in Grenzen halten.

Klar ist, das die Funktionen, die externe Programme benötigen, andere Systemanforderungen stellen.

Texteffekte

Für Texte stellt WinDom sechs Effekte zur Verfügung, die größtenteils schon vom VDI bekannt sind: Fettschrift, Italic, Unterstrichen, Outlined, Hell und Schattiert. Sinnvoll verwendbar sind die Fettschrift und die Unterstreichung. Italic wirkt etwas billig und reichlich schräg, Schattiert ist schwerer lesbar und bei der Outline-Schrift sehen manche Zeichen unschön aus.

Ohnehin sollte mit der Verwendung von Texteffekten vorsichtig umgegangen werden. Letztendlich soll mit dem Programm gearbeitet und nicht gespielt werden. Einige Programmierer scheinen aber in letzter Zeit eine Vorliebe für kleinen, schattierten Text entwickelt zu haben - mit freundlichen Grüßen vom Optiker.

Fensterdialoge

Dialoge können problemlos in ein Fenster verfrachtet werden. Damit kann das Multitasking weiterlaufen, während der Dialog dargestellt werden. Natürlich beherrscht WinDom sowohl modale als auch nicht-modale Fensterdialoge. Erstere dienen dazu, eine Eingabe vom Benutzer zu erzwingen, bevor weitergearbeitet werden kann.

Fensterdialoge können auch scrollbar sein. Der Dialog sieht dann aus wie ein normales Fenster inklusive Resizer und Slider. Der Vorteil macht sich erst bei übergroßen Dialogen bzw. niedrigen Auflösungen bemerkbar. Ein Dialog paßt somit immer auf den Bildschirm und so könnte theoretisch eine WinDom-Anwendung problemlos in ST-Low (320*200) laufen, wenn es den gewünscht wäre. Optisch wirken diese Dialoge allerdings sehr dick, denn auch wenn der ganze Dialog zu sehen ist, bleiben die Scrolleisten. Für den Anwender sind diese neuen Dialoge ungewohnt, da sie eher selten verwendet wurden. In PixArt sind scrollbare Dialoge auf Wunsch anschaltbar und AHCX bringt alle seine Dialoge in einem Fenster unter.

Radio- und Checkbuttons

WinDom kennt vier Arten von Radiobuttons. Die ersten beiden sind selbst im unselektierten Zustand mit einem Punkt in der Mitte gekennzeichnet. Ein Klick und der Button scheint etwas in die Tiefe zu sinken. Diesen Button gibt es in einer grauen und weißen Variante, aber der "Punkt im Kreis" erzeugt den Eindruck, als wäre der Radiobutton schon selektiert - nicht sehr empfehlenswert für eine intuitive Benutzeroberfläche. Zum Glück gibt es noch den aus MagiC bekannten Radiobutton, der nur beim Selektieren einen dicken schwarzen Punkt bekommt. Auch dieser Button steht in weiß und grau zur Verfügung.

Den Checkbutton gibt es ebenfalls in vier Varianten. Die erste Variante versieht den Button beim Anklicken mit einem Haken im 3D-Kästchen. Bekannter ist das die Version "X im Quadrat", die auf dem Milan-TOS und Windows Verwendung findet. Der Unterschied zwischen grauer und weißer Version hält sich hier in Grenzen.

Sowohl für Check- als auch für Radiobuttons gilt, daß bei der Verwendung der weißen Version auch die Hintergrundfarbe des Dialogs weiß sein sollte (also einfach das Background-Flag nicht setzen). Weiße Buttons auf grauem Dialoghintergrund sieht unschön aus, da zwar die freien Stellen des Radiobuttons transparent gezeichnet werden, nicht aber der Buttontext selber.

Selbstverständlich sind beide Buttonarten tastaturbedienbar.

Buttons

Nicht viel gesagt werden muß zu den normalen Exit-Buttons. Diese erscheinen im Standard-Look und sind tastaturbedienbar. Für den Abbruch- bzw. Help-Button stehen Shortcut-Flags für die Undo/Help-Taste zur Verfügung.

Krimskrams

Für ganz ausgefallene Kreationen kann ein Formularobjekt mit einer C-Funktion verlinkt werden. Dieses übernimmt dann das Zeichnen des Objektinhalts.

Andere Mauszeiger als die bereits eingebauten sind einfacher möglich, eine entsprechende Funktion nimmt ein monochromes Icon und benutzt es als Mauszeiger. Animierte Mauszeiger sind hingegen Handarbeit und werden von WinDom nicht direkt unterstützt.

Um umfangreiche Dialoge besser zu unterteilen, können Registerkarten verwendet werden.

GEM-Fenster

Sobald ein normales GEM-Fenster erzeugt wird, muß sich die Anwendung selbst um evtl. Redraws kümmern. WinDom bietet dabei nur wenig Hilfe, aber dafür ist die Event-Verwaltung sehr einfach. Es liegen einige Beispielprogramme mit verschiedenen Fenstervarianten bei.

Menüleisten in Fenstern werden von WinDom unterstützt. Wie üblich sollten in diesen Menüs die Befehle sein, die sich explizit auf das Fenster beziehen. Menüpunkte wie die Programminfo oder globale Hilfe gehören nicht in ein Fenstermenü, sondern in die normalen Menüleiste am oberen Bildschirmrand. Eine Ausnahme wäre denkbar bei Utilities, die einer anderen großen Anwendung "zuarbeiten", und Programmen mit sehr wenigen Menüpunkten. Letzteres "Problem" wird besser gelöst mit einer kleinen Toolbar im Fenster, denn dann erspart sich der Anwender einen Klick.

Eine Toolbar sitzt für gewöhnlich am oberen oder linken Fensterrand. In der Resource ist sie ein gewöhnlicher Dialog und kann auch alle Objekttypen enthalten. Fenster und Toolbar werden einfach per WindSet miteinander verbunden und auch genauso wieder entfernt. Die Verwaltung erledigt eine anzugebende Funktion.

Ohne Tricksereien (z.B. mit Popups) sind Fenster mit einem Menü und einer Toolbar möglich.

BubbleGEM

Sehr einfach ist das Verbinden von Hilfstexten mit den Buttons. Den Großteil der Verwaltung erledigt WinDom selber.

Dateiauswahl

Kein Sonderweg bei der Dateiauswahl: die in MagiC eingebaute Dateiauswahl wird benutzt und erscheint im Fenster. Dazu reicht ein einziger Befehl und eine Extension- sowie Pfadliste wird unterstützt.

Fontauswahl

Bei der Auswahl der Schriften greift WinDom auf eine etwas magere eigene Lösung zurück, die nicht so recht überzeugen kann. Da sollte noch nachgebessert werden, damit die Fontauswahl von MagiC oder externe Lösungen benutzt werden.

Frames

Mit Frames sind nicht etwa die gleichnamigen Dialogobjekte gemeint (die WinDom auch kennt), sondern Frames à la "Light of Adamas". Ähnlich wie im Web-Browser ist jedes Frame ein eigenständiges Fenster und wird auch so behandelt. Jedes Frame hat seine eigenen Scrollbalken und Resizer, die hell dargestellt werden, wenn das Frame inaktiv ist. Diese Elemente können ausgeschaltet werden, ebenso die Frameränder. Die Farbe dieser Ränder kann eingestellt werden.

Die Verwaltung von Frame-Windows ist zwangsläufig komplizierter, da mehr Window-Handles verwendet werden.

Aufgefallen ist bei den Beispielprogrammen ein Bug: beim Vergrößern eines Frames vergrößerte sich das Fenster nicht korrekt.

Dokumentation

WinDom liegt ein ST-Guide-Hypertext bei, der sehr ausführlich und in englischer Sprache ist. Der Hypertext ist dabei von hoher Qualität und gut strukturiert. Im Gegensatz zu den Dokumentationen einiger anderer GEM-Libraries werden auch kurze Programmbeispiele gegeben, die den jeweiligen Befehl benutzen. Damit erhält man gleich einfache Beispiele, auf die aufgebaut werden kann.

Größere Beispielprogramme bietet WinDom auch. Im Examples-Ordner liegen sieben kurze Beispiele, ein ausführliches Demo liegt in einem Extra-Ordner.

Erweiterungen

Zwei Erweiterungen sind bisher für WinDom erhältlich: die Timer und die Edit-Bibliothek.

Die Timer-Library stellt einfache Funktionen zur Verfügung, um Zeit-Funktionen einem Fenster oder dem Desktop hinzuzufügen.

Interessanter ist da schon WinEdit mit dem ein kompletter Text-Editor im GEM-Fenster schnell eingebaut ist. Dieser Editor verfügt über Selektion per Maus, der Programmierer muß sich um kaum etwas kümmern. Leider sind die 7 KB Dokumentation zu WinEdit in Französisch.

Fazit

WinDom bringt frischen Wind in die C-GEM-Library. Einzig offene Listboxen wurden vergessen. Die ausführliche Dokumentation und Beispielprogramme sind sicherlich ein großer Vorteil, denn was nützt die beste Library, wenn sie keiner nutzen kann?

URL: http://windom.free.fr/


Mia Jaap
Aus: ST-Computer 02 / 2002, Seite 20

Links

Copyright-Bestimmungen: siehe Über diese Seite