Exemplo n.º 1
0
        public override Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            var panel   = base.CreateControl(attr, prop, configuration_instance);
            var textbox = panel.Children[1] as TextBox;

            textbox.Width -= 50;
            Button btn = new Button()
            {
                Content = "Try Get Username",
                Margin  = new Thickness(1)
            };

            btn.Click += (s, e) =>
            {
                if (PublicOsuBotTransferPlugin.TryGetUserName(out var username))
                {
                    textbox.Text = username;
                }
                else
                {
                    MessageBox.Show("Can't get username.");
                }
            };

            panel.Children.Add(btn);

            return(panel);
        }
        public override Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            var panel = base.CreateControl(attr, prop, configuration_instance);

            var evalue = GetConfigValue(prop, configuration_instance);

            var text = new TextBox()
            {
                Text   = evalue,
                Width  = 240,
                Height = 22,
                VerticalContentAlignment = VerticalAlignment.Center,
                AcceptsReturn            = false
            };

            panel.Children.Add(text);

            text.TextChanged += (s, e) =>
            {
                SetConfigValue(prop, configuration_instance, text.Text);
                ConfigWindow.RequireRestart = attr.RequireRestart;
            };

            return(panel);
        }
Exemplo n.º 3
0
        public override Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            var          panel  = base.CreateControl(attr, prop, configuration_instance);
            FormatEditor window = null;

            Button btn = new Button()
            {
                Content = "Open Editor",
                Margin  = new Thickness(1)
            };

            btn.Click += (s, e) =>
            {
                window = (window ?? new FormatEditor(prop, configuration_instance));
                if (window.Visibility == Visibility.Visible)
                {
                    window.Activate();
                }
                else
                {
                    window.Show();
                }
            };

            panel.Children.Add(btn);

            return(panel);
        }
        public override Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            Panel  panel = base.CreateControl(attr, prop, configuration_instance);
            Button btn   = new Button()
            {
                Content = "Open Editor"
            };

            EditorWindow window = null;

            btn.Click += (s, e) =>
            {
                window = (window ?? new EditorWindow(m_wrapper));
                if (window.Visibility == Visibility.Visible)
                {
                    window.Activate();
                }
                else
                {
                    window.Show();
                }
            };

            panel.Children.Add(btn);
            return(panel);
        }
Exemplo n.º 5
0
        public virtual Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            StackPanel panel = new StackPanel();

            panel.Orientation = Orientation.Horizontal;
            panel.Margin      = new Thickness(0, 5, 0, 5);

            if (configuration_instance == null ||
                !I18nManager.Instance.TryGetLanguageValue(configuration_instance.GetType().Namespace, prop.Name, out string label_content))
            {
                label_content = prop.Name;
            }

            if (configuration_instance == null ||
                !I18nManager.Instance.TryGetLanguageDescription(configuration_instance.GetType().Namespace, prop.Name, out string description_content))
            {
                description_content = "";
            }

            Control label = new Label()
            {
                Content = $"{label_content}{(attr.RequireRestart?"(*)":"")}:", Margin = new Thickness(0, -3, 0, 0)
            };

            panel.Children.Add(label);
            if (!string.IsNullOrWhiteSpace(description_content))
            {
                label.ToolTip = description_content;
            }
            return(panel);
        }
        public override Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            var panel = base.CreateControl(attr, prop, configuration_instance);
            var btn   = new Button()
            {
                Content = "Open Editor",
                Height  = 25
            };

            btn.Click += (s, e) =>
            {
                editor = editor ?? new OverlayEditor();
                if (editor.Visibility == Visibility.Visible)
                {
                    editor.Activate();
                }
                else
                {
                    editor.Show();
                }
            };

            panel.Children.Add(btn);
            return(panel);
        }
