wip: update XML comments

This commit is contained in:
Erik Meyer
2026-01-28 16:41:33 -05:00
parent e0ee5b0474
commit fed60eba29
14 changed files with 340 additions and 136 deletions

View File

@@ -14,8 +14,19 @@ namespace PepperDash.Essentials.Core
/// </summary>
public class SecondsCountdownTimer: IKeyed
{
/// <summary>
/// Event fired when the timer starts
/// </summary>
public event EventHandler<EventArgs> HasStarted;
/// <summary>
/// Event fired when the timer finishes
/// </summary>
public event EventHandler<EventArgs> HasFinished;
/// <summary>
/// Event fired when the timer is cancelled
/// </summary>
public event EventHandler<EventArgs> WasCancelled;
/// <summary>
@@ -33,6 +44,7 @@ namespace PepperDash.Essentials.Core
/// Gets or sets the PercentFeedback
/// </summary>
public IntFeedback PercentFeedback { get; private set; }
/// <summary>
/// Gets or sets the TimeRemainingFeedback
/// </summary>

View File

@@ -27,6 +27,11 @@ namespace PepperDash.Essentials.Core.Timers
private CTimer _timer;
private long _timerIntervalMs;
/// <summary>
/// Constructor
/// </summary>
/// <param name="key">key of the timer</param>
/// <param name="config">configuration for the timer</param>
public RetriggerableTimer(string key, DeviceConfig config)
: base(key, config.Name)
{
@@ -98,7 +103,7 @@ namespace PepperDash.Essentials.Core.Timers
/// <summary>
/// Executes the Elapsed action from confing when the timer elapses
/// </summary>
/// <param name="o"></param>
/// <param name="action">action to be executed</param>
private void TimerElapsedCallback(object action)
{
Debug.LogMessage(LogEventLevel.Debug, this, "Timer Elapsed. Executing Action");
@@ -144,15 +149,27 @@ namespace PepperDash.Essentials.Core.Timers
/// </summary>
public class RetriggerableTimerPropertiesConfig
{
/// <summary>
/// Start the timer on device activation
/// </summary>
[JsonProperty("startTimerOnActivation")]
public bool StartTimerOnActivation { get; set; }
/// <summary>
/// Timer interval in milliseconds
/// </summary>
[JsonProperty("timerIntervalMs")]
public long TimerIntervalMs { get; set; }
/// <summary>
/// Events and their associated actions
/// </summary>
[JsonProperty("events")]
public Dictionary<eRetriggerableTimerEvents, DeviceActionWrapper> Events { get; set; }
/// <summary>
/// Constructor
/// </summary>
public RetriggerableTimerPropertiesConfig()
{
Events = new Dictionary<eRetriggerableTimerEvents, DeviceActionWrapper>();
@@ -164,7 +181,14 @@ namespace PepperDash.Essentials.Core.Timers
/// </summary>
public enum eRetriggerableTimerEvents
{
/// <summary>
/// Elapsed event
/// </summary>
Elapsed,
/// <summary>
/// Stopped event
/// </summary>
Stopped,
}
@@ -173,11 +197,19 @@ namespace PepperDash.Essentials.Core.Timers
/// </summary>
public class RetriggerableTimerFactory : EssentialsDeviceFactory<RetriggerableTimer>
{
/// <summary>
/// Constructor
/// </summary>
public RetriggerableTimerFactory()
{
TypeNames = new List<string>() { "retriggerabletimer" };
}
/// <summary>
/// BuildDevice method
/// </summary>
/// <param name="dc">device config</param>
/// <returns></returns>
public override EssentialsDevice BuildDevice(DeviceConfig dc)
{
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new RetriggerableTimer Device");

View File

@@ -7,72 +7,93 @@ namespace PepperDash.Essentials.Core
/// </summary>
public class CrestronTouchpanelPropertiesConfig
{
[JsonProperty("control")]
/// <summary>
/// Gets or sets the ControlProperties
/// </summary>
[JsonProperty("control")]
public EssentialsControlPropertiesConfig ControlProperties { get; set; }
[JsonProperty("ipId", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the IpId
/// </summary>
[JsonProperty("ipId", NullValueHandling = NullValueHandling.Ignore)]
public string IpId { get; set; }
[JsonProperty("defaultRoomKey", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the DefaultRoomKey
/// </summary>
[JsonProperty("defaultRoomKey", NullValueHandling = NullValueHandling.Ignore)]
public string DefaultRoomKey { get; set; }
[JsonProperty("roomListKey", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the RoomListKey
/// </summary>
[JsonProperty("roomListKey", NullValueHandling = NullValueHandling.Ignore)]
public string RoomListKey { get; set; }
[JsonProperty("sgdFile", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the SgdFile
/// </summary>
[JsonProperty("sgdFile", NullValueHandling = NullValueHandling.Ignore)]
public string SgdFile { get; set; }
[JsonProperty("projectName", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the ProjectName
/// </summary>
[JsonProperty("projectName", NullValueHandling = NullValueHandling.Ignore)]
public string ProjectName { get; set; }
/// <summary>
/// Gets or sets the ShowVolumeGauge
/// </summary>
[JsonProperty("showVolumeGauge", NullValueHandling = NullValueHandling.Ignore)]
public bool? ShowVolumeGauge { get; set; }
/// <summary>
/// Gets or sets the UsesSplashPage
/// </summary>
[JsonProperty("usesSplashPage", NullValueHandling = NullValueHandling.Ignore)]
public bool? UsesSplashPage { get; set; }
/// <summary>
/// Gets or sets the ShowDate
/// </summary>
[JsonProperty("showDate", NullValueHandling = NullValueHandling.Ignore)]
public bool? ShowDate { get; set; }
/// <summary>
/// Gets or sets the ShowTime
/// </summary>
[JsonProperty("showTime", NullValueHandling = NullValueHandling.Ignore)]
public bool? ShowTime { get; set; }
[JsonProperty("setup", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Setup
/// </summary>
[JsonProperty("setup", NullValueHandling = NullValueHandling.Ignore)]
public UiSetupPropertiesConfig Setup { get; set; }
[JsonProperty("headerStyle", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the HeaderStyle
/// </summary>
[JsonProperty("headerStyle", NullValueHandling = NullValueHandling.Ignore)]
public string HeaderStyle { get; set; }
/// <summary>
/// Gets or sets the IncludeInFusionRoomHealth
/// </summary>
[JsonProperty("includeInFusionRoomHealth", NullValueHandling = NullValueHandling.Ignore)]
public bool? IncludeInFusionRoomHealth { get; set; }
/// <summary>
/// Gets or sets the ScreenSaverTimeoutMin
/// </summary>
[JsonProperty("screenSaverTimeoutMin", NullValueHandling = NullValueHandling.Ignore)]
public uint? ScreenSaverTimeoutMin { get; set; }
/// <summary>
/// Gets or sets the ScreenSaverMovePositionIntervalMs
/// </summary>
[JsonProperty("screenSaverMovePositionIntervalMs", NullValueHandling = NullValueHandling.Ignore)]
public uint? ScreenSaverMovePositionIntervalMs { get; set; }
@@ -84,8 +105,15 @@ namespace PepperDash.Essentials.Core
[JsonProperty("sourcesOverflowCount", NullValueHandling = NullValueHandling.Ignore)]
public int? SourcesOverflowCount { get; set; }
/// <summary>
/// Constructor
/// </summary>
public CrestronTouchpanelPropertiesConfig() : this(false) { }
/// <summary>
/// Constructor
/// </summary>
/// <param name="setDefaultValues">set values to default if true</param>
public CrestronTouchpanelPropertiesConfig(bool setDefaultValues = false)
{
if(!setDefaultValues) { return; }
@@ -112,6 +140,9 @@ namespace PepperDash.Essentials.Core
/// </summary>
public class UiSetupPropertiesConfig
{
/// <summary>
/// Gets or sets the IsVisible
/// </summary>
[JsonProperty("isVisible", NullValueHandling = NullValueHandling.Ignore)]
public bool IsVisible { get; set; }
}

View File

@@ -12,6 +12,9 @@ namespace PepperDash.Essentials.Core
/// </summary>
public interface IHasBasicTriListWithSmartObject
{
/// <summary>
/// Gets the Panel
/// </summary>
BasicTriListWithSmartObject Panel { get; }
}
}

View File

@@ -27,8 +27,14 @@ namespace PepperDash.Essentials.Core.Touchpanels.Keyboards
/// </summary>
public StringFeedback OutputFeedback { get; private set; }
/// <summary>
/// Gets or sets the IsVisible
/// </summary>
public bool IsVisible { get; private set; }
/// <summary>
/// Gets or sets the DotComButtonString
/// </summary>
public string DotComButtonString { get; set; }
/// <summary>
@@ -441,21 +447,33 @@ namespace PepperDash.Essentials.Core.Touchpanels.Keyboards
}
/// <summary>
///
/// Event args for keyboard key presses
/// </summary>
public class KeyboardControllerPressEventArgs : EventArgs
{
/// <summary>
/// Gets or sets the Text
/// </summary>
public string Text { get; private set; }
/// <summary>
/// Gets or sets the SpecialKey
/// </summary>
public KeyboardSpecialKey SpecialKey { get; private set; }
/// <summary>
/// Constructor
/// </summary>
/// <param name="text"></param>
public KeyboardControllerPressEventArgs(string text)
{
Text = text;
}
/// <summary>
/// Constructor
/// </summary>
/// <param name="key">special keyboard key</param>
public KeyboardControllerPressEventArgs(KeyboardSpecialKey key)
{
SpecialKey = key;
@@ -467,6 +485,29 @@ namespace PepperDash.Essentials.Core.Touchpanels.Keyboards
/// </summary>
public enum KeyboardSpecialKey
{
None = 0, Backspace, Clear, GoButton, SecondaryButton
/// <summary>
/// None
/// </summary>
None = 0,
/// <summary>
/// Backspace
/// </summary>
Backspace,
/// <summary>
/// Clear
/// </summary>
Clear,
/// <summary>
/// GoButton
/// </summary>
GoButton,
/// <summary>
/// SecondaryButton
/// </summary>
SecondaryButton
}
}

View File

@@ -113,8 +113,13 @@ namespace PepperDash.Essentials.Core
/// Shows the dialog
/// </summary>
/// <param name="numberOfButtons">Number of buttons to show. 0, 1, 2</param>
/// <param name="timeMs">The amount of time to show the dialog. Use 0 for no timeout.</param>
/// <param name="decreasingGauge">If the progress bar gauge needs to count down instead of up</param>
/// <param name="title">Title text</param>
/// <param name="iconName">Icon name</param>
/// <param name="message">Message text</param>
/// <param name="button1Text">Button 1 text</param>
/// <param name="button2Text">Button 2 text</param>
/// <param name="showGauge">True to show the gauge</param>
/// <param name="showCancel">True to show the cancel "X" button</param>
/// <param name="completeAction">The action to run when the dialog is dismissed. Parameter will be 1 or 2 if button pressed, or 0 if dialog times out</param>
/// <returns>True when modal is created.</returns>
public bool PresentModalDialog(uint numberOfButtons, string title, string iconName,

View File

@@ -19,6 +19,13 @@ namespace PepperDash.Essentials.Core.Touchpanels
readonly Dictionary<string, KeypadButton> _buttons;
/// <summary>
/// Constructor
/// </summary>
/// <param name="key">device key</param>
/// <param name="name">device name</param>
/// <param name="processor">control system processor</param>
/// <param name="buttons">dictionary of keypad buttons</param>
public Mpc3TouchpanelController(string key, string name, CrestronControlSystem processor, Dictionary<string, KeypadButton> buttons)
: base(key, name)
{
@@ -348,12 +355,21 @@ namespace PepperDash.Essentials.Core.Touchpanels
/// </summary>
public class KeypadButton
{
/// <summary>
/// Gets or sets the EventTypes
/// </summary>
[JsonProperty("eventTypes")]
public Dictionary<string, DeviceActionWrapper[]> EventTypes { get; set; }
/// <summary>
/// Gets or sets the Feedback
/// </summary>
[JsonProperty("feedback")]
public KeypadButtonFeedback Feedback { get; set; }
/// <summary>
/// Constructor
/// </summary>
public KeypadButton()
{
EventTypes = new Dictionary<string, DeviceActionWrapper[]>();
@@ -361,17 +377,20 @@ namespace PepperDash.Essentials.Core.Touchpanels
}
}
/// <summary>
/// Represents a KeypadButtonFeedback
/// </summary>
/// <summary>
/// Represents a KeypadButtonFeedback
/// </summary>
public class KeypadButtonFeedback
{
/// <summary>
/// Gets or sets the DeviceKey
/// </summary>
[JsonProperty("deviceKey")]
/// <summary>
/// Gets or sets the DeviceKey
/// </summary>
public string DeviceKey { get; set; }
/// <summary>
/// Gets or sets the FeedbackName
/// </summary>
[JsonProperty("feedbackName")]
public string FeedbackName { get; set; }
}

View File

@@ -44,6 +44,13 @@ namespace PepperDash.Essentials.Core
return tl.BooleanOutput[sigNum].SetBoolSigAction(a);
}
/// <summary>
/// Attaches a void Action to a TriList's output sig's UserObject, to be run on press
/// </summary>
/// <param name="tl">trilist</param>
/// <param name="sigNum">number of the signal</param>
/// <param name="a">action to run when the signal is true (pressed)</param>
/// <returns></returns>
public static BoolOutputSig SetSigTrueAction(this BasicTriList tl, uint sigNum, Action a)
{
return tl.BooleanOutput[sigNum].SetBoolSigAction(b => { if(b) a(); });
@@ -53,9 +60,6 @@ namespace PepperDash.Essentials.Core
/// Attaches a void Action to a TriList's output sig's UserObject, to be run on release
/// </summary>
/// <returns>The sig</returns>
/// <summary>
/// SetSigFalseAction method
/// </summary>
public static BoolOutputSig SetSigFalseAction(this BasicTriList tl, uint sigNum, Action a)
{
return tl.BooleanOutput[sigNum].SetBoolSigAction(b => { if (!b) a(); });
@@ -143,43 +147,35 @@ namespace PepperDash.Essentials.Core
}
/// <summary>
///
/// </summary>
/// SetUShortSigAction method
/// </summary>
/// <param name="sig"></param>
/// <param name="a"></param>
/// <returns>The Sig</returns>
/// <summary>
/// SetUShortSigAction method
/// </summary>
public static UShortOutputSig SetUShortSigAction(this UShortOutputSig sig, Action<ushort> a)
public static UShortOutputSig SetUShortSigAction(this UShortOutputSig sig, Action<ushort> a)
{
sig.UserObject = a;
return sig;
}
/// <summary>
///
/// SetUShortSigAction method
/// </summary>
/// <param name="tl"></param>
/// <param name="sigNum"></param>
/// <param name="a"></param>
/// <returns></returns>
/// <summary>
/// SetUShortSigAction method
/// </summary>
public static UShortOutputSig SetUShortSigAction(this BasicTriList tl, uint sigNum, Action<ushort> a)
{
return tl.UShortOutput[sigNum].SetUShortSigAction(a);
}
/// <summary>
///
/// SetStringSigAction method
/// </summary>
/// <param name="sig"></param>
/// <param name="a"></param>
/// <returns></returns>
/// <summary>
/// SetStringSigAction method
/// </summary>
public static StringOutputSig SetStringSigAction(this StringOutputSig sig, Action<string> a)
{
sig.UserObject = a;
@@ -187,50 +183,50 @@ namespace PepperDash.Essentials.Core
}
/// <summary>
///
/// SetStringSigAction method
/// </summary>
/// <param name="tl"></param>
/// <param name="sigNum"></param>
/// <param name="a"></param>
/// <returns></returns>
/// <summary>
/// SetStringSigAction method
/// </summary>
public static StringOutputSig SetStringSigAction(this BasicTriList tl, uint sigNum, Action<string> a)
{
return tl.StringOutput[sigNum].SetStringSigAction(a);
}
/// <summary>
///
/// ClearSigAction method
/// </summary>
/// <param name="sig"></param>
/// <returns></returns>
/// <summary>
/// ClearSigAction method
/// </summary>
public static Sig ClearSigAction(this Sig sig)
{
sig.UserObject = null;
return sig;
}
/// <summary>
/// ClearBoolSigAction method
/// </summary>
/// <param name="tl">trilist</param>
/// <param name="sigNum">signal number to clear</param>
/// <returns></returns>
public static BoolOutputSig ClearBoolSigAction(this BasicTriList tl, uint sigNum)
{
return ClearSigAction(tl.BooleanOutput[sigNum]) as BoolOutputSig;
}
/// <summary>
/// ClearUShortSigAction method
/// </summary>
/// <summary>
/// ClearUShortSigAction method
/// </summary>
public static UShortOutputSig ClearUShortSigAction(this BasicTriList tl, uint sigNum)
{
return ClearSigAction(tl.UShortOutput[sigNum]) as UShortOutputSig;
}
/// <summary>
/// ClearStringSigAction method
/// </summary>
/// <summary>
/// ClearStringSigAction method
/// </summary>
public static StringOutputSig ClearStringSigAction(this BasicTriList tl, uint sigNum)
{
return ClearSigAction(tl.StringOutput[sigNum]) as StringOutputSig;
@@ -270,9 +266,6 @@ namespace PepperDash.Essentials.Core
/// </summary>
/// <param name="tl"></param>
/// <param name="sigNum"></param>
/// <summary>
/// PulseBool method
/// </summary>
public static void PulseBool(this BasicTriList tl, uint sigNum)
{
tl.BooleanInput[sigNum].Pulse();
@@ -284,9 +277,6 @@ namespace PepperDash.Essentials.Core
/// <param name="tl"></param>
/// <param name="sigNum"></param>
/// <param name="ms"></param>
/// <summary>
/// PulseBool method
/// </summary>
public static void PulseBool(this BasicTriList tl, uint sigNum, int ms)
{
tl.BooleanInput[sigNum].Pulse(ms);
@@ -308,6 +298,13 @@ namespace PepperDash.Essentials.Core
tl.StringInput[sigNum].StringValue = value;
}
/// <summary>
/// Helper method to set the value of a string Sig on TriList with encoding
/// </summary>
/// <param name="tl">trilist</param>
/// <param name="sigNum">signal number to set</param>
/// <param name="value">string value to set</param>
/// <param name="encoding">string encoding to use</param>
public static void SetString(this BasicTriList tl, uint sigNum, string value, eStringEncoding encoding)
{
tl.StringInput[sigNum].StringEncoding = encoding;
@@ -320,9 +317,6 @@ namespace PepperDash.Essentials.Core
/// <param name="tl"></param>
/// <param name="sigNum"></param>
/// <returns></returns>
/// <summary>
/// GetBool method
/// </summary>
public static bool GetBool(this BasicTriList tl, uint sigNum)
{
return tl.BooleanOutput[sigNum].BoolValue;
@@ -334,9 +328,6 @@ namespace PepperDash.Essentials.Core
/// <param name="tl"></param>
/// <param name="sigNum"></param>
/// <returns></returns>
/// <summary>
/// GetUshort method
/// </summary>
public static ushort GetUshort(this BasicTriList tl, uint sigNum)
{
return tl.UShortOutput[sigNum].UShortValue;
@@ -348,9 +339,6 @@ namespace PepperDash.Essentials.Core
/// <param name="tl"></param>
/// <param name="sigNum"></param>
/// <returns></returns>
/// <summary>
/// GetString method
/// </summary>
public static string GetString(this BasicTriList tl, uint sigNum)
{
return tl.StringOutput[sigNum].StringValue;

View File

@@ -9,6 +9,9 @@ using Crestron.SimplSharpPro.DeviceSupport;
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Abstract base class for TriList handler bridges
/// </summary>
public abstract class HandlerBridge
{
/// <summary>

View File

@@ -10,6 +10,11 @@ namespace PepperDash.Essentials.Core.PageManagers
{
IDiscPlayerControls Player;
/// <summary>
/// Constructor
/// </summary>
/// <param name="player">player controls object</param>
/// <param name="trilist">trilist object</param>
public DiscPlayerMediumPageManager(IDiscPlayerControls player, BasicTriListWithSmartObject trilist)
: base(player.DisplayUiType)
{
@@ -17,10 +22,10 @@ namespace PepperDash.Essentials.Core.PageManagers
TriList = trilist;
}
/// <summary>
/// Show method
/// </summary>
/// <inheritdoc />
/// <summary>
/// Show method
/// </summary>
/// <inheritdoc />
public override void Show()
{
uint offset = GetOffsetJoin();
@@ -40,10 +45,10 @@ namespace PepperDash.Essentials.Core.PageManagers
}
}
/// <summary>
/// Hide method
/// </summary>
/// <inheritdoc />
/// <summary>
/// Hide method
/// </summary>
/// <inheritdoc />
public override void Hide()
{
TriList.BooleanInput[BackingPageJoin].BoolValue = false;

View File

@@ -10,10 +10,19 @@ namespace PepperDash.Essentials.Core.PageManagers
/// </summary>
public abstract class PageManager
{
/// <summary>
/// ActiveJoins list
/// </summary>
protected List<uint> ActiveJoins = new List<uint>();
/// <summary>
/// Show method
/// </summary>
public abstract void Show();
/// <summary>
/// Hide method
/// </summary>
public abstract void Hide();
/// <summary>
@@ -21,9 +30,6 @@ namespace PepperDash.Essentials.Core.PageManagers
/// </summary>
/// <param name="deviceType">1 through 49, as defined in some constants somewhere!</param>
/// <returns></returns>
/// <summary>
/// GetOffsetJoin method
/// </summary>
public uint GetOffsetJoin(uint deviceType)
{
return 10000 + (deviceType * 100);
@@ -38,30 +44,40 @@ namespace PepperDash.Essentials.Core.PageManagers
BasicTriList TriList;
uint BackingPageJoin;
/// <summary>
/// Constructor
/// </summary>
/// <param name="device">device</param>
/// <param name="trilist">trilist object</param>
public DefaultPageManager(IUiDisplayInfo device, BasicTriList trilist)
{
TriList = trilist;
BackingPageJoin = GetOffsetJoin(device.DisplayUiType) + 1;
}
/// <summary>
/// Constructor
/// </summary>
/// <param name="join">back page join</param>
/// <param name="trilist">trilist object</param>
public DefaultPageManager(uint join, BasicTriList trilist)
{
TriList = trilist;
BackingPageJoin = join;
}
/// <summary>
/// Show method
/// </summary>
/// <inheritdoc />
/// <summary>
/// Show method
/// </summary>
/// <inheritdoc />
public override void Show()
{
TriList.BooleanInput[BackingPageJoin].BoolValue = true;
}
/// <summary>
/// Hide method
/// </summary>
/// <summary>
/// Hide method
/// </summary>
public override void Hide()
{
TriList.BooleanInput[BackingPageJoin].BoolValue = false;
@@ -73,17 +89,44 @@ namespace PepperDash.Essentials.Core.PageManagers
/// </summary>
public abstract class MediumLeftSwitchablePageManager : PageManager
{
/// <summary>
/// TriList object
/// </summary>
protected BasicTriListWithSmartObject TriList;
/// <summary>
/// Left subpage join
/// </summary>
protected uint LeftSubpageJoin;
/// <summary>
/// Backing page join
/// </summary>
protected uint BackingPageJoin;
/// <summary>
/// All left subpages
/// </summary>
protected uint[] AllLeftSubpages;
/// <summary>
/// Display UI Type
/// </summary>
protected uint DisplayUiType;
/// <summary>
/// Constructor
/// </summary>
/// <param name="displayUiType">UI type</param>
protected MediumLeftSwitchablePageManager(uint displayUiType)
{
DisplayUiType = displayUiType;
}
/// <summary>
/// Interlock left subpage
/// </summary>
/// <param name="join"></param>
protected void InterlockLeftSubpage(uint join)
{
join = join + GetOffsetJoin();
@@ -92,12 +135,19 @@ namespace PepperDash.Essentials.Core.PageManagers
LeftSubpageJoin = join;
}
/// <summary>
/// Clear left interlock
/// </summary>
protected void ClearLeftInterlock()
{
foreach (var p in AllLeftSubpages)
TriList.BooleanInput[GetOffsetJoin() + p].BoolValue = false;
}
/// <summary>
/// Get offset join
/// </summary>
/// <returns></returns>
protected uint GetOffsetJoin()
{
return GetOffsetJoin(DisplayUiType);

View File

@@ -9,16 +9,19 @@ using Serilog.Events;
namespace PepperDash.Essentials.Core.PageManagers
{
/// <summary>
/// Represents a ThreePanelPlusOnePageManager
/// </summary>
/// <summary>
/// Represents a ThreePanelPlusOnePageManager
/// </summary>
public class ThreePanelPlusOnePageManager : PageManager
{
/// <summary>
/// The trilist
/// </summary>
protected BasicTriListWithSmartObject TriList;
/// <summary>
/// Gets or sets the Position5TabsId
/// </summary>
/// <summary>
/// Gets or sets the Position5TabsId
/// </summary>
public uint Position5TabsId { get; set; }
/// <summary>
@@ -32,12 +35,12 @@ namespace PepperDash.Essentials.Core.PageManagers
protected uint[] FixedVisibilityJoins;
/// <summary>
///
/// Gets or sets the current visible item in position 5
/// </summary>
protected uint CurrentVisiblePosition5Item;
/// <summary>
///
/// Constructor
/// </summary>
/// <param name="trilist"></param>
public ThreePanelPlusOnePageManager(BasicTriListWithSmartObject trilist)
@@ -85,10 +88,10 @@ namespace PepperDash.Essentials.Core.PageManagers
(uo as Action<bool>)(args.Sig.BoolValue);
}
/// <summary>
/// Hide method
/// </summary>
/// <inheritdoc />
/// <summary>
/// Hide method
/// </summary>
/// <inheritdoc />
public override void Hide()
{
var fixedSigs = FixedVisibilityJoins.Select(u => TriList.BooleanInput[u]).ToList();
@@ -119,25 +122,27 @@ namespace PepperDash.Essentials.Core.PageManagers
/// <summary>
/// Represents a SetTopBoxThreePanelPageManager
/// </summary>
/// <summary>
/// Represents a SetTopBoxThreePanelPageManager
/// </summary>
public class SetTopBoxThreePanelPageManager : ThreePanelPlusOnePageManager
{
ISetTopBoxControls SetTopBox;
DevicePresetsView PresetsView;
/// <summary>
/// Gets or sets the DpadSmartObjectId
/// </summary>
/// <summary>
/// Gets or sets the DpadSmartObjectId
/// </summary>
public uint DpadSmartObjectId { get; set; }
/// <summary>
/// Gets or sets the NumberPadSmartObjectId
/// </summary>
/// <summary>
/// Gets or sets the NumberPadSmartObjectId
/// </summary>
public uint NumberPadSmartObjectId { get; set; }
/// <summary>
/// Gets or sets the PresetsSmartObjectId
/// </summary>
/// <summary>
/// Gets or sets the PresetsSmartObjectId
/// </summary>
public uint PresetsSmartObjectId { get; set; }
/// <summary>
@@ -198,10 +203,10 @@ namespace PepperDash.Essentials.Core.PageManagers
}
}
/// <summary>
/// Show method
/// </summary>
/// <inheritdoc />
/// <summary>
/// Show method
/// </summary>
/// <inheritdoc />
public override void Show()
{
if(PresetsView != null)
@@ -209,10 +214,10 @@ namespace PepperDash.Essentials.Core.PageManagers
base.Show();
}
/// <summary>
/// Hide method
/// </summary>
/// <inheritdoc />
/// <summary>
/// Hide method
/// </summary>
/// <inheritdoc />
public override void Hide()
{
if (PresetsView != null)

View File

@@ -4,14 +4,19 @@ using PepperDash.Essentials.Core.Presets;
namespace PepperDash.Essentials.Core.PageManagers
{
/// <summary>
/// Represents a SetTopBoxMediumPageManager
/// </summary>
/// <summary>
/// Represents a SetTopBoxMediumPageManager
/// </summary>
public class SetTopBoxMediumPageManager : MediumLeftSwitchablePageManager
{
ISetTopBoxControls SetTopBox;
DevicePresetsView PresetsView;
/// <summary>
/// Constructor
/// </summary>
/// <param name="stb">set top box controls device</param>
/// <param name="trilist">trilist device</param>
public SetTopBoxMediumPageManager(ISetTopBoxControls stb, BasicTriListWithSmartObject trilist)
: base(stb.DisplayUiType)
{
@@ -21,10 +26,10 @@ namespace PepperDash.Essentials.Core.PageManagers
PresetsView = new DevicePresetsView(trilist, stb.TvPresets);
}
/// <summary>
/// Show method
/// </summary>
/// <inheritdoc />
/// <summary>
/// Show method
/// </summary>
/// <inheritdoc />
public override void Show()
{
if(PresetsView != null)
@@ -54,10 +59,10 @@ namespace PepperDash.Essentials.Core.PageManagers
}
}
/// <summary>
/// Hide method
/// </summary>
/// <inheritdoc />
/// <summary>
/// Hide method
/// </summary>
/// <inheritdoc />
public override void Hide()
{
TriList.BooleanInput[BackingPageJoin].BoolValue = false;

View File

@@ -4,32 +4,37 @@ using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.Core.PageManagers
{
/// <summary>
/// Represents a SinglePageManager
/// </summary>
/// <summary>
/// Represents a SinglePageManager
/// </summary>
public class SinglePageManager : PageManager
{
BasicTriList TriList;
uint BackingPageJoin;
/// <summary>
/// Constructor
/// </summary>
/// <param name="pageJoin">join for thepage</param>
/// <param name="trilist">trilist</param>
public SinglePageManager(uint pageJoin, BasicTriList trilist)
{
TriList = trilist;
BackingPageJoin = pageJoin;
}
/// <summary>
/// Show method
/// </summary>
/// <inheritdoc />
/// <summary>
/// Show method
/// </summary>
/// <inheritdoc />
public override void Show()
{
TriList.BooleanInput[BackingPageJoin].BoolValue = true;
}
/// <summary>
/// Hide method
/// </summary>
/// <summary>
/// Hide method
/// </summary>
public override void Hide()
{
TriList.BooleanInput[BackingPageJoin].BoolValue = false;