From f3159738ce4e333c40eecd95d9cf0517ef1916b1 Mon Sep 17 00:00:00 2001 From: Neil Dorin Date: Tue, 17 Jun 2025 20:33:25 -0600 Subject: [PATCH] feat: Enhance layout and window configuration classes Added `LayoutType` and `Windows` properties to the `LayoutInfo` class. Introduced a new `WindowConfig` class with `Label` and `Input` properties to represent window configurations within a layout. --- .../IHasScreensWithLayouts.cs | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasScreensWithLayouts.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasScreensWithLayouts.cs index ccae1e11..dec9c0b3 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasScreensWithLayouts.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasScreensWithLayouts.cs @@ -56,7 +56,7 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces public class LayoutInfo { /// - /// The display name for the layout + /// The name of the layout. /// [JsonProperty("layoutName")] public string LayoutName { get; set; } @@ -66,5 +66,35 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// [JsonProperty("layoutIndex")] public int LayoutIndex { get; set; } + + /// + /// The type of the layout, which can be "single", "double", "triple", or "quad". + /// + [JsonProperty("layoutType")] + public string LayoutType { get; set; } + + /// + /// A dictionary of window configurations for the layout, keyed by window ID. + /// + [JsonProperty("windows")] + public Dictionary Windows { get; set; } + } + + /// + /// Represents the configuration of a window within a layout on a screen. + /// + public class WindowConfig + { + /// + /// The display label for the window + /// + [JsonProperty("label")] + public string Label { get; set; } + + /// + /// The input for the window + /// + [JsonProperty("input")] + public string Input { get; set; } } }