public virtual void OnKeyPress(KeyPressEventArgs keyPressEvent) { GuiWidget childWithFocus = GetChildContainingFocus(); if (childWithFocus != null && childWithFocus.Visible && childWithFocus.Enabled) { childWithFocus.OnKeyPress(keyPressEvent); } if (KeyPressed != null) { KeyPressed(this, keyPressEvent); } }
private void PrinterNameInput_KeyPressed(object sender, KeyPressEventArgs e) { this.usingDefaultName = false; }
public override void OnKeyPress(KeyPressEventArgs keyPressEvent) { if (Selecting) { DeleteSelection(); Selecting = false; } StringBuilder tempString = new StringBuilder(internalTextWidget.Text); tempString.Insert(CharIndexToInsertBefore, keyPressEvent.KeyChar.ToString()); keyPressEvent.Handled = true; CharIndexToInsertBefore++; internalTextWidget.Text = tempString.ToString(); base.OnKeyPress(keyPressEvent); FixBarPosition(DesiredXPositionOnLine.Set); TextWidgetUndoData newUndoData = new TextWidgetUndoData(this); if (MergeTypingDuringUndo && charIndexToAcceptAsMerging == CharIndexToInsertBefore - 1 && keyPressEvent.KeyChar != '\n') { undoBuffer.Add(newUndoData, "Typing", UndoBuffer.MergeType.Mergable); } else { undoBuffer.Add(newUndoData, "Typing", UndoBuffer.MergeType.NotMergable); } charIndexToAcceptAsMerging = CharIndexToInsertBefore; }
public override void OnKeyPress(KeyPressEventArgs keyPressEvent) { if (allowedChars.Contains(keyPressEvent.KeyChar)) { bool hadSelection = Selecting; int prevCharIndexToInsertBefore = CharIndexToInsertBefore; base.OnKeyPress(keyPressEvent); // let's check and see if the new string is a valid number double number; if (Text == "." && allowDecimals) { return; } if (Text == "-" && allowNegatives) { return; } if (Text == "-." && allowDecimals && allowNegatives) { return; } if (!double.TryParse(Text, out number)) { if (hadSelection) { // we have to undo twice, once for the delete selection and once for the bad character. Undo(); } Undo(); CharIndexToInsertBefore = prevCharIndexToInsertBefore; FixBarPosition(DesiredXPositionOnLine.Set); } } }
public override void Type(string textToType) { SystemWindow systemWindow = SystemWindow.AllOpenSystemWindows[SystemWindow.AllOpenSystemWindows.Count - 1]; foreach (char character in textToType) { //UiThread.RunOnIdle(() => systemWindow.OnKeyDown(aggKeyEvent)); //Keyboard.SetKeyDownState(aggKeyEvent.KeyCode, true); KeyPressEventArgs aggKeyPressEvent = new KeyPressEventArgs(character); UiThread.RunOnIdle(() => systemWindow.OnKeyPress(aggKeyPressEvent)); //widgetToSendTo.OnKeyUp(aggKeyEvent); //Keyboard.SetKeyDownState(aggKeyEvent.KeyCode, false); } }