Esempio n. 1
0
        private void ProcessShortcuts(Event e)
        {
            switch (ToolMode)
            {
            case Mode.ConnectLine when !IsSelectPoint && AltIsPressed:
                DisableByAlt = true;
                EnableSelectFiller();
                break;

            case Mode.ConnectLine when !IsSelectPoint && AddFillerShortcut.IsPressed(e):
                DisableByAlt = false;
                EnableSelectFiller();
                break;

            case Mode.ConnectLine when !IsSelectPoint && DeleteAllShortcut.IsPressed(e):
                DeleteAllLines();
                break;

            case Mode.ConnectLine:
                Panel?.OnEvent(e);
                break;

            case Mode.SelectFiller when DisableByAlt && !AltIsPressed && TempFiller.IsEmpty:
                ToolMode   = Mode.ConnectLine;
                TempFiller = null;
                break;
            }
        }
Esempio n. 2
0
        private bool ProcessShortcuts(Event e)
        {
            if ((ToolMode == Mode.Line || ToolMode == Mode.Crosswalk) && !IsSelectPoint)
            {
                if (AddFillerShortcut.IsPressed(e))
                {
                    DisableByAlt = false;
                    EnableSelectFiller();
                    return(true);
                }
                if (DeleteAllShortcut.IsPressed(e))
                {
                    DeleteAllLines();
                    return(true);
                }
                if (Panel?.OnShortcut(e) == true)
                {
                    return(true);
                }
            }

            switch (ToolMode)
            {
            case Mode.Line when !IsSelectPoint && OnlyAltIsPressed:
                DisableByAlt = true;
                EnableSelectFiller();
                return(true);

            case Mode.Line when !IsSelectPoint && OnlyShiftIsPressed:
                EnableCrosswalk();
                return(true);

            case Mode.Crosswalk when !IsSelectPoint && !ShiftIsPressed:
                DisableCrosswalk();
                return(true);

            case Mode.Filler when DisableByAlt && !AltIsPressed && TempFiller.IsEmpty:
                ToolMode   = Mode.Line;
                TempFiller = null;
                return(true);
            }

            return(false);
        }