You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Displays Layouts (Reference) define the application window structure and organize display regions (Header, Menu, Content, Footer) that remain consistent while navigating through different screens.

Display Layouts provide:

  • Consistent application structure
  • Region-based organization
  • Multi-platform support
  • Dynamic content areas
  • Responsive adaptations
  • Runtime layout switching

Layouts ensure consistent navigation elements while the Content region changes with display navigation.

On this page:


Layout List

(search)
+ x sort

Layout1
Layout2

....

 Panels:

HeaderHeader Edit: Stretch / Left / Center / Right

Menu


Content     

                   

Sub

menu



FooterFooter Edit: Stretch / Left / Center / Right
RegionPageMobileTabletDescription
HeaderHeader

display for the Header panel
Footer


display for the Footer panel
Menu


display for the Menu panel
Submenu


display for the Submenu panel
ContentMainpage

display for the Content panel
Desktop Web PreviewDesktop on Windows WPF Preview
Mobile PreviewTablet Preview




Layout Regions

RegionPurposePositionDynamic
HeaderLogo, title, main navigationTopNo
MenuPrimary navigation linksLeftOptional splitter
ContentMain display areaCenterYes
SubmenuSecondary navigationRightOptional
FooterCopyright, links, infoBottomNo

Creating Layouts

  1. Navigate to Displays → Layouts
  2. Click Add New button
  3. Configure:
    • Name - Layout identifier
    • Description - Purpose documentation
  4. Click OK
  5. Map displays to regions

Region Configuration

Mapping Displays

  1. Select layout in grid
  2. For each region row:
    • Click "..." in Page column
    • Select display from dialog
    • Repeat for Mobile/Landscape

Platform-Specific Settings

ColumnTargetFallback
PageDesktop (WPF/HTML5)Required
MobileMobile portraitUses Page
MobileLandscapeMobile landscapeUses Mobile

<ac:structured-macro ac:name="tip"> ac:rich-text-body To remove a region on mobile, enter underscore (_) instead of leaving blank. Empty fields inherit from Page configuration. </ac:rich-text-body> </ac:structured-macro>


Layout Customization

Header/Footer Alignment

OptionBehaviorUse Case
StretchFull widthStandard header
LeftAlign leftLogo placement
CenterCenter contentTitle focus
RightAlign rightUser controls

Menu Configuration

  • Optional splitter for resizing
  • Adjusts to header/footer
  • Can be hidden on mobile

Preview Options

Test layouts before deployment:

  • Desktop Web - HTML5 preview
  • Desktop Windows - WPF preview
  • Mobile Portrait - Phone view
  • Mobile Landscape - Tablet view

Runtime Configuration

Startup Layout

Set default at Displays → Client Settings:

Initial Execution Conditions
  ??? Layout: [Select Layout]

Runtime Changes

Change entire layout:

csharp

@Client.OpenLayout("AlternateLayout");

Change content only:

csharp

@Client.OpenDisplay("NewDisplay");
// Or
@Display.NewDisplay.Open();

Configuration Properties

PropertyDescriptionType
RegionLayout area identifierEnum
DockingAttachment positionString
PageDesktop displayDisplay
MobileMobile displayDisplay
MobileLandscapeLandscape displayDisplay
HorizontalAlignAlignment optionEnum
SplitterResizable dividerBoolean
Row/ColumnGrid positionInteger
RowSpan/ColumnSpanGrid spanningInteger

Best Practices

  1. Plan Structure - Define regions before displays
  2. Test All Platforms - Verify on each target
  3. Consider Mobile - Simplify for small screens
  4. Use Splitters Wisely - Only where needed
  5. Keep Headers Simple - Essential navigation only
  6. Document Layouts - Explain purpose
  7. Version Control - Track layout changes

Common Layout Patterns

Standard Application

Header:  Navigation Bar
Menu:    Equipment List (with splitter)
Content: Main Display (changes)
Footer:  Status Bar

Kiosk Mode

Header:  Company Logo (center)
Content: Full Screen Display
Footer:  Hidden (_)

Dashboard

Header:  Title Only
Menu:    Hidden (_)
Content: Dashboard Display
Submenu: Quick Actions
Footer:  Timestamp

Mobile Considerations

Responsive Design

  • Simplify navigation for touch
  • Hide non-essential regions
  • Optimize for portrait orientation
  • Test gesture navigation

Region Removal

Desktop Menu: NavigationPanel
Mobile Menu: _ (removed)

Troubleshooting

Layout not loading:

  • Verify layout exists
  • Check display assignments
  • Review platform compatibility
  • Test startup settings

Region not showing:

  • Confirm display mapped
  • Check visibility settings
  • Verify display engine
  • Test without underscore

Mobile layout issues:

  • Review mobile mappings
  • Check responsive settings
  • Test orientation changes
  • Verify touch targets

Layout Switching Scenarios

User Role Based

csharp

public void SetLayoutByRole()
{
    string role = @Security.CurrentUser.Role;
    string layout = role switch
    {
        "Operator" => "OperatorLayout",
        "Engineer" => "EngineeringLayout",
        "Manager" => "ManagerLayout",
        _ => "DefaultLayout"
    };
    @Client.OpenLayout(layout);
}

Time Based

csharp

public void SetDayNightLayout()
{
    bool isNight = DateTime.Now.Hour >= 18 || 
                   DateTime.Now.Hour < 6;
    @Client.OpenLayout(isNight ? "NightLayout" : "DayLayout");
}

Metadata Tracking

FieldPurposeAuto-Updated
IDUnique identifierYes
VersionIDChange trackingYes
DateCreatedCreation auditYes
DateModifiedLast changeYes

The metadata tracking pattern applies consistently across all configuration tables in the platform.



In this section...

The root page @parent could not be found in space 93Draft.



  • No labels