Dockies sind vielfältig einsetzbar. In diesem Teil des Programmierkurses lernen Sie, wie sich Anwendungen und andere Programme mit einem Docky ausstatten und sich ansteuern lassen.
von Michael Christoph
Die Grundlagen zur Programmierung von System-Dockies unter AmigaOS 4 wurde bereits in der letzten Ausgabe behandelt. Diese Elemente ließen sich schon in die AmiDock-Leiste einbinden. In dieser Ausgabe sind die »AppDockies« Thema. Hierbei handelt es sich eigentlich um eine ganz normale Anwendung, die aber gleichzeitig auch in der AmiDock-Leiste verfügbar ist. Docky-Programme können in der AmiDock-Leiste z.B. Statusmeldungen anzeigen oder ein Context-Menü anbieten. Damit kann man etwa ein Einstellfenster eines anderen Programms anzeigen. Hintergrundinfos
zum AppDocky Bei den Application-Dockies sieht die Sache dagegen anders aus. Hier
wird ein normales Programm geschrieben. Dieses wird dann zusätzlich
bei der application.library registriert worauf ein Pseudo-Docky
in die AmiDock-Leiste einfügt wird (s. Listing
1). CreateDockyLibrary verbirgt sich die Funktion IExec->CreateLibrary(libCreateTags); Es sind somit die meisten Tags, Vector-Listen und Funktionen notwendig, wie bei einer gelinkten Library auch. Da es sich hier allerdings um keine öffentliche Bibliothek handelt, kann auf die normalen Library-Funktion wie Open, Close, Expunge und Clone verzichtet werden. Wenn der mehrfache Start eines Programms zugelassen wird, wird jedem Programm seine eigene private Bibliothek zur Verfügung gestellt. Während die Anwendung im Docky-Modus in einem eigenen Message-Loop läuft, wird die Docky-Komponente weiterhin von AmiDock mit passenden Informationen versorgt und eingebunden. Beide Komponenten laufen also unabhängig voneinander. Man muss allerdings dazu die geeigneten Kommunikationsmechanismen zwischen Programm und Docky in einen Code einbauen. Im einfachsten Fall reichen dazu aber bereits Signale aus. Dazu gehören z.B. SIGBREAKF_CLTR_C zum Beenden oder auch der Aufruf Exec->AllocSignal für zusätzlich reservierte Signale. Ansonsten sind per IExec->CreateMsgPort ein privater Message-Port anzulesen und darüber Nachrichten bzw. Daten auszutauschen. Ein
Beispiel Der aktuelle Farbwert wird beim Programmende vermerkt, um nach einem Rechnerneustart mit diesen fortzufahren. Im Gegensatz zu den Standard-Dockies werden die AppDockies nicht automatisch in AmiDock eingebunden, da es sich ja um eigenständige Programme handelt.
Falls dies gewünscht wird, müsste man das Programm einfach in den WBStartup-Ordner der System-Partition verschieben. Hinweis: Berücksichtigen Sie noch beim Einsatz des WB-Startup-Ordners, dass AmiDock eine höhere Priorität bekommt als die Docky-Anwendung. AmiDock startet beim Hochfahren des Systems eher. Viele Einsatzgebiete sind für die Dockies denkbar: Programme wie eine einfachen Zeitanzeige oder auch eine grafische Mondphasenuhr sind nur zwei Ideen. Es kann aber auch eine Stoppuhr sein oder komplexe Programme wie Notizbücher. So wäre zum Beispiel auch ein Terminplaner vorstellbar, der in der Dock-Leiste bevorstehende Termine anzeigt und beim Anklicken ein Fenster öffnet, in dem der Anwender die Termine erfassen und bearbeiten darf. In der nächsten Ausgabe wird dann das Thema »Debugging« groß geschrieben. Im Zusammenhang mit dem GrimReaper ergeben sich hier einfache Möglichkeiten, um eigene Programmfehler aufzuspüren. lb |
|
Download: | enthält: |
---|---|
GradientProg : Programm in die AmiDock-Leiste einbinden |
|
os4prog-13-appdocky-src.lha, 47.359 bytes |
Kommentare, Fragen, Korrekturen und Kritik bitte an Webmaster
AMIGA schicken.
Zuletzt aktualisiert am 23. Juli 2005, Michael Christoph.