Exemple #1
0
        public static Key Convert(swi.Key key, swi.ModifierKeys modifier)
        {
            var keys = key.ToString()
                       .Split(new[] { ", " }, StringSplitOptions.None)
                       .Select(v => (swi.Key)Enum.Parse(typeof(swi.Key), v));
            Key ret = Key.None;

            foreach (var val in keys)
            {
                ret |= Find(val);
            }

            if (modifier.HasFlag(swi.ModifierKeys.Alt))
            {
                ret |= Key.Alt;
            }
            if (modifier.HasFlag(swi.ModifierKeys.Control))
            {
                ret |= Key.Control;
            }
            if (modifier.HasFlag(swi.ModifierKeys.Shift))
            {
                ret |= Key.Shift;
            }
            if (modifier.HasFlag(swi.ModifierKeys.Windows))
            {
                ret |= Key.Application;
            }

            return(ret);
        }
Exemple #2
0
        public static string ToShortcutString(this WpfKey key, WpfModifier modifier, string separator = "+")
        {
            var sb = new StringBuilder();

            if (modifier.HasFlag(WpfModifier.Control))
            {
                AppendSeparator(sb, separator, "Ctrl");
            }
            if (modifier.HasFlag(WpfModifier.Shift))
            {
                AppendSeparator(sb, separator, "Shift");
            }
            if (modifier.HasFlag(WpfModifier.Alt))
            {
                AppendSeparator(sb, separator, "Alt");
            }

            string val;

            if (keymap.TryGetValue(key, out val))
            {
                AppendSeparator(sb, separator, val);
            }
            else
            {
                AppendSeparator(sb, separator, key.ToString());
            }

            return(sb.ToString());
        }
Exemple #3
0
        public static System.Windows.Forms.Keys ToWinforms(System.Windows.Input.ModifierKeys modifier)
        {
            var retVal = System.Windows.Forms.Keys.None;

            if (modifier.HasFlag(ModifierKeys.Alt))
            {
                retVal |= System.Windows.Forms.Keys.Alt;
            }
            if (modifier.HasFlag(ModifierKeys.Control))
            {
                retVal |= System.Windows.Forms.Keys.Control;
            }
            if (modifier.HasFlag(ModifierKeys.None))
            {
                // Pointless I know
                retVal |= System.Windows.Forms.Keys.None;
            }
            if (modifier.HasFlag(ModifierKeys.Shift))
            {
                retVal |= System.Windows.Forms.Keys.Shift;
            }
            if (modifier.HasFlag(ModifierKeys.Windows))
            {
                // Not supported lel
            }
            return(retVal);
        }
        /// <summary>
        /// Returns Forms modifiers as <see cref="forms.Keys"/> from WPF <see cref="wpf.ModifierKeys"/>.
        /// </summary>
        /// <param name="mKeys">WPF <see cref="wpf.ModifierKeys"/> which is about to converted to Forms <see cref="forms.Keys"/>.</param>

        public static forms.Keys FormsModifiersFromWpfModifiers(wpf.ModifierKeys mKeys)
        {
            forms.Keys fKey = forms.Keys.None;
            if (mKeys.HasFlag(wpf.ModifierKeys.Control))
            {
                fKey = fKey | forms.Keys.Control;
            }
            if (mKeys.HasFlag(wpf.ModifierKeys.Alt))
            {
                fKey = fKey | forms.Keys.Alt;
            }
            if (mKeys.HasFlag(wpf.ModifierKeys.Shift))
            {
                fKey = fKey | forms.Keys.Shift;
            }

            return(fKey);
        }
Exemple #5
0
        internal void NotifyListItemClicked(ListBoxItem item)
        {
            switch (SelectionMode)
            {
            case SelectionMode.Single:

                if (!item.IsSelected)
                {
                    item.SetCurrentValue(ListBoxItem.IsSelectedProperty, true);
                }
                else if (Keyboard.Modifiers.HasFlag(ModifierKeys.Control))
                {
                    item.SetCurrentValue(ListBoxItem.IsSelectedProperty, false);
                }

                UpdateAnchorItem(ItemInfoFromContainer(item));
                break;

            case SelectionMode.Multiple:
                MakeToggleSelection(item);
                break;

            case SelectionMode.Extended:
                ModifierKeys kbModifiers = Keyboard.Modifiers;
                if (kbModifiers.HasFlag(ModifierKeys.Control | ModifierKeys.Shift))
                {
                    MakeAnchorSelection(item, false);
                }
                else if (kbModifiers.HasFlag(ModifierKeys.Control))
                {
                    MakeToggleSelection(item);
                }
                else if (kbModifiers.HasFlag(ModifierKeys.Shift))
                {
                    MakeAnchorSelection(item, true);
                }
                else
                {
                    MakeSingleSelection(item);
                }
                break;
            }
        }
Exemple #6
0
        public static ModifierKeys ToFusion(this WpfModifier modifier)
        {
            var key = ModifierKeys.None;

            if (modifier.HasFlag(WpfModifier.Alt))
            {
                key |= ModifierKeys.Alt;
            }
            if (modifier.HasFlag(WpfModifier.Control))
            {
                key |= ModifierKeys.Control;
            }
            if (modifier.HasFlag(WpfModifier.Shift))
            {
                key |= ModifierKeys.Shift;
            }
            if (modifier.HasFlag(WpfModifier.Windows))
            {
                key |= ModifierKeys.Windows;                                                    //throw new NotImplementedException("Windows modifier key"); // key |= EtoKey.Windows;
            }
            return(key);
        }
Exemple #7
0
        public static Keys Convert(swi.Key key, swi.ModifierKeys modifier)
        {
            Keys ret = Find(key);

            if (modifier.HasFlag(swi.ModifierKeys.Alt))
            {
                ret |= Keys.Alt;
            }
            if (modifier.HasFlag(swi.ModifierKeys.Control))
            {
                ret |= Keys.Control;
            }
            if (modifier.HasFlag(swi.ModifierKeys.Shift))
            {
                ret |= Keys.Shift;
            }
            if (modifier.HasFlag(swi.ModifierKeys.Windows))
            {
                ret |= Keys.Application;
            }

            return(ret);
        }
Exemple #8
0
        public static Keys ToEto(this swi.ModifierKeys modifier)
        {
            Keys ret = Keys.None;

            if (modifier.HasFlag(swi.ModifierKeys.Alt))
            {
                ret |= Keys.Alt;
            }
            if (modifier.HasFlag(swi.ModifierKeys.Control))
            {
                ret |= Keys.Control;
            }
            if (modifier.HasFlag(swi.ModifierKeys.Shift))
            {
                ret |= Keys.Shift;
            }
            if (modifier.HasFlag(swi.ModifierKeys.Windows))
            {
                ret |= Keys.Application;
            }

            return(ret);
        }