Interface 2: Objekte nach Maß

Auf der letztjährigen Atari-Messe wurde mit Interface ein Resource Construction Set (RCS) vorgestellt, das sich seitdem zu einem allgemein anerkannten Standard gemausert hat. Nicht zuletzt der Umstand, daß Interface die Resource-Dateien aller anderen Programme dieses Typs weiterverarbeiten konnte, hatte damals den Umstieg erleichtert. In diesem Jahr nun erblickte Interface 2 in Düsseldorf das Licht der Welt.

Schon in der Version 1.0 stellte Interface einen großen Funktionsumfang bereit. In Interface 2 sind daher auch kaum wirklich elementare Neuerungen zu finden. Vielmehr wurden die bereits vorhandenen Funktionen konsequent ausgebaut sowie an der Benutzeroberfläche gefeilt. Besonderer Wert wurde dabei (im Zuge der Zeit) auf die Anpassung an Multitasking-Umgebungen gelegt.

Oberflächenmaniküre

War es in der bisherigen Interface-Version lediglich möglich, das Desktop in ein eigenes Fenster zu legen, so ist dies nun auch bei den Dialogboxen erlaubt. Das ist deshalb wichtig, weil es die Voraussetzung für einen Wechsel zu parallel laufenden Applikationen darstellt. Die vielbenutzten Dialoge zur Auswahl von Bäumen und Objekten lassen sich darüber hinaus dauerhaft auf das Desktop ablegen und sind somit ständig greifbar. Besonders die Besitzer von Großmonitoren werden davon profitieren, da gerade hier der Desktop genügend Freiraum zur Verfügung stellt. Die Positionen der Fenster lassen sich jetzt zusammen mit den restlichen Interface-Parametern sichern, so daß beim nächsten Programmstart die Arbeit an der alten Stelle wieder aufgenommen werden kann.

Am Klemmbrett-Icon ist unschwer zu erkennen, daß Interface nun auch das GEM-Clipboard unterstützt. Dies ist gleich auf zweierlei Arten der Fall. Zum einen lassen sich Objekte per Maus im Clipboard ablegen, woraus sie jederzeit wieder hervorgeholt werden können, zum anderen können Texte in Eingabefeldern sowie Icons im Icon-Editor mit dem von vielen anderen Programmen bekannten Cut/Copy/Paste-Mechanismus ausgeschnitten und eingefügt werden. Wer die zum Lieferumfang von Interface zählenden MyDial-Dialog-Routinen in eigenen Programmen verwendet, profitiert automatisch von der Unterstützung des Clipboards.

Größenwahn

Eine durch das AES vorgegebene Einschränkung bei der Erstellung von Resourcen gehört für Benutzer von Interface 2 endgültig der Vergangenheit an. Es ist nun möglich, externe Resourcen nahezu beliebiger Größe zu verarbeiten. Bisher mußte man sich mit einer Maximalgröße von 64 KB zufriedengeben, was beim wachsenden Umfang der heutigen Programme zu einer unangenehmen Einschränkung führen kann. Zwar unterstützt das AES überlange Resource-Dateien weiterhin eher schlecht als recht, aber unter den vielen nützlichen Routinen, die dem Interface-Paket beiliegen, finden sich auch vordefinierte Funktionen zum Laden großer Resource-Dateien, die einfach anstatt der handelsüblichen AES-Routinen aufgerufen werden. Sind die Resourcen einmal im Speicher abgelegt, lassen sie sich wie „normal große" RSC-Dateien mit den Standardaufrufen verwalten.

Ein interessantes neues Feature, wenn auch nur für Spezialfälle, ist der Resourcen-Vergleich (Bild 1). Wer für länderspezifische Programmversionen Resource-Dateien in verschiedenen Sprachen bereithält, kann sich mit dieser Funktion leicht Klarheit darüber verschaffen, ob die Resourcen von der Anordnung der Objekte her wirklich identisch sind. Nur in diesem Fall ist ein einfaches Austauschen der RSC-Dateien unter Beibehaltung des Programmcodes möglich, ohne einen Absturz aufgrund unterschiedlicher Verkettungen der einzelnen Objekte zu riskieren. Bei Abweichungen kann man die Objekte eines Baums wie bisher neu sortieren lassen, aber nicht mehr nur automatisch, sondern zusätzlich auch manuell. Sollen schließlich fremde Resourcen editiert werden, erweist es sich als nützlich, daß sich Änderungen in der Objektreihenfolge unterbinden lassen. Nur so kann man sichergehen, daß durch den Editiervorgang nicht einige Objektindizes unbemerkt verändert werden.

Bis ins Detail

Daß die praktischen Erfahrungen nicht nur des Programmautors, sondern auch der Kunden in die neue Fassung von Interface eingeflossen sind, zeigt sich an vielen Verbesserungen im Detail. So war es bisher häufig ein kleines Geduldsspiel, bis man mit der Maus die rechte untere Ecke eines Objekts erwischt hatte, um dieses anschließend in der Größe verändern zu können. Auf Wunsch zeigt Interface hier eine Sizebox an, so daß ein gezieltes Anwählen der bewußten Stelle möglich ist. Objekte lassen sich darüber hinaus auch leicht in alle Richtungen vergrößern. Wer bestimmte Objekte regelmäßig benötigt, wird es begrüßen, daß man die Objektebox um eigene Elemente ergänzen kann. So läßt sich die Bibliothek der standardmäßig vorhandenen Objekte leicht ergänzen. Bild 2 deutet diese neuen Funktionen an.