Exemplo n.º 7
0
        public Panel CreateItemPanel(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            BaseConfigurationItemCreator creator;
            Type type = attr.GetType();

            if (!m_items_mapping.TryGetValue(type, out creator))
            {
                IEnumerable <KeyValuePair <Type, BaseConfigurationItemCreator> > list = m_items_mapping;
                KeyValuePair <Type, BaseConfigurationItemCreator> pair;

                while (list.Count() > 1)
                {
                    list = list.Where(p => type.IsSubclassOf(p.Key) || p.Key.IsAssignableFrom(type));

                    pair = list.FirstOrDefault();

                    if (pair.Key == null || pair.Value == null)
                    {
                        type    = typeof(StringAttribute);
                        creator = m_items_mapping[type];
                        break;
                    }

                    type    = pair.Key;
                    creator = pair.Value;

                    list = list.Take(1);
                }
            }
            return(creator.CreateControl(attr, prop, configuration_instance));
        }
        public override Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            Panel panel = base.CreateControl(attr, prop, configuration_instance);

            panel.Loaded += (s, e) =>
            {
                Panel parent          = panel.Parent as Panel;
                int   index           = parent.Children.IndexOf(panel);
                Panel byCuteSyncPanel = parent.Children[index - 1] as Panel;
                Panel formatterPanel  = parent.Children[index - 2] as Panel;

                var formatterCombo     = formatterPanel.Children[1] as ComboBox;
                var byCuteSyncCheckBox = byCuteSyncPanel.Children[0] as CheckBox;
                var apiKeyBox          = panel.Children[1] as TextBox;

                byCuteSyncPanel.Visibility = Setting.Formatter == "rtppfmt-bp" ? Visibility.Visible : Visibility.Collapsed;
                panel.Visibility           = Setting.ByCuteSyncProxy ? Visibility.Collapsed : Visibility.Visible;

                formatterCombo.SelectionChanged += (ss, ee) =>
                {
                    string fmtter = formatterCombo.SelectedItem as string;
                    if (fmtter == "rtppfmt-bp")
                    {
                        byCuteSyncPanel.Visibility = Visibility.Visible;
                    }
                    else
                    {
                        byCuteSyncPanel.Visibility = Visibility.Collapsed;
                    }
                };

                byCuteSyncCheckBox.Checked += (ss, ee) =>
                {
                    if (SyncHost.Instance.EnumPluings().FirstOrDefault(p => p.Name == "PublicOsuBotTransferPlugin") == null)
                    {
                        ee.Handled = true;
                        byCuteSyncCheckBox.IsChecked = false;
                        MessageBox.Show(DefaultLanguage.MBX_POBT_VERSION_NO_INSTALLED, "RealTimePPDisplayer");
                        return;
                    }
                };

                byCuteSyncCheckBox.Click += (ss, ee) =>
                {
                    if (byCuteSyncCheckBox.IsChecked ?? false)
                    {
                        panel.Visibility = Visibility.Collapsed;
                    }
                    else
                    {
                        panel.Visibility = Visibility.Visible;
                    }
                };
            };
            return(panel);
        }
        public override Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            var panel = base.CreateControl(attr, prop, configuration_instance);

            IntegerAttribute iattr = attr as IntegerAttribute;

            var slider = panel.Children[1] as Slider;

            slider.Maximum = iattr.MaxValue;
            slider.Minimum = iattr.MinValue;

            return(panel);
        }
        public override Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            var panel = base.CreateControl(attr, prop, configuration_instance);

            var slider = new Slider()
            {
                Width = 200,
                IsSnapToTickEnabled = true,
            };

            //set value
            var evalue = GetConfigValue(prop, configuration_instance);

            if (int.TryParse(evalue, out int ivalue))
            {
                slider.Value = ivalue;
            }

            var num_view = new TextBox()
            {
                Text   = $"{(int)slider.Value}",
                Width  = 50,
                Height = 22,
                VerticalContentAlignment = VerticalAlignment.Center,
                Margin = new Thickness(5, 0, 0, 0)
            };

            num_view.SetBinding(TextBox.TextProperty, new Binding("Value")
            {
                Source = slider
            });

            num_view.TextChanged += (s, e) =>
            {
                if (!string.IsNullOrWhiteSpace(num_view.Text))
                {
                    SetConfigValue(prop, configuration_instance, num_view.Text);
                }
                else
                {
                    SetConfigValue(prop, configuration_instance, slider.Minimum.ToString());
                }

                ConfigWindow.RequireRestart = attr.RequireRestart;
            };

            panel.Children.Add(slider);
            panel.Children.Add(num_view);

            return(panel);
        }
