Browse Source

merge all bookmarks for next/prev operations in BookmarkPadToolbarCommands.cs

pull/4/head
eusebiu 15 years ago
parent
commit
3fa55395fe
  1. 10
      src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
  2. 4
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
  3. 63
      src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPadToolbarCommands.cs
  4. 7
      src/Main/Base/Project/Src/Bookmarks/Pad/Controls/ListViewPad.xaml.cs
  5. 47
      src/Main/Base/Project/Src/Commands/DebugCommands.cs

10
src/Main/Base/Project/ICSharpCode.SharpDevelop.addin

@ -972,11 +972,11 @@ @@ -972,11 +972,11 @@
<ToolbarItem id = "GotoPrev"
icon = "Bookmarks.PrevBreakpoint"
tooltip = "${res:MainWindow.Windows.BookmarkPad.GotoPrev.ToolTip}"
class = "ICSharpCode.SharpDevelop.Project.Commands.PrevBreakpointCommand"/>
class = "ICSharpCode.SharpDevelop.Bookmarks.PrevBookmarkPadCommand"/>
<ToolbarItem id = "GotoNext"
icon = "Bookmarks.NextBreakpoint"
tooltip = "${res:MainWindow.Windows.BookmarkPad.GotoNext.ToolTip}"
class = "ICSharpCode.SharpDevelop.Project.Commands.NextBreakpointCommand"/>
class = "ICSharpCode.SharpDevelop.Bookmarks.NextBookmarkPadCommand"/>
<ToolbarItem id = "GotoInFolderSeparator" type = "Separator" />
<ToolbarItem id = "DisableAllBreakpoints"
icon = "Bookmarks.DisableAllBreakpoints"
@ -986,7 +986,7 @@ @@ -986,7 +986,7 @@
<ToolbarItem id = "DeleteMark"
icon = "Icons.16x16.DeleteIcon"
tooltip = "${res:MainWindow.Windows.BookmarkPad.DeleteMark.ToolTip}"
class = "ICSharpCode.SharpDevelop.Bookmarks.DeleteBreakpointCommand"/>
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteBreakpointCommand"/>
<ToolbarItem id = "EnableDisableSeparator" type = "Separator" />
<ToolbarItem id = "DeleteAllBreakpoints"
icon = "Bookmarks.DeleteAllBreakpoints"
@ -1948,11 +1948,11 @@ @@ -1948,11 +1948,11 @@
<ToolbarItem id = "GotoPrev"
icon = "Bookmarks.GotoPrev"
tooltip = "${res:MainWindow.Windows.BookmarkPad.GotoPrev.ToolTip}"
class = "ICSharpCode.SharpDevelop.Bookmarks.GotoPrev"/>
class = "ICSharpCode.SharpDevelop.Bookmarks.PrevBookmarkPadCommand"/>
<ToolbarItem id = "GotoNext"
icon = "Bookmarks.GotoNext"
tooltip = "${res:MainWindow.Windows.BookmarkPad.GotoNext.ToolTip}"
class = "ICSharpCode.SharpDevelop.Bookmarks.GotoNext"/>
class = "ICSharpCode.SharpDevelop.Bookmarks.NextBookmarkPadCommand"/>
<ToolbarItem id = "GotoInFolderSeparator" type = "Separator" />
<ToolbarItem id = "EnableDisableAll"
icon = "Bookmarks.EnableDisableAll"

4
src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj

@ -92,7 +92,9 @@ @@ -92,7 +92,9 @@
<Compile Include="..\..\ICSharpCode.SharpDevelop.BuildWorker\ExtendedBinaryReader.cs">
<Link>Src\Project\MSBuildEngine\ExtendedBinaryReader.cs</Link>
</Compile>
<Compile Include="Src\Bookmarks\Pad\Controls\ListViewPad.xaml.cs" />
<Compile Include="Src\Bookmarks\Pad\Controls\ListViewPad.xaml.cs">
<DependentUpon>ListViewPad.xaml</DependentUpon>
</Compile>
<Compile Include="Src\Commands\SharpDevelopRoutedCommands.cs" />
<Compile Include="Src\Editor\AddInHighlightingResource.cs" />
<Compile Include="Src\Editor\AvalonEdit\AvalonEditDocumentAdapter.cs" />

63
src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPadToolbarCommands.cs

