Browse Source

Fixed SD2-402:Toolbar in bookmark pad.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@480 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Mike Krüger 21 years ago
parent
commit
748cb314ca
  1. 2
      src/Main/Base/Project/Src/TextEditor/Bookmarks/Commands/MenuCommands.cs
  2. 49
      src/Main/Base/Project/Src/TextEditor/Bookmarks/Pad/BookmarkPad.cs
  3. 24
      src/Main/Base/Project/Src/TextEditor/Bookmarks/Pad/BookmarkPadToolbarCommands.cs
  4. 5
      src/Main/Base/Project/Src/TextEditor/Bookmarks/Pad/Nodes/BookmarkNode.cs

2
src/Main/Base/Project/Src/TextEditor/Bookmarks/Commands/MenuCommands.cs

@ -38,11 +38,11 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
public class PrevBookmark : AbstractEditActionMenuCommand public class PrevBookmark : AbstractEditActionMenuCommand
{ {
public static bool AcceptOnlyStandardBookmarks(Bookmark mark) public static bool AcceptOnlyStandardBookmarks(Bookmark mark)
{ {
return (mark is SDBookmark); return (mark is SDBookmark);
} }
public override IEditAction EditAction { public override IEditAction EditAction {
get { get {
return new ICSharpCode.TextEditor.Actions.GotoPrevBookmark(PrevBookmark.AcceptOnlyStandardBookmarks); return new ICSharpCode.TextEditor.Actions.GotoPrevBookmark(PrevBookmark.AcceptOnlyStandardBookmarks);

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

@ -44,6 +44,12 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
} }
} }
public BookmarkNode CurrentNode {
get {
return bookmarkTreeView.SelectedNode as BookmarkNode;
}
}
public BookmarkPad() public BookmarkPad()
{ {
instance = this; instance = this;
@ -67,6 +73,49 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
} }
} }
public class BookmarkNodeEnumerator {
public IEnumerator<TreeNode> GetEnumerator()
{
Stack<TreeNode> treeNodes = new Stack<TreeNode>();
foreach (TreeNode node in Instance.bookmarkTreeView.Nodes) {
treeNodes.Push(node);
}
while (treeNodes.Count > 0) {
TreeNode node = treeNodes.Pop();
foreach (TreeNode childNode in node.Nodes) {
treeNodes.Push(childNode);
}
yield return node;
}
}
}
BookmarkNodeEnumerator bookmarkNodeEnumerator = new BookmarkNodeEnumerator();
public BookmarkNodeEnumerator AllNodes {
get {
return bookmarkNodeEnumerator;
}
}
public void EnableDisableAll()
{
bool isOneChecked = false;
foreach (TreeNode node in AllNodes) {
if (node is BookmarkNode) {
if (((BookmarkNode)node).Checked) {
isOneChecked = true;
break;
}
}
}
foreach (TreeNode node in AllNodes) {
if (node is BookmarkNode) {
((BookmarkNode)node).Checked = !isOneChecked;
}
}
}
void AddMark(SDBookmark mark) void AddMark(SDBookmark mark)
{ {
if (!mark.IsVisibleInBookmarkPad) if (!mark.IsVisibleInBookmarkPad)

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

@ -21,20 +21,26 @@ using ICSharpCode.SharpDevelop.Project;
using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.DefaultEditor.Commands; using ICSharpCode.SharpDevelop.DefaultEditor.Commands;
using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop;
using ICSharpCode.TextEditor;
using ICSharpCode.TextEditor.Actions;
namespace ICSharpCode.SharpDevelop.Bookmarks namespace ICSharpCode.SharpDevelop.Bookmarks
{ {
public class GotoNext : AbstractMenuCommand public class GotoNext : AbstractEditActionMenuCommand
{ {
public override void Run() public override IEditAction EditAction {
{ get {
return new ICSharpCode.TextEditor.Actions.GotoNextBookmark(PrevBookmark.AcceptOnlyStandardBookmarks);
}
} }
} }
public class GotoPrev : AbstractMenuCommand public class GotoPrev : AbstractEditActionMenuCommand
{ {
public override void Run() public override IEditAction EditAction {
{ get {
return new ICSharpCode.TextEditor.Actions.GotoPrevBookmark(PrevBookmark.AcceptOnlyStandardBookmarks);
}
} }
} }
@ -42,6 +48,11 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
{ {
public override void Run() public override void Run()
{ {
BookmarkNode node = BookmarkPad.Instance.CurrentNode;
if (node != null) {
node.Bookmark.Document.BookmarkManager.RemoveMark(node.Bookmark);
WorkbenchSingleton.MainForm.Refresh();
}
} }
} }
@ -49,6 +60,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
{ {
public override void Run() public override void Run()
{ {
BookmarkPad.Instance.EnableDisableAll();
} }
} }

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

@ -54,6 +54,11 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
} }
} }
public override void CheckedChanged()
{
bookmark.IsEnabled = Checked;
}
void BookmarkDocumentChanged(object sender, EventArgs e) void BookmarkDocumentChanged(object sender, EventArgs e)
{ {
if (bookmark.Document != null) { if (bookmark.Document != null) {

Loading…
Cancel
Save