Versions Compared

Key

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

Overview

With our new theme selector, users can easily pick a theme that best suit their environment or visual preferences or easily build your own theme or use one of our prebuilt themes. Is there any item or even an entire screen you do not want to have default theme? A simple checkbox allows you to change it.

Info
iconfalse

Quick video tutorial

The platform includes a built-in theming system to ensure consistent visuals and usability across both the configuration tools (Designer) and deployed Runtime displays.  

Themes are optimized for a range of environments—from bright offices and factory-floor tablets to dark control rooms. Each theme adjusts colors, contrast, and accents to support readability, accessibility, and visual clarity.

All built-in themes are applied automatically across Designer and Runtime with no additional setup. Custom Light and Dark themes can also be defined using the platform’s theme tools, supporting OEM and branded-label applications.

On this page:

Table of Contents
maxLevel3

stylenone


Included Themes

Light Themes

Image Added

Dark Themes

Image Added

High Contrast Themes

Image Added

Themes Description

Themes are presented in complementary Light and Dark pairs, giving users the freedom to match their preferred visual style.

Theme Pair

Description

Light & Dark

Clean white and classic dark — optimized for bright or dim environments.

Platinum & Onyx

Subtle gray tones paired with a sharp, modern black style.

Steel & Graphite

Cool grayscale Light and Dark themes with a modern, minimal feel.

Pearl & Indigo

Soft lilac-accented light theme with a bold, rich purple dark variant.

Sky & Navy

Airy sky blue matched with a deep, calming navy.

Gold & Coffee

Elegant golden hues paired with a warm, earthy brown.

ContrastLight & ContrastDark

Accessibility-first options designed with maximum visual separation and clarity.


Theme Name

Description

Light

A clean, neutral light theme ideal for bright environments.

Platinum

A refined light-gray theme with balanced contrast and minimalism.

Steel

A modern, slightly darker light theme with a cool tone.

Pearl

A soft light theme paired with indigo highlights for subtle contrast.

Sky

A light theme with cool blue undertones, refreshing and calm.

Gold

A warm, inviting light theme with golden accents.

ContrastLight

A high-contrast light theme optimized for accessibility.

Dark

A classic dark theme with soft accents for reduced eye strain.

Onyx

A smooth, elegant dark theme with refined styling.

Graphite

A muted, grayscale dark theme with an industrial edge.

Navy

A rich dark theme with deep blue tones and crisp contrast.

Coffee

A cozy dark theme with warm brown hues for a grounded feel.

ContrastDark

A high-contrast dark theme for enhanced readability.



Working with Themes

You can apply themes in two primary ways:

In the Designer:

Select the theme from the Welcome Page or via the User Preferences panel. Use the Properties Sidebar to configure brushes that dynamically adapt to the selected theme.

In Runtime:

Apply a theme dynamically using the property Client.Theme, in Displays Expressions, or Display Code Behind. When the properties isn't set, or set to empty string the client station falls back to the theme defined on ClientSettings Startup Theme. 

Code Block
@Client.Theme = "Dark";

This allows displays to instantly adopt a new look based on user preferences or application context—without requiring a restart

Introduction to Themes

The Themes function allows you to customize the appearance of your display to better suit your Project. It is available for .NET and HTML5 Clients.

  • Image Removed

When you go to Run → Dictionaries → Themes, you will find predefined theme palettes that are built into most of the project templates. The Blank Project is the only theme that does not have predefined theme palettes. Themes are completely customizable since you can select any color you want for each element in each column. You can use this method to create your own theme.  

The colors and themes displayed in the image below are built into new projects. The DashBoard, HighPerformance and Standard display elements are grouped together in the ItemName column. 

Image Removed

Enabling/Disabling Theme

To enable or disable the themes function, go to the Draw Editor and click the checkbox located at the bottom of the left panel.

When a theme is disabled for an entire page, the theme for every object in the display will also be disabled. The colors will be the predefined colors shown in the image above.

When you change the theme in runtime, the pages and objects will keep their default configured colors. 

Enable Themes option locationImage Removed

  

Individual components will have an Enable/Disable checkbox in the left panel settings.

Enable Theme option location for individual componentsImage Removed

How to Set a Theme

