XML-Konfigurationsdatei

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  UModel Referenz für Programmierer > UModel IDE PlugIns >

XML-Konfigurationsdatei

MIt dem Plug-in können Sie die Benutzeroberfläche von UModel ändern. Dabei wird jede einzelne Änderung mit Hilfe eines XML-Datenstroms beschrieben. Die XML-Konfiguration wird mit der GetUIModifications Methode der IUModelPlugIn-Schnittstelle an UModel übergeben.

 

Die XML-Datei für das Plug-in mit den Änderungen an der Benutzeroberfläche muss die folgende Struktur haben:

 

  <ConfigurationData>
    <ImageFile>path To image file</ImageFile>
    <Modifications>
        <Modification>
           ...
        </Modification>
        ...
    </Modifications>
  </ConfigurationData>

 

Sie können Schaltflächen oder Symbolleisten-Schaltflächen für die neuen Menübefehle definieren, die über das Plug-in zur Benutzeroberfläche von UModel hinzugefügt werden. Der Pfad zur Datei, die die Bilder enthält, wird mit Hilfe des Elements ImageFile definiert. Jedes Bild muss 16 x 16 Pixel groß sein. Die Bildreferenzen müssen in einer einzigen Zeile  (<ImageFile>...) von links nach rechts angeordnet werden. Der Indexwert für das am weitesten rechts befindliche Bild ist Null.

 

Das Modifications Element kann beliebig viele Modification Child-Elemente haben. Jedes Modification Element definiert eine bestimmte Änderung an der Standardbenutzeroberfläche von UModel. Es können auch Elemente der Benutzeroberfläche aus UModel entfernt werden.

 

Struktur von Modification-Elementen

 

Alle Modification-Elemente bestehen aus den folgenden beiden Child-Elementen:

 

  <Modification>
    <Action>Type of action</Action>
    <UIElement Type="type of UI element">
    </UIElement>
  </Modification>

 

Gültige Werte für das Action Element sind:

 

Add        - um das folgende Benutzeroberflächenelement zu UModel hinzuzufügen.

Hide        - um das folgende Benutzeroberflächenelement in UModel auszublenden.

Remove - um das Benutzeroberflächenelement im Dialogfeld "Anpassen" aus dem Listenfeld "Befehle" zu entfernen

 

Sie können Werte des Action Elements kombinieren, z.B. "Hide Remove"

 

Das UIElement Element beschreibt alle neuen oder bestehenden Benutzeroberflächenelemente für UModel. Mögliche Elemente sind derzeit: neue Symbolleisten, Schaltflächen, Menüs oder Menübefehle. Das type Attribut definiert, welches Benutzeroberflächenelement durch das XML-Element beschrieben wird.

 

Allgemeine UIElement Child-Elemente

Die Elemente "ID" und "Name" sind für alle verschiedenen Arten von XML UIElement-Fragmenten gültig. Es besteht jedoch die Möglichkeit, einen der Werte für einen bestimmten Typ von UIElement zu ignorieren z.B. wird "Name" bei einem Trennzeichen ignoriert.

 

  <ID></ID>
  <Name></Name>

 

Wenn UIElement ein bestehendes Element der Benutzeroberfläche beschreibt, ist der Wert des ID-Elements in UModel vordefiniert. Normalerweise sind diese ID-Werte bekannt. Wenn das XML-Fragment einen neuen Teil der Benutzeroberfläche beschreibt, kann die ID beliebig gewählt werden und der Wert sollte kleiner als 1000 sein.

 

Das Element Name definiert den Textwert. Bestehende Elemente der Benutzeroberfläche, wie z.B.  Menüs und Menübefehle mit den dazugehörigen Untermenüs, werden rein anhand ihres Namens erkannt. Bei neuen Elementen der Benutzeroberfläche definiert das Name Element den Titel einer Symbolleiste oder den Text für einen Menübefehl.

 

Symbolleisten und Menüs

Um eine Symbolleiste zu definieren, muss/müssen die ID und/oder der Name der Symbolleiste angegeben werden. Eine bestehende Symbolleiste kann nur durch Angabe des Namens oder der ID, falls bekannt, definiert werden. Um eine neue Symbolleiste zu erstellen, müssen beide Werte definiert werden. Das type Attribut muss "ToolBar" sein.

 

  <UIElement Type="ToolBar">
    <ID>1</ID>
    <Name>Styles</Name>
  </UIElement>

 

