Resource-Construction-Set von Kuma: Baukasten für Bedienungsoberflächen

Abbildung 1: Der „Desktop“ des Kuma RCS

Drei verschiedene Resource-Construction-Sets sind derzeit in Deutschland erhältlich. Da ist einmal das 'Original’ von Digital Research, dessen Version 1.4 im Atari-Entwicklungspaket enthalten ist, es ist auch bei der Redaktion für eine geringe Gebühr einzeln erhältlich. Das zweite Construction-Set gehört zum Megamax C-Compiler. Es ist einzeln überhaupt nicht zu kaufen. Vor einiger Zeit stellte Kuma einen dritten Bewerber vor. Nach längerer Arbeitszeit mit allen drei Resource-Editoren für den ST ist für mich das Kuma-Programm auch der klare Sieger in diesem Wettstreit. Es ist, von wenigen Kleinigkeiten abgesehen, nicht nur am komfortabelsten, sondern bietet auch noch einige besondere Features.

Das Programm arbeitet mit jedem Rechner der ST-Serie zusammen; auch der Farbmonitor wird unterstützt, allerdings nur in mittlerer Auflösung. Zum Testen standen uns eine deutsche und eine englische Version zur Verfügung; deutsches und englisches Handbuch sind weitgehend gleich und weder besonders ausführlich noch instruktiv. Gewisse Vorkenntnisse über die Struktur der AES-Resourcen sollte man schon besitzen.

Das Aussehen des Resource-Construction-Sets ähnelt stark dem normalen GEM-Desktop, nur die Menüleiste ist unterschiedlich. Ganz normale Floppy-und Mülleimer-Icons sind auf diesem Desktop zu finden, was die Bedienung sehr erleichtert. Das Programm kann Header-Dateien für Pascal, C, Modula - II und Fortran erzeugen. C-Sourcecode wie beim Resource-Construction-Set von Digital Research kann leider nicht erzeugt werden. Da bei Modula II die Bezeichnung .DEF bereits für andere DAteien reserviert ist, benutzt KResource für die Definitionsdateien der Resourcen die Endung .RSD. Dateien der älteren Editoren können aber nach Umbenennung der .DEF Datei ebenfalls verwendet werden. Wegen einiger besonderer Features ist das Programm jedoch nicht in allen Fällen abwärtskompatibel, das heißt, KResource-Dateien können nicht immer in den Digital Research- oder Megamax-Editor übernommen werden.

Beliebig viele Resource-Dateien können geladen werden. Jede Datei erhält ein eigenes Icon auf dem Desktop. Diese Icons lassen sich wie die Floppy-Icons durch Doppelklick öffnen und zeigen ihren Inhalt wie Floppyinhaltsverzeichnisse in einem Fenster. Wiederum wie bei Inhaltsverzeichnissen können dann auch die einzelnen Objektbäume des Resourcefiles durch Doppelklick geöffnet werden. Auch Objekte im Fenster der Objektbäume können einfach mit Doppelklick 'geöffnet’ werden; Sie bekommen dann aber kein eigenes Fenster, sondern eine Dialogbox, die sämtliche für das ausgewählte Objekt vorhandenen Einstellmöglichkeiten anzeigt. Das ist einfach und übersichtlich. Fast selbstverständlich existiert wie im Desktop auch ein 'Datei’-Menü (hier heißt es 'Allgemein') mit den Kommandos 'öffnen' und 'schließen'. Wie im 'Datei’-Menü des Desktops findet sich auch ein 'Fenster schließen’ und 'Info-Anzeige' Kommando. Die Funktionen dieser Befehle entsprechen denen des Desktops. Zuletzt enthält das 'All-gemein’-Menü noch das obligatorische ’Beenden’-Kommando, das allerdings auf jegliche Sicherheitsabfrage vor dem Verlassen des Editors verzichtet. Daten, die nicht gesichert wurden, gehen unwiederbringlich verloren. Überhaupt sind Sicherheitsabfragen keine Stärke des Programms: Auch der Papierkorb des KResource-Desktop schluckt ohne Nachfrage alles. Und er kann auch nicht, wie sein Kollege auf dem GEM-Desktop, wieder geöffnet werden. Dann erscheint die Nachricht: 'Der Papierkorb darf aus hygienischen Gründen nicht geöffnet werden’.