Exemplo n.º 11
0
        public override Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            var panel = base.CreateControl(attr, prop, configuration_instance);

            panel.Children.Clear();

            if (configuration_instance == null ||
                !I18nManager.Instance.TryGetLanguageValue(configuration_instance.GetType().Namespace, prop.Name, out string checkbox_content))
            {
                checkbox_content = prop.Name;
            }

            if (configuration_instance == null ||
                !I18nManager.Instance.TryGetLanguageDescription(configuration_instance.GetType().Namespace, prop.Name, out string description_content))
            {
                description_content = "";
            }

            var checkbox = new CheckBox()
            {
                Content = $"{checkbox_content}{(attr.RequireRestart ? "(*)" : "")}",
                Margin  = new Thickness(5, -2, 0, 0)
            };

            //set default value
            var evalue = GetConfigValue(prop, configuration_instance);

            if (bool.TryParse(evalue, out bool bvalue))
            {
                checkbox.IsChecked = bvalue;
            }

            checkbox.Click += (s, e) =>
            {
                SetConfigValue(prop, configuration_instance, checkbox.IsChecked.ToString());
                ConfigWindow.RequireRestart = attr.RequireRestart;
            };

            if (!string.IsNullOrWhiteSpace(description_content))
            {
                checkbox.ToolTip = description_content;
            }

            panel.Children.Add(checkbox);
            return(panel);
        }
        public override Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            var           font_str = GetConfigValue(prop, configuration_instance);
            FontAttribute fattr    = attr as FontAttribute;

            var panel    = base.CreateControl(attr, prop, configuration_instance);
            var font_box = new TextBox()
            {
                Text = font_str, Width = 160, Height = 22, VerticalContentAlignment = VerticalAlignment.Center
            };
            var button = new Button()
            {
                Content = DefaultLanguage.BUTTON_FONT, Width = 75, Margin = new Thickness(5, 0, 5, 0)
            };

            panel.Children.Add(font_box);
            panel.Children.Add(button);

            button.Click += (s, e) =>
            {
                var fontDialog = new System.Windows.Forms.FontDialog();
                font_str = GetConfigValue(prop, configuration_instance);

                fontDialog.Font = new System.Drawing.Font(font_str, 20);

                if (fontDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    font_box.Text = fontDialog.Font.Name;
                }
                SetConfigValue(prop, configuration_instance, font_box.Text);
            };

            font_box.LostFocus += (s, e) =>
            {
                if (fattr.Check(font_box.Text))
                {
                    SetConfigValue(prop, configuration_instance, font_box.Text);
                }
                ConfigWindow.RequireRestart = attr.RequireRestart;
            };

            return(panel);
        }
        public override Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            Panel panel       = base.CreateControl(attr, prop, configuration_instance);
            var   multi_combo = panel.Children[1] as MultiSelectComboBox;

            multi_combo.Width = 200;

            Button multi_mmf_btn = new Button()
            {
                Content    = DefaultLanguage.UI_MULTIOUTPUTEDITOR_BUTTON_CONTENT,
                IsEnabled  = !ConfigWindow.RequireRestart,
                Margin     = new Thickness(1),
                Visibility = Setting.OutputMethods.Any(om => om == MultiOutputDisplayer.METHOD_NAME) ? Visibility.Visible : Visibility.Hidden
            };

            multi_mmf_btn.Click += (s, e) =>
            {
                if (typeof(ListConfigurationItemCreator).Assembly.GetName().Version < Version.Parse("0.2.1"))
                {
                    MessageBox.Show(DefaultLanguage.UI_UPDATE_CONFIGGUI_MESSAGEBOX, "Multi Output", MessageBoxButton.OK);
                    return;
                }
                _editor = _editor ?? new MultiOutputEditor();
                if (_editor.Visibility == Visibility.Visible)
                {
                    _editor.Activate();
                }
                else
                {
                    _editor.Show();
                }
            };

            multi_combo.Click += (s, e) =>
            {
                multi_mmf_btn.Visibility = Setting.OutputMethods.Any(om => om == MultiOutputDisplayer.METHOD_NAME) ? Visibility.Visible : Visibility.Hidden;
                multi_mmf_btn.IsEnabled  = !ConfigWindow.RequireRestart;
            };
            panel.Children.Add(multi_mmf_btn);
            return(panel);
        }
Exemplo n.º 14
0
        public override Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            var panel   = base.CreateControl(attr, prop, configuration_instance);
            var textbox = panel.Children[1] as TextBox;

            textbox.Width -= 50;
            Button btn = new Button()
            {
                Content = "Connect",
                Margin  = new Thickness(1)
            };

            btn.Click += (s, e) =>
            {
                _client.Restart();
            };

            panel.Children.Add(btn);

            return(panel);
        }
Exemplo n.º 15
0
        public override Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            var panel = base.CreateControl(attr, prop, configuration_instance);

            FloatAttribute iattr = attr as FloatAttribute;

            var slider   = panel.Children[1] as Slider;
            var num_view = panel.Children[2] as TextBox;

            slider.Maximum       = iattr.MaxValue;
            slider.Minimum       = iattr.MinValue;
            slider.TickFrequency = iattr.Step;
            num_view.SetBinding(TextBox.TextProperty, new Binding("Value")
            {
                Source = slider,
                UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
                StringFormat        = "F2"
            });

            return(panel);
        }
