Bei Aktionen und Datentypen handelt es sich um wichtige Komponenten bei der Integrierung von Anwendungen auf dem Desktop. Sie stellen eine Möglichkeit zur Verfügung, eine Benutzerschnittstelle zum Starten von Anwendungen und zum Bearbeiten von deren Datendateien zu benutzen.
In diesem Kapitel wird das Konzept von Aktionen und Datentypen erläutert. Es wird beschrieben,
warum es günstig ist, Aktionen und Datentypen für Anwendungen zu erstellen.
welche Beziehung zwischen Aktionen und Datentypen besteht.
in welcher Beziehung Aktionen und Datentypen zum Drucken über das Desktop stehen.
Die Verfahren und Regeln für das Erstellen von Aktionen und Datentypen werden in diesem Handbuch in drei Kapiteln behandelt:
In Kapitel 11 wird erläutert, wie Aktionen und Datentypen mit der Desktop-Anwendung 'Aktion erstellen' erstellt werden.
Mit 'Aktion erstellen' können Aktionen und Datentypen für die meisten Anwendungen erstellt werden, ohne daß der Benutzer die Syntaxregeln für deren Definitionen lernen muß.
In Kapitel 12 und Kapitel 13wird erläutert, wie Aktionen und Datentypen manuell erstellt werden, indem Konfigurationsdateien erstellt und bearbeitet werden.
Wenn der Benutzer erweiterte Funktionen verwenden möchte, die durch 'Aktion erstellen' nicht unterstützt werden, ist es notwendig, daß er Aktionen und Datentypen manuell erstellt.
Bei Aktionen handelt es sich um Instruktionen, mit denen Desktop-Aufgaben wie die Ausführung von Anwendungen und das Öffnen von Datendateien automatisiert werden. Aktionen funktionieren ähnlich wie Anwendungsmakros oder Programmierfunktionen. Jede Aktion verfügt über einen Namen, der für die Ausführung der Aktion verwendet wird.
Sobald eine Aktion definiert wird, kann sie dazu verwendet werden, die Desktop-Benutzerschnittstelle anzupassen, so daß Aufgaben einfacher ausgeführt werden können. Das Desktop verfügt über Benutzerschnittstellenkomponenten wie zum Beispiel Symbole, Bedienelemente im Bedienfeld und Menüelemente für Aktionen zur Verfügung zu stellen.
Beispielsweise enthält die Gruppe von Anwendungen 'Desktop_Werkzeuge' im Anwendungsmanager Symbole, über die verschiedene Dienstprogramme gestartet werden.
Jedes dieser Symbole führt eine Aktion aus, wenn auf diesem Symbol doppelt geklickt wird. Das folgende Beispiel zeigt einen Teil der Definition der Aktion, die ausgeführt wird, wenn der Benutzer auf dem Symbol mit der Bezeichnung Xwd Display doppelt klickt. Die Aktion ist in der Konfigurationsdatei /usr/dt/appconfig/types/sprache/xclients.dt definiert.
Tabelle 10-1
ACTION Xwud |
|
---|---|
{ |
|
LABEL |
Xwd Display |
TYPE |
COMMAND |
EXEC_STRING |
/usr/bin/X11/xwud -noclick -in \ |
%(File)Arg_1"Xwd File To Display:"% |
|
|
... |
} |
|
Der Befehl im Feld EXEC_STRING der Aktion wird ausgeführt, wenn der Benutzer dieses Symbol doppelklickt.
Das Bedienfeld verwendet ebenfalls Aktionen. Das folgende Beispiel zeigt einen Teil der Definition des Bedienelements mit der Bezeichnung 'Terminal' in der Bedientafel 'Persönliche Anwendungen'. Das Bedienelement ist in der Konfigurationsdatei /usr/dt/appconfig/types/sprache/dtwm.fp definiert.
Tabelle 10-2
CONTROL Term |
|
---|---|
{ |
|
ICON |
Fpterm |
LABEL |
Terminal |
PUSH_ACTION |
Dtterm |
... |
|
} |
|
Das Feld PUSH_ACTION gibt an, welche Aktion ausgeführt werden soll, wenn der Benutzer das Bedienelement anklickt. In diesem Fall handelt es sich um eine Aktion mit dem Namen Dtterm.
Daneben werden Aktionen häufig in Menüs verwendet. Datendateien verwenden normalerweise Aktionen in ihrem Menü 'Ausgewählt' im Dateimanager. Zum Beispiel verfügen XWD-Dateien (Dateien, deren Namen die Erweiterung.xwd oder.wd haben) über eine Aktion 'Öffnen', die das Anzeigenbild anzeigt, indem die Aktion 'Xwud' ausgeführt wird.
Die Aktionen im Menü 'Ausgewählt' werden in der Datentypdefinition für XWD-Dateien angegeben. Die Definition befindet sich in der Konfigurationsdatei /usr/dt/appconfig/types/sprache/xclients.dt.
Tabelle 10-3
DATA_ATTRIBUTES XWD |
|
---|---|
{ |
|
ACTIONS |
Open,Print |
ICON |
Dtxwd |
... |
|
} |
|
Der Datentyp XWD und die zugehörigen Aktionen 'Öffnen' und 'Drucken' , werden im Abschnitt Failed Cross Reference Format erläutert.
Als Beispiel soll das Symbol Xwd Display in der Gruppe von Anwendungen Desktop_Werkzeuge betrachtet werden. Wird auf diesem Symbol doppelt geklickt, wird der X-Client xwud ausgeführt. Dennoch stellt dieses Symbol nicht direkt die ausführbare Datei /usr/bin/X11/xwud dar.
Das Symbol Xwd Display wird in der Gruppe von Anwendungen angezeigt, weil in diesem Verzeichnis eine Datei mit dem Namen Xwud steht (siehe Abbildung 10-4). Diese Datei stellt eine zugrundeliegende AKtion mit demselben Namen, nämlich Xwud dar. In der Aktionsdefinition ist der Aktionsname der Name, der nach dem Schlüsselwort ACTION angegeben ist:
Tabelle 10-4
ACTION Xwud |
|
|
|
---|---|---|---|
{ |
|
|
|
|
LABEL |
Xwd Display |
|
|
TYPE |
COMMAND |
|
|
WINDOW_TYPE |
NO_STDIO |
|
|
EXEC_STRING |
/usr/bin/X11/xwud -noclick -in \ |
|
|
|
%(File)Arg_1"Xwd Datei anzeigen:"% |
|
|
DESCRIPTION |
Die Xwd-Anzeige (Xwud) 'Aktion Xwd-Anzeige' zeigt |
eine xwd-Datei, die mit der Aktion 'Xws Capture' (Xwd) erstellt wurde. Es wird der Befehl 'xwud' verwendet. |
} |
|
|
|
Die Datei wird als Aktionsdatei bezeichnet, weil sie eine Aktion darstellt. Eine Datei ist eine Aktionsdatei, wenn es sich um eine ausführbare Datei mit demselben Namen wie eine Aktion handelt. Das zugehörige Symbol im Anwendungsmanager (oder im Dateimanager) wird Aktionssymbol oder Anwendungssymbol genannt, weil durch Doppelklicken auf diesem Symbol eine Anwendung gestartet wird.
Stellt der Anwendungsmanager eine ausführbare Datei fest, durchsucht er die Datenbank für Aktionen, um festzustellen, ob Aktionen vorhanden sind, deren Namen dem Dateinamen entsprechen. Wird eine Entsprechung gefunden, weiss der Anwendungsmanager, daß es sich bei der Datei um eine Aktionsdatei handelt.
Der Inhalt der Aktionsdatei ist irrelevant. Aktionsdateien enthalten normalerweise Kommentare mit der Beschreibung ihrer Desktop-Funktionen.
Bei einer Aktionsdatei handelt es sich nicht um eine Definitionsdatei für Aktionen. Die Aktionsdatei ist eine Datei mit demselben Namen wie die Aktion. Sie wird verwendet, um das Anwendungssymbol im Dateimanager oder im Anwendungsmanager zu erstellen. Die Definitionsdatei für Aktionen ist die Datei mit dem Namen name.dt, die die Definition der Aktion enthält.
Sobald das Desktop festgestellt hat, daß es sich bei einer Datei um eine Aktionsdatei handelt, wird die zugrundeliegende Aktionsdefinition verwendet, um das Erscheinungsbild und das Verhalten der Aktionsdatei zu definieren.
Im Feld EXEC_STRING wird das Verhalten des Anwendungssymbols angegeben. Im Fall des Symbols Xwd Display wird im Feld EXEC_STRING angegeben, daß das Aktionssymbol den X-Client xwud mit bestimmten Befehlszeilenargumenten ausführt.
Im Feld LABEL wird die Bezeichnung für das Anwendungssymbol angegeben.
Im Feld DESCRIPTION wird der Text angegeben, der angezeigt wird, wenn der Benutzer die Kontexthilfe aufruft.
Das Anwendungssymbol Xwud verwendet das Standardsymbolbild für Aktionen, da die Aktionsdefinition kein Feld ICON enthält, in dem ein anderes Abbild definiert ist.
Im Gegensatz dazu verwendet das Symbol mit der Bezeichnung Compress File ein anderes Symbolbild, da die zugrundeliegende Aktionsdefinition ein Feld ICON enthält:
Beispiel: |
|
---|---|
ACTION Compress |
|
LABEL |
Datei komprimieren |
ICON |
Dtcmprs |
... |
|
} |
|
Die Aktion Xwud wird als Befehlsaktion bezeichnet, da ihre Definition den auszuführenden Befehl (EXEC_STRING ) enthält. Das Feld TYPE in der Aktionsdefinition definiert denAktionstyp.
Zunächst wird das Symbol Xwd Display in der Gruppe von Anwendungen Desktop_Werkzeuge angezeigt. Der Benutzer kann jedoch zusätzliche Exemplare des Aktionssymbols in jedem Verzeichnis erstellen, für das er Schreibberechtigung hat. Solange die Aktionsdefinition für Xwud Bestandteil der Datenbank ist, wird jede ausführbare Datei mit dem Namen Xwud, die der Benutzer erstellt, eine Aktionsdatei sein, die diese Aktion darstellt, und das zugehörige Symbol im Dateimanager oder Anwendungsmanager kann verwendet werden, um die Aktion auszuführen.
Ein Argument ist das Objekt, normalerweise eine Datei, an dem der Befehl ausgeführt wird. Aktionen können so definiert werden, daß sie Dateiargumente akzeptieren.
Beispielsweise gibt das Feld EXEC_STRING der Aktion Xwud an, daß ein Dateiargument erforderlich ist:
Tabelle 10-6
EXEC_STRING |
/usr/bin/X11/xwud -noclick -in \ |
---|---|
|
%(File)Arg_1"Xwd Datei anzeigen:"% |
Der Term Arg steht für das Wort Argument. Die Syntax Arg_1 bedeutet das erste Argument, und (File) bedeutet, daß die Aktion dieses Argument als eine Datei behandelt.
Die einfachste Weise, in der ein Benutzer ein Dateiargument zur Verfügung stellen kann, besteht darin, eine Datendatei dem Anwendungssymbol zu übergeben. Das Desktop stellt den Pfad der übergebenen Datei fest und setzt diesen in der Befehlszeile anstelle des Texts zwischen den Symbolen % (%(File)Arg_1"Xwd Datei anzeigen:"%). Dann wird folgender Befehl ausgeführt:
/usr/bin/X11/xwud -noclick -in datei_pfad
Wenn der Benutzer auf dem Anwendungssymbol doppelt klickt, stellt das Desktop im Feld EXEC_STRING fest, daß ein Dateiargument erforderlich ist, und zeigt ein Dialogfenster an, in dem der Benutzer aufgefordert wird, einen Dateinamen oder Pfad einzugeben. Im Fall der Aktion Xwud lautet die Aufforderung:
Xwd Datei anzeigen:
Der Dateiname oder Pfad, den der Benutzer eingibt, wird als Dateiargument verwendet.
Zusätzlich zum Starten von Anwendungen werden Aktionen im gesamten Desktop verwendet, um Funktionalität in folgenden Bereichen herzustellen:
im Bedienfeld
Die Definition für ein Bedienelement im Bedienfeld enthält Felder, in denen die Aktion angegeben wird, die ausgeführt wird, wenn der Benutzer das Bedienelement anklickt oder dem Bedienelement eine Datei übergibt. Weitere Informationen hierzu können dem Abschnitt Missing Cross Reference Target entnommen werden
in Menüs
Die Syntax von Fenstermenü- und Arbeitsbereichsmenüdefinitionen ermöglicht dem Benutzer, die Aktion anzugeben, die über ein Menüelement ausgeführt wird. Weitere Informationen hierzu können dem Abschnitt Missing Cross Reference Target und der Hilfeseite dtwmrc(4) entnommen werden.
bei der Kommunikation zwischen Anwendungen
Eine Anwendung kann so eingerichtet werden, daß sie mit einem speziellen Typ von Aktion, nämlich ToolTalk message (TT_MSG ), Informationen sendet und empfängt TT_MSG-Aktionen werden in der Entwicklerumgebungsdokumentation für das Desktop beschrieben.
Erstellt der Benutzer eine neue Datendatei, kann das Erscheinungsbild und das Verhalten des Symbols der Datei im Dateimanager je nach dem Typ der Datendatei sehr unterschiedlich sein. Diese Fähigkeit, ein angepaßtes Erscheinungsbild und angepaßtes Verhalten für Dateien und Verzeichnisse zu erstellen, wird über den Datentypmechanismus des Desktop zur Verfügung gestellt.
Bei einem Datentyp handelt es sich um ein Konstrukt, das innerhalb der Desktop-Datenbank definiert ist. Das folgende Beispiel zeigt die Definition des Datentyps XWD. Die Definition befindet sich in der Konfigurationsdatei /usr/dt/appconfig/types/sprache/xclients.dt.
DATA_ATTRIBUTES XWD { ACTIONS Open,Print ICON Dtxwd NAME_TEMPLATE %s.xwd MIME_TYPE application/octet-stream SUNV3_TYPE xwd-file DESCRIPTION Diese Datei enthält ein Grafikbild im Format XWD.Diese Dateien werden erstellt, wenn mit der Aktion 'XwdCapture' Bilder von Fensterausschnitten gemacht werden. Der Datentyp wird XWD genannt. XWD-Dateinamen enden mit '.xwd' oder '.wd'. Jede Datentypdefinition besteht aus zwei Teilen:Tabelle 10-7
} |
|
---|---|
DATA_CRITERIA XWD1 |
|
{ |
|
DATA_ATTRIBUTES_NAME |
XWD |
MODE |
f |
NAME_PATTERN |
*.xwd |
} |
|
|
|
DATA_CRITERIA XWD2 |
|
{ |
|
DATA_ATTRIBUTES_NAME |
XWD |
MODE |
f |
NAME_PATTERN |
*.wd |
} |
|
Tabelle 10-8
DATA_ATTRIBUTES |
beschreibt das Erscheinungsbild und das Verhalten des Datentyps. |
---|---|
DATA_CRITERIA, |
gibt an, nach welchen Regeln (Name oder Inhalt) eine Datei diesem Datentyp zugerechnet wird. |
Das Feld DATA_ATTRIBUTES_NAME verbindet die Kriterien mit den Attributen.
Einem DATA_ATTRIBUTE können mehrere DATA_CRITERIA zugeordnet sein. Beispielsweise sind für den Datentyp XWD zwei verschiedene Namenskriterien (NAME_PATTERN) definiert, nämlich Namen, die in .xwd oder in .wd enden.
Als Beispiel soll der Datentyp XWD betrachtet werden. Der Benutzer erstellt eine Datei mit dem Datentyp XWD, indem er der Datei eine der zwei Dateinamenerweiterungen .xwd oder.wd gibt. Das Desktop verwendet den Dateinamen als das Kriterium, nach dem es eine Datei einem Datentyp zuordnet.
Der Datentyp XWD stellt für jede Datei dieses Datentyps folgendes zur Verfügung:
Ein eindeutiges Symbol, das Benutzern hilft, die Datendateien zu erkennen.
Kontexthilfe mit Informationen über den Datentyp.
Ein angepaßtes Menü 'Ausgewählt' im Dateimanager, das die Aktionen 'Öffnen' und 'Drucken' enthält. Die Aktion 'Öffnen' für XWD-Dateien führt die Aktion Xwud aus.
Das Menü 'Ausgewählt' im Dateimanager ist nur aktiv, wenn eine Datei oder ein Verzeichnis ausgewählt ist. Die Befehle, die unten im Menü 'Ausgewählt' angezeigt werden, sind abhängig vom Datentyp. Wird beispielsweise eine XWD-Datei ausgewählt, enthält das Menü 'Ausgewählt' die Elemente 'Öffnen' und 'Drucken'.
Das Feld ACTIONS in der Datentypdefinition gibt an, welche Befehle im Menü 'Ausgewählt' des Datentyps unten angefügt werden.
Tabelle 10-9
DATA_ATTRIBUTES XWD |
---|
{ |
ACTIONS Open,Print |
... |
} |
Der Inhalt des Menüs 'Ausgewählt' ist abhängig vom Datentyp. Aber viele verschiedene Datentypen stellen eine Aktion 'Öffnen' zur Verfügung. Wird eine Datei dieses bestimmten Datentyps im Dateimanager ausgewählt und das Menü 'Ausgewählt' angezeigt, wird im Menü der Befehl 'Öffnen' angezeigt.
Die Aktion 'Öffnen' führt normalerweise die der Datendatei zugehörige Anwendung aus. Beispielsweise wird durch das Öffnen einer XWD-Datei die Aktion Xwud ausgeführt, die wiederum den X-Client xwud ausführt, um das Anzeigeabbild anzuzeigen. Das heißt, bei dem Datentyp XWD ist die Aktion 'Öffnen' synonym mit der Aktion Xwud. Ebenso wird durch das Öffnen einer Datei vom Datentyp TEXTFILE der Texteditor und durch das Öffnen einer Bitmap- oder Pixmap-Datei der Symboleditor ausgeführt.
Die Möglichkeit, verschiedene Aktionen 'Öffnen' zu erstellen, die unterschiedlich verwendet werden, basiert auf zwei Merkmalen von Aktionsdefinitionen:
Die Aktionszuordnung ermöglicht dem Benutzer, eine Aktion zu erstellen, die eine andere Aktion ausführt, anstatt einen Befehl direkt auszuführen. Beispielsweise kann eine Aktion 'Öffnen' erstellt werden, die die Aktion Xwud zuordnet (ausführt).
Datentypeinschränkungen für eine Aktion
Aktionsdefinitionen können ein Feld ARG_TYPE enthalten, das die Aktion auf bestimmte Datentypen begrenzt. Beispielsweise kann angegeben werden, daß die Aktion 'Öffnen', die die Aktion Xwud zuordnet, nur auf Dateien des Datentyps XWD angewendet wird.
Das folgende Beispiel zeigt die Definition der Aktion, die die Aktion 'Öffnen' für den Datentyp XWD der Aktion Xwud zuordnet. Sie befindet sich in der Datenbankkonfigurationsdatei /usr/dt/appconfig/types/C/xclients.dt :
Tabelle 10-10
ACTION Open |
|
---|---|
{ |
|
LABEL |
Öffnen |
ARG_TYPE |
XWD |
TYPE |
MAP |
MAP_ACTION |
Xwud |
} |
|
In dem Feld TYPE wird angegeben, daß es sich um eine Zuordnungsaktion (map) handelt. Das Feld MAP_ACTION gibt an, daß diese Aktion die Aktion Xwud ausführt. Das Feld ARG_TYPE gibt an, daß diese Aktion nur auf Dateien vom Datentyp XWD angewendet wird.
Hierzu zum Vergleich die Definition der Aktion 'Öffnen' in der Datenbankdatei /usr/dt/appconfig/types/C/dt.dt:
Tabelle 10-11
ACTION Open |
|
---|---|
{ |
|
LABEL |
Öffnen |
ARG_TYPE |
BM |
TYPE |
MAP |
MAP_ACTION |
Dticon |
} |
|
Diese Definition bezieht sich auf Dateien des Datentyps (ARG_TYPE ) BM (Bitmap-Dateien). Die Definition ordnet die Aktion 'Öffnen' der Aktion Dticon zu, die den Symbol-Editor ausführt.
Das Verhalten des Datentyps bei Doppelklicken wird durch den ersten Eintrag im Feld ACTIONS bestimmt. Beispielsweise wird beim Datentyp XWD durch Doppelklicken die Aktion 'Öffnen' ausgeführt, die ihrerseits die Aktion Xwud ausführt.
Übergibt der Benutzer eine Datendatei an ein Aktionssymbol, führt das System die Aktion aus und verwendet diese Datendatei als das Argument für die Aktion. (Weitere Informationen können dem Abschnitt "Wie Aktionen Datendateien als Argumente verwenden" entnommen werden.)
Wird beispielsweise eine XWD-Datendatei an ein Symbol Xwd Display übergeben, wird die Aktion Xwud ausgeführt und das Datendateiargument verwendet. Dadurch wird der X-Client xwud mit dieser Datendatei ausgeführt.
Über das Desktop bestehen folgende Möglichkeiten, eine Datendatei zu drucken:
über den Befehl 'Drucken' (falls verfügbar) im Menü 'Ausgewählt' des Dateimanagers.
durch das Übergeben einer Datendatei an einen Desktop-Druckerübergabebereich (das Druckersymbol im Bedienfeld oder ein Druckersymbol im Druckmanager).
Zusätzlich zum Drucken über das Desktop stellen viele Anwendungen noch eine Möglichkeit zur Verfügung, von innerhalb der Anwendung zu drucken.
Beim Drucken über Desktop werden Aktionen mit dem Namen 'Drucken' verwendet. Bei 'Drucken' handelt es sich, wie bei 'Öffnen', um einen Aktionsnamen, der für viele verschiedene Datentypen verwendet wird. Aus diesem Grund werden bei den Aktionen 'Drucken' die Aktionszuordnung und das Feld ARG_TYPE verwendet, um das Drucken für jeden einzelnen Datentyp anzupassen.
Als Beispiel soll die Aktion 'Drucken' für den DatentypXWD betrachtet werden. Die Definition befindet sich im Verzeichnis/usr/dt/appconfig/types/ sprache/xclients.dt:
Tabelle 10-12
ACTION Print |
|
---|---|
{ |
|
LABEL |
|
ARG_TYPE |
XWD |
TYPE |
MAP |
MAP_ACTION |
NoPrint |
} |
|
Diese Aktion 'Drucken', die sich speziell auf XWD-Dateien bezieht, ist einer Aktion 'NoPrint' zugeordnet. Bei der Aktion NoPrint handelt es sich um eine spezielle Aktion, die in /usr/dt/appconfig/types/sprache/dt.dt definiert ist. Die Aktion 'NoPrint' zeigt ein Dialogfenster an, das dem Benutzer mitteilt, daß dieser Datentyp nicht gedruckt werden kann.
Hierzu zum Vergleich die Aktion 'Drucken' für PCL-Dateien:
Tabelle 10-13
ACTION Print |
|
---|---|
LABEL |
|
ARG_TYPE |
PCL |
TYPE |
MAP |
MAP_ACTION |
PrintRaw |
} |
|
Die Aktion 'PrintRaw' , die in der Konfigurationsdatei /usr/dt/appconfig/types/ sprache/print.dt definiert ist, enthält die Befehlszeile zum Drucken von PCL-Dateien.
Tabelle 10-14
ACTION PrintRaw |
|
|
---|---|---|
{ |
|
|
TYPE |
|
COMMAND |
WINDOW_TYPE |
NO_STDIO |
|
EXEC_STRING |
/usr/dt/bin/dtlp -w %(File)Arg_1% |
|
} |
|
|