Abbildung 2: Leichtes Erstellen von Dialogboxen

Das Menü 'Neu' enthält die Befehle, die neue Teile auf den Bildschirm bringen. Mit 'Datei' werden neue Resour-ce-Files angelegt, mit 'Baum' wird ein neuer Baum an eine bereits geöffnete Resource-Datei angehängt. Mit 'Objekt’ schließlich kann man neue Objekte in den gerade ausgewählten Baum hineinbauen. Das Auswahlverfahren für 'Baum' und 'Objekt' ist einfach und komfortabel; beim Anwählen des Menüeintrags erscheint eine Dialogbox mit den möglichen Teilen. Wählt man nun ein Objekt aus der Dialogbox aus (Drücken des linken Mausknopfes), verschwindet diese, ohne daß ein weiterer Knopf betätigt werden muß, und man kann das gewählte Objekt im gewünschten Fenster plazieren, indem man den Mausknopf einfach losläßt. Das geht einfach und schnell, ohne daß man, wie im Resource-Construction-Set von Digital Research, erst zwischen zwei Fenstern wechseln muß und ohne fast ein Drittel des Bildschirms (wie beim Megamax Editor) mit einer festen Anzeige der sogenannten Partbox (die die momentan wählbaren Teile enthält) zu blockieren.

Das letzte Menü trägt, wie auch im Desktop, den Namen 'Optionen'. Dahinter verbirgt sich die 'Raster’-Funktion, die beim Verschieben oder Kopieren alle Objekte genau auf dem 80A 24 Raster des Textbildschirms ’einrasten’ läßt.

Das ’Autom. Größe’-Kommando sorgt dafür, daß Boxen, deren Inhalt editiert wurde, automatisch so vergrößert werden, daß der neue Inhalt auch noch hineinpaßt. Verlängert man zum Beispiel einen Textstring von ’Hallo’ zu ’Hallihallo’, würde die neue Umrahmung den ganzen neuen String umfassen; ohne die Option würde der Inhalt nach ’Halli’ einfach abgeschnitten. Kehrseite der Medaille ist, daß auch alle Objekte, die in der Objekt-Hierarchie höher stehen, wenn nötig mitverändert werden. Wenn man Pech hat, muß dann eine ganze Box mit einigen Objekten wieder neu gestylt werden. Editiert man also ein Objekt, das gefährlich nahe am Rand zum Beispiel einer Dialogbox liegt, sollte man die Option besser abschalten.

“Das dritte und letzte Kommando in der Menüzeile hilft bei der Erstellung von Resourcen für die mittlere Auflösung auf dem monochromen Monitor. Es bewirkt bei allen Verschiebe-Operationen, bei denen man mit der Maus den Umriß des Objektes bewegt, daß dieser Umriß seiner Größe in der mittleren Auflösung entspricht, also doppelt so hoch erscheint. Damit kann der Platzbedarf in der mittleren Auflösung besser eingeschätzt werden. Alle weiteren Editierfunktionen sind nicht über die Menüleiste zugänglich.

Abbildung 3: Der eingebaute ICON-EDITOR

Beim Erstellen eines neuen Resource-Files geht man so vor: Zuerst öffnet man eine neue Datei. Nach Anwählen des Menüpunktes erscheint eine Dialogbox, in die man den Namen des neuen Files eingeben kann. Daraufhin erscheint das File als Icon auf dem Desktop des Editors. Dieses Icon kann man nun mit einem Doppelklick öffnen; da das File neu ist, erscheint ein leeres Fenster, das für die Bäume des Files vorgesehen ist. Mit der Funktion für einen neuen Baum kann in dieses Fenster jetzt ein Baum eingebaut werden. Dafür stehen die Typen Menü,

