/// <summary>
        /// Constructor
        /// </summary>
        public EssentialsHuddlePanelAvFunctionsDriver(PanelDriverBase parent, CrestronTouchpanelPropertiesConfig config)
            : base(parent.TriList)
        {
            Config         = config;
            Parent         = parent;
            PopupInterlock = new JoinedSigInterlock(TriList);

            SourcesSrl        = new SubpageReferenceList(TriList, 3200, 3, 3, 3);
            ActivityFooterSrl = new SubpageReferenceList(TriList, 15022, 3, 3, 3);
            ShareButtonSig    = ActivityFooterSrl.BoolInputSig(1, 1);

            SetupActivityFooterWhenRoomOff();

            ShowVolumeGauge = true;

            // One-second pulse extender for volume gauge
            VolumeGaugeFeedback = new BoolFeedbackPulseExtender(1500);
            VolumeGaugeFeedback.Feedback
            .LinkInputSig(TriList.BooleanInput[UIBoolJoin.VolumeGaugePopupVisible]);

            VolumeButtonsPopupFeedback = new BoolFeedbackPulseExtender(4000);
            VolumeButtonsPopupFeedback.Feedback
            .LinkInputSig(TriList.BooleanInput[UIBoolJoin.VolumeButtonPopupVisible]);

            PowerOffTimeout = 30000;

            TriList.StringInput[UIStringJoin.StartActivityText].StringValue =
                "Tap Share to begin";
        }
 void ShowSubDriver(PanelDriverBase driver)
 {
     CurrentChildDriver = driver;
     if (driver == null)
     {
         return;
     }
     this.Hide();
     driver.Show();
 }
 public SingleSubpageModalAndBackDriver(PanelDriverBase parent, uint subpageJoin) : base(parent.TriList)
 {
     Parent     = parent;
     SubpageSig = Parent.TriList.BooleanInput[subpageJoin];
 }
 public SingleSubpageModalDriver(PanelDriverBase parent, uint subpageJoin, uint closeJoin)
     : base(parent.TriList)
 {
     SubpageSig = parent.TriList.BooleanInput[subpageJoin];
     parent.TriList.SetSigFalseAction(closeJoin, Hide);
 }
 public override void Show()
 {
     CurrentChildDriver = null;
     ShowSubDriver(AvDriver as PanelDriverBase);
     base.Show();
 }
Пример #6
0
 public void LoadAndShowDriver(PanelDriverBase driver)
 {
     PanelDriver = driver;
     driver.Show();
 }
Пример #7
0
        /// <summary>
        /// Returns the appropriate panel driver for the device
        /// </summary>
        /// <param name="device"></param>
        /// <param name="column"></param>
        /// <returns></returns>
        PanelDriverBase GetPanelDriverForDevice(IKeyed device, uint column)
        {
            PanelDriverBase panelDriver = null;

            uint buttonPressJoinBase     = 0;
            uint buttonVisibleJoinBase   = 0;
            uint stringJoinBase          = 0;
            uint shadeTypeVisibleBase    = 0;
            uint lightingTypeVisibleBase = 0;

            switch (column)
            {
            case 1:
            {
                buttonPressJoinBase     = UIBoolJoin.EnvironmentColumnOneButtonPressBase;
                buttonVisibleJoinBase   = UIBoolJoin.EnvironmentColumnOneButtonVisibleBase;
                stringJoinBase          = UIStringJoin.EnvironmentColumnOneLabelBase;
                shadeTypeVisibleBase    = UIBoolJoin.EnvironmentColumnOneShadingTypeVisibleBase;
                lightingTypeVisibleBase = UIBoolJoin.EnvironmentColumnOneLightingTypeVisibleBase;
                break;
            }

            case 2:
            {
                buttonPressJoinBase     = UIBoolJoin.EnvironmentColumnTwoButtonPressBase;
                buttonVisibleJoinBase   = UIBoolJoin.EnvironmentColumnTwoButtonVisibleBase;
                stringJoinBase          = UIStringJoin.EnvironmentColumnTwoLabelBase;
                shadeTypeVisibleBase    = UIBoolJoin.EnvironmentColumnTwoShadingTypeVisibleBase;
                lightingTypeVisibleBase = UIBoolJoin.EnvironmentColumnTwoLightingTypeVisibleBase;
                break;
            }

            case 3:
            {
                buttonPressJoinBase     = UIBoolJoin.EnvironmentColumnThreeButtonPressBase;
                buttonVisibleJoinBase   = UIBoolJoin.EnvironmentColumnThreeButtonVisibleBase;
                stringJoinBase          = UIStringJoin.EnvironmentColumnThreeLabelBase;
                shadeTypeVisibleBase    = UIBoolJoin.EnvironmentColumnThreeShadingTypeVisibleBase;
                lightingTypeVisibleBase = UIBoolJoin.EnvironmentColumnThreeLightingTypeVisibleBase;
                break;
            }

            case 4:
            {
                buttonPressJoinBase     = UIBoolJoin.EnvironmentColumnFourButtonPressBase;
                buttonVisibleJoinBase   = UIBoolJoin.EnvironmentColumnFourButtonVisibleBase;
                stringJoinBase          = UIStringJoin.EnvironmentColumnFourLabelBase;
                shadeTypeVisibleBase    = UIBoolJoin.EnvironmentColumnFourShadingTypeVisibleBase;
                lightingTypeVisibleBase = UIBoolJoin.EnvironmentColumnFourLightingTypeVisibleBase;
                break;
            }

            default:
            {
                Debug.Console(1, "Environment Driver: Invalid column number specified");
                break;
            }
            }

            // Determine if device is a shade or lighting type and construct the appropriate driver
            if (device is ShadeBase)
            {
                panelDriver = new EssentialsShadeDriver(this, device.Key, buttonPressJoinBase, stringJoinBase, shadeTypeVisibleBase);
            }
            else if (device is LightingBase)
            {
                panelDriver = new EssentialsLightingDriver(this, device.Key, buttonPressJoinBase, buttonVisibleJoinBase, stringJoinBase, lightingTypeVisibleBase);
            }

            // Return the driver

            return(panelDriver);
        }