From 492c46df0404670022fe1dc6e6940e7a668dd9c2 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Sun, 14 Jan 2007 16:26:24 +0000 Subject: [PATCH] Allow clicking "through" icons in the text editor icon bar margin if they don't handle the mouse event. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.1@2296 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../StartPage/Project/Src/ICSharpCodePage.cs | 2 +- .../Src/Document/BookmarkManager/Bookmark.cs | 4 +++- .../Project/Src/Gui/IconBarMargin.cs | 8 +++++++- .../TextEditor/Bookmarks/ClassMemberBookmark.cs | 16 ++++++++++++---- src/Main/GlobalAssemblyInfo.template | 2 +- 5 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/AddIns/Misc/StartPage/Project/Src/ICSharpCodePage.cs b/src/AddIns/Misc/StartPage/Project/Src/ICSharpCodePage.cs index 2e23a185f9..21036afd14 100644 --- a/src/AddIns/Misc/StartPage/Project/Src/ICSharpCodePage.cs +++ b/src/AddIns/Misc/StartPage/Project/Src/ICSharpCodePage.cs @@ -202,7 +202,7 @@ namespace ICSharpCode.StartPage StaticStyleSheet = startPageLocation + "/Layout/default.css"; MetaAuthor = "Christoph Wille - christophw@alphasierrapapa.com"; - MetaCopyright = "(c) 2001-2006 AlphaSierraPapa"; + MetaCopyright = "(c) 2001-2007 AlphaSierraPapa"; ShowLeftMenu = false; ShowRightBox = false; diff --git a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/BookmarkManager/Bookmark.cs b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/BookmarkManager/Bookmark.cs index 8395495e4f..a1ec5ba7e7 100644 --- a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/BookmarkManager/Bookmark.cs +++ b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/BookmarkManager/Bookmark.cs @@ -111,11 +111,13 @@ namespace ICSharpCode.TextEditor.Document this.isEnabled = isEnabled; } - public virtual void Click(SWF.Control parent, SWF.MouseEventArgs e) + public virtual bool Click(SWF.Control parent, SWF.MouseEventArgs e) { if (e.Button == SWF.MouseButtons.Left && CanToggle) { document.BookmarkManager.RemoveMark(this); + return true; } + return false; } public virtual void Draw(IconBarMargin margin, Graphics g, Point p) diff --git a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/IconBarMargin.cs b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/IconBarMargin.cs index 8dde4ce53a..1c7822b9be 100644 --- a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/IconBarMargin.cs +++ b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/IconBarMargin.cs @@ -78,10 +78,16 @@ namespace ICSharpCode.TextEditor } List marks = textArea.Document.BookmarkManager.Marks; + List marksInLine = new List(); int oldCount = marks.Count; foreach (Bookmark mark in marks) { if (mark.LineNumber == lineNumber) { - mark.Click(textArea, new MouseEventArgs(mouseButtons, 1, mousePos.X, mousePos.Y, 0)); + marksInLine.Add(mark); + } + } + for (int i = marksInLine.Count - 1; i >= 0; i--) { + Bookmark mark = marksInLine[i]; + if (mark.Click(textArea, new MouseEventArgs(mouseButtons, 1, mousePos.X, mousePos.Y, 0))) { if (oldCount != marks.Count) { textArea.UpdateLine(lineNumber); } diff --git a/src/Main/Base/Project/Src/TextEditor/Bookmarks/ClassMemberBookmark.cs b/src/Main/Base/Project/Src/TextEditor/Bookmarks/ClassMemberBookmark.cs index b5e6533d70..5a8db7a0b0 100644 --- a/src/Main/Base/Project/Src/TextEditor/Bookmarks/ClassMemberBookmark.cs +++ b/src/Main/Base/Project/Src/TextEditor/Bookmarks/ClassMemberBookmark.cs @@ -39,10 +39,14 @@ namespace ICSharpCode.SharpDevelop.Bookmarks public const string ContextMenuPath = "/SharpDevelop/ViewContent/DefaultTextEditor/ClassMemberContextMenu"; - public override void Click(Control parent, MouseEventArgs e) + public override bool Click(Control parent, MouseEventArgs e) { - if (e.Button == MouseButtons.Left) + if (e.Button == MouseButtons.Left) { MenuService.ShowContextMenu(this, ContextMenuPath, parent, e.X, e.Y); + return true; + } else { + return false; + } } public abstract int IconIndex { @@ -76,10 +80,14 @@ namespace ICSharpCode.SharpDevelop.Bookmarks public const string ContextMenuPath = "/SharpDevelop/ViewContent/DefaultTextEditor/ClassBookmarkContextMenu"; - public override void Click(Control parent, MouseEventArgs e) + public override bool Click(Control parent, MouseEventArgs e) { - if (e.Button == MouseButtons.Left) + if (e.Button == MouseButtons.Left) { MenuService.ShowContextMenu(this, ContextMenuPath, parent, e.X, e.Y); + return true; + } else { + return false; + } } public override void Draw(IconBarMargin margin, Graphics g, Point p) diff --git a/src/Main/GlobalAssemblyInfo.template b/src/Main/GlobalAssemblyInfo.template index 29be869b93..74133877b1 100644 --- a/src/Main/GlobalAssemblyInfo.template +++ b/src/Main/GlobalAssemblyInfo.template @@ -19,7 +19,7 @@ using System.Reflection; [assembly: System.Runtime.InteropServices.ComVisible(false)] [assembly: AssemblyCompany("ic#code")] [assembly: AssemblyProduct("SharpDevelop")] -[assembly: AssemblyCopyright("2000-2006 AlphaSierraPapa")] +[assembly: AssemblyCopyright("2000-2007 AlphaSierraPapa")] [assembly: AssemblyVersion(RevisionClass.FullVersion)] internal static class RevisionClass