Browse Source

Improved keyboard handling in form designer, typing text in the menu designer now works.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@720 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
d0c6d2e5f2
  1. 25
      src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormKeyHandler.cs
  2. 12
      src/Main/Base/Project/Src/Services/RefactoringService/CodeGenerator.cs

25
src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormKeyHandler.cs

@ -56,18 +56,18 @@ namespace ICSharpCode.FormDesigner
keyTable[Keys.Right] = new CommandWrapper(MenuCommands.KeyMoveRight); keyTable[Keys.Right] = new CommandWrapper(MenuCommands.KeyMoveRight);
keyTable[Keys.Up] = new CommandWrapper(MenuCommands.KeyMoveUp); keyTable[Keys.Up] = new CommandWrapper(MenuCommands.KeyMoveUp);
keyTable[Keys.Down] = new CommandWrapper(MenuCommands.KeyMoveDown); keyTable[Keys.Down] = new CommandWrapper(MenuCommands.KeyMoveDown);
keyTable[Keys.Tab] = new CommandWrapper(MenuCommands.KeySelectNext, false); keyTable[Keys.Tab] = new CommandWrapper(MenuCommands.KeySelectNext);
keyTable[Keys.Delete] = new CommandWrapper(MenuCommands.Delete, false); keyTable[Keys.Delete] = new CommandWrapper(MenuCommands.Delete);
keyTable[Keys.Back] = new CommandWrapper(MenuCommands.Delete, false); keyTable[Keys.Back] = new CommandWrapper(MenuCommands.Delete);
// shift modified keys // shift modified keys
keyTable[Keys.Left | Keys.Shift] = new CommandWrapper(MenuCommands.KeySizeWidthDecrease); keyTable[Keys.Left | Keys.Shift] = new CommandWrapper(MenuCommands.KeySizeWidthDecrease);
keyTable[Keys.Right | Keys.Shift] = new CommandWrapper(MenuCommands.KeySizeWidthIncrease); keyTable[Keys.Right | Keys.Shift] = new CommandWrapper(MenuCommands.KeySizeWidthIncrease);
keyTable[Keys.Up | Keys.Shift] = new CommandWrapper(MenuCommands.KeySizeHeightDecrease); keyTable[Keys.Up | Keys.Shift] = new CommandWrapper(MenuCommands.KeySizeHeightDecrease);
keyTable[Keys.Down | Keys.Shift] = new CommandWrapper(MenuCommands.KeySizeHeightIncrease); keyTable[Keys.Down | Keys.Shift] = new CommandWrapper(MenuCommands.KeySizeHeightIncrease);
keyTable[Keys.Tab | Keys.Shift] = new CommandWrapper(MenuCommands.KeySelectPrevious, false); keyTable[Keys.Tab | Keys.Shift] = new CommandWrapper(MenuCommands.KeySelectPrevious);
keyTable[Keys.Delete| Keys.Shift] = new CommandWrapper(MenuCommands.Delete, false); keyTable[Keys.Delete| Keys.Shift] = new CommandWrapper(MenuCommands.Delete);
keyTable[Keys.Back| Keys.Shift] = new CommandWrapper(MenuCommands.Delete, false); keyTable[Keys.Back| Keys.Shift] = new CommandWrapper(MenuCommands.Delete);
// ctrl modified keys // ctrl modified keys
keyTable[Keys.Left | Keys.Control] = new CommandWrapper(MenuCommands.KeyNudgeLeft); keyTable[Keys.Left | Keys.Control] = new CommandWrapper(MenuCommands.KeyNudgeLeft);
@ -125,17 +125,13 @@ namespace ICSharpCode.FormDesigner
// } // }
Keys keyPressed = (Keys)m.WParam.ToInt32() | Control.ModifierKeys; Keys keyPressed = (Keys)m.WParam.ToInt32() | Control.ModifierKeys;
if (keyPressed == Keys.F1 | keyPressed == Keys.F4) {
return false;
}
if (keyPressed == Keys.Escape) { if (keyPressed == Keys.Escape) {
if (formDesigner.IsTabOrderMode) if (formDesigner.IsTabOrderMode) {
formDesigner.HideTabOrder(); formDesigner.HideTabOrder();
else
formDesigner.WorkbenchWindow.SwitchView(0);
return true; return true;
} }
}
CommandWrapper commandWrapper = (CommandWrapper)keyTable[keyPressed]; CommandWrapper commandWrapper = (CommandWrapper)keyTable[keyPressed];
if (commandWrapper != null) { if (commandWrapper != null) {
@ -151,8 +147,7 @@ namespace ICSharpCode.FormDesigner
return true; return true;
} }
return (System.Windows.Forms.Control.ModifierKeys & Keys.Alt) != Keys.Alt && return false;
(System.Windows.Forms.Control.ModifierKeys & Keys.Control) != Keys.Control;
} }
class CommandWrapper class CommandWrapper
@ -172,7 +167,7 @@ namespace ICSharpCode.FormDesigner
} }
} }
public CommandWrapper(CommandID commandID) : this(commandID, true) public CommandWrapper(CommandID commandID) : this(commandID, false)
{ {
} }
public CommandWrapper(CommandID commandID, bool restoreSelection) public CommandWrapper(CommandID commandID, bool restoreSelection)

12
src/Main/Base/Project/Src/Services/RefactoringService/CodeGenerator.cs

@ -326,12 +326,22 @@ namespace ICSharpCode.SharpDevelop.Refactoring
List<ParameterDeclarationExpression> parameters = new List<ParameterDeclarationExpression>(1); List<ParameterDeclarationExpression> parameters = new List<ParameterDeclarationExpression>(1);
parameters.Add(new ParameterDeclarationExpression(type, "e")); parameters.Add(new ParameterDeclarationExpression(type, "e"));
ModifierEnum modifier;
if (e.IsStatic)
modifier = ModifierEnum.Private | ModifierEnum.Static;
else if (e.DeclaringType.IsSealed)
modifier = ModifierEnum.Protected;
else
modifier = ModifierEnum.Protected | ModifierEnum.Virtual;
MethodDeclaration method = new MethodDeclaration("On" + e.Name, MethodDeclaration method = new MethodDeclaration("On" + e.Name,
ConvertModifier(e.Modifiers | ModifierEnum.Virtual), ConvertModifier(modifier),
new TypeReference("System.Void"), new TypeReference("System.Void"),
parameters, null); parameters, null);
ArrayList arguments = new ArrayList(2); ArrayList arguments = new ArrayList(2);
if (e.IsStatic)
arguments.Add(new PrimitiveExpression(null, "null"));
else
arguments.Add(new ThisReferenceExpression()); arguments.Add(new ThisReferenceExpression());
arguments.Add(new IdentifierExpression("e")); arguments.Add(new IdentifierExpression("e"));
method.Body = new BlockStatement(); method.Body = new BlockStatement();

Loading…
Cancel
Save