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. 31
      src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormKeyHandler.cs
  2. 14
      src/Main/Base/Project/Src/Services/RefactoringService/CodeGenerator.cs

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

@ -56,18 +56,18 @@ namespace ICSharpCode.FormDesigner @@ -56,18 +56,18 @@ namespace ICSharpCode.FormDesigner
keyTable[Keys.Right] = new CommandWrapper(MenuCommands.KeyMoveRight);
keyTable[Keys.Up] = new CommandWrapper(MenuCommands.KeyMoveUp);
keyTable[Keys.Down] = new CommandWrapper(MenuCommands.KeyMoveDown);
keyTable[Keys.Tab] = new CommandWrapper(MenuCommands.KeySelectNext, false);
keyTable[Keys.Delete] = new CommandWrapper(MenuCommands.Delete, false);
keyTable[Keys.Back] = new CommandWrapper(MenuCommands.Delete, false);
keyTable[Keys.Tab] = new CommandWrapper(MenuCommands.KeySelectNext);
keyTable[Keys.Delete] = new CommandWrapper(MenuCommands.Delete);
keyTable[Keys.Back] = new CommandWrapper(MenuCommands.Delete);
// shift modified keys
keyTable[Keys.Left | Keys.Shift] = new CommandWrapper(MenuCommands.KeySizeWidthDecrease);
keyTable[Keys.Right | Keys.Shift] = new CommandWrapper(MenuCommands.KeySizeWidthIncrease);
keyTable[Keys.Up | Keys.Shift] = new CommandWrapper(MenuCommands.KeySizeHeightDecrease);
keyTable[Keys.Down | Keys.Shift] = new CommandWrapper(MenuCommands.KeySizeHeightIncrease);
keyTable[Keys.Tab | Keys.Shift] = new CommandWrapper(MenuCommands.KeySelectPrevious, false);
keyTable[Keys.Delete| Keys.Shift] = new CommandWrapper(MenuCommands.Delete, false);
keyTable[Keys.Back| Keys.Shift] = new CommandWrapper(MenuCommands.Delete, false);
keyTable[Keys.Tab | Keys.Shift] = new CommandWrapper(MenuCommands.KeySelectPrevious);
keyTable[Keys.Delete| Keys.Shift] = new CommandWrapper(MenuCommands.Delete);
keyTable[Keys.Back| Keys.Shift] = new CommandWrapper(MenuCommands.Delete);
// ctrl modified keys
keyTable[Keys.Left | Keys.Control] = new CommandWrapper(MenuCommands.KeyNudgeLeft);
@ -80,7 +80,7 @@ namespace ICSharpCode.FormDesigner @@ -80,7 +80,7 @@ namespace ICSharpCode.FormDesigner
keyTable[Keys.Right | Keys.Control | Keys.Shift] = new CommandWrapper(MenuCommands.KeyNudgeWidthIncrease);
keyTable[Keys.Up | Keys.Control | Keys.Shift] = new CommandWrapper(MenuCommands.KeyNudgeHeightDecrease);
keyTable[Keys.Down | Keys.Control | Keys.Shift] = new CommandWrapper(MenuCommands.KeyNudgeHeightIncrease);
}
}
public bool PreFilterMessage(ref Message m)
{
@ -120,21 +120,17 @@ namespace ICSharpCode.FormDesigner @@ -120,21 +120,17 @@ namespace ICSharpCode.FormDesigner
// } catch (Exception e) {
// MessageService.ShowError(e);
// }
// }
// }
// return false;
// }
Keys keyPressed = (Keys)m.WParam.ToInt32() | Control.ModifierKeys;
if (keyPressed == Keys.F1 | keyPressed == Keys.F4) {
return false;
}
if (keyPressed == Keys.Escape) {
if (formDesigner.IsTabOrderMode)
if (formDesigner.IsTabOrderMode) {
formDesigner.HideTabOrder();
else
formDesigner.WorkbenchWindow.SwitchView(0);
return true;
return true;
}
}
CommandWrapper commandWrapper = (CommandWrapper)keyTable[keyPressed];
@ -151,8 +147,7 @@ namespace ICSharpCode.FormDesigner @@ -151,8 +147,7 @@ namespace ICSharpCode.FormDesigner
return true;
}
return (System.Windows.Forms.Control.ModifierKeys & Keys.Alt) != Keys.Alt &&
(System.Windows.Forms.Control.ModifierKeys & Keys.Control) != Keys.Control;
return false;
}
class CommandWrapper
@ -172,7 +167,7 @@ namespace ICSharpCode.FormDesigner @@ -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)

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

@ -326,13 +326,23 @@ namespace ICSharpCode.SharpDevelop.Refactoring @@ -326,13 +326,23 @@ namespace ICSharpCode.SharpDevelop.Refactoring
List<ParameterDeclarationExpression> parameters = new List<ParameterDeclarationExpression>(1);
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,
ConvertModifier(e.Modifiers | ModifierEnum.Virtual),
ConvertModifier(modifier),
new TypeReference("System.Void"),
parameters, null);
ArrayList arguments = new ArrayList(2);
arguments.Add(new ThisReferenceExpression());
if (e.IsStatic)
arguments.Add(new PrimitiveExpression(null, "null"));
else
arguments.Add(new ThisReferenceExpression());
arguments.Add(new IdentifierExpression("e"));
method.Body = new BlockStatement();
method.Body.AddChild(new RaiseEventStatement(e.Name, arguments));

Loading…
Cancel
Save