Browse Source

Worked on bookmarks

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@271 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Mike Krüger 21 years ago
parent
commit
5ca739dbca
  1. 8
      AddIns/ICSharpCode.SharpDevelop.addin
  2. 4
      src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerLoader/NRefactoryDesignerLoader.cs
  3. 1
      src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormDesignerViewContent.cs
  4. 27
      src/Libraries/ICSharpCode.TextEditor/Project/Src/Actions/BookmarkActions.cs
  5. 66
      src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/BookmarkManager/BookmarkManager.cs
  6. 1
      src/Main/Base/Project/Src/Commands/EditCommands.cs
  7. 11
      src/Main/Base/Project/Src/TextEditor/Bookmarks/Commands/MenuCommands.cs

8
AddIns/ICSharpCode.SharpDevelop.addin

@ -1590,21 +1590,21 @@ @@ -1590,21 +1590,21 @@
label = "${res:XML.MainMenu.SearchMenu.ToggleBookmark}"
shortcut = "Control|F2"
icon = "Bookmarks.ToggleMark"
class = "Bookmarks.ToggleBookmark"/>
class = "ICSharpCode.SharpDevelop.Bookmarks.ToggleBookmark"/>
<MenuItem id = "PrevBookmark"
label = "${res:XML.MainMenu.SearchMenu.PrevBookmark}"
shortcut = "Alt|F2"
icon = "Bookmarks.GotoPrevInFile"
class = "Bookmarks.PrevBookmark"/>
class = "ICSharpCode.SharpDevelop.Bookmarks.PrevBookmark"/>
<MenuItem id = "NextBookmark"
label = "${res:XML.MainMenu.SearchMenu.NextBookmark}"
shortcut = "F2"
icon = "Bookmarks.GotoNextInFile"
class = "Bookmarks.NextBookmark"/>
class = "ICSharpCode.SharpDevelop.Bookmarks.NextBookmark"/>
<MenuItem id = "ClearBookmarks"
label = "${res:XML.MainMenu.SearchMenu.ClrBookmark}"
icon = "Bookmarks.ClearAll"
class = "Bookmarks.ClearBookmarks"/>
class = "ICSharpCode.SharpDevelop.Bookmarks.EnableDisableAll"/>
<MenuItem id = "Separator2" type = "Separator" />
<MenuItem id = "GotoLineNr"
label = "${res:XML.MainMenu.SearchMenu.GotoLineNr}"

4
src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerLoader/NRefactoryDesignerLoader.cs

@ -101,8 +101,8 @@ namespace ICSharpCode.FormDesigner @@ -101,8 +101,8 @@ namespace ICSharpCode.FormDesigner
CodeDOMVisitor visitor = new CodeDOMVisitor();
visitor.Visit(p.CompilationUnit, null);
// output generated CodeDOM to the console :
provider.GenerateCodeFromCompileUnit(visitor.codeCompileUnit, Console.Out, null);
// // output generated CodeDOM to the console :
// provider.GenerateCodeFromCompileUnit(visitor.codeCompileUnit, Console.Out, null);
return visitor.codeCompileUnit;
}

1
src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormDesignerViewContent.cs

