Browse Source

Show context menu when right-clicking on IconBarMargin.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5071 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 16 years ago
parent
commit
4931df6c98
  1. 8
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs
  2. 13
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/IconBarMargin.cs
  3. 7
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Editing/TextArea.cs

8
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs

@ -188,8 +188,8 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -188,8 +188,8 @@ namespace ICSharpCode.AvalonEdit.AddIn
textView.Services.AddService(typeof(ISyntaxHighlighter), new AvalonEditSyntaxHighlighterAdapter(textView));
textEditor.TextArea.TextView.MouseRightButtonDown += TextViewMouseRightButtonDown;
textEditor.TextArea.TextView.ContextMenuOpening += TextViewContextMenuOpening;
textEditor.TextArea.MouseRightButtonDown += TextAreaMouseRightButtonDown;
textEditor.TextArea.ContextMenuOpening += TextAreaContextMenuOpening;
textEditor.TextArea.TextCopied += textEditor_TextArea_TextCopied;
return textEditor;
@ -209,13 +209,13 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -209,13 +209,13 @@ namespace ICSharpCode.AvalonEdit.AddIn
textEditor.TextArea.LeftMargins.OfType<IconBarMargin>().Single().TextView = null;
}
void TextViewContextMenuOpening(object sender, ContextMenuEventArgs e)
void TextAreaContextMenuOpening(object sender, ContextMenuEventArgs e)
{
ITextEditor adapter = GetAdapterFromSender(sender);
MenuService.CreateContextMenu(adapter, contextMenuPath).IsOpen = true;
}
void TextViewMouseRightButtonDown(object sender, MouseButtonEventArgs e)
void TextAreaMouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
TextEditor textEditor = GetTextEditorFromSender(sender);
var position = textEditor.GetPositionFromPoint(e.GetPosition(textEditor));

13
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/IconBarMargin.cs

@ -111,15 +111,18 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -111,15 +111,18 @@ namespace ICSharpCode.AvalonEdit.AddIn
return;
}
}
// no bookmark on the line: create a new breakpoint
ITextEditor textEditor = textView.Services.GetService(typeof(ITextEditor)) as ITextEditor;
if (textEditor != null) {
ICSharpCode.SharpDevelop.Debugging.DebuggerService.ToggleBreakpointAt(textEditor, line);
if (e.ChangedButton == MouseButton.Left) {
// no bookmark on the line: create a new breakpoint
ITextEditor textEditor = textView.Services.GetService(typeof(ITextEditor)) as ITextEditor;
if (textEditor != null) {
ICSharpCode.SharpDevelop.Debugging.DebuggerService.ToggleBreakpointAt(textEditor, line);
}
}
}
}
// don't allow selecting text through the IconBarMargin
e.Handled = true;
if (e.ChangedButton == MouseButton.Left)
e.Handled = true;
}
}
}

7
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Editing/TextArea.cs

@ -923,6 +923,13 @@ namespace ICSharpCode.AvalonEdit.Editing @@ -923,6 +923,13 @@ namespace ICSharpCode.AvalonEdit.Editing
}
#endregion
/// <inheritdoc/>
protected override HitTestResult HitTestCore(PointHitTestParameters hitTestParameters)
{
// accept clicks even where the text area draws no background
return new PointHitTestResult(this, hitTestParameters.HitPoint);
}
/// <inheritdoc/>
protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e)
{

Loading…
Cancel
Save