Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Im Code definierte Modell-Ansichten können mit einem XML-Layout erweitert werden (Layout-Extension). So können existierende Layouts angepasst werden und müssen nicht kopiert werden.

XML Definition

Extends

Code Block
languagexml
<layoutExtension extends="Detail" targetClass="Person">
  ...
</layoutExtension>

extends/targetClass- Referenzieren das Basis-Layout. Diese Ansicht wird erweitert. In der Applikation werden alle Anwendungen des Basis-Layouts mit der Erweiterung ersetzt. Es entsteht somit kein neues/weiteres Layout.

Der Typ (List/Detail/Title) der Erweiterungsansicht ergibt aus dem Basis-Layout welches erweitert wird.

Copies

Code Block
languagexml
<layout<layoutExtension name="DetailDetailCopy" typecopies="ExtensionDetail" targetClass="Person">
  ...
</layoutExtension>

name - muss von das Basis-Layout unterscheiden

copies/targetClass- Referenzieren das Basis-Layout. Diese Ansicht wird kopiert und eine neue Ansicht erstellt.

Der Typ (List/Detail/Title) der Erweiterungsansicht ergibt aus dem Basis-Layout welches kopiert wird.

Properties und Gruppen Einfügen und Positionieren

Properties können dem Basis-Layout hinzugefügt werden. (Die Properties müssen dabei bereits im Modell vorhanden sein.)

Das extends gibt hierbei an, welches Property oder Grupper erweitert werden soll. Mit einem Attribut (insertAfter="Street" | insertBefore="Street" | insertAsFirstIn="Street" | insertAsLastIn="Street") kann festgelegt werden an welcher Stelle das Property oder Gruppe eingefügt wird. Hierbei wird zuerst nach der ID dann nach dem Namen gesucht.

Neues Property einfügen

Code Block
languagexml
<propertyLink link="CreatedOnFirstName" control(insertAfter="DateTimePickerStreet"> | insertBefore="Street"   <caption en-CH="Created on" de-CH="Erstellt am" /| insertAsFirstIn="Street" | insertAsLastIn="Street")>
  ...
 <aspects>
      <positionAspect after="FirstName"/</propertyLink>

Neue Gruppe einfügen

Code Block
languagexml
<group name="SettingsGroup" control="Group" (insertAfter="Street" | insertBefore="Street" | insertAsFirstIn="Street" | insertAsLastIn="Street")>
    </aspects>...
  <propertyLink>
    ...
  </propertyLink> 
  ...
</layout>

Attribute

Attribut

Beschreibung

name

Gibt den Namen des Basis Layouts an welches erweitert werden soll.

type

Gibt an das es sich um den Layout Typ “Extension” handelt.

targetClass

Die Zielklasse in welcher nach dem zu erweiternden Layout gesucht werden soll

Elemente

Dem “Extension” Layout können PropertyLinks angegeben werden um welches das Basis Layout erweitert werden soll.

Dabei kann ein PositionAspect angegeben werden welcher die Position des neuen Elements im Basis Layout bestimmt. Dafür kann der Name des Properties dem after oder before Attribut mitgegeben werden.

Note
Wird kein PositionAspect angegeben
group>

Bestehendes Property verändern (auch Position)

Code Block
languagexml
<propertyLinkExtension extends="FirstName" (insertAfter="LastName" | insertBefore="LastName" | insertAsFirstIn="NameGroup" | insertAsLastIn="NameGroup")>
  ...
</propertyLinkExtension>

Bestehende Gruppe verändern (auch Position)

Code Block
languagexml
<groupExtension extends="SettingsGroup" (insertAfter="LastName" | insertBefore="LastName" | insertAsFirstIn="NameGroup" | insertAsLastIn="NameGroup")>
  ...
</groupExtension>

Note

Wird keine Position angegeben, wird das Element auf Root Ebene des Layouts einsortiert. D.h.

...

gegebenenfalls parallel zu Tabs etc.

Note

Es können die gleichen Properties öfter auf dem Layout positioniert werden. Allerdings kann dasselbe Property nur einmal in der gleichen Gruppe vorkommen.