@ -200,7 +200,6 @@ namespace ICSharpCode.FormDesigner @@ -200,7 +200,6 @@ namespace ICSharpCode.FormDesigner
IsDirty = isDirty;
}
public void ShowSourceCode()
{
WorkbenchWindow.SwitchView(0);

27
src/Libraries/ICSharpCode.TextEditor/Project/Src/Actions/BookmarkActions.cs

@ -26,9 +26,16 @@ namespace ICSharpCode.TextEditor.Actions @@ -26,9 +26,16 @@ namespace ICSharpCode.TextEditor.Actions
public class GotoPrevBookmark : AbstractEditAction
{
Predicate<Bookmark> predicate = null;
public GotoPrevBookmark(Predicate<Bookmark> predicate)
{
this.predicate = predicate;
}
public override void Execute(TextArea textArea)
{
Bookmark mark = textArea.Document.BookmarkManager.GetPrevMark(textArea.Caret.Line);
Bookmark mark = textArea.Document.BookmarkManager.GetPrevMark(textArea.Caret.Line, predicate);
if (mark != null) {
textArea.Caret.Line = mark.LineNumber;
textArea.SelectionManager.ClearSelection();
@ -38,9 +45,16 @@ namespace ICSharpCode.TextEditor.Actions @@ -38,9 +45,16 @@ namespace ICSharpCode.TextEditor.Actions
public class GotoNextBookmark : AbstractEditAction
{
Predicate<Bookmark> predicate = null;
public GotoNextBookmark(Predicate<Bookmark> predicate)
{
this.predicate = predicate;
}
public override void Execute(TextArea textArea)
{
Bookmark mark = textArea.Document.BookmarkManager.GetNextMark(textArea.Caret.Line);
Bookmark mark = textArea.Document.BookmarkManager.GetNextMark(textArea.Caret.Line, predicate);
if (mark != null) {
textArea.Caret.Line = mark.LineNumber;
textArea.SelectionManager.ClearSelection();
@ -50,9 +64,16 @@ namespace ICSharpCode.TextEditor.Actions @@ -50,9 +64,16 @@ namespace ICSharpCode.TextEditor.Actions
public class ClearAllBookmarks : AbstractEditAction
{
Predicate<Bookmark> predicate = null;
public ClearAllBookmarks(Predicate<Bookmark> predicate)
{
this.predicate = predicate;
}
public override void Execute(TextArea textArea)
{
textArea.Document.BookmarkManager.Clear();
textArea.Document.BookmarkManager.RemoveMarks(predicate);
textArea.Document.RequestUpdate(new TextAreaUpdate(TextAreaUpdateType.WholeTextArea));
textArea.Document.CommitUpdate();
}

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

@ -162,37 +162,43 @@ namespace ICSharpCode.TextEditor.Document @@ -162,37 +162,43 @@ namespace ICSharpCode.TextEditor.Document
/// <value>
/// The lowest mark, if no marks exists it returns -1
/// </value>
public Bookmark FirstMark {
get {
if (bookmark.Count < 1) {
return null;
}
Bookmark first = null;
for (int i = 0; i < bookmark.Count; ++i) {
if (bookmark[i].IsEnabled && (first == null || bookmark[i].LineNumber < first.LineNumber)) {
first = bookmark[i];
}
public Bookmark GetFirstMark(Predicate<Bookmark> predicate)
{
if (bookmark.Count < 1) {
return null;
}
Bookmark first = null;
for (int i = 0; i < bookmark.Count; ++i) {
if (predicate(bookmark[i]) && bookmark[i].IsEnabled && (first == null || bookmark[i].LineNumber < first.LineNumber)) {
first = bookmark[i];
}
return first;
}
return first;
}
/// <value>
/// The highest mark, if no marks exists it returns -1
/// </value>
public Bookmark LastMark {
get {
if (bookmark.Count < 1) {
return null;
}
Bookmark last = null;
for (int i = 0; i < bookmark.Count; ++i) {
if (bookmark[i].IsEnabled && (last == null || bookmark[i].LineNumber > last.LineNumber)) {
last = bookmark[i];
}
public Bookmark GetLastMark(Predicate<Bookmark> predicate)
{
if (bookmark.Count < 1) {
return null;
}
Bookmark last = null;
for (int i = 0; i < bookmark.Count; ++i) {
if (predicate(bookmark[i]) && bookmark[i].IsEnabled && (last == null || bookmark[i].LineNumber > last.LineNumber)) {
last = bookmark[i];
}
return last;
}
return last;
}
bool AcceptAnyMarkPredicate(Bookmark mark)
{
return true;
}
public Bookmark GetNextMark(int curLineNr)
{
return GetNextMark(curLineNr, AcceptAnyMarkPredicate);
}
/// <remarks>
@ -201,15 +207,15 @@ namespace ICSharpCode.TextEditor.Document @@ -201,15 +207,15 @@ namespace ICSharpCode.TextEditor.Document
/// <returns>
/// returns the next mark > cur, if it not exists it returns FirstMark()
/// </returns>
public Bookmark GetNextMark(int curLineNr)
public Bookmark GetNextMark(int curLineNr, Predicate<Bookmark> predicate)
{
if (bookmark.Count == 0) {
return null;
}
Bookmark next = FirstMark;
Bookmark next = GetFirstMark(predicate);
foreach (Bookmark mark in bookmark) {
if (mark.IsEnabled && mark.LineNumber > curLineNr) {
if (predicate(mark) && mark.IsEnabled && mark.LineNumber > curLineNr) {
if (mark.LineNumber < next.LineNumber || next.LineNumber <= curLineNr) {
next = mark;
}
@ -218,22 +224,26 @@ namespace ICSharpCode.TextEditor.Document @@ -218,22 +224,26 @@ namespace ICSharpCode.TextEditor.Document
return next;
}
public Bookmark GetPrevMark(int curLineNr)
{
return GetPrevMark(curLineNr, AcceptAnyMarkPredicate);
}
/// <remarks>
/// returns first mark lower than <code>lineNr</code>
/// </remarks>
/// <returns>
/// returns the next mark lower than cur, if it not exists it returns LastMark()
/// </returns>
public Bookmark GetPrevMark(int curLineNr)
public Bookmark GetPrevMark(int curLineNr, Predicate<Bookmark> predicate)
{
if (bookmark.Count == 0) {
return null;
}
Bookmark prev = LastMark;
Bookmark prev = GetLastMark(predicate);
foreach (Bookmark mark in bookmark) {
if (mark.IsEnabled && mark.LineNumber < curLineNr) {
if (predicate(mark) && mark.IsEnabled && mark.LineNumber < curLineNr) {
if (mark.LineNumber > prev.LineNumber || prev.LineNumber >= curLineNr) {
prev = mark;
}

1
src/Main/Base/Project/Src/Commands/EditCommands.cs

@ -66,7 +66,6 @@ namespace ICSharpCode.SharpDevelop.Commands @@ -66,7 +66,6 @@ namespace ICSharpCode.SharpDevelop.Commands
{
public override bool IsEnabled {
get {
Console.WriteLine("IsEnabled2>" + WorkbenchSingleton.Workbench.ActiveContent);
IClipboardHandler editable = WorkbenchSingleton.Workbench.ActiveContent as IClipboardHandler;
if (editable != null) {
return editable.EnableCut;

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

@ -38,9 +38,14 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -38,9 +38,14 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
public class PrevBookmark : AbstractEditActionMenuCommand
{
public static bool AcceptOnlyStandardBookmarks(Bookmark mark)
{
return (mark is SDBookmark);
}
public override IEditAction EditAction {
get {
return new ICSharpCode.TextEditor.Actions.GotoPrevBookmark();
return new ICSharpCode.TextEditor.Actions.GotoPrevBookmark(PrevBookmark.AcceptOnlyStandardBookmarks);
}
}
}
@ -49,7 +54,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -49,7 +54,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
{
public override IEditAction EditAction {
get {
return new ICSharpCode.TextEditor.Actions.GotoNextBookmark();
return new ICSharpCode.TextEditor.Actions.GotoNextBookmark(PrevBookmark.AcceptOnlyStandardBookmarks);
}
}
}
@ -58,7 +63,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -58,7 +63,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
{
public override IEditAction EditAction {
get {
return new ICSharpCode.TextEditor.Actions.ClearAllBookmarks();
return new ICSharpCode.TextEditor.Actions.ClearAllBookmarks(PrevBookmark.AcceptOnlyStandardBookmarks);
}
}
}

Loading…
Cancel
Save