Exemplo n.º 16
0
        public override Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            ListAttribute lattr = attr as ListAttribute;

            return(lattr.AllowMultiSelect ? CreateMultiSelectList(lattr, prop, configuration_instance) : CreateSingleSelectList(lattr, prop, configuration_instance));
        }
Exemplo n.º 17
0
        public override Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            var panel = base.CreateControl(attr, prop, configuration_instance);

            ColorAttribute cattr = attr as ColorAttribute;

            var color_str = GetConfigValue(prop, configuration_instance);

            var color_box = new TextBox()
            {
                Text = color_str, Width = 160, Height = 22, VerticalContentAlignment = VerticalAlignment.Center
            };
            var bound = new Border()
            {
                BorderBrush     = Brushes.Black,
                BorderThickness = new Thickness(1),
                Width           = 15,
                Height          = 15,
                Margin          = new Thickness(5, 0, 0, 0)
            };
            var color_rect = new Rectangle()
            {
            };
            var button = new Button()
            {
                Content = DefaultLanguage.BUTTON_COLOR, Width = 75, Margin = new Thickness(5, 0, 5, 0)
            };

            var color = StringToColor(color_str);

            color_rect.Fill = new SolidColorBrush()
            {
                Color = Color.FromArgb(color.A, color.R, color.G, color.B)
            };

            bound.Child = color_rect;
            panel.Children.Add(color_box);
            panel.Children.Add(bound);
            panel.Children.Add(button);

            button.Click += (s, e) =>
            {
                var colorDialog = new System.Windows.Forms.ColorDialog();
                color_str = GetConfigValue(prop, configuration_instance);

                color                = StringToColor(color_str);
                colorDialog.Color    = color;
                colorDialog.FullOpen = true;

                if (colorDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    color          = colorDialog.Color;
                    color_box.Text = RgbaToString(color.R, color.G, color.B, color.A);
                }
            };

            color_box.TextChanged += (s, e) =>
            {
                color           = StringToColor(color_box.Text);
                color_rect.Fill = new SolidColorBrush()
                {
                    Color = Color.FromArgb(color.A, color.R, color.G, color.B)
                };

                if (cattr.Check(color_box.Text))
                {
                    SetConfigValue(prop, configuration_instance, color_box.Text);
                }
                ConfigWindow.RequireRestart = attr.RequireRestart;
            };

            return(panel);
        }
Exemplo n.º 18
0
        public override Panel CreateControl(BaseConfigurationAttribute attr, PropertyInfo prop, object configuration_instance)
        {
            var panel = base.CreateControl(attr, prop, configuration_instance);

            PathAttribute pattr = attr as PathAttribute;

            var evalue = GetConfigValue(prop, configuration_instance);

            var path_box = new TextBox()
            {
                Text = evalue, Width = 160, Height = 22, VerticalContentAlignment = VerticalAlignment.Center
            };
            var button = new Button()
            {
                Width = 75, Margin = new Thickness(5, 0, 5, 0)
            };

            if (!pattr.IsDirectory)
            {
                button.Content = DefaultLanguage.BUTTON_OPEN;
            }
            else
            {
                button.Content = DefaultLanguage.BUTTON_BROWSE;
            }

            panel.Children.Add(path_box);
            panel.Children.Add(button);

            button.Click += (s, e) =>
            {
                if (!pattr.IsDirectory)
                {
                    var fileDialog = new System.Windows.Forms.OpenFileDialog();
                    try
                    {
                        fileDialog.InitialDirectory = Path.GetFullPath(evalue);
                        fileDialog.FileName         = Path.GetFileName(evalue);
                    }
                    catch (ArgumentException)
                    {
                        fileDialog.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory;
                    }
                    fileDialog.RestoreDirectory = true;
                    if (fileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {
                        path_box.Text = fileDialog.FileName;
                    }
                }
                else
                {
                    var folderDialog = new System.Windows.Forms.FolderBrowserDialog();
                    if (folderDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {
                        path_box.Text = folderDialog.SelectedPath;
                    }
                }
                SetConfigValue(prop, configuration_instance, path_box.Text);
            };

            path_box.TextChanged += (s, e) =>
            {
                if (pattr.Check(path_box.Text))
                {
                    SetConfigValue(prop, configuration_instance, path_box.Text);
                }
                ConfigWindow.RequireRestart = attr.RequireRestart;
            };

            return(panel);
        }