Beispiel #1
0
        public bool Invoke(Keys keyData)
        {
            bool shift = (keyData & Keys.Shift) == Keys.Shift;
            bool ctrl  = (keyData & Keys.Control) == Keys.Control;
            Keys key   = (Keys)(Int16)keyData;

            if (key == Keys.ControlKey || key == Keys.ShiftKey)
            {
                return(false);
            }

            StringBuilder sb = new StringBuilder();

            if (ctrl)
            {
                sb.Append(Keys.Control.ToString() + "+");
            }

            if (shift)
            {
                sb.Append(Keys.Shift.ToString() + "+");
            }

            sb.Append(key.ToString());

            bool empty = queue.Length == 0;

            queue += sb.ToString();

            CommandMapping km = Find(queue);

            if (km == null)
            {
                queue = string.Empty;
                return(!empty);                // not handled
            }

            if (!km.KeySequence.Equals(queue))
            {
                // haven't found exact match yet
                queue += ",";
                return(true);
            }

            queue = string.Empty;

            try
            {
                Invoke(km.Method);
            }
            catch (XEditNetCommandException e)
            {
                MessageBox.Show("Failed to invoke command: " + km.Method);
            }
            return(true);
        }
Beispiel #2
0
 public void DispatchCommand(CommandMapping cmd)
 {
     switch ( cmd.Method )
     {
         case "EditUndo":
             EditUndo();
             break;
         case "EditRedo":
             EditRedo();
             break;
         case "EditCut":
             EditCut();
             break;
         case "EditCopy":
             EditCopy();
             break;
         case "EditPaste":
             EditPaste();
             break;
         case "EditDelete":
             EditDelete();
             break;
         case "EditSelectAll":
             EditSelectAll();
             break;
         case "EditExtendSelection":
             EditExtendSelection();
             break;
         case "EditChangeElement":
             EditChangeElement();
             break;
         case "EditInsertElement":
             EditInsertElement();
             break;
         case "EditModifyAttribute":
             EditModifyAttribute();
             break;
         case "FileReloadStylesheet":
             FileReloadStylesheet();
             break;
         case "ViewTagsOff":
             ViewTagsOff();
             break;
         case "ViewTagsOn":
             ViewTagsOn();
             break;
     }
 }