Es gibt zwei Möglichkeiten, eine Datentypdefinition zu erstellen:
in dem Werkzeug 'Aktion erstellen'. Die Verwendung von 'Aktion erstellen' wird in Kapitel 11.
die Datentypdefinition manuell erstellen.
Um einen Datentyp manuell zu erstellen, ist es erforderlich , eine Datenbankdatei zu bearbeiten.
Im folgenden Kapitel wird beschrieben, wie Datentypdefinitionen manuell erstellt werden.
"Komponenten einer Datentypdefinition: Kriterien und Attribute"
"Beispiel für die Erstellung einer persönlichen Aktion und eines Datentyps"
Eine Einführung zum Thema Datentypen finden Sie unterKapitel 10.
Referenzinformationen zu Datentypdefinitionen finden Sie auf der Hilfeseite dtddsfile(4).
Wird ein Datentyp manuell erstellt, können alle Möglichkeiten, die die Syntax von Datentypdefinitionen bietet, ausgeschöpft werden.
Sollen die folgenden Merkmale von Datentypen verwendet werden, muß der Datentyp manuell erstellt werden:
Datentypzuordnung auf der Grundlage der Position (des Pfads).
Die Möglichkeit, dem Datentyp neben 'Öffnen' und 'Drucken' weitere Aktionen zuzuordnen.
Multipler Name, Muster oder Inhaltskriterien für den gleichen Datentyp, z.B. ein Datentyp mit dem Namen *.abc oder *.def
Datentypzuordnung auf der Grundlage von Verweisen.
Eine Datentypdefinition besteht aus zwei separaten Datenbankdefinitionen:
Die DATA_ATTRIBUTES
-Definition.
Die DATA_ATTRIBUTES
-Definition gibt den Namen des Datentyps an und beschreibt das Erscheinungsbild und das Verhalten von Dateien dieses Typs.
Die DATA_CRITERIA
-Definition.
Die DATA_CRITERIA
-Definition beschreibt die Eingabekriterien. Jede Kriteriendefinition gibt an, auf welche Definition DATA_ATTRIBUTES
sie angewendet wird.
Es muß mindestens eine DATA_CRITERIA
-Definition für jede DATA_ATTRIBUTES
-Definition vorliegen;a DATA_ATTRIBUTES
-Definition kann mehreren DATA_CRITERIA
zugeordnet sein.
Beispielsweise könnte ein Benutzer eine Attributdefinition für PostScript-Dateien erstellen, in der beschrieben wird, wie PostScript-Dateien im Dateimanager angezeigt werden und wie sie sich verhalten. Anschließend könnte der Benutzer zwei verschiedene Kriterien für den Datentyp PostScript erstellen, einen auf der Grundlage des Dateinamens, und einen auf der Grundlage des Dateiinhalts.
Weitere Informationen finden Sie im Abschnitt "Datenkriterien für einen Datentyp definieren".
In diesem Abschnitt wird beschrieben, wie eine Datentypkonfigurationsdatei erstellt wird.
Konfigurationsdateien, die Datentypdefinitionen enthalten, müssen folgende Voraussetzungen erfüllen:
Die Dateien müssen die Namenskonvention name.dt verwenden.
Die Dateien müssen sich im Datenbanksuchpfad befinden. Der Standardsuchpfad lautet:
Persönliche Datentypen - Home-Verzeichnis /.dt/types
Systemweite Datentypen - /etc/dt/appconfig/types/ Sprache
Integrierte Datentypen - /usr/dt/appconfig/types/ Sprache. Dieses Verzeichnis sollte nicht verwendet werden.
Weitere Informationen zum Ändern des Datenbanksuchpfads können dem Abschnitt "Wert eines Suchpfads setzen".
Eine bereits vorhandene Datenbankdatei öffnen oder eine neue erstellen.
Weitere Informationen können dem vorherigen Abschnitt "Konfigurationsdateien für Datentypen".
Die Datenattribute für den Datentyp unter Verwendung folgender Syntax definieren:
DATA_ATTRIBUTES daten_typ_name { ICON bild_name DESCRIPTION zeichenfolge attribute_field attribute_field ... }
Die einzelnen Parameter können folgendermaßen belegt werden:
daten_typ_name - Ein eindeutiger Name, der diesem Datentyp zugeordnet wird.
image_name--Dateiname oder Pfad einer Symboldatei. Verwenden Sie den Dateiname ohne Pfad. Für Symboldateien myimage.m.pm und myimage.t.pm, verwenden Sie beispielsweise myimage.
attribut_feld - Feld, das das Erscheinungsbild oder Verhalten des Datentyps definiert.
Zeichenfolge - Zeichenfolge. Der Inhalt dieser Zeichenfolge wird für diesen Datentyp als Kontexthilfe angezeigt.
Weitere Informationen finden Sie im Abschnitt "Beispiel für die Erstellung einer persönlichen Aktion und eines Datentyps".
Die Datenkriterien unter Verwendung folgender Syntax definieren:
DATA_CRITERIA kriterien_name { { DATA_ATTRIBUTES_NAME daten_typ_name kriterien_feld kriterien_feld ... }
Die einzelnen Parameter können folgendermaßen belegt werden:
kriterien_name Eindeutiger Name für dieser Kriteriendefinition.
daten_typ_name Name, der in der Definition DATA_ATTRIBUTES
verwendet wird.
kriterien_feld Feld, in dem das Kriterium für die Zuordnung einer Datei zu diesem Datentyp definiert wird.
Weitere Informationen finden Sie im Abschnitt "Datenkriterien für einen Datentyp definieren".
Die Datenbankdatei sichern.
Die Symbole für den Datentyp erstellen.
Weitere Informationen finden Sie im Abschnitt "Symbolbild angeben, das für einen Datentyp verwendet wird".
Gegebenenfalls die Aktionen, die im Feld ACTIONS der Attributdefinition aufgelistet sind, erstellen.
'Aktionen erneut laden' in der Gruppe von Anwendungen `Desktop-Werkzeuge' doppelklicken, um die Datenbank erneut zu laden.
Angenommen, das System enthält eine Anwendung mit dem Namen xgif, die GIF-Bilder anzeigt. Normalerweise wird das Programm ausgeführt, indem folgendes eingegeben wird:
xgif dateiname
Nun sollen GIF-Bilder auf verschiedene Weise angezeigt werden:
durch Doppelklicken einer GIF-Datendatei
durch Auswählen der Datendatei und Auswählen der Anwendung im Menü 'Ausgewählt'
Öffnen Sie eine neue Datei HomeDirectory/.dt/types/GifViewer.dt zur Bearbeitung.
Die Datentypdefinitionen eingeben:
DATA_ATTRIBUTES Gif { DESCRIPTION Gif image file. ICON GifIcon ACTIONS View } DATA_CRITERIA Gif_Criteria { DATA_ATTRIBUTES_NAME Gif NAME_PATTERN *.gif }
Die Aktionsdefinition für die Aktion `GifViewer' eingeben:
ACTION GifViewer { EXEC_STRING xgif %(File)Arg_1"Gif-Datei anzeigen:" WINDOW_TYPE NO_STDIO DESCRIPTION Eine Datei doppelklicken oder Übergeben, um die GIF-Anzeige zu starten. }
Da die Definition kein Feld ICON enthält, verwendet die Aktion das Standardsymbol des Systems.
Die folgende Zuordnungsaktion eingeben, um die Aktion GifViewer mit der Aktion View, die in der Datentypdefinition aufgelistet ist, zu verbinden. Verwenden Sie das Feld ARG_TYPE , um die Aktion View auf Dateien vom Typ Gif zu beschränken.
ACTION View { ARG_TYPE Gif TYPE MAP MAP_ACTION GifViewer }
Speichern Sie die Datei.
Auf 'Aktionen erneut laden' in der Gruppe von Anwendungen Desktop-Werkzeuge doppelklicken, um die Datenbank erneut zu lesen.
Die DATA_ATTRIBUTES
-Definition definiert das Erscheinungsbild und Verhalten des Datentyps. Sie gibt den Namen des Datentyps an und bietet zusätzlich die Möglichkeit, folgendes anzugeben: . Sie gibt den Namen des Datentyps an und bietet die Möglichkeit, zusätzlich folgendes anzugeben:
das Dateimanagersymbol (Feld ICON
das Verhalten bei Doppelklicken und den Inhalt des ausgewählten Menüs (Feld ACTIONS
Verwenden Sie die Ressource ICON wird verwendet, um das Symbol anzugeben, das im Dateimanager verwendet wird. Wird kein Symbolbild angegeben, wird im Dateimanager nur eine Bezeichnung angezeigt.
Das Feld ICON kann folgende Werte annehmen:
mm und t und bm und pm). verwendet.
Wird der Dateiname ohne Pfad verwendet, müssen die Symboldateien in ein Verzeichnis im Symbolsuchpfad gestellt werden:
Persönliche Symbole: Home-Verzeichnis /.dt/icons
Systemweite Symbole: /etc/dt/appconfig/icons/ Sprache
Absoluter Pfad (einschließlich des vollständigen Dateinamens)
Der absolute Pfad sollte nur verwendet werden, wenn die Symboldatei sich nicht im Symbolsuchpfad befindet. Befindet sich beispielsweise die Symboldatei im Verzeichnis (d.h. nicht im Symbolsuchpfad), wird der Wert im Feld ICON auf gesetzt. .
Tabelle 13-1 enthält eine Liste mit Symbolgrößen, die der Benutzer erstellen sollte, und den zugehörigen Dateinamen.
Größe in Pixel |
Bitmap-Name |
Pixmap-Name |
---|---|---|
32 x 32 |
name .m.bm |
name .m.pm |
16 x 16 |
name .t.bm |
name .t.pm |
Es gibt zwei Möglichkeiten, Datentypen Aktionen zuzuordnen:
Im Feld ACTIONS in der DATA_ATTRIBUTES
-Definition werden die Aktionen aufgelistet, die im Menü 'Ausgewählt' des Dateimanagers erscheinen. Bei der ersten Aktion in der Liste handelt es sich um die Standardaktion, die auch durch Doppeltklicken aktiviert werden kann.
Aktionen können auf eingegebene Datentypen beschränkt werden, indem das Feld ARG_TYPE der Aktionns-Definition verwendet wird.
Die folgende Datentyp-Definition erstellt beispielsweise einen Datentyp für spezielle "readme" Dateien, die von Ihrem System-Administrator erstellt wurden, mit der Namenskonvention *.rm.
DATA_ATTRIBUTES SysReadmeFile { ICON SysReadMe ACTIONS Open,Respond } DATA_CRITERIA SysReadmeFileCriteria { NAME_PATTERN *.rm DATA_ATTRIBUTES_NAME SysReadmeFile }
Eine spezielle Aktion `Respond' für die Datei wird im folgenden definiert. Dadurch wird eine schreibbare Kopie der Datei im Texteditor geöffnet. Wird die Datei gesichert und der Texteditor verlassen, wird die Datei über elektronische Post an den Systemadministrator gesendet (Adresse sysadmin@utd).
ACTION Respond { ARG_TYPE SysReadmeFile EXEC_STRING /bin/sh -c 'cp %Arg_1% $HOME/readme.temp;\ chmod +w $HOME/readme.temp; \ dtpad $HOME/readme.temp; \ cat $HOME/readme.temp | \ /usr/bin/mailx sysadmin@utd; \ rm $HOME/readme.temp' WINDOW_TYPE NO_STDIO }
Ist eine Datei ein verdeckter Datentyp, wird sie nicht im Dateimanager angezeigt.
Verwenden Sie das Feld PROPERTIES in der DATA_ATTRIBUTES
-Definition, um anzugeben, daß Objekte dieses Typs versteckt formatiert werden:
PROPERTIES invisible
Tabelle 13-2 Die folgenden Felder DATA_ATTRIBUTES
werden in erster Linie von Anwendungsprogrammierern verwendet. Hier wird angegeben, wie sich Dateien verhalten, wenn der Benutzer verschiedene Desktop-Aktivitäten durchführt.
Weitere Informationen können der Publikation Common Desktop Environment Programmer's Guide, entnommen werden, das Bestandteil der Entwicklerumgebungsdokumentation ist.
Tabelle 13-2 DATA_ATTRIBUTES Felder und Beschreibungen
Feld |
Beschreibung |
---|---|
Für Container, wie beispielsweise Verzeichnisse. Gibt die auszuführende Aktion an, wenn eine Datei in einen Container dieses Datentyps verschoben wird. |
|
Für Container, wie beispielsweise Verzeichnisse. Gibt die auszuführende Aktion an, wenn eine Datei in einen Container dieses Datentyps kopiert wird. |
|
Gibt die auszuführende Aktion an, wenn eine Datei mit einer Datei dieses Datentyps verknüpft wird. |
|
Gibt an, daß Dateien dieses Datentyps Text enthalten, der in einem Textfeld angezeigt werden kann. |
|
Gibt den entsprechenden ToolTalk-Medientyp an. |
|
Gibt den entsprechenden MIME-Typ an. |
|
Gibt den entsprechenden X400-Typ an. |
Das Feld DATA_CRITERIA
definiert die Kriterien für die Zuordnung eines Objekttyps zu einer Datei oder einem Verzeichnis
Sie können die Kriterien in Tabelle 13-3 für die Objektzuordnung verwenden.
Tabelle 13-3 DATA_CRITERIA - Kriterien und Beschreibungen
Für einen Datentyp kann mehr als ein Kriterium verwendet werden. Aber die Kriterien NAME_PATTERN und PATH_PATTERN sollten nicht in demselben Datentyp verwendet werden.
Verwenden Sie das Feld NAME_PATTERN , um die erforderlichen Merkmale des Dateinamens anzugeben. Das Feld kann die folgenden Platzhalterzeichen enthalten:
?Entspricht einem beliebigen einzelnen Zeichen
*- Entspricht einer beliebigen Folge von Zeichen (einschließlich einer leeren Zeichenfolge )
[cc...]- Entspricht einem beliebigen der in Klammern gesetzten Zeichen ( c)
[ c]- Entspricht einem beliebigen Zeichen aus dem Bereich von c bis c
Die folgende Datentypdefinition erstellt einen Datentyp auf der Grundlage des Dateinamens. QS
DATA_ATTRIBUTES QS_Doc { DESCRIPTION Diese Datei enhält ein Dokument zum QS \ projekt. ICON Word_Doc ACTIONS Open } DATA_CRITERIA QS_Doc_Criteria { NAME_PATTERN QS*.doc DATA_ATTRIBUTES_NAME QS_Doc }
Die folgende Definition erstellt einen Datentyp für Verzeichnisse mit dem Namen Demo_n wo n 0 bis 9 ist.
DATA_ATTRIBUTES Demo_directory { DESCRIPTION Dies ist ein Verzeichnis. Zum Öffnen doppelklisken. ICON Demo ACTIONS OpenInPlace,OpenNewView } DATA_CRITERIA Demo_directory_criteria { NAME_PATTERN Demo_[0-9] MODE d DATA_ATTRIBUTES_NAME Demo_directory }
Verwenden Sie das Feld PATH_PATTERN , um den Pfad anzugeben. Es können dieselben Platzhalterzeichen verwendet werden wie bei NAME_PATTERN.
Beispielsweise verwendet der folgende Datentyp ein Kriterium auf der Grundlage des Pfads.
DATA_ATTRIBUTES Project_Graphics { DESCRIPTION Grafikdati zum QS-Projekt. Doppelklicken Sie das Symbol \ um die Grafik anzuzeigen. ICON QSgraphics } DATA_CRITERIA Project_Graphics_Criteria { DATA_ATTRIBUTES_NAME Project_Graphics PATH_PATTERN */projects/QS/graphics/* }
Soll ein Datentyp auf der Grundlage des Dateinamens als auch der Position erstellt werden, muß der Name in dem Wert für das Feld PATH_PATTERN enthalten sein. Sie können nicht NAME_PATTERN und PATH_PATTERN in derselben Kriteriendefinition verwenden.
Der im folgenden definierte Datentyp QS_Source_Files gilt für alle Dateien mit dem Namen appn.c, wenn n= 1 bis 9, in den Unterverzeichnissen von */projects/QS.
DATA_ATTRIBUTES QS_Source_Files { ... } DATA_CRITERIA QS_Source_Files_Criteria { PATH_PATTERN */projects/QS/*/app[1-9].c DATA_ATTRIBUTES_NAME QS_Source_Files }
Der folgende Datentyp gilt für alle Dateien im Verzeichnis /doc/project1 mit dem Namen chnn.xxx, wenn n gleich 0 bis 9 ist und xxx einer Dateinamenerweiterung von drei Zeichen entspricht.
DATA_ATTRIBUTES ChapterFiles { DESCRIPTION Kapiteldatei für das Projektdokument. ICON chapter ACTIONS Edit,Print } DATA_CRITERIA Chapter_Criteria { PATH_PATTERN /doc/project1/ch[0-9][0-9].??? DATA_ATTRIBUTES_NAME ChapterFiles }
Verwenden Sie das Feld MODE , um die erforderlichen Berechtigungen anzugeben.
Moduskriterien werden normalerweise in Kombination mit der Datentypzuordnung auf der Grundlage von Namen, Position oder Inhalt verwendet. Sie ermöglichen dem Benutzer, einen Datentyp auf eine Datei oder ein Verzeichnis einzuschränken oder die erforderlichen Lese-, Schreib- und Ausführungsberechtigungen anzugeben.
Das Feld MODE enthält möglicherweise die folgenden logischen Operatoren (Tabelle 13-4) und Zeichen (Tabelle 13-5).
Tabelle 13-4 Logische Operatoren und Beschreibungen für das Feld MODE
Operator |
Beschreibung |
---|---|
! | |
& | |
| |
Tabelle 13-5 Zeichen und Beschreibungen für das Feld MODE
Zeichen |
Beschreibung |
---|---|
Der Datentyp gilt nur für Dateien |
|
Der Datentyp gilt nur für Verzeichnisse |
|
r |
Die Datei kann von jedem Benutzer gelesen werden |
In die Datei kann von jedem Benutzer geschrieben werden |
|
Die Datei kann von jedem Benutzer ausgeführt werden |
|
Die Datei stellt eine Verbindung dar |
Standardmäßig hat der Modus keinen Einflu.
Die folgenden Modusfelder schränken den Datentyp wie folgt ein:
f&!w--schreibgeschützte Dateien
!w--schreibgeschützte Dateien und Verzeichnisse
f&x--ausführbare Dateien
f&r&x-- Dateien, in die geschrieben werden kann und die ausführbar sind
x|!w-- Dateien, die ausführbar oder schreibgeschützt sind
Die folgende Datentypdefinition erstellt einen Datentyp für schreibgeschützte, nicht ausführbare Dateien, deren Namen der Namenkonvention *.doc entsprechen. Es wird angenommen, daß eine Aktion View für den Datentyp definiert wurde.
DATA_ATTRIBUTES ReadOnlyDocument { ICON read_only DESCRIPTION Dieses Dokument kann nicht beschrieben werden. Ein Doppelklick führt den Editor mit einer schreibgeschützten Kopie der Datei aus. ACTIONS View } DATA_CRITERIA ReadOnlyDocument_Criteria { NAME_PATTERN *.doc MODE !d&!x&!w DATA_ATTRIBUTES_NAME ReadOnlyDocument }
Verwenden Sie das Feld CONTENT , um anzugeben, daß die Datentypzuordnung auf der Grundlage des Inhalts der Datei erfolgen soll. Die Datentypzuordnung auf der Grundlage des Inhalts einer Datei kann in Kombination mit der Datentypzuordnung auf der Grundlage von Namen oder Positionen verwendet werden.
Die Zuordnung kann auf der Grundlage einer Zeichenfolge oder des numerischen Inhalts einer Datei erfolgen. Das erste Byte in der Datei erhält die Zahl 0.
Verwenden Sie für die Zuordnung auf der Grundlage einer Zeichenfolge Datei folgende Syntax:
CONTENT Startbyte Zeichenfolge Zeichenfolge
Verwenden Sie für die Zuordnung auf der Grundlage des numerischen Inhalts einer Datei folgende Syntax:
CONTENT Startbyte Byte Nummer CONTENT Startbyte kurze NummerCONTENT Startbyte lange Nummer
Verwenden Sie für die Zuordnung auf der Grundlage des Inhalts eines Verzeichnisses folgende Syntax:
CONTENT 0 Dateiname "Dateiname"
Verwenden Sie die Standard-C-Notation für Oktal- (beginnend mit o) und Hexadezimalzahlen (beginnend mit oX).
Die Datentypzuordnung auf der Grundlage des Inhalts beeinträchtigt die Systemleistung. Der Benutzer sollte, wenn möglich, die Datentypzuordnung auf der Grundlage von Namen und Position verwenden.
Beispielsweise gilt der folgende Datentyp, Writable_Wingz, für alle Dateien mit Schreibberechtigung, die am Anfang der Datei die Zeichenfolge WNGZ enthalten.
DATA_ATTRIBUTES Writable_Wingz { ... } DATA_CRITERIA Writable_Wingz_Criteria { CONTENT 0 string WNGZ MODE w&!d DATA_ATTRIBUTES_NAME Writable_Wingz }
Es kann ein Datentyp mit mehreren unabhängigen Kriterien erstellt werden, d.h. ein Datentyp, dem die Datei zugeordnet wird, wenn sie einem (oder beiden) Kriterien entspricht.
Erstellen Sie die Definition DATA_ATTRIBUTES
für den Datentyp.
Erstellen Sie eine Definition DATA_CRITERIA
für jedes Kriterium.
Verwenden Sie das Feld DATA_ATTRIBUTES_NAME , um jedes Kriterium mit derselben DATA_ATTRIBUTES
-Definition zu verbinden.
Beispielsweise erstellen die folgenden Definitionen den Datentyp Mif. Die Datentypzuordnung erfolgt auf der Grundlage von Namen oder Inhalt.
DATA_ATTRIBUTES Mif { ICON Frame ACTION_LIST Open,Print } DATA_CRITERIA Mif_Name_Criteria { DATA_ATTRIBUTES_NAME Mif NAME_PATTERN *.mif } DATA_CRITERIA Mif_Content_Criteria { DATA_ATTRIBUTES_NAME Mif CONTENT 1 string MIFFile }
Der Suchpfad für Datentypen enthält sprachenabhängige Positionen. Das Desktop verwendet den Wert von LANG, um festzulegen, welche Positionen nach Datentypdefinitionen durchsucht werden sollen.
Sprachenabhängige Datentypdefinitionen müssen in den entsprechenden sprachenabhängigen Verzeichnissen im Aktionssuchpfad abgelegt werden.
Der Standardsuchpfad lautet:
Persönliche Aktionen: Home-Verzeichnis/.dt/types
Systemweite Aktionen: /etc/dt/appconfig/types/Sprache
Integrierte Aktionen: /usr/dt/appconfig/types/ Sprache