Browse Source

Fixed SD2-1290: Bookmark position incorrect after pasting several lines before it

Make bookmarks pad not show breakpoints and breakpoints pad not show bookmarks.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.1@2367 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 19 years ago
parent
commit
55493dcbc3
  1. 10
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.addin
  2. 9
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/BreakPointsPad.cs
  3. 2
      src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/BookmarkManager/BookmarkManager.cs
  4. 1
      src/Main/Base/Project/Src/Project/Solution/Solution.cs
  5. 53
      src/Main/Base/Project/Src/TextEditor/Bookmarks/Pad/BookmarkPad.cs
  6. 5
      src/Main/Base/Project/Src/TextEditor/Bookmarks/Pad/BookmarkPadToolbarCommands.cs

10
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.addin

@ -36,21 +36,21 @@ @@ -36,21 +36,21 @@
</Path>-->
<Path name = "/SharpDevelop/Workbench/Pads">
<Pad id = "BreakPointsPad"
<Pad id = "BreakPointsPad"
category = "Debugger"
title = "${res:MainWindow.Windows.Debug.Breakpoints}"
icon = "PadIcons.BreakPoints"
shortcut = "Control|Alt|P"
class = "ICSharpCode.SharpDevelop.Gui.Pads.BreakPointsPad"/>
<Pad id = "CallStackPad"
<Pad id = "CallStackPad"
category = "Debugger"
title = "${res:MainWindow.Windows.Debug.CallStack}"
icon = "PadIcons.CallStack"
shortcut = "Control|Alt|C"
class = "ICSharpCode.SharpDevelop.Gui.Pads.CallStackPad"/>
<Pad id = "LoadedModulesPad"
<Pad id = "LoadedModulesPad"
category = "Debugger"
title = "${res:MainWindow.Windows.Debug.Modules}"
icon = "PadIcons.LoadedModules"
@ -64,14 +64,14 @@ @@ -64,14 +64,14 @@
shortcut = "Control|Alt|H"
class = "ICSharpCode.SharpDevelop.Gui.Pads.RunningThreadsPad"/>
<Pad id = "LocalVarPad"
<Pad id = "LocalVarPad"
category = "Debugger"
title = "${res:MainWindow.Windows.Debug.LocalVariables}"
icon = "PadIcons.LocalVariables"
shortcut = "Control|Alt|V"
class = "ICSharpCode.SharpDevelop.Gui.Pads.LocalVarPad"/>
<!--<Pad id = "ExceptionHistoryPad"
<!--<Pad id = "ExceptionHistoryPad"
category = "Debugger"
title = "${res:MainWindow.Windows.Debug.ExceptionHistory}"
icon = "PadIcons.Exceptions"

9
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/BreakPointsPad.cs

@ -10,10 +10,12 @@ using Debugger; @@ -10,10 +10,12 @@ using Debugger;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Services;
using ICSharpCode.SharpDevelop.Debugging;
using System.Windows.Forms;
using ICSharpCode.Core;
namespace ICSharpCode.SharpDevelop.Gui.Pads
{
public class BreakPointsPad : BookmarkPad
public class BreakPointsPad : BookmarkPadBase
{
WindowsDebugger debugger;
NDebugger debuggerCore;
@ -40,5 +42,10 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads @@ -40,5 +42,10 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
{
debuggerCore = debugger.DebuggerCore;
}
protected override bool ShowBookmarkInThisPad(SDBookmark mark)
{
return mark.IsVisibleInBookmarkPad && mark is Debugging.BreakpointBookmark;
}
}
}

2
src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/BookmarkManager/BookmarkManager.cs

