diff --git a/PepperDashEssentials/PepperDashEssentials.suo b/PepperDashEssentials/PepperDashEssentials.suo index 77ef5316..6f9cc6a9 100644 Binary files a/PepperDashEssentials/PepperDashEssentials.suo and b/PepperDashEssentials/PepperDashEssentials.suo differ diff --git a/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.projectinfo b/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.projectinfo index 4177c02f..cb2009d9 100644 Binary files a/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.projectinfo and b/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.projectinfo differ diff --git a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsHuddleSpaceRoom.cs b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsHuddleSpaceRoom.cs index bb6de8dc..f026a641 100644 --- a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsHuddleSpaceRoom.cs +++ b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsHuddleSpaceRoom.cs @@ -9,7 +9,7 @@ using PepperDash.Essentials.Core; namespace PepperDash.Essentials { - public class EssentialsHuddleSpaceRoom : EssentialsRoomBase + public class EssentialsHuddleSpaceRoom : EssentialsRoomBase, IHasCurrentSourceInfoChange { public event EventHandler CurrentVolumeDeviceChange; public event SourceInfoChangeHandler CurrentSourceInfoChange; diff --git a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsPresentationRoom.cs b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsPresentationRoom.cs index bd03163e..32863bc9 100644 --- a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsPresentationRoom.cs +++ b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsPresentationRoom.cs @@ -9,7 +9,7 @@ using PepperDash.Essentials.Core; namespace PepperDash.Essentials { - public class EssentialsPresentationRoom : EssentialsRoomBase + public class EssentialsPresentationRoom : EssentialsRoomBase, IHasCurrentSourceInfoChange { public event EventHandler CurrentVolumeDeviceChange; public event SourceInfoChangeHandler CurrentSourceInfoChange; diff --git a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsRoomBase.cs b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsRoomBase.cs index 2e63a614..e0443b0a 100644 --- a/PepperDashEssentials/PepperDashEssentials/Room/EssentialsRoomBase.cs +++ b/PepperDashEssentials/PepperDashEssentials/Room/EssentialsRoomBase.cs @@ -8,6 +8,18 @@ using PepperDash.Essentials.Core; namespace PepperDash.Essentials { + /// + /// + /// + public interface IHasCurrentSourceInfoChange + { + event SourceInfoChangeHandler CurrentSourceInfoChange; + } + + + /// + /// + /// public class EssentialsRoomBase : Device { public EssentialsRoomBase(string key, string name) : base(key, name) diff --git a/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-02-09 07-42-37).log b/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-02-09 07-42-37).log new file mode 100644 index 00000000..76ab73b9 --- /dev/null +++ b/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-02-09 07-42-37).log @@ -0,0 +1,35 @@ +2/9/2017 7:42:37 AM, Info: Initializing SIMPLSharp Services... +2/9/2017 7:42:37 AM, Info: ProjectInfo successfully initialized. +2/9/2017 8:56:31 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll... +2/9/2017 8:56:32 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll +2/9/2017 8:56:32 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz... +2/9/2017 8:56:34 AM, Info: Saving project information... +2/9/2017 10:01:00 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll... +2/9/2017 10:01:00 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll +2/9/2017 10:01:00 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz... +2/9/2017 10:01:02 AM, Info: Saving project information... +2/9/2017 10:35:15 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll... +2/9/2017 10:35:16 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll +2/9/2017 10:35:16 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz... +2/9/2017 10:35:18 AM, Info: Saving project information... +2/9/2017 10:35:57 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll... +2/9/2017 10:35:57 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll +2/9/2017 10:35:57 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz... +2/9/2017 10:35:59 AM, Info: Saving project information... +2/9/2017 10:53:38 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll... +2/9/2017 10:53:39 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll +2/9/2017 10:53:39 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz... +2/9/2017 10:53:40 AM, Info: Saving project information... +2/9/2017 11:00:03 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll... +2/9/2017 11:00:04 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll +2/9/2017 11:00:04 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz... +2/9/2017 11:00:05 AM, Info: Saving project information... +2/9/2017 11:37:00 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll... +2/9/2017 11:37:01 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll +2/9/2017 11:37:01 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz... +2/9/2017 11:37:02 AM, Info: Saving project information... +2/9/2017 11:37:39 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll... +2/9/2017 11:37:40 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll +2/9/2017 11:37:40 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz... +2/9/2017 11:37:41 AM, Info: Saving project information... +2/9/2017 2:32:35 PM, Info: Terminating SIMPLSharp Services diff --git a/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsHuddlePanelAvFunctionsDriver.cs b/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsHuddlePanelAvFunctionsDriver.cs index 3c1c7f1f..c2cb14bf 100644 --- a/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsHuddlePanelAvFunctionsDriver.cs +++ b/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsHuddlePanelAvFunctionsDriver.cs @@ -22,8 +22,6 @@ namespace PepperDash.Essentials PresentationMode, AudioSetup } - //public BoolFeedback SelectASourceVisibleFeedback { get; private set; } - /// /// Whether volume ramping from this panel will show the volume /// gauge popup. @@ -103,8 +101,6 @@ namespace PepperDash.Essentials /// PanelDriverBase Parent; - SingleSubpageModalDriver VolumesPageDriver; - /// /// All children attached to this driver. For hiding and showing as a group. /// @@ -182,7 +178,6 @@ namespace PepperDash.Essentials /// public override void Show() { - // We'll want to show the current state of AV, but for now, just show rooms TriList.BooleanInput[UIBoolJoin.TopBarVisible].BoolValue = true; TriList.BooleanInput[UIBoolJoin.ActivityFooterVisible].BoolValue = true; @@ -192,14 +187,27 @@ namespace PepperDash.Essentials // Attach actions TriList.SetSigFalseAction(UIBoolJoin.VolumeButtonPopupPress, VolumeButtonsTogglePress); + //Interlocked modals + TriList.SetSigFalseAction(UIBoolJoin.InterlockedModalClosePress, HideCurrentInterlockedModal); + TriList.SetSigFalseAction(UIBoolJoin.HelpPress, () => + { + string message = null; + var room = DeviceManager.GetDeviceForKey(Config.DefaultRoomKey) + as EssentialsHuddleSpaceRoom; + if (room != null) + message = room.Config.HelpMessage; + else + message = "Sorry, no help message available. No room connected."; + TriList.StringInput[UIStringJoin.HelpMessage].StringValue = message; + ShowInterlockedModal(UIBoolJoin.HelpPageVisible); + }); + + TriList.SetSigFalseAction(UIBoolJoin.RoomHeaderButtonPress, () => + ShowInterlockedModal(UIBoolJoin.RoomHeaderPageVisible)); + #warning Add press and hold to gear button here TriList.SetSigFalseAction(UIBoolJoin.GearHeaderButtonPress, () => - { - if (VolumesPageDriver == null) - VolumesPageDriver = - new SingleSubpageModalDriver(this, UIBoolJoin.VolumesPageVisible, UIBoolJoin.VolumesPageClosePress); - VolumesPageDriver.Toggle(); - }); + ShowInterlockedModal(UIBoolJoin.VolumesPageVisible)); // power-related functions // Note: some of these are not directly-related to the huddle space UI, but are held over @@ -233,6 +241,8 @@ namespace PepperDash.Essentials TriList.BooleanInput[UIBoolJoin.TopBarVisible].BoolValue = false; TriList.BooleanInput[UIBoolJoin.ActivityFooterVisible].BoolValue = false; TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = false; + TriList.BooleanInput[UIBoolJoin.TapToBeginVisible].BoolValue = false; + TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = false; TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = false; VolumeButtonsPopupFeedback.ClearNow(); CancelPowerOff(); @@ -253,10 +263,18 @@ namespace PepperDash.Essentials { case UiDisplayMode.PresentationMode: // show start page or staging... - if (!CurrentRoom.OnFeedback.BoolValue) - TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true; - else + if (CurrentRoom.OnFeedback.BoolValue) + { TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = true; + TriList.BooleanInput[UIBoolJoin.TapToBeginVisible].BoolValue = false; + TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = false; + } + else + { + TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true; + TriList.BooleanInput[UIBoolJoin.TapToBeginVisible].BoolValue = true; + TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = false; + } // Date/time if (Config.ShowDate && Config.ShowTime) { @@ -282,17 +300,8 @@ namespace PepperDash.Essentials void SetupActivityFooterWhenRoomOff() { ActivityFooterSrl.Clear(); - ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 0, b => - { - if (b) return; // ignore press - ShareButtonSig = ActivityFooterSrl.BoolInputSig(1, 1); - if (!_CurrentRoom.OnFeedback.BoolValue) - { - ShareButtonSig.BoolValue = true; - TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = false; - TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = true; - } - })); + ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 0, + b => { if (!b) ShareButtonPressed(); })); ActivityFooterSrl.Count = 1; TriList.UShortInput[UIUshortJoin.PresentationListCaretMode].UShortValue = 0; } @@ -312,6 +321,43 @@ namespace PepperDash.Essentials EndMeetingButtonSig = ActivityFooterSrl.BoolInputSig(2, 1); } + /// + /// Attached to activity list share button + /// + void ShareButtonPressed() + { + ShareButtonSig = ActivityFooterSrl.BoolInputSig(1, 1); + if (!_CurrentRoom.OnFeedback.BoolValue) + { + ShareButtonSig.BoolValue = true; + TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = false; + TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = true; + TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = true; + } + } + + uint CurrentInterlockedModalJoin; + + void ShowInterlockedModal(uint join) + { + if (CurrentInterlockedModalJoin == join) + HideCurrentInterlockedModal(); + else + { + TriList.BooleanInput[UIBoolJoin.HelpPageVisible].BoolValue = join == UIBoolJoin.HelpPageVisible; + TriList.BooleanInput[UIBoolJoin.RoomHeaderPageVisible].BoolValue = join == UIBoolJoin.RoomHeaderPageVisible; + TriList.BooleanInput[UIBoolJoin.VolumesPageVisible].BoolValue = join == UIBoolJoin.VolumesPageVisible; + CurrentInterlockedModalJoin = join; + } + } + + void HideCurrentInterlockedModal() + { + TriList.BooleanInput[CurrentInterlockedModalJoin].BoolValue = false; + CurrentInterlockedModalJoin = 0; + } + + /// /// Shows all sigs that are in CurrentDisplayModeSigsInUse /// @@ -360,20 +406,14 @@ namespace PepperDash.Essentials void ShowCurrentSource() { if (CurrentRoom.CurrentSourceInfo == null) - { -#warning When system is "off" show start screen and hide staging. - //var offPm = new DefaultPageManager(UIBoolJoin.SelectSourcePopupVisible, TriList); - //PageManagers["OFF"] = offPm; - //CurrentSourcePageManager = offPm; - //offPm.Show(); return; - } var uiDev = CurrentRoom.CurrentSourceInfo.SourceDevice as IUiDisplayInfo; PageManager pm = null; // If we need a page manager, get an appropriate one if (uiDev != null) { + TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = false; // Got an existing page manager, get it if (PageManagers.ContainsKey(uiDev)) pm = PageManagers[uiDev]; @@ -389,12 +429,6 @@ namespace PepperDash.Essentials CurrentSourcePageManager = pm; pm.Show(); } - //else // show some default thing - //{ - // CurrentDisplayModeSigsInUse.Add(TriList.BooleanInput[12345]); - //} - - //ShowCurrentDisplayModeSigsInUse(); } /// @@ -425,9 +459,11 @@ namespace PepperDash.Essentials modal.PresentModalTimerDialog(2, "End Meeting", "Power", message, "End Meeting Now", "Cancel", time, true, but => - { - if (but != 2) + { + if (but != 2) CurrentRoom.RunRouteAction("roomOff"); + else + ShareButtonSig.BoolValue = true; // restore Share fb EndMeetingButtonSig.BoolValue = false; }); } @@ -544,12 +580,11 @@ namespace PepperDash.Essentials srcConfig.SourceKey); continue; } - //Debug.Console(0, "Adding source '{0}'", srcConfig.SourceKey); - //var s = srcConfig; // assign locals for scope in button lambda var routeKey = kvp.Key; - var item = new SubpageReferenceListSourceItem(i++, SourcesSrl, srcConfig.PreferredName, + var item = new SubpageReferenceListSourceItem(i++, SourcesSrl, srcConfig, b => { if (!b) UiSelectSource(routeKey); }); - SourcesSrl.AddItem(item); // add to the SRL + SourcesSrl.AddItem(item); // add to the SRL + item.RegisterForSourceChange(_CurrentRoom); } SourcesSrl.Count = (ushort)(i - 1); } diff --git a/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsPanelMainInterfaceDriver.cs b/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsPanelMainInterfaceDriver.cs index d7e141d3..4eaaf6e9 100644 --- a/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsPanelMainInterfaceDriver.cs +++ b/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsPanelMainInterfaceDriver.cs @@ -1,7 +1,6 @@ using System; using Crestron.SimplSharpPro.DeviceSupport; using Crestron.SimplSharpPro.UI; - using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.SmartObjects; @@ -18,59 +17,21 @@ namespace PepperDash.Essentials /// public PanelDriverBase AvDriver { get; set; } - SingleSubpageModalDriver HelpDriver; - public PanelDriverBase CurrentChildDriver { get; private set; } CrestronTouchpanelPropertiesConfig Config; - SubpageReferenceList ActivityFooterList; - public EssentialsPanelMainInterfaceDriver(BasicTriListWithSmartObject trilist, CrestronTouchpanelPropertiesConfig config) : base(trilist) { Config = config; - trilist.SetSigFalseAction(UIBoolJoin.StartPagePress, () => ShowSubDriver(AvDriver)); - - // Need this? - trilist.SetSigFalseAction(UIBoolJoin.ShowPanelSetupPress, () => - ShowSubDriver(new SingleSubpageModalAndBackDriver(this, UIBoolJoin.PanelSetupVisible))); - - ActivityFooterList = new SubpageReferenceList(trilist, 1234, 3, 3, 3); } public override void Show() { CurrentChildDriver = null; - - - //if (Config.UsesSplashPage) - // TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true; - //else ShowSubDriver(AvDriver); - - TriList.SetSigFalseAction(UIBoolJoin.HelpPress, () => - { - string message = null; - var room = DeviceManager.GetDeviceForKey(Config.DefaultRoomKey) - as EssentialsHuddleSpaceRoom; - if (room != null) - message = room.Config.HelpMessage; - else - message = "Sorry, no help message available. No room connected."; - TriList.StringInput[UIStringJoin.HelpMessage].StringValue = message; - if (HelpDriver == null) - HelpDriver = new SingleSubpageModalDriver(this, UIBoolJoin.HelpPageVisible, UIBoolJoin.HelpClosePress); - HelpDriver.Toggle(); - - }); - - TriList.SetSigFalseAction(UIBoolJoin.RoomHeaderButtonPress, () => - { - - }); - base.Show(); } diff --git a/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsPresentationPanelAvFunctionsDriver.cs b/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsPresentationPanelAvFunctionsDriver.cs index 58ef33fb..0d2098ec 100644 --- a/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsPresentationPanelAvFunctionsDriver.cs +++ b/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsPresentationPanelAvFunctionsDriver.cs @@ -494,9 +494,10 @@ namespace PepperDash.Essentials //Debug.Console(0, "Adding source '{0}'", srcConfig.SourceKey); //var s = srcConfig; // assign locals for scope in button lambda var routeKey = kvp.Key; - var item = new SubpageReferenceListSourceItem(i++, SourcesSrl, srcConfig.PreferredName, + var item = new SubpageReferenceListSourceItem(i++, SourcesSrl, srcConfig, b => { if (!b) UiSelectSource(routeKey); }); SourcesSrl.AddItem(item); // add to the SRL + item.RegisterForSourceChange(_CurrentRoom); } SourcesSrl.Count = (ushort)(i - 1); } diff --git a/PepperDashEssentials/PepperDashEssentials/UI Drivers/UIJoins.cs b/PepperDashEssentials/PepperDashEssentials/UI Drivers/UIJoins.cs index a9058a39..da6e6674 100644 --- a/PepperDashEssentials/PepperDashEssentials/UI Drivers/UIJoins.cs +++ b/PepperDashEssentials/PepperDashEssentials/UI Drivers/UIJoins.cs @@ -21,8 +21,6 @@ namespace PepperDash.Essentials { public const uint VolumeUpPress = 901; public const uint VolumeDownPress = 902; - //public const uint MuteTogglePress = 3813; - //public const uint MutedFeedback = 3813; public const uint VolumeSingleMute1Visible = 3811; public const uint VolumeSlider1Press = 3812; @@ -51,22 +49,17 @@ namespace PepperDash.Essentials /// 3870 /// public const uint VolumesPageVisible = 3870; - /// - /// 3871 - /// - public const uint VolumesPageClosePress = 3871; public const uint GenericModalVisible = 3999; public const uint AvNoControlsSubVisible = 12345; - public const uint HomeVisible = 15001; + public const uint StartPageVisible = 15001; /// /// 15002 Shows the start page in the source controls area of the screen /// - public const uint StartPageVisible = 15002; - public const uint StartPagePress = 15003; // REMOVE ------------------------------------------------- + public const uint TapToBeginVisible = 15002; + public const uint SelectASourceVisible = 15003; public const uint RoomIsOn = 15004; - //public const uint SelectSourcePopupVisible = 15005; /// /// 15005 Shows always-on volume control subpage with only audio mute /// @@ -99,6 +92,9 @@ namespace PepperDash.Essentials /// 15029 the room button in header /// public const uint RoomHeaderButtonPress = 15029; + /// + /// 15030 Visibility for room data popup + /// public const uint RoomHeaderPageVisible = 15030; public const uint AllRoomsOffPress = 15031; public const uint DisplayPowerTogglePress = 15032; @@ -109,6 +105,10 @@ namespace PepperDash.Essentials public const uint VolumeGaugePopupVisbible = 15036; public const uint CallStatusPageVisible = 15040; public const uint LightsPageVisbible = 15041; + /// + /// 15042 Closes whichever interlocked modal is open + /// + public const uint InterlockedModalClosePress = 15042; /// /// 15085 Visibility join for help subpage @@ -118,10 +118,7 @@ namespace PepperDash.Essentials /// 15086 Press for help header button /// public const uint HelpPress = 15086; - /// - /// 15087 Press to close help page - /// - public const uint HelpClosePress = 15087; + public const uint DateOnlyVisible = 15088; public const uint TimeOnlyVisible = 15089; public const uint DateAndTimeVisible = 15090; @@ -160,6 +157,7 @@ namespace PepperDash.Essentials public const uint CurrentSourceName = 3902; public const uint CurrentSourceIcon = 3903; public const uint PowerOffMessage = 3911; + public const uint StartPageMessage = 3912; public const uint HelpMessage = 3922; - } + } } \ No newline at end of file diff --git a/PepperDashEssentials/PepperDashEssentials/UI/SubpageReferenceListSourceItem.cs b/PepperDashEssentials/PepperDashEssentials/UI/SubpageReferenceListSourceItem.cs index a4f9a9fd..6da0c7bc 100644 --- a/PepperDashEssentials/PepperDashEssentials/UI/SubpageReferenceListSourceItem.cs +++ b/PepperDashEssentials/PepperDashEssentials/UI/SubpageReferenceListSourceItem.cs @@ -12,12 +12,29 @@ namespace PepperDash.Essentials { public class SubpageReferenceListSourceItem : SubpageReferenceListItem { + public SourceListItem SourceItem { get; private set; } + public SubpageReferenceListSourceItem(uint index, SubpageReferenceList owner, - string name, Action routeAction) + SourceListItem sourceItem, Action routeAction) : base(index, owner) { + SourceItem = sourceItem; owner.GetBoolFeedbackSig(index, 1).UserObject = new Action(routeAction); - owner.StringInputSig(index, 1).StringValue = name; + owner.StringInputSig(index, 1).StringValue = SourceItem.PreferredName; + } + + public void RegisterForSourceChange(IHasCurrentSourceInfoChange room) + { + room.CurrentSourceInfoChange -= room_CurrentSourceInfoChange; + room.CurrentSourceInfoChange += room_CurrentSourceInfoChange; + } + + void room_CurrentSourceInfoChange(EssentialsRoomBase room, SourceListItem info, ChangeType type) + { + if (type == ChangeType.WillChange && info == SourceItem) + Owner.BoolInputSig(Index, 1).BoolValue = false; + else if (type == ChangeType.DidChange && info == SourceItem) + Owner.BoolInputSig(Index, 1).BoolValue = true; } /// @@ -28,10 +45,5 @@ namespace PepperDash.Essentials Owner.BoolInputSig(Index, 1).UserObject = null; Owner.StringInputSig(Index, 1).StringValue = ""; } - - //public override void Refresh() - //{ - - //} } } \ No newline at end of file diff --git a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.cpz b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.cpz index ed7f742f..253e30d4 100644 Binary files a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.cpz and b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.cpz differ diff --git a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.dll b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.dll index 057cd352..00e418fe 100644 Binary files a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.dll and b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.dll differ diff --git a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.pdb b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.pdb index 5e3ffaf1..c52e2d6f 100644 Binary files a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.pdb and b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.pdb differ diff --git a/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config b/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config index 90af2b84..f0641f7c 100644 --- a/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config +++ b/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config @@ -10,8 +10,8 @@ - 2/8/2017 3:16:22 PM - 1.0.0.27489 + 2/9/2017 2:44:02 PM + 1.0.0.26519 Crestron.SIMPLSharp, Version=2.0.48.0, Culture=neutral, PublicKeyToken=812d080f93e2de10 diff --git a/PepperDashEssentials/PepperDashEssentials/bin/manifest.info b/PepperDashEssentials/PepperDashEssentials/bin/manifest.info index e80543cd..2c50ac6b 100644 --- a/PepperDashEssentials/PepperDashEssentials/bin/manifest.info +++ b/PepperDashEssentials/PepperDashEssentials/bin/manifest.info @@ -1,4 +1,4 @@ -MainAssembly=PepperDashEssentials.dll:2da047fb96fb025c52a872139c06d7c2 +MainAssembly=PepperDashEssentials.dll:7c8692784ef9f276843cfa635fe44e4b MainAssemblyMinFirmwareVersion=1.009.0029 MainAssemblyResource=SimplSharpData.dat:315526abf906cded47fb0c7510266a7e ü diff --git a/PepperDashEssentials/PepperDashEssentials/bin/manifest.ser b/PepperDashEssentials/PepperDashEssentials/bin/manifest.ser index 6ac922f4..3f03206e 100644 Binary files a/PepperDashEssentials/PepperDashEssentials/bin/manifest.ser and b/PepperDashEssentials/PepperDashEssentials/bin/manifest.ser differ diff --git a/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.dll b/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.dll index 68f3e3cf..91e6aeea 100644 Binary files a/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.dll and b/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.dll differ diff --git a/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.pdb b/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.pdb index 063a2b3c..24461c7a 100644 Binary files a/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.pdb and b/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.pdb differ