Dialog, Alert, Freier String und Freies Image zur Verfügung. Dem aufmerksamen Leser wird auffallen, daß der Typ Freier Baum, den es in den anderen Editoren gibt, hier fehlt. Dieser Typ wird dadurch überflüssig, daß KResource selbständig entscheidet, zu welchem Typ die editierte Box gehört. Befindet sich ein solcher Baum im Fenster des Resource-Files, kann er mit einem Doppelklick geöffnet werden. Dann erscheint seine nähere Struktur in einem weiteren Fenster. Statt einem Doppelklick kann man mit einfachem Klick auch eine Dialogbox erreichen, die Namensänderungen, Typänderungen, sowie (bei Dialogboxen) Alerts, Menüs und auch eine Testoption beinhaltet. Mit ihr kann ein Baum (vorausgesetzt, er enthält ein Objekt, das den ’exit’-Status besitzt) getestet werden. In diesem Testmodus stellt KResource die Box oder das Menü auf dem Bildschirm dar und übernimmt auch die Verwaltung. Bei jeder Betätigung eines Objektes mit ’exit’-Statur gibt KResource dann den zugehörigen Objektindex und Namen an. Das ist sehr nützlich, um festzustellen, ob man das Benennen irgendeines Objektes vergessen hat (oder ob man, noch schlimmer, irgendwelche Objekte verwechselt hat).

Die Möglichkeit zur Typänderung erlaubt, etwas „ausgeflipptere“ Menüs zu erstellen, als dies standardmäßig möglich ist. Im Formularmodus ist es durchaus möglich, Icons in die Menüleisten einzubauen, oder, wie bei Signum, mehrere Einträge nebeneinander zu setzen. Der Umschalter zwischen Box- und Menümodus paßt dabei gut auf: Wenn man es zu toll getrieben hat, ist ein Zurückschalten in den Dialogboxmodus nicht mehr möglich. Denn nicht jede Baumkonstruktion, die im Formularmodus möglich ist, wird auch vom Menü-Manager des AES verkraftet.

Innerhalb des Editierfensters einer Baumstruktur können ebenfalls durch Doppelklick auf ein beliebiges Objekt die Dialogboxen, die alle Einstellmöglichkeiten enthalten, erreicht werden. In diesen Boxen können die Flags der Objekte sowie einige Parameter (je nach Objekttyp verschieden) gesetzt werden. Im Gegensatz zu den beiden anderen Resource-Editoren kann man auch Voreinstellungen, zum Beispiel für Radiobuttons, mit den Resource-Files abspeichern. Damit kann man auf das lästige (und mühsame) Einstellen der Default-Werte im Programm verzichten. Doch damit nicht genug: Das AES ignoriert das obere Byte des Typ-Wortes sowie einzelne Bits im Status- und Flagwort der einem Objekt zugeordneten Datenstruktur. Diese Bits bzw. das Byte stellt KResource dem Benutzer zur Verfügung. Man könnte diese Werte zum Beispiel für eigene Flags oder als Suchkriterium für die Bearbeitung mehrerer gleichartiger Objekte verwenden: Der Phantasie sind keine Grenzen gesetzt. Einige unbequeme Programmieraufgaben sollten sich auf diese Weise vereinfachen lassen. Bleibt nur zu hoffen, daß diese Werte in zukünftigen AES-Versionen nicht irgendwann einmal gebraucht werden!

Doch auch bei den Objekten erhält man, wie bei den Bäumen, durch einfaches Anklicken einen Dialog mit Editierfunktionen. Er ist besonders hübsch gestaltet und wächst wie eine Menüleistenbox aus dem angewählten Objekt heraus, enthält aber immer nur die im Moment möglichen Befehle.

