Browse Source

Move remaining bookmark classes.

newNRvisualizers
Daniel Grunwald 13 years ago
parent
commit
d54cf7c844
  1. 2
      src/AddIns/Analysis/UnitTesting/Test/Tree/TestableConditionTests.cs
  2. 2
      src/AddIns/Debugger/Debugger.AddIn/Pads/BreakPointsPad.cs
  3. 2
      src/AddIns/Debugger/Debugger.AddIn/Pads/ParallelPad/ParallelStackPad.cs
  4. 4
      src/AddIns/Debugger/Debugger.AddIn/Pads/ParallelPad/SelectedFrameBookmark.cs
  5. 10
      src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs
  6. 12
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs
  7. 4
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs
  8. 2
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/IconBarManager.cs
  9. 4
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/IconBarMargin.cs
  10. 2
      src/AddIns/DisplayBindings/ILSpyAddIn/LaunchILSpy/OpenInILSpyCommand.cs
  11. 2
      src/AddIns/DisplayBindings/ILSpyAddIn/ViewContent/CodeView.cs
  12. 10
      src/AddIns/DisplayBindings/ILSpyAddIn/ViewContent/DecompiledViewContent.cs
  13. 6
      src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchManager.cs
  14. 2
      src/AddIns/Misc/SharpRefactoring/Project/Src/ClassRefactoringSubmenuBuilder.cs
  15. 2
      src/AddIns/Misc/SharpRefactoring/Project/Src/PropertyRefactoringMenuBuilder.cs
  16. 12
      src/Main/Base/Project/Editor/Bookmarks/BookmarkPad.cs
  17. 2
      src/Main/Base/Project/Editor/Bookmarks/BookmarkPadContent.xaml
  18. 6
      src/Main/Base/Project/Editor/Bookmarks/BookmarkPadToolbarCommands.cs
  19. 2
      src/Main/Base/Project/Editor/Bookmarks/EntityBookmark.cs
  20. 61
      src/Main/Base/Project/Editor/Bookmarks/IBookmarkManager.cs
  21. 4
      src/Main/Base/Project/Editor/Bookmarks/SDBookmark.cs
  22. 42
      src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
  23. 9
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
  24. 33
      src/Main/Base/Project/Services/SD.cs
  25. 4
      src/Main/Base/Project/Src/Commands/DebugCommands.cs
  26. 2
      src/Main/Base/Project/Src/Editor/Commands/ClassBookmarkSubmenuBuilder.cs
  27. 2
      src/Main/Base/Project/Src/Editor/Commands/ClassMemberMenuBuilder.cs
  28. 1
      src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs
  29. 4
      src/Main/Base/Project/Src/Project/Behaviors/DefaultProjectBehavior.cs
  30. 2
      src/Main/Base/Project/Src/Services/Debugger/BreakpointBookmark.cs
  31. 6
      src/Main/Base/Project/Src/Services/Debugger/CurrentLineBookmark.cs
  32. 33
      src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs
  33. 2
      src/Main/Base/Project/Src/Services/Debugger/DecompiledBreakpointBookmark.cs
  34. 2
      src/Main/Base/Project/Src/Services/RefactoringService/RefactoringMenuBuilder.cs
  35. 95
      src/Main/SharpDevelop/Editor/Bookmarks/BookmarkManager.cs
  36. 21
      src/Main/SharpDevelop/Editor/Bookmarks/BookmarkMenuCommands.cs
  37. 4
      src/Main/SharpDevelop/SharpDevelop.csproj

2
src/AddIns/Analysis/UnitTesting/Test/Tree/TestableConditionTests.cs

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Project;
using ICSharpCode.UnitTesting;
using NUnit.Framework;

2
src/AddIns/Debugger/Debugger.AddIn/Pads/BreakPointsPad.cs

@ -9,7 +9,7 @@ using Debugger; @@ -9,7 +9,7 @@ using Debugger;
using Debugger.AddIn.Pads.Controls;
using ICSharpCode.Core;
using ICSharpCode.Core.Presentation;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Debugging;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Services;

2
src/AddIns/Debugger/Debugger.AddIn/Pads/ParallelPad/ParallelStackPad.cs

@ -16,7 +16,7 @@ using ICSharpCode.AvalonEdit.Rendering; @@ -16,7 +16,7 @@ using ICSharpCode.AvalonEdit.Rendering;
using ICSharpCode.Core;
using ICSharpCode.Core.Presentation;
using ICSharpCode.NRefactory;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Debugging;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Gui.Pads;

4
src/AddIns/Debugger/Debugger.AddIn/Pads/ParallelPad/SelectedFrameBookmark.cs

