Exemplo n.º 1
0
        public IKeyboardCommandTrigger OnEvent(IHotkey hotkey, KeyEvent keyEvent,
                                               string stateTree = KeyStateTrees.Default)
        {
            if (keyEvent == KeyEvent.Hit)
            {
                return(OnHit(hotkey, stateTree));
            }

            var sequence = hotkey switch
            {
                ISequenceUnit sequenceUnit => new List <ICombination>()
                {
                    sequenceUnit.ToCombination().ToCombination()
                },
                ISequence seq => seq.ToList(),
                _ => throw new Exception("IHotkey should be ISequence or ISequenceUnit")
            };
            var trigger = new KeyboardCommandTrigger();
            var metaKey = Add(sequence, keyEvent,
                              new KeyCommand(trigger.OnExecute)
            {
                CanExecute = trigger.OnCanExecute
            }, stateTree) as MetaKey;

            trigger._metaKey = metaKey;
            return(trigger);
        }
Exemplo n.º 2
0
        public IKeyboardCommandTrigger OnHit(IHotkey hotkey, string stateTree = KeyStateTrees.Default)
        {
            var trigger = new KeyboardCommandTrigger();
            var token   = Hit(hotkey,
                              trigger.OnExecute, trigger.OnCanExecute, "", stateTree) as KeyCommandTokens;

            trigger._metaKey = token?.metaKey;
            return(trigger);
        }
Exemplo n.º 3
0
        public IKeyboardCommandTrigger Hit(ISequenceUnit sequenceUnit, string stateTree = KeyStateTrees.Default)
        {
            var combination = sequenceUnit.ToCombination();
            var trigger     = new KeyboardCommandTrigger();
            var token       = Hit(combination,
                                  trigger.OnExecute, trigger.OnCanExecute, "", stateTree) as KeyTokens;

            trigger._metaKey = token?.metaKey;
            return(trigger);
        }
Exemplo n.º 4
0
        private IKeyboardCommandTrigger Event(ISequenceUnit sequenceUnit, KeyEvent keyEvent,
                                              string stateTree = KeyStateTrees.Default)
        {
            var combination = sequenceUnit.ToCombination();
            var trigger     = new KeyboardCommandTrigger();
            var metaKey     = Add(combination, keyEvent,
                                  new KeyCommand(trigger.OnExecute)
            {
                CanExecute = trigger.OnCanExecute
            }, stateTree) as MetaKey;

            trigger._metaKey = metaKey;
            return(trigger);
        }
Exemplo n.º 5
0
        private IKeyboardCommandTrigger Event(ISequence sequence, KeyEvent keyEvent,
                                              string stateTree = KeyStateTrees.Default)
        {
            var seq     = sequence as Sequence;
            var trigger = new KeyboardCommandTrigger();
            var metaKey = Add(seq.ToList(), keyEvent,
                              new KeyCommand(trigger.OnExecute)
            {
                CanExecute = trigger.OnCanExecute
            }, stateTree) as MetaKey;

            trigger._metaKey = metaKey;
            return(trigger);
        }