/// <summary> /// /// </summary> /// <param name="trilist"></param> /// <param name="parent"></param> public EssentialsHuddleTechPageDriver(BasicTriListWithSmartObject trilist, EssentialsRoomTechConfig config) : base(trilist) { Config = config; PagesInterlock = new JoinedSigInterlock(trilist); PagesInterlock.SetButDontShow(UIBoolJoin.TechSystemStatusVisible); trilist.SetSigFalseAction(UIBoolJoin.TechExitButton, Hide); MenuList = new SmartObjectDynamicList(trilist.SmartObjects[UISmartObjectJoin.TechMenuList], true, 3100); MenuList.SetFeedback(1, true); // initial fb ushort count = 0; MenuList.SetItemMainText(1, "System Status"); MenuList.SetItemButtonAction(1, b => { if (b) { PagesInterlock.ShowInterlocked(UIBoolJoin.TechSystemStatusVisible); } MenuList.SetFeedback(1, true); }); MenuList.SetItemMainText(2, "Display Controls"); MenuList.SetItemButtonAction(2, b => { if (b) { PagesInterlock.ShowInterlocked(UIBoolJoin.TechDisplayControlsVisible); } MenuList.SetFeedback(2, true); }); count = 2; // Don't show panel setup on iPad or xpanel if (TriList is Crestron.SimplSharpPro.DeviceSupport.TswFt5Button) { count++; MenuList.SetItemMainText(count, "Panel Setup"); MenuList.SetItemButtonAction(count, b => { if (b) { PagesInterlock.ShowInterlocked(UIBoolJoin.TechPanelSetupVisible); } MenuList.SetFeedback(count, true); }); } MenuList.Count = count; BuildStatusList(); BuildDisplayList(); SetupPinModal(); }
/// <summary> /// /// </summary> void SetupRecentCallsList() { var codec = Codec as IHasCallHistory; if (codec != null) { codec.CallHistory.RecentCallsListHasChanged += (o, a) => RefreshRecentCallsList(); // EVENT??????????????? Pointed at refresh RecentCallsList = new SmartObjectDynamicList(TriList.SmartObjects[UISmartObjectJoin.VCRecentsList], true, 1200); RefreshRecentCallsList(); } }
/// <summary> /// /// </summary> void SetupDirectoryList() { var codec = Codec as IHasDirectory; if (codec != null) { DirectoryList = new SmartObjectDynamicList(TriList.SmartObjects[UISmartObjectJoin.VCDirectoryList], true, 1300); codec.DirectoryResultReturned += new EventHandler <DirectoryEventArgs>(dir_DirectoryResultReturned); if (codec.PhonebookSyncState.InitialSyncComplete) { SetCurrentDirectoryToRoot(); } else { codec.PhonebookSyncState.InitialSyncCompleted += new EventHandler <EventArgs>(PhonebookSyncState_InitialSyncCompleted); } RefreshDirectory(); } }