Zur Verfügung stehen:

Editieren:
Ruft die vorher beschriebene Dialogbox auf.

Verstecken:
Läßt das angewählte Objekt unsichtbar werden.

Aufdecken:
Läßt vorher versteckte Objekte wieder erscheinen und kann deshalb nur nach einer Versteck-Operation aufgerufen werden.

Verflachen:
Lösche das angewählte Objekt, ohne seine Nachfolger mitzulöschen. Diese werden auf das Elternteil des gelöschten Objektes übertragen.

Schnappen:
Schiebt das Objekt auf die nächsten Rasterkoordinaten.

Sortieren:
Ordnet die Nachfolger eines Objektes entsprechend ihrer Bildschirmposition, wobei die Art der Ordnung in einem Dialog bestimmt werden kann.

Neuer Typ:
Bei Objekten, für die verschiedene Typen möglich sind, schaltet diese Anweisung zwischen den einzelnen Typen um.

Mit den Dialogen und den gerade aufgezählten Funktionen sind beinahe alle wünschenswerten Editierfunktionen verfügbar. Für Icons und Freie Bilder steht darüber hinaus noch ein einfacher Icon-Editor zur Verfügung. Bei Doppelklick auf ein Icon öffnet dieser ein eigenes Fesnter. Leider ist er nicht übermäßit komfortabel. Man kann aber gut damit arbeiten; besonders angenehm ist eine ’Trüb’-Funktion, die die Maske eines Icons zu einer Art Heiligenschein aufbläht. Damit sind Masken schnell und mühelos erstellt.

Bei Text-Feldern existiert eine Dialogbox, die, ähnlich wie bei lst_Word, den gesamten Atari-Zeichensatz enthält. Gefunden habe ich sie zufällig; in der Anleitung wird sie mit keinem Wort erwähnt. Man erreicht sie durch gleichzeitiges Drücken von ALTER-NATE und Insert. Ungewöhnlich ist die Eingabe des ’Validation’-Strings bei editierbaren Textfeldern: Er muß mit gedrückter ALTERNATE-Taste eingegeben werden.

Außer den in Menüs und Dialogen angebotenen Editierfunktionen können Objekte aus den Editierfenstern durch einfaches ’draggen’ mit der Maus auf das Desktop kopiert oder verschoben werden. Es ersetzt damit die ’Clip-board’-Funktion des Digital-Research-RCS auf ungleich vielseitigere Weise: Auf diesem Riesen-Clipboard können beliebig viele Bäume, Objekte oder Files abgelegt werden, nur durch den Speicherplatz des Rechners oder den Platz auf dem 'Schreibtisch’ beschränkt. Auf diese Weise kann man sehr komfortabel ganze Teile zwischen verschiedenen Resource-Files hin- und herkopieren. Selbstverständlich können auch innerhalb der Editfenster alle Objekte einfach mit der Maus verschoben oder kopiert werden.

Abbildung 4: Einfache Eingabe von Sonderzeichen in Textfelder

