Organize displays into responsive layouts.
Reference → Modules → Displays → UI → Client Settings | Draw | Images | Layouts | List | Localization | Symbols | Themes | Units Conversion
Displays Layouts (Reference) the Operator UI's structural framework, organizing displays into regions that persist during navigation while the Content area changes with each page.
Layout provide:
The Layout configuration interface has four main areas:
|
(1) Layout List Search, +, ×, sort Startup |
(2) Panel Configuration
|
||||||||||||||||||||||||||||||
|
(3) Page Assignment Table
|
|||||||||||||||||||||||||||||||
| (4) Platform Previews | |||||||||||||||||||||||||||||||
|
Desktop Web Preview
Preview area
|
Desktop Windows WPF
Preview area
|
||||||||||||||||||||||||||||||
|
Mobile Preview
Preview area
|
Tablet Preview
Preview area
|
||||||||||||||||||||||||||||||
| Action | Method | Result |
|---|---|---|
| Add Layout | Click + button | Create new layout |
| Delete Layout | Select and click × | Remove selected |
| Select Layout | Click layout name | Load for editing |
| Search | Use search box | Filter list |
| Sort | Click sort button | Reorder list |
Configure which panels are active and their behavior:
| Region | Enable/Disable | Alignment Options |
|---|---|---|
| Header | Always enabled | Stretch/Left/Center/Right |
| Menu | Optional | Fixed left position |
| Content | Always enabled | Auto-size center |
| Submenu | Optional | Fixed right position |
| Footer | Optional | Stretch/Left/Center/Right |
Assign pages to each active region:
| Assignment Rules | Behavior |
|---|---|
| Page column filled | Display assigned page |
| Mobile/Tablet empty | Inherit from Page column |
| Mobile/Tablet with name | Platform-specific override |
| Any invalid name | Hide region on that platform |
Check layout appearance across platforms:
| Desktop Configuration | Mobile Result | Tablet Result |
|---|---|---|
| All 5 regions active | Header + Content only | Header + Menu + Content |
| Complex menu | Hamburger menu | Simplified menu |
| Footer with status | Hidden footer | Minimal footer |
| Wide submenu | Hidden | Narrow tools panel |
| Region | Purpose | Position | Dynamic |
|---|---|---|---|
| Header | Logo, title, main navigation | Top | No |
| Menu | Primary navigation links | Left | Optional splitter |
| Content | Main display area | Center | Yes |
| Submenu | Secondary navigation | Right | Optional |
| Footer | Copyright, links, info | Bottom | No |
Standard Application |
|---|
|
Kiosk Mode |
|---|
|
Dashboard |
|---|
|
| Option | Behavior | Use Case |
|---|---|---|
| Stretch | Full width | Standard header |
| Left | Align left | Logo placement |
| Center | Center content | Title focus |
| Right | Align right | User controls |
Desktop Menu: NavigationPanel
Mobile Menu: _ (removed) or replaced
Set default at Displays → Client Settings:
Initial Execution Conditions
??? Layout: [Select Layout]Change entire layout:
csharp
@Client.OpenLayout("AlternateLayout");Change content only:
csharp
@Client.OpenDisplay("NewDisplay");
// Or
@Display.NewDisplay.Open();
User Role Basedcsharppublic void SetLayoutByRole()
{
string role = @Security.CurrentUser.Role;
string layout = role switch
{
"Operator" => "OperatorLayout",
"Engineer" => "EngineeringLayout",
"Manager" => "ManagerLayout",
_ => "DefaultLayout"
};
@Client.OpenLayout(layout);
}csharppublic void SetDayNightLayout()
{
bool isNight = DateTime.Now.Hour >= 18 ||
DateTime.Now.Hour < 6;
@Client.OpenLayout(isNight ? "NightLayout" : "DayLayout");
}Layout not loading:
Region not showing:
Mobile layout issues: