예제 #1
0
        private void OnSelected()
        {
            if (ContainsNoText && _wasEmptyBeforeFrame && Backspace.Down())
            {
                RemoveLastTag();
            }

            if (_autocompleteContainer.childCount > 0 && DownArrow.Down())
            {
                // Dirty trick to fix skipping over first button
                Input.ResetInputAxes();
                Select(_autocompleteContainer.GetChild(0).GetComponent <Button>().gameObject);
            }
        }
 // Abfangen der Tastatureingabe
 private void Window_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.D0 || e.Key == Key.NumPad0)
     {   // Ansprechen von Button1, Erzeugung eines neuen Events,
         // instanzierung eines RoutedEventArgs bassierende auf der Klasse
         // Button und Ausführung von ClickEvent.
         button0.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         // versucht den Fokus auf das Element zu legen. So wirkt der Button als würde er betätigt
         button0.Focus();
     }
     else if (e.Key == Key.D1 || e.Key == Key.NumPad1)
     {
         button1.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         button1.Focus();
     }
     else if (e.Key == Key.D2 || e.Key == Key.NumPad2)
     {
         button2.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         button2.Focus();
     }
     else if (e.Key == Key.D3 || e.Key == Key.NumPad3)
     {
         button3.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         button3.Focus();
     }
     else if (e.Key == Key.D4 || e.Key == Key.NumPad4)
     {
         button4.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         button4.Focus();
     }
     else if (e.Key == Key.D5 || e.Key == Key.NumPad5)
     {
         button5.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         button5.Focus();
     }
     else if (e.Key == Key.D6 || e.Key == Key.NumPad6)
     {
         button6.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         button6.Focus();
     }
     else if (e.Key == Key.D7 || e.Key == Key.NumPad7)
     {
         button7.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         button7.Focus();
     }
     else if (e.Key == Key.D8 || e.Key == Key.NumPad8)
     {
         button8.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         button8.Focus();
     }
     else if (e.Key == Key.D9 || e.Key == Key.NumPad9)
     {
         button9.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         button9.Focus();
     }
     else if (e.Key == Key.Delete)
     {
         Backspace.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         Backspace.Focus();
     }
     else if (e.Key == Key.Escape)
     {
         buttonLöschen.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         buttonLöschen.Focus();
     }
     else if (e.Key == Key.Enter)
     {
         buttongleich.Focus();
         //buttongleich.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
     }
     else if (e.Key == Key.Add)
     {
         buttonPlus.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         buttonPlus.Focus();
     }
     else if (e.Key == Key.Subtract)
     {
         buttonMinus.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         buttonMinus.Focus();
     }
     else if (e.Key == Key.Multiply)
     {
         buttonMal.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         buttonMal.Focus();
     }
     else if (e.Key == Key.Divide)
     {
         buttonTeilen.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         buttonTeilen.Focus();
     }
     else if (e.Key == Key.OemComma || e.Key == Key.Decimal)
     {
         button_Komma.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
         button_Komma.Focus();
     }
 }
