Lade...
 

Konfiguration

Das Standardverhalten unterscheidet sich in den zur Verfügung gestellten Skriptformaten jsx und jsxbin.

Standardverhalten

jsx

Sofern nichts weiter konfiguriert ist, wird eine jsx-Datei zunächst als Command? interpretiert.
Eine jsx-Datei wird als ''initiales Script''interpetriert, wenn in der jsx-Datei die Zeichenfolgen function Command( oder function Notify( zu finden sind.

jsxbin

Sofern nichts weiter konfiguriert ist, wird eine jsxbin-Datei immer als ''initiales Script'' interpretiert und direkt beim Start ausgeführt.

Änderung des Standardverhaltens

Um das Standardverhalten zu ändern, können die Skripte entsprechend konfiguriert werden. Dies kann zum einen in der Skriptdatei selbst (nur jsx) oder in einer externen Konfigurationsdatei erfolgen.

Die externe Konfigurationsdatei erhält den selben Dateinamen mit der zusätzlichen Dateiendung .cfg (z.B. HelloWorld.jsx.cfg oder HelloWorld.jsxbin.cfg).

Alle im Folgenden beschriebenen Konfigurationseinstellungen sind optional. Alle Konfigurationseinträge beginnen mit der Zeichenfolge //!

Konfiguration als ''Command''

//!NAME=
Der Name eines Commands wird standardmäßig durch das Plugin vergeben. Der Name ist dabei in jeder Sitzung ein anderer. Möchte man einen definierten Namen selbst vergeben, kann dies durch diese Definition erfolgen. Dabei ist zu beachten, dass der Name eines Befehls innerhalb der FrameMaker Sitzung eindeutig sein muss. Eine Richtlinie zur eindeutigen Benennung von Befehlen ist deshalb sehr empfehlenswert.
Beispiel:
//!NAME=SWAT_CMD_DOSOMETHING

//!LABEL=
Der Label eines Commands entspricht standardmäßig dem Dateinamen des jeweiligen Skripts (sowohl jsx als auch jsxbin).
Durch die Definition eines Labels, kann dieses Standardverhalten manipuliert werden.
Beispiel:
//!LABEL=Do something...
Alternativ kann auch die Direktive #script verwendet werden. Ist diese Zeichenfolge in der Datei enthalten, wird der Text hinter #script als Label verwendet, sofern dieser in einer folgenden Zeile nicht wieder durch z.B. //!LABEL= überschrieben wird.

//!SHORTCUT=
Standardmäßig wird für einen Befehl kein Shortcut vergeben. Durch die Definition kann dieses Standardverhalten manipuliert werden.
Beispiel:
//!SHORTCUT=!\xyz
!\ ist das Kürzel für die Escape-Taste (Esc). Shortcuts für Plugins und Skripte sollten immer eine Esc-Sequenz sein.

//!ENABLED=
Standardmäßig sind Menüeinträge immer enabled. Soll ein Menüeintrag aber nur aktiv sein, wenn der Kontext die Funktion erlaubt, kann das Standardverhalten hier überschrieben werden.
ENABLED wird ein Integer-Wert zugewiesen. Dieser Wert entspricht der jeweiligen Definition in der Datei "fapidefs.h" im FrameMaker Developer Kit (FDK).
Beispiel:
//!ENABLED=27
(Menü ist nur aktiv, wenn ein Buch aktiv ist)

Konfiguration als ''initiales Script''

//!INITIAL
Ist diese Zeichenfolge enthalten, wird das Script als initiales Skript erkannt und einmalig beim Start ausgeführt.

Konfiguration als ''Notification''

//!NOTIFICATION=
NOTIFICATION wird ein Integer-Wert zugewiesen. Dieser Wert entspricht der jeweiligen Definition in der Datei "fapidefs.h" von FA_Note* im FrameMaker Developer Kit (FDK).
Beispiel:
//!NOTIFICATION=2
(Skript wird ausgeführt, wenn ein Dokument geöffnet wurde)


Da Parameter beim Aufruf eines Skripts nicht als Parameter übergeben werden können, werden die jeweiligen Werte im Objekt SWATNotification vorgehalten, und müssen dort wie im folgenden Beispiel illustriert abgerufen werden:

Notification Parameter
Copy To Clipboard
if (typeof(this.SWATNotification) != 'undefined')
{
    var message = "Nofication: " + SWATNotification.notification + "\n" ;
    message += "DocId: " + SWATNotification.docid + "\n";
    message += "sparm: " + SWATNotification.sparm + "\n";
    message += "iparm: " + SWATNotification.iparm + "\n";
    alert(message) ;
}