@ -3,34 +3,73 @@ @@ -3,34 +3,73 @@
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Linq;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Bookmarks.Pad.Controls;
using ICSharpCode.SharpDevelop.Debugging;
namespace ICSharpCode.SharpDevelop.Bookmarks
{
#region Goto Commands
/*
public class GotoNext : AbstractEditActionMenuCommand
public abstract class NextPrevBookmarkPadCommand : AbstractMenuCommand
{
public override IEditAction EditAction {
get {
return new ICSharpCode.TextEditor.Actions.GotoNextBookmark(PrevBookmark.AcceptOnlyStandardBookmarks);
public void Run(ListViewPadItemModel item)
{
var bookmarkBase = (BookmarkPadBase)Owner;
if (item == null) return;
// get next bookmark
int line = (item.Mark as SDBookmark).LineNumber;
SDBookmark bookmark;
if (item.Mark is BreakpointBookmark) {
var bookmarks = DebuggerService.Breakpoints;
bookmark = bookmarks.FirstOrDefault(b => b.LineNumber == line);
if (bookmark == null && bookmarks.Count > 0) {
bookmark = bookmarks[0]; // jump around to first bookmark
}
}
else {
var bookmarks = BookmarkManager.Bookmarks;
bookmark = bookmarks.FirstOrDefault(b => b.LineNumber == line);
if (bookmark == null && bookmarks.Count > 0) {
bookmark = bookmarks[0]; // jump around to first bookmark
}
}
if (bookmark != null) {
FileService.JumpToFilePosition(bookmark.FileName, bookmark.LineNumber, bookmark.ColumnNumber);
}
// select in tree
bookmarkBase.SelectItem(item);
}
}
public class GotoPrev : AbstractEditActionMenuCommand
public sealed class NextBookmarkPadCommand : NextPrevBookmarkPadCommand
{
public override IEditAction EditAction {
get {
return new ICSharpCode.TextEditor.Actions.GotoPrevBookmark(PrevBookmark.AcceptOnlyStandardBookmarks);
}
public override void Run()
{
var bookmarkBase = (BookmarkPadBase)Owner;
var nextItem = bookmarkBase.NextItem;
base.Run(nextItem);
}
}
public sealed class PrevBookmarkPadCommand : NextPrevBookmarkPadCommand
{
public override void Run()
{
var bookmarkBase = (BookmarkPadBase)Owner;
var prevItem = bookmarkBase.PrevItem;
base.Run(prevItem);
}
}
*/
#endregion Goto Commands
#region Delete BookMark(s) commands

7
src/Main/Base/Project/Src/Bookmarks/Pad/Controls/ListViewPad.xaml.cs

@ -38,6 +38,9 @@ namespace ICSharpCode.SharpDevelop.Bookmarks.Pad.Controls @@ -38,6 +38,9 @@ namespace ICSharpCode.SharpDevelop.Bookmarks.Pad.Controls
public ListViewPadItemModel CurrentItem {
get {
if (MyListView.SelectedItem == null && MyListView.Items.Count > 0)
this.MyListView.SelectedItem = MyListView.Items[0];
return MyListView.SelectedItem as ListViewPadItemModel;
}
set {
@ -53,7 +56,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks.Pad.Controls @@ -53,7 +56,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks.Pad.Controls
foreach (var line in ItemCollection) {
if (found)
return line;
if (line == MyListView.SelectedItem as ListViewPadItemModel)
if (line == CurrentItem)
found = true;
}
@ -68,7 +71,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks.Pad.Controls @@ -68,7 +71,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks.Pad.Controls
foreach (var line in ItemCollection) {
if (found)
return prev;
if (line == MyListView.SelectedItem as ListViewPadItemModel) {
if (line == CurrentItem) {
found = true;
}
else {

47
src/Main/Base/Project/Src/Commands/DebugCommands.cs

@ -137,42 +137,6 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -137,42 +137,6 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
}
}
public abstract class NextPrevBreakpointCommand : AbstractMenuCommand
{
public void Run(ListViewPadItemModel nextItem)
{
var bookmarkBase = (BookmarkPadBase)Owner;
if (nextItem == null) return;
// get next bookmark
int line = (nextItem.Mark as SDBookmark).LineNumber;
var bookmarks = DebuggerService.Breakpoints;
var bookmark = bookmarks.FirstOrDefault(b => b.LineNumber == line);
if (bookmark == null && bookmarks.Count > 0) {
bookmark = bookmarks[0]; // jump around to first bookmark
}
if (bookmark != null) {
FileService.JumpToFilePosition(bookmark.FileName, bookmark.LineNumber, bookmark.ColumnNumber);
}
// select in tree
bookmarkBase.SelectItem(nextItem);
}
}
public sealed class NextBreakpointCommand : NextPrevBreakpointCommand
{
public override void Run()
{
var bookmarkBase = (BookmarkPadBase)Owner;
var nextItem = bookmarkBase.NextItem;
base.Run(nextItem);
}
}
public class DeleteBreakpointCommand : AbstractMenuCommand
{
public override void Run()
@ -186,17 +150,6 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -186,17 +150,6 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
}
}
public sealed class PrevBreakpointCommand : NextPrevBreakpointCommand
{
public override void Run()
{
var bookmarkBase = (BookmarkPadBase)Owner;
var prevItem = bookmarkBase.PrevItem;
base.Run(prevItem);
}
}
public class AttachToProcessCommand : AbstractMenuCommand
{
public override void Run()

Loading…
Cancel
Save