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