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(); } }
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; } } }