Der Benutzer kann persönliche Steuerungen durch Ablegen der entsprechenden Symbole auf der Steuerung 'Symbol installieren' erstellen.
Diese Vorgehensweise ermöglicht zwar eine einfache Anpassung der Benutzeroberfläche, jedoch steht nicht der volle Funktionsumfang der Steuerungen im vorderen Steuerbereich zur Verfügung. Eine mit 'Symbol installieren' erstellte Steuerung verfügt beispielsweise nicht über folgende Merkmale:
Animation
Anzeigen eines Client-Fensters
Ändern des Erscheinungsbilds bei einem bestimmten Ereignis (z. B. beim Empfangen neuer Post)
Dieser Abschnitt beschreibt, wie Steuerungen im vorderen Steuerbereich manuell erstellt werden können.
Vollständige Informationen zur Syntax für das Erstellen von Steuerungen sind auf der Hilfeseite zu dtfpfile(4X) zu finden.
Die Struktur der Definition einer Steuerung im vorderen Steuerbereich lautet:
CONTROL Steuerungsname { TYPE Steuerungstyp CONTAINER_NAME Wert CONTAINER_TYPE Wert andere Felder zum Definieren des Erscheinungsbilds und der Funktionsweise }
Das TYPE-Feld der Definition bestimmt das grundlegende Verhalten der Steuerung.
Funktionsweise
Die Steuerung führt eine bestimmte Aktion aus, sobald auf sie geklickt bzw. eine Datei auf ihr abgelegt wird.
Platzhalter zum Festlegen des Abstands zwischen den Steuerungen.
Betriebsanzeige. Die Steuerung blinkt (schaltet die Grafik um), wenn eine Aktion aufgerufen wird.
Ein Client-Fenster im vorderen Steuerbereich.
Die Steuerung zeigt die Uhrzeit an.
Die Steuerung zeigt das aktuelle Datum an.
Die Steuerung repräsentiert eine Datei. Durch Auswählen der Steuerung wird die Standardaktion für die Datei ausgeführt.
Dieser Abschnitt enthält Informationen über die allgemeinen Schritte zum Definieren einer Steuerung und zum Erstellen der verschiedenen Steuerungstypen.
Soll die Steuerung über eine PUSH_ACTION und/oder DROP_ACTION verfügen, erstellen Sie die Aktionsdefinitionen. Diese Aktionen werden ausgeführt, wenn der Benutzer auf die Steuerung klickt oder eine Datei auf ihr ablegt.
Erstellen Sie die Symboldateien für die Steuerung.
Informationen über die Größe, Namen und Verzeichnisse der Symbole finden Sie im Abschnitt Symbolbilddateien.
Erstellen Sie eine neue Konfigurationsdatei für den vorderen Steuerbereich im folgenden Verzeichnis:
Systemweit: /etc/dt/appconfig/types/Sprache/*.fp
Persönlich: Home-Verzeichnis/.dt/types/*.fp
Fügen Sie die Steuerungsdefinition der Datei hinzu.
Speichern Sie die Datei.
Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.
Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:
TYPE: Hat den Wert 'icon'.
PUSH_ACTION: Gibt den Namen der auszuführenden Aktion an.
Beispielsweise wird die folgende Steuerung dem zusätzlichen Steuerbereich 'Persönliche Anwendungen' hinzugefügt und startet ein vom Benutzer installiertes Spiel:
CONTROL Ball { TYPE icon CONTAINER_NAME PersAppsSubpanel CONTAINER_TYPE SUBPANEL ICON ball PUSH_ACTION RunBallGame HELP_STRING "Wählen Sie diese Steuerung, um 'Ball' zu spielen." }
Die folgende Steuerung wird in der linken oberen Ecke des Wechselbereichs plaziert und startet eine Aktion namens CutDisp.
CONTROL StartCutDisp { TYPE icon CONTAINER_NAME Switch CONTAINER_TYPE SWITCH POSITION_HINTS first ICON cutdisp HELP_STRING "Wählen Sie diese Steuerung, um die Aktion 'cutdisp' auszuführen." PUSH_ACTION CutDisp }
Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:
TYPE: Hat den Wert 'file'.
PUSH_ACTION: Hat den Wert 'Open'.
Es muß eine Open-Aktion für den Datentyp der Datei existieren.
Im folgenden Beispiel wird eine Steuerung am rechten Rand des Hauptsteuerbereichs hinzugefügt. Sie ruft den Texteditor mit der Datendatei /users/ellen/PhoneList.txt auf. Die Open-Aktion für *.txt-Dateien ist in der Standardaktionsdatenbank enthalten.
CONTROL EditPhoneList { TYPE file FILE_NAME /users/ellen/PhoneList.txt CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS last ICON PhoneBook HELP_STRING "Diese Steuerung zeigt die Telefonliste von Ellen an." PUSH_ACTION Open }
Verwenden Sie das Feld DROP_ACTION, um die Aktion festzulegen, die beim Ablegen einer Datei auf der Steuerung ausgeführt wird. Die Aktion muß in der Lage sein, Dateiargumente zu verarbeiten.
Oftmals enthält eine Steuerungsdefinition sowohl das Feld PUSH_ACTION als auch DROP_ACTION. Es kann dann dieselbe Aktion für Klicken und Ablegen verwendet werden.
Die folgende Steuerung befindet sich im zusätzlichen Steuerbereich 'Persönliche Anwendungen' und startet den X-Client xwud, der ein Dateiargument benötigt.
CONTROL Run_xwud { CONTAINER_NAME PerAppsSubpanel CONTAINER_TYPE SUBPANEL POSITION_HINTS 2 ICON XwudImage PUSH_ACTION RunXwud DROP_ACTION RunXwud }
Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:
TYPE: Geben Sie einen der folgenden Werte an:
icon- Verwenden Sie diesen Typ, wenn eine PUSH_ACTION und/oder DROP_ACTION für die Steuerung definiert werden soll.
file- Verwenden Sie diesen Typ, wenn sich die Steuerung bei der Auswahl wie die entsprechende Datei verhalten soll, wenn im Dateimanager doppelt auf deren Symbol geklickt wird.
ICON und ALTERNATE_ICON: Diese beiden Felder legen die Grafiken fest, die für den geänderten und den nicht geänderten Status der überwachten Datei angezeigt werden.
MONITOR_TYPE: Dieses Feld beschreibt die Bedingungen für das Ändern der Grafik. Verwenden Sie hier einen der folgenden Werte:
mail- Die Steuerung ändert das Erscheinungsbild, wenn Informationen in die Datei eingefügt werden.
file- Die Steuerung ändert das Erscheinungsbild, wenn die überwachte Datei nicht mehr leer ist.
FILE_NAME: Mit diesem Feld wird die zu überwachende Datei angegeben.
Die folgende Steuerung sucht beispielsweise nach der Datei meetings, die per 'Anonymous FTP' auf das System übertragen werden sollte. Diese Steuerung befindet sich am oberen Rand des zusätzlichen Steuerbereichs 'Persönliche Anwendungen'.
CONTROL MonitorCalendar { TYPE file CONTAINER_NAME PersonalApps CONTAINER_TYPE SUBPANEL POSITION_HINTS first FILE_NAME /users/ftp/meetings MONITOR_TYPE file ICON meetingsno ALTERNATE_ICON meetingsyes }
Eine Einzelinstanz-Steuerung prüft, ob der Prozeß bereits ausgeführt wird, der mit PUSH_ACTION gestartet wurde. Wurde der Prozeß noch nicht gestartet, wird PUSH_ACTION ausgeführt. Läuft der Prozeß bereits, wird das betreffende Fenster in den Vordergrund des aktuellen Arbeitsbereichs gebracht.
Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:
PUSH_RECALL: Hat den Wert True.
CLIENT_NAME: Gibt der Steuerung den Namen des Client an.
Der Wert von CLIENT_NAME muß mit der ersten Zeichenfolge (res_name) der Eigenschaft WM_CLASS des Hauptfensters der Anwendung übereinstimmen. Weitere Informationen hierzu finden Sie auf der Hilfeseite xprop(1).
PUSH_ACTION: Gibt die Aktion an, die beim Klicken auf die Steuerung ausgeführt wird.
Folgende Steuerung startet eine Instanz einer Anwendung, deren Aktion den Namen 'MyEditor' hat.
CONTROL MyEditor { TYPE icon CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 15 PUSH_RECALL True CLIENT_NAME BestEditor PUSH_ACTION StartMyEditor ICON MyEd }
Eine Client-Fenstersteuerung ist ein Anwendungsfenster im vorderen Steuerbereich. Es kann beispielsweise eine Systemsauslastungsanzeige im vorderen Steuerbereich durch Erstellen einer xload-Client-Fenstersteuerung angezeigt werden.
Definieren Sie die Steuerung.
Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:
TYPE: Hat den Wert client.
CLIENT_NAME: Gibt den zu startenden Client an.
Der Wert von CLIENT_NAME muß mit der ersten Zeichenfolge (res_name) der Eigenschaft WM_CLASS des Hauptfensters der Anwendung übereinstimmen. Weitere Informationen hierzu finden Sie auf der Hilfeseite xprop(1).
Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.
Starten Sie den Client von der Befehlszeile eines Terminal-Emulatorfensters.
Die folgende Steuerung zeigt eine Auslastungsanzeige von 30 × 20 Pixel an.
CONTROL LoadMeter { TYPE client CONTAINER_NAME Top CONTAINER_TYPE BOX CLIENT_NAME xload CLIENT_GEOMETRY 30x20 }
Wird der Client zwischen den Sitzungen nicht gespeichert und wiederhergestellt, sollten Sie die Steuerung so konfigurieren, daß sie beim Klicken des Benutzers auf das Symbol den Client startet. Sie können beispielsweise die Steuerung 'LoadMeter' konfigurieren, um den Client xload zu starten, indem Sie folgende Zeile zu der Definition hinzufügen:
PUSH_ACTION StartXload
und diese Aktion erstellen:
ACTION StartXload { WINDOW_TYPE EXEC_STRING /usr/contrib/bin/X11/xload }
Sie können einer Steuerung eine Animationssequenz zuordnen, die beim Klicken auf die oder Ablegen auf der Komponente verwendet wird.
Damit eine Animation verwendet werden kann, muß die Steuerung folgende Bedingungen erfüllen:
Sie muß den Typ icon aufweisen.
Sie muß über ein PUSH_ACTION- oder DROP_ACTION-Feld verfügen.
Die Animationssequenz wird mit der Komponente ANIMATION angegeben:
ANIMATION Animationsname { ANIMATION Symbol1 [Verzögerung_in_Millisekunden] ANIMATION Symbol2 [Verzögerung_in_Millisekunden] … }
Dabei sind Symbol1, Symbol2 usw. die Namen von Symbolen und Verzögerung_in_Millisekunden die Zeitdauer in Millisekunden, die für Animationssymbole vergeht. Die Standardeinstellung für die Zeitverzögerung beträgt 200 Millisekunden.
Fügen Sie das Feld PUSH_ANIMATION und/oder DROP_ANIMATION der Steuerungsdefinition hinzu. Der Wert ist dabei der Name der ANIMATION-Sequenz.
Im folgenden Beispiel wird eine Steuerung animiert, mit der die Anwendung 'BestEditor' gestartet werden kann. Die Zeitverzögerung zwischen den Symbolen beträgt 300 Millisekunden. Es wird vorausgesetzt, daß die Symboldateien frame1, frame2 usw. vorhanden sind.
CONTROL BestEditor { … … PUSH_ANIMATION BestEdAnimation … }
ANIMATION BestEdAnimation { frame1 300 frame2 … }
Elementhilfe kann auf zwei Arten für eine Steuerung bereitgestellt werden:
Durch eine Zeichenfolge in der Steuerungsdefinition.
Die Zeichenfolge wird angezeigt, wenn der Benutzer für die Steuerung Elementhilfe anfordert. Sie darf keine Formatierungsinformationen (z. B. Titelzeilen) oder Verweise enthalten.
Die Hilfe-Zeichenfolge muß folgendermaßen in der Definition der Steuerung angegeben werden:
HELP_STRING Hilfe_Zeichenfolge
Durch Angabe eines Hilfethemas in einem registrierten Hilfeband.
Eine Hilfethema enthält Informationen, die mit den Funktionen des Hilfesystems erstellt wurden. Um ein Hilfethema zu erstellen, benötigen Sie das Help Developer's Kit des Desktops.
Der Hilfeband und die ID des Themas müssen in der Steuerungsdefinition angegeben werden:
HELP_VOLUME Hilfeband HELP_TOPIC Thema_ID