예제 #3
0
        public void TestSymbols()
        {
            var s1 = LineFeed.Negate().Maybe();

            Assert.AreEqual(s1.Expression, @"[^\n]?");

            var s2 = CarriageReturn.OnceOrMore();

            Assert.AreEqual(s2.Expression, @"\r+");

            s1 = Backspace.Negate().Maybe();
            Assert.AreEqual(s1.Expression, @"[^\x08]?");

            s2 = Backspace.OnceOrMore();
            Assert.AreEqual(s2.Expression, @"\x08+");

            s2 = CarriageReturnLineFeed.NoneOrMany();
            Assert.AreEqual(s2.Expression, @"(?:\r\n)*");

            var p = (LineFeed | CarriageReturnLineFeed).AtLeast(2);

            Assert.AreEqual(p.Expression, @"(?:\n|\r\n){2,}");

            p = ("abc" + LineFeed | CarriageReturnLineFeed).AtLeast(2);
            Assert.AreEqual(p.Expression, @"(?:abc\n|\r\n){2,}");

            p = ("abc" + (LineFeed | CarriageReturnLineFeed)).Repeat(5);
            Assert.AreEqual(p.Expression, @"(?:abc(?:\n|\r\n)){5}");

            p = "Hi." + AnyChar;
            Assert.AreEqual(p.Expression, @"Hi\..");


            s2 = AnyWordChars[3, 4];
            Assert.AreEqual(s2.Expression, @"(?:\w+){3,4}");

            s2 = (AnyWordChars | "; ") + EndOfLine;
            Assert.AreEqual(s2.Expression, @"(?:\w+|;\ )$");

            s2 = WhiteSpace + AnyWordChars + "; " + EndOfLine;
            Assert.AreEqual(s2.Expression, @"\s\w+;\ $");

            s2 = AnyWordChars | s2;
            Assert.AreEqual(s2.Expression, @"\w+|\s\w+;\ $");

            s2 = s2 + AnyWordChars;
            Assert.AreEqual(s2.Expression, @"(?:\w+|\s\w+;\ $)\w+");

            s2 = s2 | AnyWordChars;
            Assert.AreEqual(s2.Expression, @"(?:\w+|\s\w+;\ $)\w+|\w+");

            s2 = (
                (AnyWordChars
                 | (WhiteSpace + AnyWordChars + "; " + EndOfLine)
                )
                + AnyWordChars
                )
                 | AnyWordChars;
            Assert.AreEqual(s2.Expression, @"(?:\w+|\s\w+;\ $)\w+|\w+");

            var c = AsciiChar('\t')[2];

            Assert.AreEqual(c.Expression, @"\x09{2}");

            c = AsciiChar(222)[2, 0];
            Assert.AreEqual(c.Expression, @"\xde{2,}");

            c = AsciiChar(0xaf)[0, 0];
            Assert.AreEqual(c.Expression, @"\xaf*");
        }
        // Abfangen der Tastatureingabe
        private void Window_KeyDown(object sender, KeyEventArgs e)
        {     // Prüfung ob ein Zahlensystem gewählt wurde
            if (!inhaltRadiobutton.Equals(""))
            { // Abhängig vom gewählten Zahlensystem werden nur bestimmte Tasten abgefangen
                switch (inhaltRadiobutton)
                {
                case "BIN":
                    if (e.Key == Key.D0 || e.Key == Key.NumPad0)
                    {       // Ansprechen von Button1, Erzeugung eines neuen Events,
                            // instanzierung eines RoutedEventArgs bassierende auf der Klasse
                            // Button und Ausführung von ClickEvent.
                        button0.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button0.Focus();
                    }
                    else if (e.Key == Key.D1 || e.Key == Key.NumPad1)
                    {
                        button1.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button1.Focus();
                    }
                    else if (e.Key == Key.Delete)
                    {
                        Backspace.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        Backspace.Focus();
                    }
                    else if (e.Key == Key.Escape)
                    {
                        buttonLöschen.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonLöschen.Focus();
                    }
                    else if (e.Key == Key.Enter)
                    {
                        // buttongleich.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttongleich.Focus();
                    }
                    else if (e.Key == Key.Add)
                    {
                        buttonPlus.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonPlus.Focus();
                    }
                    else if (e.Key == Key.Subtract)
                    {
                        buttonMinus.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonMinus.Focus();
                    }
                    else if (e.Key == Key.Multiply)
                    {
                        buttonMal.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonMal.Focus();
                    }
                    else if (e.Key == Key.Divide)
                    {
                        buttonTeilen.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonTeilen.Focus();
                    }
                    break;

                case "DEC":
                    if (e.Key == Key.D0 || e.Key == Key.NumPad0)
                    {
                        button0.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button0.Focus();
                    }
                    else if (e.Key == Key.D1 || e.Key == Key.NumPad1)
                    {
                        button1.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button1.Focus();
                    }
                    else if (e.Key == Key.D2 || e.Key == Key.NumPad2)
                    {
                        button2.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button2.Focus();
                    }
                    else if (e.Key == Key.D3 || e.Key == Key.NumPad3)
                    {
                        button3.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button3.Focus();
                    }
                    else if (e.Key == Key.D4 || e.Key == Key.NumPad4)
                    {
                        button4.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button4.Focus();
                    }
                    else if (e.Key == Key.D5 || e.Key == Key.NumPad5)
                    {
                        button5.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button5.Focus();
                    }
                    else if (e.Key == Key.D6 || e.Key == Key.NumPad6)
                    {
                        button6.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button6.Focus();
                    }
                    else if (e.Key == Key.D7 || e.Key == Key.NumPad7)
                    {
                        button7.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button7.Focus();
                    }
                    else if (e.Key == Key.D8 || e.Key == Key.NumPad8)
                    {
                        button8.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button8.Focus();
                    }
                    else if (e.Key == Key.D9 || e.Key == Key.NumPad9)
                    {
                        button9.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button9.Focus();
                    }
                    else if (e.Key == Key.Delete)
                    {
                        Backspace.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        Backspace.Focus();
                    }
                    else if (e.Key == Key.Escape)
                    {
                        buttonLöschen.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonLöschen.Focus();
                    }
                    else if (e.Key == Key.Enter)
                    {
                        // buttongleich.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttongleich.Focus();
                    }
                    else if (e.Key == Key.Add)
                    {
                        buttonPlus.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonPlus.Focus();
                    }
                    else if (e.Key == Key.Subtract)
                    {
                        buttonMinus.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonMinus.Focus();
                    }
                    else if (e.Key == Key.Multiply)
                    {
                        buttonMal.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonMal.Focus();
                    }
                    else if (e.Key == Key.Divide)
                    {
                        buttonTeilen.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonTeilen.Focus();
                    }
                    break;

                case "OCT":
                    if (e.Key == Key.D0 || e.Key == Key.NumPad0)
                    {
                        button0.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button0.Focus();
                    }
                    else if (e.Key == Key.D1 || e.Key == Key.NumPad1)
                    {
                        button1.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button1.Focus();
                    }
                    else if (e.Key == Key.D2 || e.Key == Key.NumPad2)
                    {
                        button2.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button2.Focus();
                    }
                    else if (e.Key == Key.D3 || e.Key == Key.NumPad3)
                    {
                        button3.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button3.Focus();
                    }
                    else if (e.Key == Key.D4 || e.Key == Key.NumPad4)
                    {
                        button4.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button4.Focus();
                    }
                    else if (e.Key == Key.D5 || e.Key == Key.NumPad5)
                    {
                        button5.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button5.Focus();
                    }
                    else if (e.Key == Key.D6 || e.Key == Key.NumPad6)
                    {
                        button6.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button6.Focus();
                    }
                    else if (e.Key == Key.D7 || e.Key == Key.NumPad7)
                    {
                        button7.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button7.Focus();
                    }
                    else if (e.Key == Key.Delete)
                    {
                        Backspace.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        Backspace.Focus();
                    }
                    else if (e.Key == Key.Escape)
                    {
                        buttonLöschen.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonLöschen.Focus();
                    }
                    else if (e.Key == Key.Enter)
                    {
                        // buttongleich.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttongleich.Focus();
                    }
                    else if (e.Key == Key.Add)
                    {
                        buttonPlus.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonPlus.Focus();
                    }
                    else if (e.Key == Key.Subtract)
                    {
                        buttonMinus.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonMinus.Focus();
                    }
                    else if (e.Key == Key.Multiply)
                    {
                        buttonMal.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonMal.Focus();
                    }
                    else if (e.Key == Key.Divide)
                    {
                        buttonTeilen.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonTeilen.Focus();
                    }
                    break;

                case "HEX":
                    if (e.Key == Key.D0 || e.Key == Key.NumPad0)
                    {
                        button0.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button0.Focus();
                    }
                    else if (e.Key == Key.D1 || e.Key == Key.NumPad1)
                    {
                        button1.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button1.Focus();
                    }
                    else if (e.Key == Key.D2 || e.Key == Key.NumPad2)
                    {
                        button2.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button2.Focus();
                    }
                    else if (e.Key == Key.D3 || e.Key == Key.NumPad3)
                    {
                        button3.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button3.Focus();
                    }
                    else if (e.Key == Key.D4 || e.Key == Key.NumPad4)
                    {
                        button4.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button4.Focus();
                    }
                    else if (e.Key == Key.D5 || e.Key == Key.NumPad5)
                    {
                        button5.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button5.Focus();
                    }
                    else if (e.Key == Key.D6 || e.Key == Key.NumPad6)
                    {
                        button6.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button6.Focus();
                    }
                    else if (e.Key == Key.D7 || e.Key == Key.NumPad7)
                    {
                        button7.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button7.Focus();
                    }
                    else if (e.Key == Key.D8 || e.Key == Key.NumPad8)
                    {
                        button8.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button8.Focus();
                    }
                    else if (e.Key == Key.D9 || e.Key == Key.NumPad9)
                    {
                        button9.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        button9.Focus();
                    }
                    else if (e.Key == Key.A)
                    {
                        buttonA.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonA.Focus();
                    }
                    else if (e.Key == Key.B)
                    {
                        buttonB.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonB.Focus();
                    }
                    else if (e.Key == Key.C)
                    {
                        buttonC.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonC.Focus();
                    }
                    else if (e.Key == Key.D)
                    {
                        buttonD.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonD.Focus();
                    }
                    else if (e.Key == Key.E)
                    {
                        buttonE.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonE.Focus();
                    }
                    else if (e.Key == Key.F)
                    {
                        buttonF.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonF.Focus();
                    }
                    else if (e.Key == Key.Delete)
                    {
                        Backspace.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        Backspace.Focus();
                    }
                    else if (e.Key == Key.Escape)
                    {
                        buttonLöschen.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonLöschen.Focus();
                    }
                    else if (e.Key == Key.Enter)
                    {
                        // buttongleich.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttongleich.Focus();
                    }
                    else if (e.Key == Key.Add)
                    {
                        buttonPlus.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonPlus.Focus();
                    }
                    else if (e.Key == Key.Subtract)
                    {
                        buttonMinus.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonMinus.Focus();
                    }
                    else if (e.Key == Key.Multiply)
                    {
                        buttonMal.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonMal.Focus();
                    }
                    else if (e.Key == Key.Divide)
                    {
                        buttonTeilen.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                        buttonTeilen.Focus();
                    }

                    break;

                default:
                    break;
                }
            }
        }