Theme-Ebenen

Das Aussehen eines Framework Controls kann auf verschiedenen Ebenen des Theme-Systems beschrieben werden.

Ebene 4: Attributdefinition pro Control-Typ

Auf der Ebene 4 des Theme-Systems besteht die Möglichkeit Control-Themes zu definieren. Durch die Control-Themes können gezielt einzelne Attribute des Framework Controls überschrieben werden. Die Definition eines Control-Themes erfolgt innerhalb einer Theme-Datei und kann mit dem Theme-Editor im Engineering oder direkt als JSON-Code erstellt werden. Die Theme-Datei muss einem bestimmten Theme innerhalb des Projektes zugeordnet werden:

Theme-Ebenen 1:

Anschließend muss die Theme-Datei als „ThemedValues“ unter „themes“ in der Description.json-Datei referenziert werden.

Ebene 5: Attributdefinition durch DefaultValueInternal

Auf der Ebene 5 des Theme-Sytems besteht die Möglichkeit die Eigenschaften des Attributs über den DefaultValueInternal zu setzen. Der DefaultValueInternal kann in der Description.json-Datei des Framework Controls gesetzt werden.

Beispiel für ein Color-Attribut:

"defaultValueInternal": {
  "color": "rgba(255, 0, 0, 1)"
}

Ebene 8: Cascading Style Sheets pro Theme

Auf der Ebene 8 des Theme-Systems besteht die Möglichkeit, Cascading Style Sheet-Dateien zu einem Theme hinzuzufügen. Innerhalb der CSS-Datei können beliebige Elementeigenschaften definiert werden.

Theme-Ebenen 2:

Anschließend muss die CSS-Datei „Stylesheet“ unter „themes“ in der Description.json-Datei des Framework Controls referenziert werden.

Ebene 9: Cascading Style Sheets auf Projektebene im Control

Auf der Ebene 9 des Theme-Systems besteht die Möglichkeit, Cascading Style Sheet-Dateien unabhängig von einem Theme auf der Projektebene im Control hinzuzufügen. Per Default ist in jedem Framework Control Projekt eine Style.css-Datei auf Projektebene enthalten. Innerhalb dieser Datei werden Elementeigenschaften definiert, die unabhängig von einem Theme gelten sollen (z. B. Größen eines Divs).

Theme-Ebenen 3:

Alle CSS-Dateien auf der Projektebene im Control müssen unter „dependencyFiles“ in der Description.json-Datei des Framework Controls referenziert werden.