Wie beim Megamax-Editor können Dialogboxen bei KResource eine beliebige Größe annehmen, sie sind nicht - wie im RCS - auf die Fenstergröße beschränkt. Auch die Größe von Icons läßt sich beinahe beliebig einstellen, im Gegensatz zum Megamax-Editor sogar mit genauer Größenangabe. Leider bietet keiner der drei Resource-Editoren die Angabe der gerade eingestellten Boxgröße in Pixeln, sowie der relativen Koordinaten in Bezug auf das übergeordnete Objekt. Gerade bei der Erstellung eines neuen Desktop, der ja nun mal nicht als ganzes auf den Editierbildschirm paßt, wäre eine solche Anzeige bzw. Einstellmöglichkeit sehr wünschenswert. Aber auch für Dialogboxen, die Tabellen oder ähnliches enthalten sollen, wäre es nützlich. Auch wäre eine etwas flexiblere Raster-Funktion sehr angenehm. Das 80A24 Raster ist für viele Boxen einfach zu grob, außerdem sollte das Raster auf die Nullkoordinaten des übergeordneten Objektes beziehbar sein. Auch die Augen wären für solche Editierhilfen dankbar, sie werden beim Auf-den-Bildschirm-Starren für die pixelgenaue Positionierung sehr beansprucht. Der Kuma-Editor hat dabei noch den Nachteil, daß ein Objekt beim Verschieben oder Vergrößern nicht genau dort erscheint, wo die Gummibandlinien des Umrisses zu sehen sind, sondern leicht verschoben. Dieser Effekt sollte schnellstens behoben werden. Im Icon-Editor ist es sehr störend, daß man zum Wechseln der Zeichenfarbe immer einen Schalter betätigen muß. Warum eigentlich nicht zum Zeichnen und Löschen die linke und rechte Maustaste benutzen?

Der Icon-Editor könnte etwas schneller sein; besonders nützlich wäre aber, gerade für größere Icons, ein Editor, der über echte Zeichenfunktionen verfügt. Hoffentlich wird es bald solche Icon-Editoren geben! Der Font-Editor von Signum ist da schon ein Schritt in die richtige Richtung. Leider kann man sich bei KResource auch nicht mit Nachladen von Icons, die man mit einem anderen Editor erstellt hat, helfen: Eine Nachlade-Funktion ist nicht vorgesehen. Aber all dies sind nachträgliche Mängel, wenn man bedenkt, daß auch andere Editoren solche Features nicht bieten können. Um das Erstellen größerer Resourcen aber komfortabler (und vor allem weniger zeitraubend) zu machen, ist zu hoffen, daß irgend ein Hersteller sich solche Anregungen zu Herzen nimmt. Dafür wäre natürlich auch wichtig, die bisherige 32K-Beschränkung der Resourcen aufzuheben: Der in Deutschland nicht erhältliche Nachfolger des Digital-Re-search-RCS kann die doppelte Größe verwalten.

Zwei ernsthafte Mängel bleiben bei KResource zu bemerken: Erstens die bereits angesprochene Positionier-Ungenauigkeit bei Verschiebe- und Vergrößerungsoperationen. Zweitens ist das Programm nicht völlig absturzsicher; außerdem ließ es sich manchmal nur sofort nach dem Einschalten oder einem Reset starten, nicht aber nach Ablauf einer anderen Applikation.

Besonders wichtig für den Anwender ist die Betriebssicherheit der fertigen Resourcefiles. In diesem Punkt hat KResource die Nase besonders weit vorne. Mit den beiden anderen Editoren hatte ich bei der Entwicklung eines Programmes mehr oder weniger häufig Arger, der sich in Programmabstürzen, die sich letztlich auf Fehler im Resource-File zurückführen ließen, äußerte. Von solchen „Macken“ ist KResource glücklicherweise völlig frei.

Zusammenfassend möchte ich dem Resource Construction Set von Kuma ein großes Lob aussprechen: Es ist zwar noch nicht mein Traum von einem RCS, aber es ist das weitaus Beste, was im Moment auf dem deutschen Markt erhältlich ist. Die Editierfunktionen sind sehr komfortabel, und insgesamt ist die Betriebssicherheit gut. Das Handbuch ist wenig lehrreich, ein Register wird sehr vermißt. Aber alle Kritikpunkte sind Kleinigkeiten: Die anderen Editoren haben viel größere Mängel. Das wichtigste ist, daß mit KResource erstellte Files völlig reibungslos funktionieren, was man von den Ergebnissen der anderen RCS nicht ohne weiteres behaupten kann. Fazit: Sehr empfehlenswert.

(CS)



Aus: ST-Computer 05 / 1987, Seite 108

Links

Copyright-Bestimmungen: siehe Über diese Seite