@ -141,7 +141,7 @@ namespace ICSharpCode.TextEditor.Document @@ -141,7 +141,7 @@ namespace ICSharpCode.TextEditor.Document
OnRemoved(new BookmarkEventArgs(mark));
--i;
changed = true;
} else if (mark.LineNumber > e.LineStart + 1 || (e.LinesMoved < 0 && mark.LineNumber > e.LineStart)) {
} else if (mark.LineNumber > e.LineStart) {
changed = true;
int newLine = mark.LineNumber + e.LinesMoved;
if (newLine >= 0) {

1
src/Main/Base/Project/Src/Project/Solution/Solution.cs

@ -38,6 +38,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -38,6 +38,7 @@ namespace ICSharpCode.SharpDevelop.Project
preferences = new SolutionPreferences(this);
}
[Browsable(false)]
public MSBuild.Engine BuildEngine {
get { return buildEngine; }
}

53
src/Main/Base/Project/Src/TextEditor/Bookmarks/Pad/BookmarkPad.cs

@ -14,7 +14,7 @@ using ICSharpCode.SharpDevelop.Gui; @@ -14,7 +14,7 @@ using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.SharpDevelop.Bookmarks
{
public class BookmarkPad : AbstractPadContent
public sealed class BookmarkPad : BookmarkPadBase
{
static BookmarkPad instance;
@ -27,11 +27,19 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -27,11 +27,19 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
}
}
public BookmarkPad()
{
instance = this;
}
}
public abstract class BookmarkPadBase : AbstractPadContent
{
Panel myPanel = new Panel();
ExtTreeView bookmarkTreeView = new ExtTreeView();
Dictionary<string, BookmarkFolderNode> fileNodes = new Dictionary<string, BookmarkFolderNode>();
public override Control Control {
get {
return myPanel;
@ -44,21 +52,23 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -44,21 +52,23 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
}
}
public BookmarkPad()
protected virtual ToolStrip CreateToolStrip()
{
ToolStrip toolStrip = ToolbarService.CreateToolStrip(this, "/SharpDevelop/Pads/BookmarkPad/Toolbar");
toolStrip.Stretch = true;
toolStrip.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
return toolStrip;
}
protected BookmarkPadBase()
{
instance = this;
bookmarkTreeView.Dock = DockStyle.Fill;
bookmarkTreeView.CheckBoxes = true;
bookmarkTreeView.HideSelection = false;
bookmarkTreeView.Font = ExtTreeNode.RegularBigFont;
bookmarkTreeView.IsSorted = false;
ToolStrip toolStrip = ToolbarService.CreateToolStrip(this, "/SharpDevelop/Pads/BookmarkPad/Toolbar");
toolStrip.Stretch = true;
toolStrip.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
myPanel.Controls.AddRange(new Control[] { bookmarkTreeView, toolStrip} );
myPanel.Controls.AddRange(new Control[] { bookmarkTreeView, CreateToolStrip()} );
BookmarkManager.Added += new BookmarkEventHandler(BookmarkManagerAdded);
BookmarkManager.Removed += new BookmarkEventHandler(BookmarkManagerRemoved);
@ -67,11 +77,10 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -67,11 +77,10 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
}
}
public class BookmarkNodeEnumerator {
public IEnumerator<TreeNode> GetEnumerator()
{
public IEnumerable<TreeNode> AllNodes {
get {
Stack<TreeNode> treeNodes = new Stack<TreeNode>();
foreach (TreeNode node in Instance.bookmarkTreeView.Nodes) {
foreach (TreeNode node in bookmarkTreeView.Nodes) {
treeNodes.Push(node);
}
@ -84,13 +93,6 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -84,13 +93,6 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
}
}
}
BookmarkNodeEnumerator bookmarkNodeEnumerator = new BookmarkNodeEnumerator();
public BookmarkNodeEnumerator AllNodes {
get {
return bookmarkNodeEnumerator;
}
}
public void EnableDisableAll()
{
@ -112,7 +114,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -112,7 +114,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
void AddMark(SDBookmark mark)
{
if (!mark.IsVisibleInBookmarkPad)
if (!ShowBookmarkInThisPad(mark))
return;
if (!fileNodes.ContainsKey(mark.FileName)) {
BookmarkFolderNode folderNode = new BookmarkFolderNode(mark.FileName);
@ -123,7 +125,12 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -123,7 +125,12 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
fileNodes[mark.FileName].Expand();
}
void BookmarkManagerAdded(object sender, BookmarkEventArgs e)
protected virtual bool ShowBookmarkInThisPad(SDBookmark mark)
{
return mark.IsVisibleInBookmarkPad && !(mark is Debugging.BreakpointBookmark);
}
void BookmarkManagerAdded(object sender, BookmarkEventArgs e)
{
AddMark((SDBookmark)e.Bookmark);
}

5
src/Main/Base/Project/Src/TextEditor/Bookmarks/Pad/BookmarkPadToolbarCommands.cs

@ -35,7 +35,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -35,7 +35,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
{
public override void Run()
{
BookmarkNode node = BookmarkPad.Instance.CurrentNode;
BookmarkNode node = ((BookmarkPadBase)Owner).CurrentNode;
if (node != null) {
if (node.Bookmark.Document != null) {
node.Bookmark.Document.BookmarkManager.RemoveMark(node.Bookmark);
@ -51,8 +51,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -51,8 +51,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
{
public override void Run()
{
BookmarkPad.Instance.EnableDisableAll();
((BookmarkPadBase)Owner).EnableDisableAll();
}
}
}

Loading…
Cancel
Save