@ -5,10 +5,10 @@ using System.Windows.Media; @@ -5,10 +5,10 @@ using System.Windows.Media;
using ICSharpCode.Core;
using ICSharpCode.NRefactory;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Editor;
namespace ICSharpCode.SharpDevelop.Bookmarks
namespace ICSharpCode.SharpDevelop.Editor.Bookmarks
{
public class SelectedFrameBookmark : SDMarkerBookmark
{

10
src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs

@ -22,7 +22,7 @@ using ICSharpCode.Core.WinForms; @@ -22,7 +22,7 @@ using ICSharpCode.Core.WinForms;
using ICSharpCode.NRefactory;
using ICSharpCode.NRefactory.CSharp;
using ICSharpCode.NRefactory.Semantics;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Debugging;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Gui;
@ -372,7 +372,7 @@ namespace ICSharpCode.SharpDevelop.Services @@ -372,7 +372,7 @@ namespace ICSharpCode.SharpDevelop.Services
AddBreakpoint(b);
}
BookmarkManager.Removed += (sender, e) => {
SD.BookmarkManager.BookmarkRemoved += (sender, e) => {
BreakpointBookmark bm = e.Bookmark as BreakpointBookmark;
if (bm != null) {
Breakpoint bp = bm.InternalBreakpointObject as Breakpoint;
@ -387,7 +387,7 @@ namespace ICSharpCode.SharpDevelop.Services @@ -387,7 +387,7 @@ namespace ICSharpCode.SharpDevelop.Services
void UpdateBreakpointLines()
{
foreach (BreakpointBookmark bookmark in BookmarkManager.Bookmarks.OfType<BreakpointBookmark>()) {
foreach (BreakpointBookmark bookmark in SD.BookmarkManager.Bookmarks.OfType<BreakpointBookmark>()) {
Breakpoint breakpoint = bookmark.InternalBreakpointObject as Breakpoint;
breakpoint.Line = bookmark.LineNumber;
breakpoint.Column = bookmark.ColumnNumber;
@ -396,7 +396,7 @@ namespace ICSharpCode.SharpDevelop.Services @@ -396,7 +396,7 @@ namespace ICSharpCode.SharpDevelop.Services
void UpdateBreakpointIcons()
{
foreach (BreakpointBookmark bookmark in BookmarkManager.Bookmarks.OfType<BreakpointBookmark>()) {
foreach (BreakpointBookmark bookmark in SD.BookmarkManager.Bookmarks.OfType<BreakpointBookmark>()) {
Breakpoint breakpoint = bookmark.InternalBreakpointObject as Breakpoint;
bookmark.IsHealthy = (CurrentProcess == null) || breakpoint.IsSet;
}
@ -517,7 +517,7 @@ namespace ICSharpCode.SharpDevelop.Services @@ -517,7 +517,7 @@ namespace ICSharpCode.SharpDevelop.Services
}
foreach (Breakpoint breakpoint in e.BreakpointsHit) {
var bookmark = BookmarkManager.Bookmarks.OfType<BreakpointBookmark>().First(bm => bm.InternalBreakpointObject == breakpoint);
var bookmark = SD.BookmarkManager.Bookmarks.OfType<BreakpointBookmark>().First(bm => bm.InternalBreakpointObject == breakpoint);
LoggingService.Debug(bookmark.Action + " " + bookmark.ScriptLanguage + " " + bookmark.Condition);

12
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs

@ -15,7 +15,7 @@ using ICSharpCode.AvalonEdit.Utils; @@ -15,7 +15,7 @@ using ICSharpCode.AvalonEdit.Utils;
using ICSharpCode.Core;
using ICSharpCode.NRefactory.Editor;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Gui;
@ -221,12 +221,12 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -221,12 +221,12 @@ namespace ICSharpCode.AvalonEdit.AddIn
{
if (bookmarksAttached) return;
bookmarksAttached = true;
foreach (SDBookmark bookmark in BookmarkManager.GetBookmarks(codeEditor.FileName)) {
foreach (SDBookmark bookmark in SD.BookmarkManager.GetBookmarks(codeEditor.FileName)) {
bookmark.Document = codeEditor.Document;
codeEditor.IconBarManager.Bookmarks.Add(bookmark);
}
BookmarkManager.Added += BookmarkManager_Added;
BookmarkManager.Removed += BookmarkManager_Removed;
SD.BookmarkManager.BookmarkAdded += BookmarkManager_Added;
SD.BookmarkManager.BookmarkRemoved += BookmarkManager_Removed;
PermanentAnchorService.AttachDocument(codeEditor.FileName, codeEditor.Document);
}
@ -237,8 +237,8 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -237,8 +237,8 @@ namespace ICSharpCode.AvalonEdit.AddIn
PermanentAnchorService.DetachDocument(codeEditor.FileName, codeEditor.Document);
}
BookmarkManager.Added -= BookmarkManager_Added;
BookmarkManager.Removed -= BookmarkManager_Removed;
SD.BookmarkManager.BookmarkAdded -= BookmarkManager_Added;
SD.BookmarkManager.BookmarkRemoved -= BookmarkManager_Removed;
foreach (SDBookmark bookmark in codeEditor.IconBarManager.Bookmarks.OfType<SDBookmark>()) {
if (bookmark.Document == codeEditor.Document) {
bookmark.Document = null;

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

@ -25,7 +25,7 @@ using ICSharpCode.Core; @@ -25,7 +25,7 @@ using ICSharpCode.Core;
using ICSharpCode.Core.Presentation;
using ICSharpCode.NRefactory.Editor;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.CodeCompletion;
@ -206,7 +206,7 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -206,7 +206,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
primaryTextEditor.UpdateCustomizedHighlighting();
if (secondaryTextEditor != null)
secondaryTextEditor.UpdateCustomizedHighlighting();
foreach (var bookmark in BookmarkManager.GetBookmarks(fileName).OfType<SDMarkerBookmark>())
foreach (var bookmark in SD.BookmarkManager.GetBookmarks(fileName).OfType<SDMarkerBookmark>())
bookmark.SetMarker();
}

2
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/IconBarManager.cs

@ -8,7 +8,7 @@ using System.Collections.Specialized; @@ -8,7 +8,7 @@ using System.Collections.Specialized;
using ICSharpCode.NRefactory.Editor;
using ICSharpCode.NRefactory.TypeSystem;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
namespace ICSharpCode.AvalonEdit.AddIn

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

@ -10,7 +10,7 @@ using System.Windows.Media; @@ -10,7 +10,7 @@ using System.Windows.Media;
using ICSharpCode.AvalonEdit.Editing;
using ICSharpCode.AvalonEdit.Rendering;
using ICSharpCode.AvalonEdit.Utils;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Debugging;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
@ -242,7 +242,7 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -242,7 +242,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
// no bookmark on the line: create a new breakpoint
ITextEditor textEditor = TextView.GetService(typeof(ITextEditor)) as ITextEditor;
if (textEditor != null) {
DebuggerService.ToggleBreakpointAt(textEditor, line, typeof(BreakpointBookmark));
DebuggerService.ToggleBreakpointAt(textEditor, line);
return;
}
}

2
src/AddIns/DisplayBindings/ILSpyAddIn/LaunchILSpy/OpenInILSpyCommand.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
using System;
using ICSharpCode.Core;
using ICSharpCode.NRefactory.Semantics;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Commands;
namespace ICSharpCode.ILSpyAddIn

2
src/AddIns/DisplayBindings/ILSpyAddIn/ViewContent/CodeView.cs

@ -18,7 +18,7 @@ using ICSharpCode.AvalonEdit.Search; @@ -18,7 +18,7 @@ using ICSharpCode.AvalonEdit.Search;
using ICSharpCode.Core;
using ICSharpCode.NRefactory.Editor;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Editor.AvalonEdit;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;

10
src/AddIns/DisplayBindings/ILSpyAddIn/ViewContent/DecompiledViewContent.cs

@ -16,7 +16,7 @@ using ICSharpCode.ILSpyAddIn.ViewContent; @@ -16,7 +16,7 @@ using ICSharpCode.ILSpyAddIn.ViewContent;
using ICSharpCode.NRefactory;
using ICSharpCode.NRefactory.TypeSystem;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Debugging;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Editor.AvalonEdit;
@ -65,8 +65,8 @@ namespace ICSharpCode.ILSpyAddIn @@ -65,8 +65,8 @@ namespace ICSharpCode.ILSpyAddIn
thread.Name = "Decompiler (" + shortTypeName + ")";
thread.Start();
BookmarkManager.Removed += BookmarkManager_Removed;
BookmarkManager.Added += BookmarkManager_Added;
SD.BookmarkManager.BookmarkRemoved += BookmarkManager_Removed;
SD.BookmarkManager.BookmarkAdded += BookmarkManager_Added;
}
#endregion
@ -97,8 +97,8 @@ namespace ICSharpCode.ILSpyAddIn @@ -97,8 +97,8 @@ namespace ICSharpCode.ILSpyAddIn
{
cancellation.Cancel();
codeView.Dispose();
BookmarkManager.Added -= BookmarkManager_Added;
BookmarkManager.Removed -= BookmarkManager_Removed;
SD.BookmarkManager.BookmarkAdded -= BookmarkManager_Added;
SD.BookmarkManager.BookmarkRemoved -= BookmarkManager_Removed;
// DecompileInformation data;
// DebuggerDecompilerService.DebugInformation.TryRemove(decompiledType.MetadataToken.ToInt32(), out data);
base.Dispose();

6
src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchManager.cs

@ -16,7 +16,7 @@ using ICSharpCode.AvalonEdit.Search; @@ -16,7 +16,7 @@ using ICSharpCode.AvalonEdit.Search;
using ICSharpCode.Core;
using ICSharpCode.NRefactory.Editor;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Editor.AvalonEdit;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
@ -408,13 +408,13 @@ namespace SearchAndReplace @@ -408,13 +408,13 @@ namespace SearchAndReplace
if (switchToOpenedView)
textArea.Caret.Location = result.StartLocation;
foreach (var bookmark in BookmarkManager.GetBookmarks(result.FileName)) {
foreach (var bookmark in SD.BookmarkManager.GetBookmarks(result.FileName)) {
if (bookmark.CanToggle && bookmark.LineNumber == result.StartLocation.Line) {
// bookmark or breakpoint already exists at that line
return;
}
}
BookmarkManager.AddMark(new Bookmark { FileName = result.FileName, Location = result.StartLocation});
SD.BookmarkManager.AddMark(new Bookmark { FileName = result.FileName, Location = result.StartLocation});
}
}
#endregion

2
src/AddIns/Misc/SharpRefactoring/Project/Src/ClassRefactoringSubmenuBuilder.cs

@ -12,7 +12,7 @@ using ICSharpCode.Core.Presentation; @@ -12,7 +12,7 @@ using ICSharpCode.Core.Presentation;
using ICSharpCode.Core.WinForms;
using ICSharpCode.NRefactory;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Dom.Refactoring;
using ICSharpCode.SharpDevelop.Editor;

2
src/AddIns/Misc/SharpRefactoring/Project/Src/PropertyRefactoringMenuBuilder.cs

@ -12,7 +12,7 @@ using ICSharpCode.Core.WinForms; @@ -12,7 +12,7 @@ using ICSharpCode.Core.WinForms;
using ICSharpCode.NRefactory;
using ICSharpCode.NRefactory.Ast;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Dom.Refactoring;
using ICSharpCode.SharpDevelop.Editor;

12
src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPad.cs → src/Main/Base/Project/Editor/Bookmarks/BookmarkPad.cs

@ -14,7 +14,7 @@ using ICSharpCode.SharpDevelop.Editor.Bookmarks; @@ -14,7 +14,7 @@ using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Workbench;
namespace ICSharpCode.SharpDevelop.Bookmarks
namespace ICSharpCode.SharpDevelop.Editor.Bookmarks
{
public sealed class BookmarkPad : BookmarkPadBase
{
@ -55,10 +55,10 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -55,10 +55,10 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
this.control = new BookmarkPadContent();
this.control.InitializeComponent();
BookmarkManager.Added += BookmarkManagerAdded;
BookmarkManager.Removed += BookmarkManagerRemoved;
SD.BookmarkManager.BookmarkAdded += BookmarkManagerAdded;
SD.BookmarkManager.BookmarkRemoved += BookmarkManagerRemoved;
foreach (SDBookmark bookmark in BookmarkManager.Bookmarks) {
foreach (SDBookmark bookmark in SD.BookmarkManager.Bookmarks) {
if (ShowBookmarkInThisPad(bookmark)) {
this.Items.Add(bookmark);
}
@ -73,8 +73,8 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -73,8 +73,8 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
public override void Dispose()
{
BookmarkManager.Added -= BookmarkManagerAdded;
BookmarkManager.Removed -= BookmarkManagerRemoved;
SD.BookmarkManager.BookmarkAdded -= BookmarkManagerAdded;
SD.BookmarkManager.BookmarkRemoved -= BookmarkManagerRemoved;
}
protected abstract bool ShowBookmarkInThisPad(SDBookmark mark);

2
src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPadContent.xaml → src/Main/Base/Project/Editor/Bookmarks/BookmarkPadContent.xaml

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Grid
x:Class="ICSharpCode.SharpDevelop.Bookmarks.BookmarkPadContent"
x:Class="ICSharpCode.SharpDevelop.Editor.Bookmarks.BookmarkPadContent"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:core="http://icsharpcode.net/sharpdevelop/core"

6
src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPadToolbarCommands.cs → src/Main/Base/Project/Editor/Bookmarks/BookmarkPadToolbarCommands.cs

@ -10,7 +10,7 @@ using ICSharpCode.Core; @@ -10,7 +10,7 @@ using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Debugging;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
namespace ICSharpCode.SharpDevelop.Bookmarks
namespace ICSharpCode.SharpDevelop.Editor.Bookmarks
{
public sealed class NextBookmarkPadCommand : AbstractMenuCommand
{
@ -42,7 +42,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -42,7 +42,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
{
BookmarkPadBase pad = (BookmarkPadBase)this.Owner;
foreach(SDBookmark bm in pad.Items.OfType<SDBookmark>().ToList()) {
BookmarkManager.RemoveMark(bm);
SD.BookmarkManager.RemoveMark(bm);
}
}
}
@ -53,7 +53,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -53,7 +53,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
{
BookmarkPadBase pad = (BookmarkPadBase)this.Owner;
if (pad.SelectedItem != null) {
BookmarkManager.RemoveMark(pad.SelectedItem);
SD.BookmarkManager.RemoveMark(pad.SelectedItem);
}
}
}

2
src/Main/Base/Project/Editor/Bookmarks/EntityBookmark.cs

@ -54,7 +54,7 @@ namespace ICSharpCode.SharpDevelop.Editor.Bookmarks @@ -54,7 +54,7 @@ namespace ICSharpCode.SharpDevelop.Editor.Bookmarks
public virtual void MouseDown(MouseButtonEventArgs e)
{
if (e.ChangedButton == MouseButton.Left) {
var f = SD.AnalyticsMonitor.TrackFeature("ICSharpCode.SharpDevelop.Bookmarks.EntityBookmark.ShowContextMenu");
var f = SD.AnalyticsMonitor.TrackFeature("ICSharpCode.SharpDevelop.Editor.Bookmarks.EntityBookmark.ShowContextMenu");
var ctx = MenuService.ShowContextMenu(e.Source as UIElement, entity, ContextMenuPath);
ctx.Closed += delegate { f.EndTracking(); };
e.Handled = true;

61
src/Main/Base/Project/Editor/Bookmarks/IBookmarkManager.cs

@ -0,0 +1,61 @@ @@ -0,0 +1,61 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using ICSharpCode.Core;
using ICSharpCode.NRefactory.Editor;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Project;
namespace ICSharpCode.SharpDevelop.Editor.Bookmarks
{
/// <summary>
/// Manages the list of bookmarks in the current solution.
/// </summary>
[SDService]
public interface IBookmarkManager
{
/// <summary>
/// Gets the collection of bookmarks.
/// </summary>
IReadOnlyCollection<SDBookmark> Bookmarks { get; }
event EventHandler<BookmarkEventArgs> BookmarkAdded;
event EventHandler<BookmarkEventArgs> BookmarkRemoved;
IEnumerable<SDBookmark> GetBookmarks(FileName fileName);
IEnumerable<SDBookmark> GetProjectBookmarks(IProject project);
/// <summary>
/// Adds the specified bookmark.
/// The FileName and Location properties must be set before calling this method.
/// </summary>
void AddMark(SDBookmark bookmark);
/// <summary>
/// Adds the specified bookmark.
/// This method sets the FileName/Location properties.
/// </summary>
void AddMark(SDBookmark bookmark, IDocument document, int line);
/// <summary>
/// Removes the specified bookmark.
/// </summary>
void RemoveMark(SDBookmark bookmark);
/// <summary>
/// Removes a bookmark in the specified file and line.
/// </summary>
/// <returns>True if a bookmark was removed, null if no bookmark matching the specified criteria was found</returns>
bool RemoveBookmarkAt(FileName fileName, int line, Predicate<SDBookmark> predicate = null);
void RemoveAll(Predicate<SDBookmark> predicate);
/// <summary>
/// Deletes all bookmarks
/// </summary>
void Clear();
}
}

4
src/Main/Base/Project/Editor/Bookmarks/SDBookmark.cs

@ -7,7 +7,7 @@ using System.IO; @@ -7,7 +7,7 @@ using System.IO;
using ICSharpCode.Core;
using ICSharpCode.NRefactory;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
namespace ICSharpCode.SharpDevelop.Editor.Bookmarks
{
@ -79,7 +79,7 @@ namespace ICSharpCode.SharpDevelop.Editor.Bookmarks @@ -79,7 +79,7 @@ namespace ICSharpCode.SharpDevelop.Editor.Bookmarks
protected override void RemoveMark()
{
BookmarkManager.RemoveMark(this);
SD.BookmarkManager.RemoveMark(this);
}
}

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

@ -72,6 +72,8 @@ @@ -72,6 +72,8 @@
class="ICSharpCode.SharpDevelop.ClipboardWrapper"/>
<Service id="ICSharpCode.SharpDevelop.Project.IBuildService"
class="ICSharpCode.SharpDevelop.Project.BuildService"/>
<Service id="ICSharpCode.SharpDevelop.Editor.Bookmarks.IBookmarkManager"
class="ICSharpCode.SharpDevelop.Editor.Bookmarks.BookmarkManager"/>
<Service id="ICSharpCode.SharpDevelop.WinForms.IWinFormsService"
class="ICSharpCode.SharpDevelop.WinForms.WinFormsService"/>
@ -177,7 +179,7 @@ @@ -177,7 +179,7 @@
category = "Tools"
title = "${res:MainWindow.Windows.BookmarksLabel}"
icon = "PadIcons.Bookmarks"
class = "ICSharpCode.SharpDevelop.Bookmarks.BookmarkPad"
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.BookmarkPad"
defaultPosition = "Bottom, Hidden" />
<Pad id = "DefinitionView"
@ -1148,26 +1150,26 @@ @@ -1148,26 +1150,26 @@
<ToolbarItem id = "GotoPrev"
icon = "Bookmarks.PrevBreakpoint"
tooltip = "${res:MainWindow.Windows.BookmarkPad.GotoPrev.ToolTip}"
class = "ICSharpCode.SharpDevelop.Bookmarks.PrevBookmarkPadCommand"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.PrevBookmarkPadCommand"/>
<ToolbarItem id = "GotoNext"
icon = "Bookmarks.NextBreakpoint"
tooltip = "${res:MainWindow.Windows.BookmarkPad.GotoNext.ToolTip}"
class = "ICSharpCode.SharpDevelop.Bookmarks.NextBookmarkPadCommand"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.NextBookmarkPadCommand"/>
<ToolbarItem id = "GotoInFolderSeparator" type = "Separator" />
<ToolbarItem id = "DisableAllBreakpoints"
icon = "Bookmarks.DisableAllBreakpoints"
tooltip = "${res:MainWindow.Windows.BookmarkPad.EnableDisableAll.ToolTip}"
class = "ICSharpCode.SharpDevelop.Bookmarks.EnableDisableAll"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.EnableDisableAll"/>
<ToolbarItem id = "EnableDisableSeparator" type = "Separator" />
<ToolbarItem id = "DeleteMark"
icon = "Icons.16x16.DeleteIcon"
tooltip = "${res:MainWindow.Windows.BookmarkPad.DeleteMark.ToolTip}"
class = "ICSharpCode.SharpDevelop.Bookmarks.DeleteMark"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.DeleteMark"/>
<ToolbarItem id = "EnableDisableSeparator" type = "Separator" />
<ToolbarItem id = "DeleteAllBreakpoints"
icon = "Bookmarks.DeleteAllBreakpoints"
tooltip = "${res:XML.MainMenu.DebugMenu.RemoveAllBreakpoints}"
class = "ICSharpCode.SharpDevelop.Bookmarks.DeleteAllMarks"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.DeleteAllMarks"/>
</Path>
<!-- end toolbars -->
@ -1779,21 +1781,21 @@ @@ -1779,21 +1781,21 @@
label = "${res:XML.MainMenu.SearchMenu.ToggleBookmark}"
shortcut = "Control|M"
icon = "Bookmarks.ToggleMark"
class = "ICSharpCode.SharpDevelop.Bookmarks.ToggleBookmark"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.ToggleBookmark"/>
<MenuItem id = "PrevBookmark"
label = "${res:XML.MainMenu.SearchMenu.PrevBookmark}"
shortcut = "Control|OemComma"
icon = "Bookmarks.GotoPrevInFile"
class = "ICSharpCode.SharpDevelop.Bookmarks.PrevBookmark"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.PrevBookmark"/>
<MenuItem id = "NextBookmark"
label = "${res:XML.MainMenu.SearchMenu.NextBookmark}"
shortcut = "Control|OemPeriod"
icon = "Bookmarks.GotoNextInFile"
class = "ICSharpCode.SharpDevelop.Bookmarks.NextBookmark"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.NextBookmark"/>
<MenuItem id = "ClearBookmarks"
label = "${res:XML.MainMenu.SearchMenu.ClrBookmark}"
icon = "Bookmarks.ClearAll"
class = "ICSharpCode.SharpDevelop.Bookmarks.ClearBookmarks"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.ClearBookmarks"/>
</Condition>
<MenuItem id = "Separator2" type = "Separator" />
@ -2028,19 +2030,19 @@ @@ -2028,19 +2030,19 @@
<ToolbarItem id = "ToggleBookmark"
icon = "Bookmarks.ToggleMark"
tooltip = "${res:XML.MainMenu.SearchMenu.ToggleBookmark.Description}"
class = "ICSharpCode.SharpDevelop.Bookmarks.ToggleBookmark"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.ToggleBookmark"/>
<ToolbarItem id = "PrevBookmark"
icon = "Bookmarks.GotoPrevInFile"
tooltip = "${res:XML.MainMenu.SearchMenu.PrevBookmark.Description}"
class = "ICSharpCode.SharpDevelop.Bookmarks.PrevBookmark"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.PrevBookmark"/>
<ToolbarItem id = "NextBookmark"
icon = "Bookmarks.GotoNextInFile"
tooltip = "${res:XML.MainMenu.SearchMenu.NextBookmark.Description}"
class = "ICSharpCode.SharpDevelop.Bookmarks.NextBookmark"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.NextBookmark"/>
<ToolbarItem id = "ClearBookmarks"
icon = "Bookmarks.ClearAll"
tooltip = "${res:XML.MainMenu.SearchMenu.ClrBookmark.Description}"
class = "ICSharpCode.SharpDevelop.Bookmarks.ClearBookmarks"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.ClearBookmarks"/>
</Condition>
</Path>
@ -2110,31 +2112,31 @@ @@ -2110,31 +2112,31 @@
<ToolbarItem id = "ToggleBookmark"
tooltip = "${res:XML.MainMenu.SearchMenu.ToggleBookmark}"
icon = "Bookmarks.ToggleMark"
class = "ICSharpCode.SharpDevelop.Bookmarks.ToggleBookmark"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.ToggleBookmark"/>
</Condition>
<ToolbarItem id = "GotoPrev"
icon = "Bookmarks.GotoPrev"
tooltip = "${res:MainWindow.Windows.BookmarkPad.GotoPrev.ToolTip}"
class = "ICSharpCode.SharpDevelop.Bookmarks.PrevBookmarkPadCommand"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.PrevBookmarkPadCommand"/>
<ToolbarItem id = "GotoNext"
icon = "Bookmarks.GotoNext"
tooltip = "${res:MainWindow.Windows.BookmarkPad.GotoNext.ToolTip}"
class = "ICSharpCode.SharpDevelop.Bookmarks.NextBookmarkPadCommand"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.NextBookmarkPadCommand"/>
<!--<ToolbarItem id = "GotoInFolderSeparator" type = "Separator" />
<ToolbarItem id = "EnableDisableAll"
icon = "Bookmarks.EnableDisableAll"
tooltip = "${res:MainWindow.Windows.BookmarkPad.EnableDisableAll.ToolTip}"
class = "ICSharpCode.SharpDevelop.Bookmarks.EnableDisableAll"/>-->
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.EnableDisableAll"/>-->
<ToolbarItem id = "EnableDisableSeparator" type = "Separator" />
<ToolbarItem id = "DeleteMark"
icon = "Bookmarks.DeleteMark"
tooltip = "${res:MainWindow.Windows.BookmarkPad.DeleteMark.ToolTip}"
class = "ICSharpCode.SharpDevelop.Bookmarks.DeleteMark"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.DeleteMark"/>
<ToolbarItem id = "DeleteAllMarks"
icon = "Bookmarks.DeleteAllMarks"
tooltip = "${res:MainWindow.Windows.BookmarkPad.DeleteAllMarks.ToolTip}"
class = "ICSharpCode.SharpDevelop.Bookmarks.DeleteAllMarks"/>
class = "ICSharpCode.SharpDevelop.Editor.Bookmarks.DeleteAllMarks"/>
</Path>
<Path name = "/SharpDevelop/Pads/SearchResultPad/Toolbar">

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

@ -109,8 +109,11 @@ @@ -109,8 +109,11 @@
<Compile Include="Dom\SimpleModelCollection.cs" />
<Compile Include="Editor\Bookmarks\BookmarkBase.cs" />
<Compile Include="Editor\Bookmarks\BookmarkEventArgs.cs" />
<Compile Include="Editor\Bookmarks\BookmarkPad.cs" />
<Compile Include="Editor\Bookmarks\BookmarkPadToolbarCommands.cs" />
<Compile Include="Editor\Bookmarks\EntityBookmark.cs" />
<Compile Include="Editor\Bookmarks\IBookmark.cs" />
<Compile Include="Editor\Bookmarks\IBookmarkManager.cs" />
<Compile Include="Editor\Bookmarks\IBookmarkMargin.cs" />
<Compile Include="Editor\Bookmarks\SDBookmark.cs" />
<Compile Include="Editor\Bookmarks\SDMarkerBookmark.cs" />
@ -702,10 +705,6 @@ @@ -702,10 +705,6 @@
<EmbeddedResource Include="Resources\NewFileDialog.xfrm" />
<EmbeddedResource Include="Resources\OutputWindowOptionsPanel.xfrm" />
<EmbeddedResource Include="Resources\WordCountDialog.xfrm" />
<Compile Include="Src\Bookmarks\Commands\MenuCommands.cs" />
<Compile Include="Src\Bookmarks\Pad\BookmarkPad.cs" />
<Compile Include="Src\Bookmarks\Pad\BookmarkPadToolbarCommands.cs" />
<Compile Include="Src\Bookmarks\BookmarkManager.cs" />
<Compile Include="Src\Services\Tasks\TaskEventHandler.cs" />
<Compile Include="Src\Gui\Pads\DefinitionViewPad.cs" />
<Compile Include="Src\Project\MSBuildEnums.cs" />
@ -826,7 +825,7 @@ @@ -826,7 +825,7 @@
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<Page Include="Src\Bookmarks\Pad\BookmarkPadContent.xaml" />
<Page Include="Editor\Bookmarks\BookmarkPadContent.xaml" />
<Page Include="Src\Gui\Components\StringListEditorDialog.xaml" />
<Page Include="Src\Gui\Components\StringListEditorXaml.xaml" />
<Page Include="Src\Gui\Dialogs\OptionPanels\IDEOptions\CodeGenerationPanel.xaml" />

33
src/Main/Base/Project/Services/SD.cs

@ -9,6 +9,7 @@ using ICSharpCode.Core; @@ -9,6 +9,7 @@ using ICSharpCode.Core;
using ICSharpCode.Core.Implementation;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Parser;
using ICSharpCode.SharpDevelop.Project;
@ -98,86 +99,106 @@ namespace ICSharpCode.SharpDevelop @@ -98,86 +99,106 @@ namespace ICSharpCode.SharpDevelop
return null;
}
/// <summary>
/// Gets the workbench.
/// </summary>
/// <inheritdoc see="IWorkbench"/>
public static IWorkbench Workbench {
get { return GetRequiredService<IWorkbench>(); }
}
/// <summary>
/// Gets the <see cref="IMessageLoop"/> representing the main UI thread.
/// </summary>
public static IMessageLoop MainThread {
get { return GetRequiredService<IMessageLoop>(); }
}
/// <summary>
/// Gets the status bar.
/// </summary>
/// <inheritdoc see="IStatusBarService"/>
public static IStatusBarService StatusBar {
get { return GetRequiredService<IStatusBarService>(); }
}
/// <inheritdoc see="ILoggingService"/>
public static ILoggingService Log {
get { return GetRequiredService<ILoggingService>(); }
}
/// <inheritdoc see="IMessageService"/>
public static IMessageService MessageService {
get { return GetRequiredService<IMessageService>(); }
}
/// <inheritdoc see="IPropertyService"/>
public static IPropertyService PropertyService {
get { return GetRequiredService<IPropertyService>(); }
}
/// <inheritdoc see="Core.IResourceService"/>
public static Core.IResourceService ResourceService {
get { return GetRequiredService<Core.IResourceService>(); }
}
/// <inheritdoc see="IEditorControlService"/>
public static IEditorControlService EditorControlService {
get { return GetRequiredService<IEditorControlService>(); }
}
/// <inheritdoc see="IAnalyticsMonitor"/>
public static IAnalyticsMonitor AnalyticsMonitor {
get { return GetRequiredService<IAnalyticsMonitor>(); }
}
/// <inheritdoc see="IParserService"/>
public static IParserService ParserService {
get { return GetRequiredService<IParserService>(); }
}
/// <inheritdoc see="IAssemblyParserService"/>
public static IAssemblyParserService AssemblyParserService {
get { return GetRequiredService<IAssemblyParserService>(); }
}
/// <inheritdoc see="IFileService"/>
public static IFileService FileService {
get { return GetRequiredService<IFileService>(); }
}
/// <inheritdoc see="IGlobalAssemblyCacheService"/>
public static IGlobalAssemblyCacheService GlobalAssemblyCache {
get { return GetRequiredService<IGlobalAssemblyCacheService>(); }
}
/// <inheritdoc see="IAddInTree"/>
public static IAddInTree AddInTree {
get { return GetRequiredService<IAddInTree>(); }
}
/// <inheritdoc see="IShutdownService"/>
public static IShutdownService ShutdownService {
get { return GetRequiredService<IShutdownService>(); }
}
/// <inheritdoc see="ITreeNodeFactory"/>
public static ITreeNodeFactory TreeNodeFactory {
get { return GetRequiredService<ITreeNodeFactory>(); }
}
/// <inheritdoc see="IClipboard"/>
public static IClipboard Clipboard {
get { return GetRequiredService<IClipboard>(); }
}
/// <inheritdoc see="IWinFormsService"/>
public static IWinFormsService WinForms {
get { return GetRequiredService<IWinFormsService>(); }
}
/// <inheritdoc see="IBuildService"/>
public static IBuildService BuildService {
get { return GetRequiredService<IBuildService>(); }
}
/// <inheritdoc see="IBookmarkManager"/>
public static IBookmarkManager BookmarkManager {
get { return GetRequiredService<IBookmarkManager>(); }
}
}
}

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

@ -6,7 +6,7 @@ using System.Collections.Generic; @@ -6,7 +6,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Debugging;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Gui;
@ -121,7 +121,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -121,7 +121,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
if (editor != null) {
if (!string.IsNullOrEmpty(editor.FileName)) {
DebuggerService.ToggleBreakpointAt(editor, editor.Caret.Line, typeof(BreakpointBookmark));
DebuggerService.ToggleBreakpointAt(editor, editor.Caret.Line);
}
}
}

2
src/Main/Base/Project/Src/Editor/Commands/ClassBookmarkSubmenuBuilder.cs

@ -10,7 +10,7 @@ using System.Windows.Forms; @@ -10,7 +10,7 @@ using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.Core.Presentation;
using ICSharpCode.NRefactory;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Project;

2
src/Main/Base/Project/Src/Editor/Commands/ClassMemberMenuBuilder.cs

@ -9,7 +9,7 @@ using System.Windows.Forms; @@ -9,7 +9,7 @@ using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.Core.Presentation;
using ICSharpCode.NRefactory;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Editor.Search;
using ICSharpCode.SharpDevelop.Gui;

1
src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs

@ -72,7 +72,6 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -72,7 +72,6 @@ namespace ICSharpCode.SharpDevelop.Gui
DisplayBindingService.InitializeService();
TaskService.Initialize();
Bookmarks.BookmarkManager.Initialize();
Project.CustomToolsService.Initialize();
workbench.Initialize();

4
src/Main/Base/Project/Src/Project/Behaviors/DefaultProjectBehavior.cs

@ -93,7 +93,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -93,7 +93,7 @@ namespace ICSharpCode.SharpDevelop.Project
// breakpoints and files
Properties properties = new Properties();
properties.SetList("bookmarks", ICSharpCode.SharpDevelop.Bookmarks.BookmarkManager.GetProjectBookmarks(Project));
properties.SetList("bookmarks", SD.BookmarkManager.GetProjectBookmarks(Project));
List<string> files = new List<string>();
foreach (string fileName in FileService.GetOpenFiles()) {
if (fileName != null && Project.IsFileInProject(fileName)) {
@ -113,7 +113,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -113,7 +113,7 @@ namespace ICSharpCode.SharpDevelop.Project
WorkbenchSingleton.AssertMainThread();
foreach (var mark in memento.GetList<ICSharpCode.SharpDevelop.Editor.Bookmarks.SDBookmark>("bookmarks")) {
ICSharpCode.SharpDevelop.Bookmarks.BookmarkManager.AddMark(mark);
SD.BookmarkManager.AddMark(mark);
}
List<string> filesToOpen = new List<string>();
foreach (string fileName in memento.GetList<string>("files")) {

2
src/Main/Base/Project/Src/Services/Debugger/BreakpointBookmark.cs

@ -9,7 +9,7 @@ using ICSharpCode.AvalonEdit.Highlighting; @@ -9,7 +9,7 @@ using ICSharpCode.AvalonEdit.Highlighting;
using ICSharpCode.Core;
using ICSharpCode.NRefactory;
using ICSharpCode.NRefactory.Editor;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;

6
src/Main/Base/Project/Src/Services/Debugger/CurrentLineBookmark.cs

@ -7,7 +7,7 @@ using ICSharpCode.AvalonEdit.Highlighting; @@ -7,7 +7,7 @@ using ICSharpCode.AvalonEdit.Highlighting;
using ICSharpCode.Core;
using ICSharpCode.NRefactory;
using ICSharpCode.NRefactory.Editor;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Gui;
@ -60,13 +60,13 @@ namespace ICSharpCode.SharpDevelop.Debugging @@ -60,13 +60,13 @@ namespace ICSharpCode.SharpDevelop.Debugging
instance = new CurrentLineBookmark();
instance.Location = new TextLocation(startLine, startColumn);
instance.FileName = fileName;
BookmarkManager.AddMark(instance);
SD.BookmarkManager.AddMark(instance);
}
public static void Remove()
{
if (instance != null) {
BookmarkManager.RemoveMark(instance);
SD.BookmarkManager.RemoveMark(instance);
instance = null;
}
}

33
src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs

@ -12,7 +12,7 @@ using ICSharpCode.NRefactory; @@ -12,7 +12,7 @@ using ICSharpCode.NRefactory;
using ICSharpCode.NRefactory.Editor;
using ICSharpCode.NRefactory.Semantics;
using ICSharpCode.NRefactory.TypeSystem;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Gui;
@ -35,8 +35,8 @@ namespace ICSharpCode.SharpDevelop.Debugging @@ -35,8 +35,8 @@ namespace ICSharpCode.SharpDevelop.Debugging
ProjectService.BeforeSolutionClosing += OnBeforeSolutionClosing;
BookmarkManager.Added += BookmarkAdded;
BookmarkManager.Removed += BookmarkRemoved;
SD.BookmarkManager.BookmarkAdded += BookmarkAdded;
SD.BookmarkManager.BookmarkRemoved += BookmarkRemoved;
}
static void GetDescriptors()
@ -188,16 +188,9 @@ namespace ICSharpCode.SharpDevelop.Debugging @@ -188,16 +188,9 @@ namespace ICSharpCode.SharpDevelop.Debugging
}
}
public static IList<BreakpointBookmark> Breakpoints {
public static IEnumerable<BreakpointBookmark> Breakpoints {
get {
List<BreakpointBookmark> breakpoints = new List<BreakpointBookmark>();
foreach (SDBookmark bookmark in BookmarkManager.Bookmarks) {
BreakpointBookmark breakpoint = bookmark as BreakpointBookmark;
if (breakpoint != null) {
breakpoints.Add(breakpoint);
}
}
return breakpoints.AsReadOnly();
return SD.BookmarkManager.Bookmarks.OfType<BreakpointBookmark>();
}
}
@ -257,22 +250,14 @@ namespace ICSharpCode.SharpDevelop.Debugging @@ -257,22 +250,14 @@ namespace ICSharpCode.SharpDevelop.Debugging
/// <param name="lineNumber">Line number.</param>
/// <param name="breakpointType">Type of breakpoint bookmark.</param>
/// <param name="parameters">Optional constructor parameters.</param>
public static void ToggleBreakpointAt(ITextEditor editor, int lineNumber, Type breakpointType, object[] parameters = null)
public static void ToggleBreakpointAt(ITextEditor editor, int lineNumber)
{
if (editor == null)
throw new ArgumentNullException("editor");
if (breakpointType == null)
throw new ArgumentNullException("breakpointType");
if (!typeof(BreakpointBookmark).IsAssignableFrom(breakpointType))
throw new ArgumentException("breakpointType is not a BreakpointBookmark");
BookmarkManager.ToggleBookmark(
editor, lineNumber,
b => b.CanToggle && b is BreakpointBookmark,
location => (BreakpointBookmark)Activator.CreateInstance(breakpointType,
parameters ?? new object[] { editor.FileName, location, BreakpointAction.Break, "", ""}));
if (!SD.BookmarkManager.RemoveBookmarkAt(editor.FileName, lineNumber, b => b is BreakpointBookmark)) {
SD.BookmarkManager.AddMark(new BreakpointBookmark(), editor.Document, lineNumber);
}
}
/* TODO: reimplement this stuff

2
src/Main/Base/Project/Src/Services/Debugger/DecompiledBreakpointBookmark.cs

@ -6,7 +6,7 @@ using ICSharpCode.NRefactory; @@ -6,7 +6,7 @@ using ICSharpCode.NRefactory;
using ICSharpCode.SharpDevelop.Debugging;
using Mono.Cecil;
namespace ICSharpCode.SharpDevelop.Bookmarks
namespace ICSharpCode.SharpDevelop.Editor.Bookmarks
{
public class DecompiledBreakpointBookmark : BreakpointBookmark
{

2
src/Main/Base/Project/Src/Services/RefactoringService/RefactoringMenuBuilder.cs

@ -17,7 +17,7 @@ using System.Windows.Input; @@ -17,7 +17,7 @@ using System.Windows.Input;
using ICSharpCode.Core;
using ICSharpCode.Core.Presentation;
using ICSharpCode.NRefactory.Visitors;
using ICSharpCode.SharpDevelop.Bookmarks;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Dom.NRefactoryResolver;
using ICSharpCode.SharpDevelop.Dom.Refactoring;

95
src/Main/Base/Project/Src/Bookmarks/BookmarkManager.cs → src/Main/SharpDevelop/Editor/Bookmarks/BookmarkManager.cs

@ -3,47 +3,44 @@ @@ -3,47 +3,44 @@
using System;
using System.Collections.Generic;
using System.Linq;
using ICSharpCode.Core;
using ICSharpCode.NRefactory;
using ICSharpCode.NRefactory.Editor;
using ICSharpCode.SharpDevelop.Debugging;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.SharpDevelop.Bookmarks
namespace ICSharpCode.SharpDevelop.Editor.Bookmarks
{
/// <summary>
/// Static class that maintains the list of bookmarks and breakpoints.
/// </summary>
public static class BookmarkManager
sealed class BookmarkManager : IBookmarkManager
{
static List<SDBookmark> bookmarks = new List<SDBookmark>();
public BookmarkManager()
{
Project.ProjectService.SolutionClosing += delegate { Clear(); };
}
public static List<SDBookmark> Bookmarks {
List<SDBookmark> bookmarks = new List<SDBookmark>();
public IReadOnlyCollection<SDBookmark> Bookmarks {
get {
SD.MainThread.VerifyAccess();
return bookmarks;
}
}
public static List<SDBookmark> GetBookmarks(FileName fileName)
public IEnumerable<SDBookmark> GetBookmarks(FileName fileName)
{
if (fileName == null)
throw new ArgumentNullException("fileName");
WorkbenchSingleton.AssertMainThread();
List<SDBookmark> marks = new List<SDBookmark>();
foreach (SDBookmark mark in bookmarks) {
if (fileName == mark.FileName) {
marks.Add(mark);
}
}
return marks;
SD.MainThread.VerifyAccess();
return bookmarks.Where(b => b.FileName == fileName);
}
public static void AddMark(SDBookmark bookmark)
public void AddMark(SDBookmark bookmark)
{
WorkbenchSingleton.AssertMainThread();
if (bookmark == null) return;
@ -53,6 +50,15 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -53,6 +50,15 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
OnAdded(new BookmarkEventArgs(bookmark));
}
public void AddMark(SDBookmark bookmark, IDocument document, int line)
{
int lineStartOffset = document.GetLineByNumber(line).Offset;
int column = 1 + DocumentUtilitites.GetWhitespaceAfter(document, lineStartOffset).Length;
bookmark.Location = new TextLocation(line, column);
bookmark.FileName = FileName.Create(document.FileName);
AddMark(bookmark);
}
static bool IsEqualBookmark(SDBookmark a, SDBookmark b)
{
if (a == b)
@ -66,14 +72,14 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -66,14 +72,14 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
return a.LineNumber == b.LineNumber;
}
public static void RemoveMark(SDBookmark bookmark)
public void RemoveMark(SDBookmark bookmark)
{
WorkbenchSingleton.AssertMainThread();
bookmarks.Remove(bookmark);
OnRemoved(new BookmarkEventArgs(bookmark));
}
public static void Clear()
public void Clear()
{
WorkbenchSingleton.AssertMainThread();
while (bookmarks.Count > 0) {
@ -83,26 +89,21 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -83,26 +89,21 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
}
}
internal static void Initialize()
void OnRemoved(BookmarkEventArgs e)
{
Project.ProjectService.SolutionClosing += delegate { Clear(); };
}
static void OnRemoved(BookmarkEventArgs e)
{
if (Removed != null) {
Removed(null, e);
if (BookmarkRemoved != null) {
BookmarkRemoved(null, e);
}
}
static void OnAdded(BookmarkEventArgs e)
void OnAdded(BookmarkEventArgs e)
{
if (Added != null) {
Added(null, e);
if (BookmarkAdded != null) {
BookmarkAdded(null, e);
}
}
public static List<SDBookmark> GetProjectBookmarks(ICSharpCode.SharpDevelop.Project.IProject project)
public IEnumerable<SDBookmark> GetProjectBookmarks(ICSharpCode.SharpDevelop.Project.IProject project)
{
WorkbenchSingleton.AssertMainThread();
List<SDBookmark> projectBookmarks = new List<SDBookmark>();
@ -115,24 +116,20 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -115,24 +116,20 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
return projectBookmarks;
}
public static void ToggleBookmark(ITextEditor editor, int line,
Predicate<SDBookmark> canToggle,
Func<TextLocation, SDBookmark> bookmarkFactory)
public bool RemoveBookmarkAt(FileName fileName, int line, Predicate<SDBookmark> predicate = null)
{
WorkbenchSingleton.AssertMainThread();
foreach (SDBookmark bookmark in GetBookmarks(editor.FileName)) {
if (canToggle(bookmark) && bookmark.LineNumber == line) {
BookmarkManager.RemoveMark(bookmark);
return;
foreach (SDBookmark bookmark in GetBookmarks(fileName)) {
if (bookmark.CanToggle && bookmark.LineNumber == line) {
if (predicate == null || predicate(bookmark)) {
RemoveMark(bookmark);
return true;
}
}
// no bookmark at that line: create a new bookmark
int lineStartOffset = editor.Document.GetLineByNumber(line).Offset;
int column = 1 + DocumentUtilitites.GetWhitespaceAfter(editor.Document, lineStartOffset).Length;
BookmarkManager.AddMark(bookmarkFactory(new TextLocation(line, column)));
}
return false;
}
public static void RemoveAll(Predicate<SDBookmark> match)
public void RemoveAll(Predicate<SDBookmark> match)
{
if (match == null)
throw new ArgumentNullException("Predicate is null!");
@ -147,7 +144,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -147,7 +144,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
}
}
public static event EventHandler<BookmarkEventArgs> Removed;
public static event EventHandler<BookmarkEventArgs> Added;
public event EventHandler<BookmarkEventArgs> BookmarkRemoved;
public event EventHandler<BookmarkEventArgs> BookmarkAdded;
}
}

21
src/Main/Base/Project/Src/Bookmarks/Commands/MenuCommands.cs → src/Main/SharpDevelop/Editor/Bookmarks/BookmarkMenuCommands.cs

@ -10,9 +10,9 @@ using ICSharpCode.SharpDevelop.Editor; @@ -10,9 +10,9 @@ using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Editor.Bookmarks;
using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.SharpDevelop.Bookmarks
namespace ICSharpCode.SharpDevelop.Editor.Bookmarks
{
public abstract class BookmarkMenuCommand : AbstractMenuCommand
abstract class BookmarkMenuCommand : AbstractMenuCommand
{
public override void Run()
{
@ -36,16 +36,17 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -36,16 +36,17 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
protected abstract void Run(ITextEditor editor, IBookmarkMargin bookmarkMargin);
}
public class ToggleBookmark : BookmarkMenuCommand
class ToggleBookmark : BookmarkMenuCommand
{
protected override void Run(ITextEditor editor, IBookmarkMargin bookmarkMargin)
{
BookmarkManager.ToggleBookmark(editor, editor.Caret.Line,
b => b.CanToggle && b.GetType() == typeof(Bookmark),
location => new Bookmark { FileName = editor.FileName, Location = location});
int lineNumber = editor.Caret.Line;
if (!SD.BookmarkManager.RemoveBookmarkAt(editor.FileName, lineNumber, b => b is Bookmark)) {
SD.BookmarkManager.AddMark(new Bookmark(), editor.Document, lineNumber);
}
}
public class PrevBookmark : BookmarkMenuCommand
}
class PrevBookmark : BookmarkMenuCommand
{
protected override void Run(ITextEditor editor, IBookmarkMargin bookmarkMargin)
{
@ -61,7 +62,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -61,7 +62,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
}
}
public class NextBookmark : BookmarkMenuCommand
class NextBookmark : BookmarkMenuCommand
{
protected override void Run(ITextEditor editor, IBookmarkMargin bookmarkMargin)
{
@ -77,7 +78,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -77,7 +78,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
}
}
public class ClearBookmarks : BookmarkMenuCommand
class ClearBookmarks : BookmarkMenuCommand
{
protected override void Run(ITextEditor editor, IBookmarkMargin bookmarkMargin)
{
@ -85,7 +86,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -85,7 +86,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
where b.CanToggle
select b).ToList();
foreach (SDBookmark b in bookmarks)
BookmarkManager.RemoveMark(b);
SD.BookmarkManager.RemoveMark(b);
}
}
}

4
src/Main/SharpDevelop/SharpDevelop.csproj

@ -86,6 +86,8 @@ @@ -86,6 +86,8 @@
<Compile Include="Dom\TopLevelTypeDefinitionModelCollection.cs" />
<Compile Include="Dom\TreeNodeFactoryService.cs" />
<Compile Include="Dom\TypeDefinitionModel.cs" />
<Compile Include="Editor\Bookmarks\BookmarkManager.cs" />
<Compile Include="Editor\Bookmarks\BookmarkMenuCommands.cs" />
<Compile Include="OptionPanels\LoadSaveOptions.xaml.cs">
<DependentUpon>LoadSaveOptions.xaml</DependentUpon>
<SubType>Code</SubType>
@ -220,6 +222,8 @@ @@ -220,6 +222,8 @@
</ItemGroup>
<ItemGroup>
<Folder Include="Dom" />
<Folder Include="Editor" />
<Folder Include="Editor\Bookmarks" />
<Folder Include="Project" />
<Folder Include="Project\Build" />
<Folder Include="Services" />

Loading…
Cancel
Save