示例#1
0
		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;
		}
示例#4
0
        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);
                }
            }
        }
示例#5
0
        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);
            }
        }