CDE Handbuch für fortgeschrittene Benutzer und Systemverwalter

Aktionen auf bestimmte Argumente beschränken

Durch das Beschränken auf einen bestimmten Argumenttyp ist eine genauere Definition einer Aktion möglich. So sollte beispielsweise eine Aktion auf PostScript-Dateiargumente beschränkt werden, wenn sie ein Anzeigeprogramm für PostScript-Dateien aufruft. Die Aktion zeigt eine Fehlermeldung an, wenn eine Datei angegeben wird, die nicht das PostScript-Format aufweist.

Aktionen können anhand folgender Bedingungen eingeschränkt werden:

Eine Aktion auf einen bestimmten Datentyp beschränken

Verwenden Sie das Feld ARG_TYPE zum Festlegen der Datentypen, für die die Aktion gültig ist. Verwenden Sie den Datenattributnamen.

Sie können eine Liste mit Datentypen angeben. Trennen Sie die Einträge durch Kommata voneinander.

Die folgende Aktionsdefinition geht beispielsweise davon aus, daß ein GIF-Datentyp erstellt worden ist:

ACTION Open_Gif
 {
 	TYPE					COMMAND
 	LABEL					" GIF anzeigen"
 	WINDOW_TYPE			NO_STDIO
 	ARG_TYPE				Gif
 	ICON					xgif
 	DESCRIPTION			Zeigt GIF-Dateien an
 	EXEC_STRING			xgif
 }

Eine Aktion anhand der Anzahl der Argumente beschränken

Verwenden Sie das Feld ARG_COUNT, um die Anzahl der Argumente für die Aktion festlegen. Folgende Werte können verwendet werden:

* (Standard) - Beliebig viele Argumente. Alle anderen Werte haben Vorrang vor *.

n - Beliebige positive Ganzzahl (einschließlich 0).

>n - Mehr als n Argumente.

<n - Weniger als n Argumente.

Mit Hilfe von ARG_COUNT können abhängig davon, ob auf das Symbol doppelgeklickt oder eine Datei abgelegt wird, unterschiedliche Funktionsweisen für das Aktionssymbol implementiert werden. (siehe nächster Abschnitt ,,Unterschiedliche Funktionsweisen für Doppelklicken oder Ablegen implementieren").

Unterschiedliche Funktionsweisen für Doppelklicken oder Ablegen implementieren

Eine Aktion, die eine abgelegte Datei akzeptiert, jedoch bei einem Doppelklick auf das Aktionssymbol keine Aufforderung zur Eingabe eines Dateinamens anzeigt, kann folgendermaßen erstellt werden.

  1. Erstellen Sie eine Aktionsdefinition für einen Doppelklick auf das Symbol.

    Verwenden Sie das Feld ARG_COUNT, um 0 Argumente anzugeben. Verwenden Sie eine Syntax für das Feld EXEC_STRING, die abgelegte Dateiargumente nicht akzeptiert.

  2. Erstellen Sie eine zweite Aktionsdefinition für das Ablegen eines Arguments.

    Verwenden Sie das Feld ARG_COUNT, um >0 Argumente anzugeben. Verwenden Sie eine Syntax für das Feld EXEC_STRING, die abgelegte Dateiargumente akzeptiert.

    Ein Beispiel: Mit den folgenden beiden Befehlszeilen kann der Editor vedit gestartet werden:

    • Mit dem folgenden Befehl wird der Editor ohne Dateiargument aufgerufen:

      	vedit
    • Der folgende Befehl übergibt dem Editor als Argument eine Datei, die schreibgeschützt geöffnet wird:

      	vedit -R Dateiname
      

      Die folgenden beiden Aktionen stellen die Ablegen- und Doppelklickfunktionalität für eine Aktion mit dem Namen 'Vedit' zur Verfügung. Die erste Aktion hat Vorrang, wenn die Datenbank nach einer Übereinstimmung durchsucht wird, da ARG_COUNT 0 spezifischer ist als das implizierte ARG_COUNT * der Definition für die Ablegefunktionalität.

      # Doppelklicken
       ACTION Vedit
       {
       	TYPE						COMMAND
       	ARG_COUNT				0
       	WINDOW_TYPE				PERM_TERMINAL
       	EXEC_STRING				vedit
       }
      
       # Ablegen
       ACTION Vedit
       {
       	TYPE						COMMAND
       	WINDOW_TYPE				PERM_TERMINAL
       	EXEC_STRING				vedit -R %Arg_1%
       }

Eine Aktion über den Argumentmodus beschränken

Verwenden Sie das Feld ARG_MODE, um den Lese-/Schreibmodus des Arguments anzugeben. Folgende Werte können verwendet werden:

* (Standard) - Beliebiger Modus

!w - Nicht schreibbar

w - Schreibbar