vorheriges KapitelInhaltsverzeichnisStichwortverzeichnisFeedbacknächstes Kapitel


Anhang B.

Anhang Anpassen der UltraDev-Umgebung

Während der Durcharbeitung dieses Buchs haben Sie in mehreren Situationen bemerkt, dass Sie die Konfigurationsdateien von UltraDev manuell bearbeiten können, um Ihre eigenen Einstellungen vorzunehmen oder existierende Standardwerte in der Applikation zu verändern. UltraDev ist so einzigartig unter den heutigen komplexen Applikationen, dass nahezu alle Dateien, die UltraDev zur Konfiguration seiner Oberfläche und seiner Verhalten verwendet, textbasiert sind. Das bedeutet, mit ein bisschen Denkaufwand können Sie fast alles anpassen.

Am besten fangen Sie mit der Anpassung Ihres UltraDev-Systems an, indem Sie den Abschnitt »Dreamweaver und UltraDev erweitern« im Online-Hilfesystem lesen. Dort finden Sie schlüssige Hinweise darauf, was alles möglich ist. Wenn Sie jedoch ungeduldig sind, öffnen Sie das Konfigurationsverzeichnis in Ihrem UltraDev-Verzeichnis, und sehen Sie sich ein bisschen um.

Legen Sie eine Kopie des Konfigurationsverzeichnisses an, bevor Sie Änderungen daran vornehmen. Falls UltraDev anschließend nicht mehr korrekt funktioniert, ersetzen Sie die geänderten Dateien einfach wieder durch eine Kopie des Originals.

B.1 Menüs

Das Unterverzeichnis für die Menüs stellt einen ausgezeichneten Ausgangspunkt für die Anpassung Ihres Systems dar. In diesem Verzeichnis finden Sie die Datei menus.xml, die die Definitionen aller Menüs im System enthält. Beispielsweise finden Sie dort die XML- Definition des Fenster-Menüs. Es sollte wie folgt aussehen:

<menu name="_Fenster" id="DWMenu_Window">
<menuitem name="O_bjects" key="Cmd+F2"
domrequired="false" enabled="true"
command="dw.toggleFloater('objects')"
checked="dw.getFloaterVisibility('objects')"
id="DWMenu_Window_Objects" />

<menuitem name="_Eigenschaften" key="Cmd+F3"
domrequired="false" enabled="true"
command="dw.toggleFloater('properties')"
checked="dw.getFloaterVisibility('properties')"
id="DWMenu_Window_Properties" />

<menuitem name="La_uncher" key=""
domrequired="false" enabled="true"
command="dw.toggleFloater('launcher')"
checked="dw.getFloaterVisibility('launcher')"
id="DWMenu_Window_Launcher" />
...
</menu>

Das ist nur ein kleiner Ausschnitt aus der Datei, aber Sie können sich eine erste Vorstellung verschaffen.

Jede Zeile besteht aus einem <menuitem>, das einen Namen und ein Tastaturkürzel enthält. Sie können diese Werte nach Bedarf abändern. Die einzige Gefahr dabei ist, dass Sie den Befehl verändern, der eine Dreamweaver/UltraDev-JavaScript-Funktion ausführt und bewirkt, dass ein Fenster geöffnet oder geschlossen wird.

Das ist zwar eine praktische Methode, Tastaturkürzel zu bearbeiten, aber noch einfacher ist es, im Bearbeiten-Menü von UltraDev den Eintrag Tastaturkurzbefehle zu verwenden.

Wenn Sie möchten, können Sie Menüeinträge von einem Menü in ein anderes kopieren oder das Menüsystem völlig anders anordnen. Achten Sie dabei nur darauf, die Tags nicht zu beschädigen.

B.2 Dialogfelder und Fenster

