mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-16 13:15:03 +00:00
Several workflow features.
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -9,7 +9,7 @@ using PepperDash.Essentials.Core;
|
|||||||
|
|
||||||
namespace PepperDash.Essentials
|
namespace PepperDash.Essentials
|
||||||
{
|
{
|
||||||
public class EssentialsHuddleSpaceRoom : EssentialsRoomBase
|
public class EssentialsHuddleSpaceRoom : EssentialsRoomBase, IHasCurrentSourceInfoChange
|
||||||
{
|
{
|
||||||
public event EventHandler<VolumeDeviceChangeEventArgs> CurrentVolumeDeviceChange;
|
public event EventHandler<VolumeDeviceChangeEventArgs> CurrentVolumeDeviceChange;
|
||||||
public event SourceInfoChangeHandler CurrentSourceInfoChange;
|
public event SourceInfoChangeHandler CurrentSourceInfoChange;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using PepperDash.Essentials.Core;
|
|||||||
|
|
||||||
namespace PepperDash.Essentials
|
namespace PepperDash.Essentials
|
||||||
{
|
{
|
||||||
public class EssentialsPresentationRoom : EssentialsRoomBase
|
public class EssentialsPresentationRoom : EssentialsRoomBase, IHasCurrentSourceInfoChange
|
||||||
{
|
{
|
||||||
public event EventHandler<VolumeDeviceChangeEventArgs> CurrentVolumeDeviceChange;
|
public event EventHandler<VolumeDeviceChangeEventArgs> CurrentVolumeDeviceChange;
|
||||||
public event SourceInfoChangeHandler CurrentSourceInfoChange;
|
public event SourceInfoChangeHandler CurrentSourceInfoChange;
|
||||||
|
|||||||
@@ -8,6 +8,18 @@ using PepperDash.Essentials.Core;
|
|||||||
|
|
||||||
namespace PepperDash.Essentials
|
namespace PepperDash.Essentials
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public interface IHasCurrentSourceInfoChange
|
||||||
|
{
|
||||||
|
event SourceInfoChangeHandler CurrentSourceInfoChange;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
public class EssentialsRoomBase : Device
|
public class EssentialsRoomBase : Device
|
||||||
{
|
{
|
||||||
public EssentialsRoomBase(string key, string name) : base(key, name)
|
public EssentialsRoomBase(string key, string name) : base(key, name)
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -22,8 +22,6 @@ namespace PepperDash.Essentials
|
|||||||
PresentationMode, AudioSetup
|
PresentationMode, AudioSetup
|
||||||
}
|
}
|
||||||
|
|
||||||
//public BoolFeedback SelectASourceVisibleFeedback { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Whether volume ramping from this panel will show the volume
|
/// Whether volume ramping from this panel will show the volume
|
||||||
/// gauge popup.
|
/// gauge popup.
|
||||||
@@ -103,8 +101,6 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
PanelDriverBase Parent;
|
PanelDriverBase Parent;
|
||||||
|
|
||||||
SingleSubpageModalDriver VolumesPageDriver;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// All children attached to this driver. For hiding and showing as a group.
|
/// All children attached to this driver. For hiding and showing as a group.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -182,7 +178,6 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public override void Show()
|
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.TopBarVisible].BoolValue = true;
|
||||||
TriList.BooleanInput[UIBoolJoin.ActivityFooterVisible].BoolValue = true;
|
TriList.BooleanInput[UIBoolJoin.ActivityFooterVisible].BoolValue = true;
|
||||||
|
|
||||||
@@ -192,14 +187,27 @@ namespace PepperDash.Essentials
|
|||||||
// Attach actions
|
// Attach actions
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.VolumeButtonPopupPress, VolumeButtonsTogglePress);
|
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
|
#warning Add press and hold to gear button here
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.GearHeaderButtonPress, () =>
|
TriList.SetSigFalseAction(UIBoolJoin.GearHeaderButtonPress, () =>
|
||||||
{
|
ShowInterlockedModal(UIBoolJoin.VolumesPageVisible));
|
||||||
if (VolumesPageDriver == null)
|
|
||||||
VolumesPageDriver =
|
|
||||||
new SingleSubpageModalDriver(this, UIBoolJoin.VolumesPageVisible, UIBoolJoin.VolumesPageClosePress);
|
|
||||||
VolumesPageDriver.Toggle();
|
|
||||||
});
|
|
||||||
|
|
||||||
// power-related functions
|
// power-related functions
|
||||||
// Note: some of these are not directly-related to the huddle space UI, but are held over
|
// 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.TopBarVisible].BoolValue = false;
|
||||||
TriList.BooleanInput[UIBoolJoin.ActivityFooterVisible].BoolValue = false;
|
TriList.BooleanInput[UIBoolJoin.ActivityFooterVisible].BoolValue = false;
|
||||||
TriList.BooleanInput[UIBoolJoin.StartPageVisible].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;
|
TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = false;
|
||||||
VolumeButtonsPopupFeedback.ClearNow();
|
VolumeButtonsPopupFeedback.ClearNow();
|
||||||
CancelPowerOff();
|
CancelPowerOff();
|
||||||
@@ -253,10 +263,18 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
case UiDisplayMode.PresentationMode:
|
case UiDisplayMode.PresentationMode:
|
||||||
// show start page or staging...
|
// show start page or staging...
|
||||||
if (!CurrentRoom.OnFeedback.BoolValue)
|
if (CurrentRoom.OnFeedback.BoolValue)
|
||||||
TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true;
|
{
|
||||||
else
|
|
||||||
TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = true;
|
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
|
// Date/time
|
||||||
if (Config.ShowDate && Config.ShowTime)
|
if (Config.ShowDate && Config.ShowTime)
|
||||||
{
|
{
|
||||||
@@ -282,17 +300,8 @@ namespace PepperDash.Essentials
|
|||||||
void SetupActivityFooterWhenRoomOff()
|
void SetupActivityFooterWhenRoomOff()
|
||||||
{
|
{
|
||||||
ActivityFooterSrl.Clear();
|
ActivityFooterSrl.Clear();
|
||||||
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 0, b =>
|
ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 0,
|
||||||
{
|
b => { if (!b) ShareButtonPressed(); }));
|
||||||
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.Count = 1;
|
ActivityFooterSrl.Count = 1;
|
||||||
TriList.UShortInput[UIUshortJoin.PresentationListCaretMode].UShortValue = 0;
|
TriList.UShortInput[UIUshortJoin.PresentationListCaretMode].UShortValue = 0;
|
||||||
}
|
}
|
||||||
@@ -312,6 +321,43 @@ namespace PepperDash.Essentials
|
|||||||
EndMeetingButtonSig = ActivityFooterSrl.BoolInputSig(2, 1);
|
EndMeetingButtonSig = ActivityFooterSrl.BoolInputSig(2, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Attached to activity list share button
|
||||||
|
/// </summary>
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Shows all sigs that are in CurrentDisplayModeSigsInUse
|
/// Shows all sigs that are in CurrentDisplayModeSigsInUse
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -360,20 +406,14 @@ namespace PepperDash.Essentials
|
|||||||
void ShowCurrentSource()
|
void ShowCurrentSource()
|
||||||
{
|
{
|
||||||
if (CurrentRoom.CurrentSourceInfo == null)
|
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;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
var uiDev = CurrentRoom.CurrentSourceInfo.SourceDevice as IUiDisplayInfo;
|
var uiDev = CurrentRoom.CurrentSourceInfo.SourceDevice as IUiDisplayInfo;
|
||||||
PageManager pm = null;
|
PageManager pm = null;
|
||||||
// If we need a page manager, get an appropriate one
|
// If we need a page manager, get an appropriate one
|
||||||
if (uiDev != null)
|
if (uiDev != null)
|
||||||
{
|
{
|
||||||
|
TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = false;
|
||||||
// Got an existing page manager, get it
|
// Got an existing page manager, get it
|
||||||
if (PageManagers.ContainsKey(uiDev))
|
if (PageManagers.ContainsKey(uiDev))
|
||||||
pm = PageManagers[uiDev];
|
pm = PageManagers[uiDev];
|
||||||
@@ -389,12 +429,6 @@ namespace PepperDash.Essentials
|
|||||||
CurrentSourcePageManager = pm;
|
CurrentSourcePageManager = pm;
|
||||||
pm.Show();
|
pm.Show();
|
||||||
}
|
}
|
||||||
//else // show some default thing
|
|
||||||
//{
|
|
||||||
// CurrentDisplayModeSigsInUse.Add(TriList.BooleanInput[12345]);
|
|
||||||
//}
|
|
||||||
|
|
||||||
//ShowCurrentDisplayModeSigsInUse();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -428,6 +462,8 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
if (but != 2)
|
if (but != 2)
|
||||||
CurrentRoom.RunRouteAction("roomOff");
|
CurrentRoom.RunRouteAction("roomOff");
|
||||||
|
else
|
||||||
|
ShareButtonSig.BoolValue = true; // restore Share fb
|
||||||
EndMeetingButtonSig.BoolValue = false;
|
EndMeetingButtonSig.BoolValue = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -544,12 +580,11 @@ namespace PepperDash.Essentials
|
|||||||
srcConfig.SourceKey);
|
srcConfig.SourceKey);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
//Debug.Console(0, "Adding source '{0}'", srcConfig.SourceKey);
|
|
||||||
//var s = srcConfig; // assign locals for scope in button lambda
|
|
||||||
var routeKey = kvp.Key;
|
var routeKey = kvp.Key;
|
||||||
var item = new SubpageReferenceListSourceItem(i++, SourcesSrl, srcConfig.PreferredName,
|
var item = new SubpageReferenceListSourceItem(i++, SourcesSrl, srcConfig,
|
||||||
b => { if (!b) UiSelectSource(routeKey); });
|
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);
|
SourcesSrl.Count = (ushort)(i - 1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using Crestron.SimplSharpPro.UI;
|
using Crestron.SimplSharpPro.UI;
|
||||||
|
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.SmartObjects;
|
using PepperDash.Essentials.Core.SmartObjects;
|
||||||
|
|
||||||
@@ -18,59 +17,21 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public PanelDriverBase AvDriver { get; set; }
|
public PanelDriverBase AvDriver { get; set; }
|
||||||
|
|
||||||
SingleSubpageModalDriver HelpDriver;
|
|
||||||
|
|
||||||
public PanelDriverBase CurrentChildDriver { get; private set; }
|
public PanelDriverBase CurrentChildDriver { get; private set; }
|
||||||
|
|
||||||
CrestronTouchpanelPropertiesConfig Config;
|
CrestronTouchpanelPropertiesConfig Config;
|
||||||
|
|
||||||
SubpageReferenceList ActivityFooterList;
|
|
||||||
|
|
||||||
public EssentialsPanelMainInterfaceDriver(BasicTriListWithSmartObject trilist,
|
public EssentialsPanelMainInterfaceDriver(BasicTriListWithSmartObject trilist,
|
||||||
CrestronTouchpanelPropertiesConfig config)
|
CrestronTouchpanelPropertiesConfig config)
|
||||||
: base(trilist)
|
: base(trilist)
|
||||||
{
|
{
|
||||||
Config = config;
|
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()
|
public override void Show()
|
||||||
{
|
{
|
||||||
CurrentChildDriver = null;
|
CurrentChildDriver = null;
|
||||||
|
|
||||||
|
|
||||||
//if (Config.UsesSplashPage)
|
|
||||||
// TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true;
|
|
||||||
//else
|
|
||||||
ShowSubDriver(AvDriver);
|
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();
|
base.Show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -494,9 +494,10 @@ namespace PepperDash.Essentials
|
|||||||
//Debug.Console(0, "Adding source '{0}'", srcConfig.SourceKey);
|
//Debug.Console(0, "Adding source '{0}'", srcConfig.SourceKey);
|
||||||
//var s = srcConfig; // assign locals for scope in button lambda
|
//var s = srcConfig; // assign locals for scope in button lambda
|
||||||
var routeKey = kvp.Key;
|
var routeKey = kvp.Key;
|
||||||
var item = new SubpageReferenceListSourceItem(i++, SourcesSrl, srcConfig.PreferredName,
|
var item = new SubpageReferenceListSourceItem(i++, SourcesSrl, srcConfig,
|
||||||
b => { if (!b) UiSelectSource(routeKey); });
|
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);
|
SourcesSrl.Count = (ushort)(i - 1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,8 +21,6 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
public const uint VolumeUpPress = 901;
|
public const uint VolumeUpPress = 901;
|
||||||
public const uint VolumeDownPress = 902;
|
public const uint VolumeDownPress = 902;
|
||||||
//public const uint MuteTogglePress = 3813;
|
|
||||||
//public const uint MutedFeedback = 3813;
|
|
||||||
|
|
||||||
public const uint VolumeSingleMute1Visible = 3811;
|
public const uint VolumeSingleMute1Visible = 3811;
|
||||||
public const uint VolumeSlider1Press = 3812;
|
public const uint VolumeSlider1Press = 3812;
|
||||||
@@ -51,22 +49,17 @@ namespace PepperDash.Essentials
|
|||||||
/// 3870
|
/// 3870
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint VolumesPageVisible = 3870;
|
public const uint VolumesPageVisible = 3870;
|
||||||
/// <summary>
|
|
||||||
/// 3871
|
|
||||||
/// </summary>
|
|
||||||
public const uint VolumesPageClosePress = 3871;
|
|
||||||
|
|
||||||
public const uint GenericModalVisible = 3999;
|
public const uint GenericModalVisible = 3999;
|
||||||
|
|
||||||
public const uint AvNoControlsSubVisible = 12345;
|
public const uint AvNoControlsSubVisible = 12345;
|
||||||
public const uint HomeVisible = 15001;
|
public const uint StartPageVisible = 15001;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 15002 Shows the start page in the source controls area of the screen
|
/// 15002 Shows the start page in the source controls area of the screen
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint StartPageVisible = 15002;
|
public const uint TapToBeginVisible = 15002;
|
||||||
public const uint StartPagePress = 15003; // REMOVE -------------------------------------------------
|
public const uint SelectASourceVisible = 15003;
|
||||||
public const uint RoomIsOn = 15004;
|
public const uint RoomIsOn = 15004;
|
||||||
//public const uint SelectSourcePopupVisible = 15005;
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 15005 Shows always-on volume control subpage with only audio mute
|
/// 15005 Shows always-on volume control subpage with only audio mute
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -99,6 +92,9 @@ namespace PepperDash.Essentials
|
|||||||
/// 15029 the room button in header
|
/// 15029 the room button in header
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint RoomHeaderButtonPress = 15029;
|
public const uint RoomHeaderButtonPress = 15029;
|
||||||
|
/// <summary>
|
||||||
|
/// 15030 Visibility for room data popup
|
||||||
|
/// </summary>
|
||||||
public const uint RoomHeaderPageVisible = 15030;
|
public const uint RoomHeaderPageVisible = 15030;
|
||||||
public const uint AllRoomsOffPress = 15031;
|
public const uint AllRoomsOffPress = 15031;
|
||||||
public const uint DisplayPowerTogglePress = 15032;
|
public const uint DisplayPowerTogglePress = 15032;
|
||||||
@@ -109,6 +105,10 @@ namespace PepperDash.Essentials
|
|||||||
public const uint VolumeGaugePopupVisbible = 15036;
|
public const uint VolumeGaugePopupVisbible = 15036;
|
||||||
public const uint CallStatusPageVisible = 15040;
|
public const uint CallStatusPageVisible = 15040;
|
||||||
public const uint LightsPageVisbible = 15041;
|
public const uint LightsPageVisbible = 15041;
|
||||||
|
/// <summary>
|
||||||
|
/// 15042 Closes whichever interlocked modal is open
|
||||||
|
/// </summary>
|
||||||
|
public const uint InterlockedModalClosePress = 15042;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 15085 Visibility join for help subpage
|
/// 15085 Visibility join for help subpage
|
||||||
@@ -118,10 +118,7 @@ namespace PepperDash.Essentials
|
|||||||
/// 15086 Press for help header button
|
/// 15086 Press for help header button
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const uint HelpPress = 15086;
|
public const uint HelpPress = 15086;
|
||||||
/// <summary>
|
|
||||||
/// 15087 Press to close help page
|
|
||||||
/// </summary>
|
|
||||||
public const uint HelpClosePress = 15087;
|
|
||||||
public const uint DateOnlyVisible = 15088;
|
public const uint DateOnlyVisible = 15088;
|
||||||
public const uint TimeOnlyVisible = 15089;
|
public const uint TimeOnlyVisible = 15089;
|
||||||
public const uint DateAndTimeVisible = 15090;
|
public const uint DateAndTimeVisible = 15090;
|
||||||
@@ -160,6 +157,7 @@ namespace PepperDash.Essentials
|
|||||||
public const uint CurrentSourceName = 3902;
|
public const uint CurrentSourceName = 3902;
|
||||||
public const uint CurrentSourceIcon = 3903;
|
public const uint CurrentSourceIcon = 3903;
|
||||||
public const uint PowerOffMessage = 3911;
|
public const uint PowerOffMessage = 3911;
|
||||||
|
public const uint StartPageMessage = 3912;
|
||||||
public const uint HelpMessage = 3922;
|
public const uint HelpMessage = 3922;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -12,12 +12,29 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
public class SubpageReferenceListSourceItem : SubpageReferenceListItem
|
public class SubpageReferenceListSourceItem : SubpageReferenceListItem
|
||||||
{
|
{
|
||||||
|
public SourceListItem SourceItem { get; private set; }
|
||||||
|
|
||||||
public SubpageReferenceListSourceItem(uint index, SubpageReferenceList owner,
|
public SubpageReferenceListSourceItem(uint index, SubpageReferenceList owner,
|
||||||
string name, Action<bool> routeAction)
|
SourceListItem sourceItem, Action<bool> routeAction)
|
||||||
: base(index, owner)
|
: base(index, owner)
|
||||||
{
|
{
|
||||||
|
SourceItem = sourceItem;
|
||||||
owner.GetBoolFeedbackSig(index, 1).UserObject = new Action<bool>(routeAction);
|
owner.GetBoolFeedbackSig(index, 1).UserObject = new Action<bool>(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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -28,10 +45,5 @@ namespace PepperDash.Essentials
|
|||||||
Owner.BoolInputSig(Index, 1).UserObject = null;
|
Owner.BoolInputSig(Index, 1).UserObject = null;
|
||||||
Owner.StringInputSig(Index, 1).StringValue = "";
|
Owner.StringInputSig(Index, 1).StringValue = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
//public override void Refresh()
|
|
||||||
//{
|
|
||||||
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -10,8 +10,8 @@
|
|||||||
<ArchiveName />
|
<ArchiveName />
|
||||||
</RequiredInfo>
|
</RequiredInfo>
|
||||||
<OptionalInfo>
|
<OptionalInfo>
|
||||||
<CompiledOn>2/8/2017 3:16:22 PM</CompiledOn>
|
<CompiledOn>2/9/2017 2:44:02 PM</CompiledOn>
|
||||||
<CompilerRev>1.0.0.27489</CompilerRev>
|
<CompilerRev>1.0.0.26519</CompilerRev>
|
||||||
</OptionalInfo>
|
</OptionalInfo>
|
||||||
<Plugin>
|
<Plugin>
|
||||||
<Version>Crestron.SIMPLSharp, Version=2.0.48.0, Culture=neutral, PublicKeyToken=812d080f93e2de10</Version>
|
<Version>Crestron.SIMPLSharp, Version=2.0.48.0, Culture=neutral, PublicKeyToken=812d080f93e2de10</Version>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
MainAssembly=PepperDashEssentials.dll:2da047fb96fb025c52a872139c06d7c2
|
MainAssembly=PepperDashEssentials.dll:7c8692784ef9f276843cfa635fe44e4b
|
||||||
MainAssemblyMinFirmwareVersion=1.009.0029
|
MainAssemblyMinFirmwareVersion=1.009.0029
|
||||||
MainAssemblyResource=SimplSharpData.dat:315526abf906cded47fb0c7510266a7e
|
MainAssemblyResource=SimplSharpData.dat:315526abf906cded47fb0c7510266a7e
|
||||||
ü
|
ü
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user