Пример #1
0
        public SpecialActionEditor(int deviceNum, ProfileList profileList,
                                   DS4Windows.SpecialAction specialAction = null)
        {
            InitializeComponent();

            triggerBoxes = new List <CheckBox>()
            {
                crossTrigCk, circleTrigCk, squareTrigCk, triangleTrigCk,
                optionsTrigCk, shareTrigCk, upTrigCk, downTrigCk,
                leftTrigCk, rightTrigCk, psTrigCk, l1TrigCk,
                r1TrigCk, l2TrigCk, r2TrigCk, l3TrigCk,
                r3TrigCk, leftTouchTrigCk, upperTouchTrigCk, multitouchTrigCk,
                rightTouchTrigCk, lsuTrigCk, lsdTrigCk, lslTrigCk,
                lsrTrigCk, rsuTrigCk, rsdTrigCk, rslTrigCk,
                rsrTrigCk, swipeUpTrigCk, swipeDownTrigCk, swipeLeftTrigCk,
                swipeRightTrigCk, tiltUpTrigCk, tiltDownTrigCk, tiltLeftTrigCk,
                tiltRightTrigCk,
            };

            unloadTriggerBoxes = new List <CheckBox>()
            {
                unloadCrossTrigCk, unloadCircleTrigCk, unloadSquareTrigCk, unloadTriangleTrigCk,
                unloadOptionsTrigCk, unloadShareTrigCk, unloadUpTrigCk, unloadDownTrigCk,
                unloadLeftTrigCk, unloadRightTrigCk, unloadPsTrigCk, unloadL1TrigCk,
                unloadR1TrigCk, unloadL2TrigCk, unloadR2TrigCk, unloadL3TrigCk,
                unloadR3TrigCk, unloadLeftTouchTrigCk, unloadUpperTouchTrigCk, unloadMultitouchTrigCk,
                unloadRightTouchTrigCk, unloadLsuTrigCk, unloadLsdTrigCk, unloadLslTrigCk,
                unloadLsrTrigCk, unloadRsuTrigCk, unloadRsdTrigCk, unloadRslTrigCk,
                unloadRsrTrigCk, unloadSwipeUpTrigCk, unloadSwipeDownTrigCk, unloadSwipeLeftTrigCk,
                unloadSwipeRightTrigCk, unloadTiltUpTrigCk, unloadTiltDownTrigCk, unloadTiltLeftTrigCk,
                unloadTiltRightTrigCk,
            };

            specialActVM      = new SpecialActEditorViewModel(deviceNum, specialAction);
            macroActVM        = new MacroViewModel();
            launchProgVM      = new LaunchProgramViewModel();
            loadProfileVM     = new LoadProfileViewModel(profileList);
            pressKeyVM        = new PressKeyViewModel();
            disconnectBtVM    = new DisconnectBTViewModel();
            checkBatteryVM    = new CheckBatteryViewModel();
            multiActButtonVM  = new MultiActButtonViewModel();
            saSteeringWheelVM = new SASteeringWheelViewModel();

            // Hide tab headers. Tab content will still be visible
            blankActTab.Visibility              = Visibility.Collapsed;
            macroActTab.Visibility              = Visibility.Collapsed;
            launchProgActTab.Visibility         = Visibility.Collapsed;
            loadProfileTab.Visibility           = Visibility.Collapsed;
            pressKetActTab.Visibility           = Visibility.Collapsed;
            disconnectBTTab.Visibility          = Visibility.Collapsed;
            checkBatteryTab.Visibility          = Visibility.Collapsed;
            multiActTab.Visibility              = Visibility.Collapsed;
            sixaxisWheelCalibrateTab.Visibility = Visibility.Collapsed;

            if (specialAction != null)
            {
                LoadAction(specialAction);
            }

            actionTypeTabControl.DataContext = specialActVM;
            actionTypeCombo.DataContext      = specialActVM;
            actionNameTxt.DataContext        = specialActVM;
            triggersListView.DataContext     = specialActVM;

            macroActTab.DataContext              = macroActVM;
            launchProgActTab.DataContext         = launchProgVM;
            loadProfileTab.DataContext           = loadProfileVM;
            pressKetActTab.DataContext           = pressKeyVM;
            disconnectBTTab.DataContext          = disconnectBtVM;
            checkBatteryTab.DataContext          = checkBatteryVM;
            multiActTab.DataContext              = multiActButtonVM;
            sixaxisWheelCalibrateTab.DataContext = saSteeringWheelVM;

            SetupLateEvents();
        }