Sehen Sie sich die Ordner Behaviors (Verhalten) und Actions (Aktionen) im Konfigurationsordner an. Hier finden Sie die meisten Fenster- und Befehlsdefinitionen für viele Fenster und Dialogfelder von UltraDev. Öffnen Sie beispielsweise die Datei Popup Message.js im Verzeichnis Behaviors. Hier finden Sie eine kommentierte Kopie der Funktionen in der Datei.

Richten Sie die Verhaltensfunktion ein, die im HTML enthalten ist. Hier ist die Funktion nur eine nachempfundene Version der bereits existierenden alert-Funktion:

//******************* BEHAVIOR FUNCTION **********************

// Nimmt eine Zeichenkette entgegen und zeigt sie in einer Warnung an

function MM_popupMsg(msg) { //v1.0
alert(msg);
}

Definiert die Ereignisse, die mit der Funktion kombiniert werden können. Standardwert ist das Ereignis onClick.

//******************* API **********************


//Kann für jedes Tag und jedes Ereignis verwendet werden

function canAcceptBehavior(){
var retVal = "onClick,onMouseUp,onMouseDown,(onClick)";
return retVal;
}

Definiert die Funktion aus dem Verhaltensdokument (dieses Dokument), die in das HTML aufgenommen wird. In diesem Fall ist das die Funktion MM_popupMsg.

//Gibt eine Javascript-Funktion zurück, die mit Script-Tags in den HTML-Head eingefügt werden soll

function behaviorFunction(){
return "MM_popupMsg";
}

Erzeugt die Zeichenkette für den Funktionsaufruf, inklusive der Nachricht, die angezeigt werden soll und die aus dem Benutzeroberflächenformular stammt:

//Gibt den Funktsionsaufruf zurück, um das HTML-Tag <TAG... onEvent='thisFn(arg)'> =>;einzufügen

function applyBehavior() {
var index,frameObj,presBg,msgStr="",retVal;
with (document.theForm) {
msgStr = escExprStr(message.value,false);
}
if (msgStr == null) retVal = MSG_BadBraces;
else if (msgStr) retVal = "MM_popupMsg('"+msgStr+"')";
else retVal = MSG_NoMsg;
return retVal
}

Setzt den Wert des Nachrichtenfelds im Benutzeroberflächenformular, falls das Verhalten bearbeitet wird.

function inspectBehavior(fnStr){ 
var argArray, msgStr;

argArray = extractExprStr(fnStr);
if (argArray.length == 1) { //erwartet 1 Argument
document.theForm.message.value = unescExprStr(argArray[0],false);
}
}

Die Funktion initializeUT schließlich legt alle Ausgangsbedingungen auf der Benutzeroberfläche fest, die berücksichtigt werden müssen.

//***************** LOCAL FUNCTIONS  ******************


//Frames laden, Einfügemarke setzen

function initializeUI(){
document.theForm.message.focus(); //Fokus auf Textfeld setzen
document.theForm.message.select(); //Einfügemarke in Textfeld setzen
}

Wie Sie sehen, hat Macromedia mit der Verwendung von JavaScript als Verhaltens/ Befehls-Programmiersprache jeden, der über einen Texteditor und die nötige Geduld verfügt, die Erweiterung von UltraDev und Dreamweaver ermöglicht.

Die Unterstützung des Verhaltenscodes erfolgt auf der Benutzeroberfläche. Öffnen Sie die Benutzeroberflächen-Datei, die der JavaScript-Verhaltensdatei entspricht - Popup Message.htm. Erstaunlicherweise ist auch die eigentliche Oberfläche im Textformat definiert, mit dem Sie schon vertraut sind - HTML. Sie können die Oberfläche von UltraDev also innerhalb von UltraDev bearbeiten.

Den Quellcode für diese einfache Benutzeroberfläche sehen Sie hier:

