Exemplo n.º 1
0
        private static void AddCheckBox(StackPanel panel, string category, string name, string label, bool isChecked, bool isDisabled = false)
        {
            CheckBox cb = new CheckBox
            {
                Name      = name,
                Content   = label,
                Margin    = new Thickness(10),
                IsChecked = !isDisabled && isChecked,
                IsEnabled = !isDisabled
            };

            if (!isDisabled)
            {
                cb.Checked += (object sender, RoutedEventArgs e) =>
                {
                    HLVRSettingsManager.SetLauncherSetting(category, name, true);
                };
                cb.Unchecked += (object sender, RoutedEventArgs e) =>
                {
                    HLVRSettingsManager.SetLauncherSetting(category, name, false);
                };
                cb.Indeterminate += (object sender, RoutedEventArgs e) =>
                {
                    HLVRSettingsManager.SetLauncherSetting(category, name, false);
                };
            }
            panel.Children.Add(cb);
        }
Exemplo n.º 2
0
        private static void AddInput(StackPanel panel, string category, string name, string label, Setting value)
        {
            StackPanel inputPanel = new StackPanel()
            {
                Orientation = Orientation.Horizontal,
                Margin      = new Thickness(5),
            };

            inputPanel.Children.Add(new TextBlock()
            {
                TextWrapping = TextWrapping.NoWrap,
                Padding      = new Thickness(5),
                Margin       = new Thickness(5),
                Focusable    = true,
                MinWidth     = 150,
                Text         = label
            });

            if (value.AllowedValues.Count == 0)
            {
                var textbox = new TextBox()
                {
                    TextWrapping = TextWrapping.NoWrap,
                    Padding      = new Thickness(5),
                    Margin       = new Thickness(5),
                    Focusable    = true,
                    MaxLines     = 1,
                    MinLines     = 1,
                    MinWidth     = (value.Type == SettingValueType.STRING) ? 300 : 100,
                    Text         = value.Value
                };
                textbox.TextChanged += (object sender, TextChangedEventArgs e) =>
                {
                    HLVRSettingsManager.SetLauncherSetting(category, name, textbox.Text);
                };
                inputPanel.Children.Add(textbox);
            }
            else
            {
                var combobox = new ComboBox()
                {
                    MinWidth = 200,
                };
                int index         = 0;
                int selectedIndex = 0;
                foreach (var allowedValue in value.AllowedValues)
                {
                    var comboboxitem = new ComboBoxItem()
                    {
                    };
                    comboboxitem.Content = allowedValue.Value;
                    combobox.Items.Add(comboboxitem);
                    if (allowedValue.Key.Equals(value.Value))
                    {
                        selectedIndex = index;
                    }
                    index++;
                }
                combobox.SelectedIndex     = selectedIndex;
                combobox.SelectionChanged += (object sender, SelectionChangedEventArgs e) =>
                {
                    HLVRSettingsManager.SetLauncherSetting(category, name, (combobox.SelectedValue as ComboBoxItem).Content as string);
                };
                inputPanel.Children.Add(combobox);
            }

            panel.Children.Add(inputPanel);
        }