Exemplo n.º 1
0
 protected override void AcceptTextInput(InputArgs <string, Point2D> args) =>
 args.InputValid = Point2D.TryParse(args.Input, out args.Value);
Exemplo n.º 2
0
 protected override void AcceptCoordsInput(InputArgs <Point2D, float> args) =>
 args.Value = (args.Input - Options.BasePoint).Angle;
Exemplo n.º 3
0
 protected override void AcceptCoordsInput(InputArgs <Point2D, Point2D> args) =>
 args.Value = args.Input;
Exemplo n.º 4
0
 protected override void AcceptTextInput(InputArgs <string, string> args) =>
 args.Value = args.Input;
Exemplo n.º 5
0
 protected override void AcceptCoordsInput(InputArgs <Point2D, string> args) =>
 args.InputValid = false;
Exemplo n.º 6
0
 protected virtual void AcceptTextInput(InputArgs <string, TValue> args)
 {
 }
Exemplo n.º 7
0
 protected virtual void AcceptCoordsInput(InputArgs <Point2D, TValue> args)
 {
 }
Exemplo n.º 8
0
        private void Editor_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                Editor.DoPrompt("");
                CancelInput();
                var result = InputResult <TValue> .CancelResult(CancelReason.Escape);

                Completion.SetResult(result);
            }
            else if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Return || (SpaceAccepts && e.KeyCode == Keys.Space))
            {
                string keyword = Options.MatchKeyword(CurrentText);

                if (!string.IsNullOrEmpty(keyword))
                {
                    Editor.DoPrompt("");
                    var result = InputResult <TValue> .KeywordResult(keyword);

                    Completion.SetResult(result);
                }
                else if (!string.IsNullOrEmpty(CurrentText))
                {
                    var args = new InputArgs <string, TValue>(CurrentText);
                    AcceptTextInput(args);
                    if (args.InputValid)
                    {
                        Editor.DoPrompt("");
                        var result = InputResult <TValue> .AcceptResult(args.Value, AcceptReason.Text);

                        if (args.InputCompleted)
                        {
                            Completion.SetResult(result);
                        }
                    }
                    else
                    {
                        CurrentText = "";
                        Editor.DoPrompt(Options.GetFullPrompt() + args.ErrorMessage);
                    }
                }
                else
                {
                    Editor.DoPrompt("");
                    CancelInput();
                    var result = InputResult <TValue> .CancelResult(e.KeyCode == Keys.Space?CancelReason.Space : CancelReason.Enter);

                    Completion.SetResult(result);
                }
            }
            else if (e.KeyCode == Keys.Tab)
            {
                if (e.Shift)
                {
                    Editor.SnapPoints.Next();
                }
                else
                {
                    Editor.SnapPoints.Previous();
                }
                Editor.Document.ActiveView.Redraw();
            }
        }