Beispiel #1
0
        internal Panel BuildHotkeysPanel(WindowBase wndw)
        {
            var hkPanel = new Panel();

            var backButton = new BackButton(wndw)
            {
                Text     = "Settings",
                NavTitle = "Hotkeys",
                Parent   = hkPanel,
                Location = new Point(20, 20),
            };

            int nameWidth = 183;

            var thotkey1 = new Hotkey("Test Hotkey 1", "This hotkey is used for example purposes only.", "Debug", new[] { Keys.LeftShift, Keys.LeftAlt, Keys.L });
            var thotkey2 = new Hotkey("Test Hotkey 2", "This hotkey is used for example purposes only.", "Debug", new[] { Keys.LeftShift, Keys.LeftAlt, Keys.V });

            var thk1 = new HotkeyAssigner(thotkey1)
            {
                NameWidth = nameWidth,
                Location  = new Point(10, backButton.Bottom + 25),
                Width     = wndw.ContentRegion.Width / 2,
                Parent    = hkPanel,
            };

            var thk2 = new HotkeyAssigner(thotkey2)
            {
                NameWidth = nameWidth,
                Left      = thk1.Left,
                Top       = thk1.Bottom + 2,
                Width     = wndw.ContentRegion.Width / 2,
                Parent    = hkPanel,
            };



            return(hkPanel);
        }
Beispiel #2
0
        private void LoadRenderers()
        {
            SettingTypeRenderers.Clear();

            // bool setting renderer
            SettingTypeRenderers.Add(typeof(bool), (setting, panel) => {
                var strongSetting = (SettingEntry <bool>)setting;

                var settingCtrl = new Checkbox()
                {
                    Text             = strongSetting.DisplayName,
                    BasicTooltipText = strongSetting.Description,
                    Checked          = strongSetting.Value,
                    Parent           = panel
                };

                Adhesive.Binding.CreateTwoWayBinding(() => settingCtrl.Checked,
                                                     () => strongSetting.Value);
            });

            // enum setting renderer
            SettingTypeRenderers.Add(typeof(Enum), (setting, panel) => {
                //var strongSetting = (SettingEntry<>) setting;

                var enumType = setting.SettingType;

                var settingDisplayName = new Label()
                {
                    Size             = new Point(panel.Width - 128, panel.Height),
                    Text             = $"{setting.DisplayName}:",
                    BasicTooltipText = setting.Description,
                    Parent           = panel
                };

                var settingDropDown = new Dropdown()
                {
                    Size             = new Point(128, 25),
                    Location         = new Point(panel.Width - 128, 0),
                    BasicTooltipText = setting.Description,
                    Parent           = panel,
                };

                string[] values = Enum.GetNames(enumType);

                foreach (string enumOption in values)
                {
                    settingDropDown.Items.Add(enumOption.ToString());
                }
            });

            // hotkey setting renderer
            SettingTypeRenderers.Add(typeof(Hotkey), (setting, panel) => {
                var strongSetting = (SettingEntry <Hotkey>)setting;

                var hotkeyAssigner = new HotkeyAssigner(strongSetting.Value)
                {
                    Size   = panel.Size,
                    Parent = panel
                };
            });
        }