Пример #1
0
        public DevicePrefsWindow(DevicePrefs devicePrefs) : this()
        {
            Preferences           = devicePrefs;
            deviceID.Content      = devicePrefs.deviceId;
            nickname.Text         = devicePrefs.nickname;
            defaultProfile.Text   = devicePrefs.defaultProfile;
            autoConnect.IsChecked = devicePrefs.autoConnect;

            _modifiedPrefs = new DevicePrefs()
            {
                deviceId = devicePrefs.deviceId
            };

            foreach (var calibrationPath in devicePrefs.calibrationFiles)
            {
                _modifiedPrefs.calibrationFiles.Add(calibrationPath.Key, calibrationPath.Value);

                StackPanel stack = new StackPanel()
                {
                    Orientation       = Orientation.Horizontal,
                    VerticalAlignment = VerticalAlignment.Top,
                };

                Button removeBtn = new Button
                {
                    Content             = " X ",
                    Height              = 14,
                    Width               = 14,
                    FontSize            = 8,
                    VerticalAlignment   = VerticalAlignment.Top,
                    HorizontalAlignment = HorizontalAlignment.Left,
                    Style               = (Style)Application.Current.Resources["WarningButton"],
                    Tag = calibrationPath.Key
                };

                removeBtn.Click += RemoveBtn_Click;

                stack.Children.Add(removeBtn);
                stack.Children.Add(new Rectangle()
                {
                    Width = 4
                });
                stack.Children.Add(new Label()
                {
                    Content             = calibrationPath.Value,
                    FontSize            = 10,
                    Height              = 15,
                    HorizontalAlignment = HorizontalAlignment.Left,
                    VerticalAlignment   = VerticalAlignment.Top,
                    Padding             = new Thickness(0),
                    Foreground          = (Brush)Application.Current.Resources["TextBody"]
                });

                calibrationWrap.Children.Add(stack);
            }
        }
        public DevicePrefsWindow(DevicePrefs devicePrefs, ControllerType type = ControllerType.Other) : this()
        {
            Preferences           = devicePrefs;
            deviceID.Content      = devicePrefs.deviceId;
            nickname.Text         = devicePrefs.nickname;
            defaultProfile.Text   = devicePrefs.defaultProfile;
            autoConnect.IsChecked = devicePrefs.autoConnect;

            _modifiedPrefs = new DevicePrefs()
            {
                deviceId = devicePrefs.deviceId
            };
            devicePrefs.extensionProfiles.CopyTo(_modifiedPrefs.extensionProfiles, 0);

            foreach (var calibrationPath in devicePrefs.calibrationFiles)
            {
                _modifiedPrefs.calibrationFiles.Add(calibrationPath.Key, calibrationPath.Value);

                StackPanel stack = new StackPanel()
                {
                    Orientation       = Orientation.Horizontal,
                    VerticalAlignment = VerticalAlignment.Top,
                };

                Button removeBtn = new Button
                {
                    Content             = " X ",
                    Height              = 14,
                    Width               = 14,
                    FontSize            = 8,
                    VerticalAlignment   = VerticalAlignment.Top,
                    HorizontalAlignment = HorizontalAlignment.Left,
                    Style               = (Style)Application.Current.Resources["WarningButton"],
                    Tag = calibrationPath.Key
                };

                removeBtn.Click += RemoveBtn_Click;

                stack.Children.Add(removeBtn);
                stack.Children.Add(new Rectangle()
                {
                    Width = 4
                });
                stack.Children.Add(new Label()
                {
                    Content             = calibrationPath.Value,
                    FontSize            = 10,
                    Height              = 15,
                    HorizontalAlignment = HorizontalAlignment.Left,
                    VerticalAlignment   = VerticalAlignment.Top,
                    Padding             = new Thickness(0),
                    Foreground          = (Brush)Application.Current.Resources["TextBody"]
                });

                calibrationWrap.Children.Add(stack);
            }
            if (type == ControllerType.NunchukB)
            {
                type = ControllerType.Nunchuk;
            }
            ControllerType[] extTypes = new ControllerType[] { ControllerType.Wiimote, ControllerType.Nunchuk, ControllerType.ClassicController, ControllerType.ClassicControllerPro, ControllerType.Guitar, ControllerType.TaikoDrum };
            for (int i = 0; i < comboExtProfile.Items.Count; i++)
            {
                if (extTypes[i] == type)
                {
                    comboExtProfile.SelectedIndex = i;
                    lastIndex       = i;
                    extProfile.Text = _modifiedPrefs.extensionProfiles[lastIndex];
                    extFunc         = true;
                    break;
                }
            }
            if (!extFunc)
            {
                comboExtProfile.Visibility = Visibility.Hidden;
                labelExtProfile.Visibility = Visibility.Hidden;
                btnExtProfile.Visibility   = Visibility.Hidden;
                extProfile.Visibility      = Visibility.Hidden;
                Thickness margin = labelDefaultCalibrations.Margin;
                margin.Top = 114;
                labelDefaultCalibrations.Margin = margin;
                margin     = calibrationViewer.Margin;
                margin.Top = 140;
                calibrationViewer.Margin = margin;
            }
        }