1 <HTML>
2 <HEAD>
3 <SCRIPT LANGUAGE="JavaScript"
4 SRC="Popup Message.js"></SCRIPT>
5 <SCRIPT LANGUAGE="JavaScript"
6 SRC="../../Shared/MM/Scripts/setText.js"></SCRIPT>
7 <SCRIPT LANGUAGE="JavaScript"
8 SRC="../../Shared/MM/Scripts/CMN/string.js"></SCRIPT>
9 <!-Entfernen Sie das folgende SCRIPT-Tag, falls Sie diese Datei
10 für Ihren eigenen Gebrauch anpassen. -->
11 <SCRIPT SRC="../../Shared/MM/Scripts/CMN/displayHelp.js"></SCRIPT>
12 <!-Ende Löschbereich. -->
13 <SCRIPT LANGUAGE="javascript">
14 // Copyright 1999 Macromedia, Inc. All rights reserved.
15
16 //--------------- LOKALISIERBARE GLOBALE VARIABLEN --------------
17
18 var MSG_NoMsg = "Geben Sie bitte eine Nachricht ein oder klicken Sie auf =>;Abbrechen.";
19 var MSG_BadBraces = "Geschweifte Klammern sind für das Einbetten von
20 Variablen reserviert und müssen korrekt übereinstimmen.\ n
21 Legen Sie bitte die geschweiften Klammern fest oder klicken Sie auf =>;Abbrechen.";
22 //--------------- ENDE LOKALISIERBARE VARIABLEN --------------
23 //--------------- END JAVASCRIPT ---------------
24 </SCRIPT>
25 <TITLE>Popup Message</TITLE>
26 <META HTTP-EQUIV="Content-Type" CONTENT="text/html">
27 </HEAD>
28 <BODY onLoad="initializeUI()">
29 <FORM NAME="theForm">
30 <DIV ALIGN="center">
31 <TABLE BORDER=0>
32 <TR>
33 <TD HEIGHT=8></TD>
34 <TD ALIGN="left" VALIGN="top" NOWRAP ROWSPAN="2">
35 <TEXTAREA NAME="message" ROWS="5" COLS="50" WRAP="VIRTUAL">
36 </TEXTAREA><BR>
37 </TR>
38 <TR>
39 <TD ALIGN="right" VALIGN="TOP" NOWRAP>Message:</TD>
40 </TR>
41 </TABLE>
42 </DIV>
43 </FORM>
44 </BODY>
45 </HTML>

Der Schlüssel für das Verständnis der Verbindung zwischen diesem Dokument und dem JavaScript ist das Nachrichtenfeld. Dieses Feld heißt im HTML message (Zeile 35) und der Zugriff erfolgt direkt innerhalb der JavaScript-Verhaltensdefinition.

UltraDev fügt rechts im Konfigurationsfenster mehrere Standardschaltflächen ein, die im HTML für das Dialogfeld nicht angezeigt werden. Diese Schaltflächen (in der Regel OK und Abbrechen) signalisieren dem Verhalten, den JavaScript-Code in das Dokument einzufügen oder alle Änderungen zu verwerfen.

Wenn Sie Anfänger sind, erzeugen Sie Ihre eigenen Verhalten am besten, indem Sie bereits existierende Verhalten kopieren und bearbeiten. Sie können UltraDev sonst zu einer Applikation machen, die nicht mehr an das Original erinnert.

Vielleicht haben Sie bemerkt, dass es im Konfigurationsverzeichnis mehrere Ordner mit dem Präfix »Server« gibt. Diese Ordner enthalten Definitionen aller verfügbaren Applikationsserver-Modelle - ASP/VBScript, ASP/JavaScript, JSP und CFML sowie die Benutzeroberflächen-Definitionen für alle Verhalten.

Wenn Sie Abenteurer sind, versuchen Sie, den Inhalt dieses Ordners zu erkunden. Mit ein bisschen Arbeitsaufwand können Sie UltraDev so anpassen, dass es mit anderen eingebetteten Skriptingsprachen kommuniziert.



vorheriges KapitelInhaltsverzeichnisStichwortverzeichnisFeedbackKapitelanfangnächstes Kapitel


© Markt+Technik Verlag, ein Imprint der Pearson Education Deutschland GmbH