Erstellt der Benutzer eine neue Datendatei, können die Darstellung und das Verhalten des Dateisymbols im Dateimanager je nach Typ der Datendatei unterschiedlich sein. Diese Fähigkeit zum Erzeugen von angepaßter Darstellung und angepaßtem Verhalten für Dateien und Verzeichnisse wird über den Datentypmechanismus des Desktops 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'. }
DATA_CRITERIA XWD1 { DATA_ATTRIBUTES_NAME XWD MODE f NAME_PATTERN *.xwd } DATA_CRITERIA XWD2 { DATA_ATTRIBUTES_NAME XWD MODE f NAME_PATTERN *.wd }
Jede Datentypdefinition besteht aus zwei Teilen:
DATA_ATTRIBUTES— beschreibt Darstellung und Verhalten des Datentyps.
DATA_CRITERIA— gibt die Regeln (Benennung oder Inhalt) für das Zuordnen einer Datei zu einem bestimmten Datentyp an.
Das Feld DATA_ATTRIBUTES_NAME verbindet die Kriterien mit den Attributen.
Es können mehrere DATA_CRITERIA zu einem DATA_ATTRIBUTE zugeordnet werden. Beispielsweise verfügt der Datentyp XWD über zwei Kriterien, die jeweils unterschiedliche Benennungskriterien angeben: NAME_PATTERN)—Namen mit der Dateierweiterung .xwd oder .wd.
Als Beispiel wird der Datentyp XWD herangezogen. Der Benutzer erstellt eine Datei des Typs XWD, indem er der Datei eine der beiden folgenden Dateinamenerweiterungen zuweist: .xwd oder .wd. Das Desktop verwendet den Dateinamen als das Kriterium, dem entsprechend eine Datei einem Datentyp zugeordnet wird.
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.
DATA_ATTRIBUTES XWD
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 jeweilige Bild 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' einem bestimmten Element 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', welche die Aktion 'Xwud' einem bestimmten Element 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 Datenbank-Konfigurationsdatei /usr/dt/appconfig/types/C/xclients.dt.
ACTION Open { LABEL Open ARG_TYPE XWD TYPE MAP MAP_ACTION Xwud }
Über das 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.
Verglichen Sie die oben angegebene Definition für die Aktion 'Öffnen' mit der folgenden Definition, die in der Datenbankdatei /usr/dt/appconfig/types/C/dt.dt festgelegt ist.
ACTION Open { LABEL Open 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 Symboleditor ausführt.
Das Verhalten des Datentyps bei Doppelklicken wird durch den ersten Eintrag im Feld ACTIONS festgelegt. Beispielsweise wird beim Datentyp XWD durch Doppelklicken die Aktion 'Öffnen' ausgeführt, die ihrerseits die Aktion 'Xwud' ausführt.
Legt der Benutzer eine Datendatei auf einem Aktionssymbol ab, führt das System die Aktion aus und verwendet diese Datendatei als Argument für die Aktion. (Weitere Informationen finden Sie im Abschnitt Wie Aktionen Datendateien als Argumente verwenden).
Wird beispielsweise eine XWD-Datendatei auf einem Symbol 'Xwd Display' abgelegt, wird die Aktion 'Xwud' ausgeführt und das Datendateiargument verwendet. Dadurch wird der X-Client xwud mit dieser Datendatei ausgeführt.
Folgende Möglichkeiten stehen zur Verfügung, um eine Datendatei über das Desktop zu drucken:
über den Befehl 'Drucken' (falls verfügbar) im Menü 'Ausgewählt' des Dateimanagers.
durch das Ablegen einer Datendatei in einer Desktop-Druckerablegezone (das Druckersymbol im vorderen Steuerbereich oder ein Druckersymbol im Druckmanager).
Zusätzlich zu dieser Druckoption besteht in vielen Anwendungen die Möglichkeit, über die jeweilige Anwendung zu drucken.
Beim Drucken über das 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 wird bei der Aktion 'Drucken' die Aktionszuordnung und das Feld ARG_TYPE verwendet, um das Drucken für jeden einzelnen Datentyp anzupassen.
Im folgenden Beispiel wird die Aktion 'Drucken' fpr den Datentyp XWD angegeben. Die Definition befindet sich in der Datei /usr/dt/appconfig/types/sprache/xclients.dt:
ACTION Print { LABEL Drucken ARG_TYPE XWD TYPE MAP MAP_ACTION NoPrint }
Diese Aktion 'Drucken', die speziell für XWD-Dateien gilt, wird einer Aktion 'NoPrint' zugeordnet. Bei 'NoPrint' handelt es sich um eine spezielle Aktion, die in der Datei /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:
ACTION Print { LABEL Drucken ARG_TYPE PCL TYPE MAP MAP_ACTION PrintRaw }
Die Aktion 'PrintRaw', die in der Konfigurationsdatei /usr/dt/appconfig/types/sprache/print.dt festgelegt wurde, enthält die Befehlszeile zum Drucken der PCL-Dateien.
ACTION PrintRaw { TYPE COMMAND WINDOW_TYPE NO_STDIO EXEC_STRING /usr/dt/bin/dtlp -w %(File)Arg_1% }