There are a couple of different ways in which a theme can be applied to an object or project:

  • Startup a Theme in a Project.
  • Change a Theme in Runtime.
  • Configure a Palette for an Element in a Page (Rectangle, Button, Textblock, etc).

  • Pre-defined Theme and Colors.

  • Specific Element Properties (Advanced Settings)

    .

    Selecting a Startup Theme

    You can select a pre-created Theme to startup your projectsolution.

    To do so, go to Edit → Displays →  List, and click .NET Clients Windows button at Client Settings. It will open a popup window where the Initial Theme field is on the bottom. See the image below. 

    Note

    If the field is left blank, the project solution starts up without any theme using the objects properties used at the moment the displays were created.

    Client Window Settings optionsImage Removed

    Change a Theme in Runtime

    Theme selection in runtime can be done by using the syntax below in Script codes, Expression fields, or objects configuration.

    To set the project to the default configuration, without a custom theme, you need to set the Client.Theme to an empty string (Client.Theme= ””) or create an empty theme table and assign it to the theme property.

    Code Block
    @Client.Theme = "Blue";
    @Client.Theme = "Dark";
    @Client.Theme = "Yellow";
    @Client.Theme = "";

    Configure a Palette for an Element

    Configure a Palette for an Element in a Page (Rectangle, Button, Textblock, etc).

    To set a theme for an element in the display, you need to open the Appearance configuration window located in the left panel toolbar, in Run → Dictionaries → Themes

    At the top of the Appearance configuration window, you will find a field called Theme Color. To select the color you want, you can insert the item name or click the button and browse through the available ones.

    For the most part, this theme color configuration window will be available for all elements that can have their colors changed. 

    Image Removed

    List of Supported Components

    The list below presents display objects that you are able to customize in the Theme tab and some of the most used properties:

    Type Name

    Type Property

    Example

    Description

    TButton

    Background

    #FF434343

    Background color

    Foreground

    WhiteSmoke

    Text Label color

    Font Family

    Courier New

    Font Families

    FontStyle

    Italic

    Font Styles

    TLabelBox

    Background

    Transparent

    Background color

    Foreground

    Black

    Text Label color

    TDisplay

    Background

    LightGray

    Background color

    TLayout

    Background

    #968B7D

    Background color

    Rectangle

    Fill

    #C8BDAF

    Fill color

    Stroke

    #322719

    Border line color

    Ellipse

    Fill

    WhiteSmoke

    Fill color

    Stroke

    #9D7C8D

    Border Line color

    Polygon

    Fill

    #C3C3AA

    Fill color

    Stroke

    #51504E

    Border line color

    Polyline

    Stroke

    #51504E

    Border line color

    Path

    Fill

    #EBEBD2

    Fill color

    Stroke

    Blue

    Border line color

    TTextBox

    Background

    #DD97A6

    Background color

    Foreground

    Black

    Text color

    TComboBox

    Background

    #DD97A6

    Background color

    Foreground

    Black

    Text color

    TListBox

    Background

    #DD97A6

    Background color

    Foreground

    Black

    Text color

    TCheckBox

    Background

    #7AE3DB

    Background color

    Foreground

    Black

    Text color

    BorderBrush

    Black

    Border line color of CheckBox

    OptionMark.Fill

    #87353A

    Color of check mark

    TRadioButton

    Background

    #7AE3DB

    Background color

    Foreground

    Black

    Text color

    BorderBrush

    Black

    Border line color of RadioBox

    OptionMark.Fill

    #87353A

    Color of check mark

    TSlider

    grip.Fill

    Black

    Fill color

    TrackBackground.Background

    Black

    Background color

    TMenuItem

    Background

    LightGray

    Background color

    Foreground

    WhiteSmoke

    Text color

    TTitleBar

    Background

    LightGray

    Background color

    Label DragBarTitle.Foreground

    Black

    Text color

     

     

     

    TDrillingChart

    CursorBrush

    Blue

    Vertical cursor color

    LabelsBrush

    Black

    Text Label color

    GridLinesBrush

    #B6B6B4

    Grid Lines color

    WindowsBrush

    WhiteSmoke

    Background color

    TTrendChart

    LegendColorOption

    1

    Background  Legend color  (0 –White or

    1 – Transparent)

    LabelsBrush

    #51504E

    Text Label color

    GridLinesBrush

    #51504E

    Grid Lines color

    CursorBrush

    Blue

    Vertical cursor color

    WindowsBrush

    #C3C3AA

    Background color

    TAlarmWindow

    Theme

    MetroDark

    Custom Theme Style

    TDataGridWindow

    Theme

    MetroDark

    Custom Theme Style

    TPageSelector

    Theme

    Zune

    Custom Theme Style

    Note

    If you add the Rectangle and Ellipse types to the Themes list, you need to remember that some Default Displays (Header, LogOn and About) contains this element. So you might need to disable the Theme for those displays or the specifics objects.

    Note

    The Theme property for TAlarmWindow, TDataGridWindow and TPageSelector objects contains your own themes. See below the supported value for it:

    MetroDark         

    MetroLight                          

    ExpressionLight

    ExpressionBlack

    ExpressionBlue               

    ExpressionLive

    Zune

    Windows7         

    Glass

    Windows8         

    MediaPlayer     

    Classic

    Pre-defined Theme and Colors

    When a new project is created, it already contains several built-in themes and colors. You can create a new theme with new colors, or you can change the color of the pre-configured theme. 

    Some important elements that have pre-defined colors:

    • DefaultColor
    • DisplayBackground
    • HeaderBackground
    • TextForeGround
    • All HighPerformance State (all of them start with HP, ex: HPOnStroke, HPOffStroke, HPDisableStroke)
    • Dashboard pages (all of them start with Dashboard, ex: DashboardTitleBackground, DashboardItem…)

    You can use all the colors in the image below to create any color palette you desire. 

    Here you can create your own color palette for your projectImage Removed

    Creating new Themes

    On Run → Dictionaries → Themes,you will find all the required information to add different theme options to your components. On the top of the display, you will find some buttons:



    Select Colors in the Designer

    When drawing displays, the Properties Sidebar, has the colors editors, to select colors for Border, Fill, and Text Elements. 

    When editing colors, the BrushEditorDialog is open:

    Image Added



    The Theme, HMI (Hight Performance HMI)and Custom present the colors that are automatically updated when a global theme is applied to the solution.

    • The Theme tabThe THEME tab lists general-purpose colors, automatically filtered based on the selected property—such as background, border, or text.  
    • The HMI tab contains colors that follow High Performance HMI Graphics guidelines. 
    • The Custom tab are pre-defined colors for general purpose that can have the name and color customized to each solution.


    Image Added

    Image Added


    Preview Runtime Appearance

    In the display editor, the Properties Sidebar includes an Appearance section with a Theme dropdown to preview how the display appears under different themes.

    Image Added

    That option will change the preview of the display, when running on the Designer tool.

    When running the solution, change dynamically the Theme using the property @Client.Theme.


    Theme Color Roles

    The platform provides a structured color definition system. These colors are applied automatically by the system when creating UI controls, and can also be used directly in custom graphics, using the previously showed color selection dialogs. 

    The page Displays → Themes in the Solution Explorer has the full table will allow pre-defined theme colors. Those colors are organized in the following main groups:

    • Theme Colors
    • High Performance HMI Graphics
    • Custom Colors

    The General Theme Colors is organized in the following groups:

    • General Theme Colors
    • Main Backgrounds
    • GroupBox Elements
    • Diagram Elements
    • Text Elements
    • Dashboard Elements
    • State and Interaction 
    • Disabled Controls

    Below is a list of all standard theme colors, grouped by their functional role


    Core Theme Colors


    General Theme Colors

    Color Name

    Description

    DefaultBrush

    Base color for generic content

    DefaultBorder

    Border color for default elements

    WatermarkBrush

    Watermark or placeholder text color

    ThemeBlackBrush

    System black

    ThemeWhiteBrush

    System white

    AccentBrush

    Primary accent color for key elements


    Main Backgrounds

    Color Name

    Description

    PageBackground

    Global background color for pages

    PanelBackground

    Panel or container background

    PopupBackground

    Background for popups or dialogs

    ControlBackground

    General control (e.g. textbox) bg

    ComboBoxBackground

    Combo box background

    ButtonBackground

    Standard button background


    GroupBox Elements

    Diagram Elements


    Color Name

    Description

    LightBrush

    Inner brush for group-like controls

    ShadeBrush

    Outer/contrast edge for grouped zones



    Color Name

    Description

    BayBrush

    Diagrams or structural sections

    LegendBrush

    Text/legend colors for diagrams


    Dashboard Elements


    Color Name

    Description

    HeaderBrush

    Section headers

    TitleBrush

    Panel titlebars



    Color Name

    Description

    ItemBackground

    Item content block

    ItemBorder

    Border around blocks


    State and Interaction

    Color Name

    Description

    SelectFocusBrush

    Focused item border

    SelectBrush

    Highlighted selection

    FocusBrush

    Keyboard or mouse focus indicator

    HoverBackground

    Background when hovered

    HoverBorder

    Border when hovered

    PressedBackground

    Active press background

    PressedBorder

    Border on press


    Disabled Controls

    Color Name

    Description

    DisabledForeground

    Disabled/inactive text color

    DisabledBackground

    Background for disabled fields

    DisabledBorder

    Border around disabled controls



    High Performance HMI Graphics

    Standard Colors

    Alarm Colors


    Color Name

    Description

    HpgDefaultFill

    HPG base fill

    HpgDefaultStroke

    HPG base stroke

    HpgOnFill

    HPG “ON” fill color

    HpgOnStroke

    HPG “ON” stroke color

    HpgOffFill

    HPG “OFF” fill color

    HpgOffStroke

    HPG “OFF” stroke color

    HpgElementBlueColor

    Standard blue for HPG blocks

    HpgElementLightBlueColor

    Light blue accent in HPG elements

    HpgElementDarkBlueColor

    Deep blue variant for HPG

    HpgElementGreenColor

    Green fill used in HPG indicators



    Color Name

    Description

    AlertHighPriorityColor

    High severity alert

    AlertMediumPriorityColor

    Medium alert

    AlertLowPriorityColor

    Low severity warning

    AlertDiagnosticColor

    Diagnostic / info condition

    AlertNormalColor

    Default or cleared state



    Custom Colors

    General  Colors

    Each theme includes a consistent set of color brushes designed for use in dynamic symbols, dashboards, and runtime visuals. These colors provide both visual consistency and functional clarity across light and dark environments.

    ColorName

    Description

    ItemTitle

    Title or label text within item blocks

    ItemFill

    Fill color inside a container, data block, or panel

    ItemControl

    Section used for controls or interactive elements

    ItemLine

    Divider or outline stroke for segments or rows

    ItemCurrent

    Highlight for currently selected or active row/item

    ItemPrevious

    Color for recently changed, previous, or background-highlight row

    StateGreen

    Green status – running or healthy

    StateRed

    Red status – fault, error, or stop

    StateActive

    Indicates active, enabled, or live elements

    StateInactive

    Indicates inactive or disabled elements

    Waste

    Color used in process visuals to represent waste streams

    Water

    Color used in process visuals to represent water or fluids


    Extended Custom Brushes

    These colors are provided for extra flexibility when building reusable components or solution-specific visualizations.

    Brush Key

    Description

    CustomColor

    Theme-neutral base color for background fills or overlays

    Custom1Teal

    Deep teal green, good for OK/status indicators

    Custom2Slate

    Indigo-slate tone, used for cool accents

    Custom3Amber

    Bright amber, useful for warnings or highlights

    Custom4Cyan

    Cyan blue, ideal for metrics or charts

    Custom5Coral

    Coral pink, good for alert states or attention labels

    Custom6Purple

    Orchid purple, elegant tone for accents

    Custom7Primary

    Taupe brown, neutral for borders or UI blocks

    Custom8Secondary

    Bright aqua, great for indicators or strokes

    Custom9Neutral

    Lime green, suitable for passive indicators

    Custom10Dimmed

    Rose pink, a soft muted tone for secondary visuals



    Customizing Themes

    Color Names and Brushes

    An easy to customize the themes for you specific applications, is to change the name of Colors, or its Brush keys.

    The colors listed under Core Themes Colors, and High Performance HMI Graphics, can't be modified, as it would potentially create issues in standard UI components. 

    All the colors listed under Custom Colors, both the General Colors and Extended Colors Brushes, can have the name or its color modified. 

    In order to do that you just navigate in the Designer Solution explorer to Displays  > Themes.

    At that page you can edit the Name fields or colors directly on the table or copy and past from clipboard. 

    Info
    titleSystem Colors

    You can only customize any Color after CustomColor (ID >= 100), or any color in CustomLight and CustomDark themes. The other names in and colors in the table, which as system colors, are protected.

    Custom Light and Dark Themes

    The table includes two columns for a CustomLight and a CustomDark theme, which are originally exactly the same of the Light and DarkThemes. 

    Use those columns if you to have a complete new theme in your solution. 

    Warning
    titleReset Colors Command

    Attention when using the RESET or Paste commands on that user interface and they have an undo operation. 

    The Reset will overwrite all your CustomColors and the Custom Themes back to original software settings. 



    Importing Custom Colors from Legacy Projects

    When migrating from previous versions, you can retain color customizations by preparing a CSV file named <ProjectName>-CustomColors.csv. This file is automatically applied during the import of a legacy project (<ProjectName>.tproj).

    The file must follow this format:

    ID

    ItemName

    ColorName


    • ID and ItemName: These two columns reference the customized color definitions from your legacy system. This data is typically extracted from the Run-Dictionaries-Themes table of earlier versions.

    • ColorName: This third column specifies which theme resource in the current system the legacy color should map to.


    The first 2 columns, ID and ItemName, are populated with the customizations from the legacy project. That information is extracted from the table Run-Dictionaries-Themes from previous releases.

    The third color, is to which resource in the current model that color will be mapped. 

    Here is an example of configuration file:

    Code Block
    titleProject1-CustomColors.csv
    ID,ItemName,ColorName  
    1030,PanelBack,LightBrush  
    1041,AlertIndicator,StateAlarm  
    1042,AlarmOK,StateOK  
    1043,DataColor,ItemTitle  
    1044,LabelColorLight,ThemeWhiteColor  
    1046,BadData,StateAlert  
    1047,RunTrue,StateGreen
    1048,RunFalse,StateRed
    1049,LabelColorDark,ThemeBlackColor  
    1050,ItemGlow,SelectBrush  
    1052,Water2,Water  
    1053,ControlButton,ItemControl  
    1054,CurrentDayBG,ItemCurrent  
    1055,PreviousDayBG,ItemPrevious
    Tip

    You don’t need to include every color from the legacy project—only the customized ones or those for which the default mapping does not meet your requirements. Standard theme roles are applied automatically during import.

    After import, you can further refine or rename the colors directly in the Displays > Themes configuration table within the Designer.


    In this section:

    Buttons available on the Themes tabImage Removed

    Theme header

    New: Creates a new Themes template option.

    Del: Deletes an existing Themes template.

    Rename: Renames an existing Themes template.

    Check: Checks all added elements to see if there is any invalid configuration.

    Export Properties: Exports to the clipboard all properties that are available for selected object type. The user can see them by pasting it to Notepad, for example.

    In the grid under these buttons, you will find the following columns:

    Type Name: The object type that will be customized (see supported elements in the next Section).

    Property Name: Object property that will be customized.

    Value: Value that will be applied to the element property. It can be Colors, Font Type, Font Size, Stroke Thickness, etc. For colors you can use in Hex format (e.g.: 0000FF) or HTML Color name (e.g.: Blue).

    Description: A briefly description about the component.

    Uid: Custom name given to a display object in Draw Environment. UID is optional and it should be used when you want to customize specific objects. The UID is how to identify these objects. You can have many objects with the same UID, so the themes will apply the same property value to all of them. See the image below where you can find the UID field.

    Uid fieldImage Removed

    In the image below, you can find an example of 3 objects (in the left side) with the same Uid and another one (right side) with different Uid.

    Example of objects using Uid fieldImage Removed

    Exporting Themes

    When selecting to export a page or a symbol with the dependencies enabled the Item Name (rows) will be included in the export process. To include new theme columns the specific ThemeColorName must to be selected manually. It will avoid replace the color scheme already defined in the target project.

    Advanced Properties

    On Run → Dictionaries → Themesand under the Advanced settings, you can customize the component properties. 

    When clicking the advanced button from the Theme tab, the advanced dialog box will open based on which theme you selected with the combobox. 

    It is important to notice that these properties will only be valid for the specific theme displayed in the Configuration Window (1).

    Image Removed

     

    By opening the advanced settings, you can easily access components such as text font, radio box marker, combo box marker, or components that are not colors or are not exposed in the drawing tool configuration.

    In the example above, the customization is valid to TRadioButtons and all Ellipse. You can overwrite the basic color configuration by opening the Advanced Settings and typing the name of the property and value you desire. To filter for specific elements, you should use the Uid property to select a specific element.

    To make sure the configuration you inserted is valid, always click the Check button (2). A popup message will appear with a Success/Error message.

    The Export Properties button (3) will export all properties that are available, for the selected object, to the clipboard. The user can see the properties by pasting them to a text editor application (e.g.: Notepad). Below you can find some of the exported properties for the Ellipse object.

    Code Block
    * Type: System.Windows.Shapes.Ellipse
    - Properties:
    . Effect, System.Windows.Media.Effects.Effect
    . Fill, System.Windows.Media.Brush
    . Focusable, System.Boolean
    . Height, System.Double
    . UseLayoutRounding, System.Boolean
    . VerticalAlignment, System.Windows.VerticalAlignment
    . Visibility, System.Windows.Visibility
    . Width, System.Double

    Demonstration Project

    There is a Theme demo project available so the customer can test this feature. It contains all supported elements and shows how to use this feature in a project.

    There are several different themes available in this demo project that you can use as reference to build it in your own project. Copying from Theme tables (Run → Dictionaries → Themes) and pasting it in your own folder also work great. See below some images extracted from the project.

    Image RemovedImage RemovedImage RemovedImage Removed

    In this section...

    Page Tree
    root@parent
    spacesV10