Um ein UModel-Menü zu definieren, benötigen Sie zwei Parameter:

die ID der Menüleiste, die das Menü enthält. Die ID der Hauptmenüleiste von UModel ist 101.
den Menünamen. Menüs haben keinen damit verknüpften ID-Wert. Im folgenden Beispiel wird das Menü "Bearbeiten" der Menüleiste definiert:

 

  <UIElement Type="Menu">
    <ID>101</ID>
    <Name>Edit</Name>
  </UIElement>

 

Wenn Sie ein neues Menü erstellen möchten, wird ein zusätzliches Element verwendet. Das Place Element definiert die Position des neuen Menüs in der Menüleiste:

 

  <UIElement Type="Menu">
    <ID>101</ID>
    <Name>PlugIn Menu</Name>
    <Place>12</Place>
  </UIElement>

 

Bei einem Wert von -1 für das Place Element wird die neue Schaltfläche oder der neue Menübefehl an das Ende des Menüs oder der Symbolleiste gesetzt.

 

Befehle

Wenn Sie einen neuen Befehl über eine Symbolleisten-Schaltfläche oder einen Menübefehl hinzufügen, kann das UIElement Fragment jedes dieser Subelemente enthalten:

 

  <Info></Info>
  <ImageID></ImageID>

 

Das Info Element enthält eine kurze Beschreibung, die in der Statusleiste angezeigt wird, wenn Sie den Mauszeiger über den dazugehörigen Befehl (Schaltfläche oder Menübefehl) platzieren. ImageID definiert den Index des Symbols in der externen Bilddatei. Beachten Sie bitte, dass alle Symbole in einer Bilddatei gespeichert sind.

 

Um eine Symbolleisten-Schaltfläche zu definieren, erstellen Sie ein UIElement mit der folgenden Struktur:

 

  <UIElement Type="ToolBarItem">
    <!--don't reuse local IDs even the commands do the same-->
    <ID>6</ID>
    <Name>Fill red</Name>
    <!--Set Place To -1 If this is the first button to be inserted-->
    <Place>-1</Place>
    <ImageID>0</ImageID>
    <ToolBarID>1</ToolBarID>
    <!--instead of the toolbar ID the toolbar name could be used-->
    <ToolBarName>Styles</ToolBarName>
  </UIElement>

 

Zusätzliche Elemente, die in einer Symbolleisten-Schaltfläche deklariert werden sind: Place, ToolBarID und ToolBarName. ToolBarID und ToolBarName dienen zum Identifizieren der Symbolleiste, die die neue oder bestehende Schaltfläche enthält. Beim Textwert von ToolBarName muss die Groß- und Kleinschreibung beachtet werden. Das type-Attribut von UIElement muss "ToolBarItem" sein.

 

Um einen Menübefehl zu definieren, stehen zusätzlich zu den Standardelementen, die zum Deklarieren eines Befehls verwendet werden, die Elemente MenuID, Place und Parent zur Verfügung. MenuID muss 101 sein. Nähere Informationen zu diesen Werten finden Sie unter "Symbolleisten und Menüs".

 

Das Parent Element dient zum Festlegen des Menüs in das der neue Menübefehl eingefügt werden soll. Da die Befehle von Untermenüs keine eindeutige Windows ID haben, benötigen wir eine andere Methode, um das übergeordnete Element des Menübefehls zu definieren.

 

Der Wert des Parent Elements ist ein Pfad zum Menübefehl.

 

Der Textwert des Parent-Elements muss der Menüname des dem Untermenü übergeordneten Menüs sein, wobei der Name des Untermenüs durch einen Doppelpunkt getrennt ist. Wenn das Menü kein übergeordnetes Element hat, da es sich beim Menü um kein Untermenü handelt, setzen Sie einen Doppelpunkt vor den Anfang des Namens. Das type Attribut muss auf "MenuItem" gesetzt werden.

 

Beispiele für ein UIElement das einen Menübefehl definiert, sind:

 

  <UIElement Type="MenuItem">
    <!--the following element is a Local command ID-->
    <ID>3</ID>
    <Name>Fill red</Name>
    <Place>-1</Place>
    <MenuID>101</MenuID>
    <Parent>:PlugIn Menu1</Parent>
    <ImageID>0</ImageID>
  </UIElement>

 

Sie können in UModel Symbolleistentrennzeichen und Menüs hinzufügen, wenn der Wert des ID Elements auf Null gesetzt wird.


© 2019 Altova GmbH