Eine sinnvolle Ergänzung gibt es auch bei den Funktionen zur Menübearbeitung. Interface 2 ist in der Lage, Shortcut-Symbole selbständig zu erkennen und diese automatisch, den GEM-Programmierrichtlinien gemäß, am rechten Rand der Menüeinträge zu plazieren. Darüber hinaus überprüft das Programm in der neuesten Version, ob derselbe Shortcut mehrfach verwendet wird. Hier wird ein guter Programmierstil also quasi (abschaltbar) erzwungen, und man kann als Programmierer auf störende Überprüfungen verzichten. Überarbeitet wurde auch der integrierte Icon-Editor. Icons lassen sich automatisch bis auf ihre minimale Größe verkleinern, ohne daß man deren Höhe und Breite noch nachträglich per Hand manipulieren müßte.

Compiler-Benutzer, die mit einer Projektdatei arbeiten, profitieren schließlich davon, daß Header-Dateien nur noch dann neu gesichert werden, wenn sich Änderungen bei den Objektindizes ergeben haben. Dadurch läßt sich die überflüssige Neucompilierung eines Programms wirkungsvoll verhindern.

Alles in allem erlauben solche Erweiterungen ein noch leichteres Erstellen von Resourcen, als dies bisher schon möglich war. Was die programmiertechnische Seite betrifft, so greift einem die mitgelieferte MyDial-Library unter die Arme. Mit ihrer Hilfe lassen sich die mit Interface erstellten Dialoge leicht in eigene Anwendungen einbinden, so daß man nicht mehr Zeit als nötig auf die Programmierung eigener Dialogroutinen verwenden muß.

Noch nicht ganz perfekt

Aufgrund einer Reihe nützlicher Funktionen verwundert es nicht, daß Interface sich wohl zu einem Standard entwickelt hat. Dennoch gibt es an manchen Stellen noch Handlungsbedarf. So ist Interface nämlich nicht in der Lage, Objekte des Typs TEXT zu verarbeiten, wenn diese eine Länge von mehr als 65 Zeichen haben. Das Editieren solcher Objekte führt dazu, daß sie auf 65 Zeichen zurechtgestutzt werden. Man ist also gezwungen, solche Texte aus zwei Objekten zusammenzusetzen. Gerade dann, wenn man mit zentrierten Texten arbeitet, ist das aber kein gangbarer Weg. Wenn Resourcen, die von einem anderen RCS erzeugt wurden, mit Interface weiterbearbeiten werden sollen, kann man hier auf ein Problem stoßen, das sich nicht befriedigend lösen läßt.

Bereits angeschnitten wurde die sogenannte MyDial-Library, die zum Lieferumfang von Interface gehört. Dabei handelt es sich um eine Sammlung von C-Routinen, mit denen sich leicht fliegende Dialoge sowie benutzerdefinierte Objekte realisieren lassen. Diese lassen sich mit ein wenig Aufwand bereits in Interface in ihrem endgültigen Aussehen darstellen, so daß sich eine optische Kontrolle im eigentlichen Programm erübrigt. Eine spezielle, allerdings ein wenig knapp erläuterte Schnittstelle macht dies möglich. Objekte des Typs G_USERDEF lassen sich mit Interface 2 praktischerweise direkt in die Resource-Daten einfügen. Der Parameter ub_parm läßt sich dabei bereits vorbesetzen, so daß das eigene Programm später lediglich noch ub_code mit der Adresse der Routine versorgen muß, die für das Zeichnen dieser Objekte verantwortlich ist.

Bild 1: Unterschiede werden aufgedeckt

Vorsprung ausgebaut

Bereits in der bisherigen Version wartete Interface mit einem Funktionsumfang auf, der nur wenige Wünsche offen ließ. Auch wenn für so manchen Anwender ein umfassenderes Programm gar nicht notwendig gewesen sein dürfte, bietet Interface 2 einige interessante Neuerungen. Viele davon sind in erster Linie für die Entwicklung umfangreicher Resourcen von Bedeutung und dürften vor allen Dingen den fortgeschrittenen Programmierer ansprechen. Interface hat seinen Ruf als Referenz-RCS mit der neuen Version weiter gefestigt.

Bisher war zur neuen Version von Interface noch kein gedrucktes Handbuch erhältlich, so daß man mit einer Textdatei vorliebnehmen mußte. Immerhin ist in der recht üppigen Update-Gebühr von DM 50,- eine neue Programmbeschreibung enthalten, die man zu gegebener Zeit kostenlos zugestellt bekommt. Im Verlauf dieses Tests traten übrigens einige Programmfehler zutage, die jedoch inzwischen bereits behoben sind. Wie bisher auch, erhalten registrierte Anwender von Interface 2 ein kostenloses Update. Dazu genügt die Einsendung der Originaldiskette im frankierten Rückumschlag an:

SHIFT GmbH Kompagniestraße 13 W-2390 Flensburg

Daß es unter dieser Anschrift nicht nur Updates, sondern für DM 128,- auch eine vollständige Version von Interface 2 gibt, versteht sich wohl von selbst.

US

Bild 2: Der Teufel steckt im Detail.

Interface 2

Positiv:

Negativ:



Aus: ST-Computer 11 / 1992, Seite 30

Links

Copyright-Bestimmungen: siehe Über diese Seite