Browse Source

Renaming in Breakpoint class. Added WillBeHit property to BreakpointBookmark.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1083 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
David Srbecký 20 years ago
parent
commit
edc71e8dd7
  1. 26
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Breakpoints/Breakpoint.cs
  2. 8
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Breakpoints/NDebugger-Breakpoints.cs
  3. 2
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/Internal/ManagedCallback.cs
  4. 4
      src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/IconBarMargin.cs
  5. 18
      src/Main/Base/Project/Src/Services/Debugger/BreakpointBookmark.cs
  6. 2
      src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs

26
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Breakpoints/Breakpoint.cs

@ -43,6 +43,7 @@ namespace Debugger
} }
internal set { internal set {
hadBeenSet = value; hadBeenSet = value;
OnChanged();
} }
} }
@ -58,25 +59,27 @@ namespace Debugger
if (HadBeenSet) { if (HadBeenSet) {
corBreakpoint.Activate(enabled?1:0); corBreakpoint.Activate(enabled?1:0);
} }
OnBreakpointStateChanged(); OnChanged();
} }
} }
public event EventHandler<BreakpointEventArgs> BreakpointStateChanged; public event EventHandler<BreakpointEventArgs> Changed;
internal void OnBreakpointStateChanged() protected void OnChanged()
{ {
if (BreakpointStateChanged != null) if (Changed != null) {
BreakpointStateChanged(this, new BreakpointEventArgs(this)); Changed(this, new BreakpointEventArgs(this));
}
} }
public event EventHandler<BreakpointEventArgs> BreakpointHit; public event EventHandler<BreakpointEventArgs> Hit;
internal void OnBreakpointHit() internal void OnHit()
{ {
if (BreakpointHit != null) if (Hit != null) {
BreakpointHit(this, new BreakpointEventArgs(this)); Hit(this, new BreakpointEventArgs(this));
}
} }
internal Breakpoint(NDebugger debugger, SourcecodeSegment sourcecodeSegment, bool enabled) internal Breakpoint(NDebugger debugger, SourcecodeSegment sourcecodeSegment, bool enabled)
@ -108,8 +111,7 @@ namespace Debugger
internal unsafe void ResetBreakpoint() internal unsafe void ResetBreakpoint()
{ {
hadBeenSet = false; HadBeenSet = false;
OnBreakpointStateChanged();
} }
@ -131,7 +133,7 @@ namespace Debugger
corBreakpoint.Activate(enabled?1:0); corBreakpoint.Activate(enabled?1:0);
pBreakpoint = Marshal.GetComInterfaceForObject(corBreakpoint.WrappedObject, typeof(Debugger.Interop.CorDebug.ICorDebugFunctionBreakpoint)); pBreakpoint = Marshal.GetComInterfaceForObject(corBreakpoint.WrappedObject, typeof(Debugger.Interop.CorDebug.ICorDebugFunctionBreakpoint));
OnBreakpointStateChanged(); OnChanged();
return true; return true;
} }

8
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Breakpoints/NDebugger-Breakpoints.cs

@ -73,8 +73,8 @@ namespace Debugger
breakpointCollection.Add(breakpoint); breakpointCollection.Add(breakpoint);
breakpoint.SetBreakpoint(); breakpoint.SetBreakpoint();
breakpoint.BreakpointStateChanged += new EventHandler<BreakpointEventArgs>(OnBreakpointStateChanged); breakpoint.Changed += new EventHandler<BreakpointEventArgs>(OnBreakpointStateChanged);
breakpoint.BreakpointHit += new EventHandler<BreakpointEventArgs>(OnBreakpointHit); breakpoint.Hit += new EventHandler<BreakpointEventArgs>(OnBreakpointHit);
OnBreakpointAdded(breakpoint); OnBreakpointAdded(breakpoint);
@ -93,8 +93,8 @@ namespace Debugger
public void RemoveBreakpoint(Breakpoint breakpoint) public void RemoveBreakpoint(Breakpoint breakpoint)
{ {
breakpoint.BreakpointStateChanged -= new EventHandler<BreakpointEventArgs>(OnBreakpointStateChanged); breakpoint.Changed -= new EventHandler<BreakpointEventArgs>(OnBreakpointStateChanged);
breakpoint.BreakpointHit -= new EventHandler<BreakpointEventArgs>(OnBreakpointHit); breakpoint.Hit -= new EventHandler<BreakpointEventArgs>(OnBreakpointHit);
breakpoint.Enabled = false; breakpoint.Enabled = false;
breakpointCollection.Remove( breakpoint ); breakpointCollection.Remove( breakpoint );

2
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/Internal/ManagedCallback.cs

@ -141,7 +141,7 @@ namespace Debugger
foreach (Breakpoint b in debugger.Breakpoints) { foreach (Breakpoint b in debugger.Breakpoints) {
if (b.Equals(pBreakpoint)) { if (b.Equals(pBreakpoint)) {
b.OnBreakpointHit(); b.OnHit();
} }
} }
} }

4
src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/IconBarMargin.cs

@ -90,7 +90,7 @@ namespace ICSharpCode.TextEditor
} }
#region Drawing functions #region Drawing functions
public void DrawBreakpoint(Graphics g, int y, bool isEnabled) public void DrawBreakpoint(Graphics g, int y, bool isEnabled, bool willBeHit)
{ {
int diameter = Math.Min(iconBarWidth - 2, textArea.TextView.FontHeight); int diameter = Math.Min(iconBarWidth - 2, textArea.TextView.FontHeight);
Rectangle rect = new Rectangle(1, Rectangle rect = new Rectangle(1,
@ -104,7 +104,7 @@ namespace ICSharpCode.TextEditor
using (PathGradientBrush pthGrBrush = new PathGradientBrush(path)) { using (PathGradientBrush pthGrBrush = new PathGradientBrush(path)) {
pthGrBrush.CenterPoint = new PointF(rect.Left + rect.Width / 3 , rect.Top + rect.Height / 3); pthGrBrush.CenterPoint = new PointF(rect.Left + rect.Width / 3 , rect.Top + rect.Height / 3);
pthGrBrush.CenterColor = Color.MistyRose; pthGrBrush.CenterColor = Color.MistyRose;
Color[] colors = {Color.Firebrick}; Color[] colors = {willBeHit?Color.Firebrick:Color.Olive};
pthGrBrush.SurroundColors = colors; pthGrBrush.SurroundColors = colors;
if (isEnabled) { if (isEnabled) {

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

@ -20,8 +20,22 @@ namespace ICSharpCode.Core
{ {
public class BreakpointBookmark: SDMarkerBookmark public class BreakpointBookmark: SDMarkerBookmark
{ {
bool willBeHit = true;
object tag; object tag;
public virtual bool WillBeHit {
get {
return willBeHit;
}
set {
willBeHit = value;
if (Document != null) {
Document.RequestUpdate(new TextAreaUpdate(TextAreaUpdateType.SingleLine, LineNumber));
Document.CommitUpdate();
}
}
}
public object Tag { public object Tag {
get { get {
return tag; return tag;
@ -37,7 +51,7 @@ namespace ICSharpCode.Core
public override void Draw(IconBarMargin margin, Graphics g, Point p) public override void Draw(IconBarMargin margin, Graphics g, Point p)
{ {
margin.DrawBreakpoint(g, p.Y, IsEnabled); margin.DrawBreakpoint(g, p.Y, IsEnabled, WillBeHit);
} }
protected override TextMarker CreateMarker() protected override TextMarker CreateMarker()

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

@ -178,7 +178,7 @@ namespace ICSharpCode.Core
breakpoints.Add(breakpoint); breakpoints.Add(breakpoint);
} }
} }
return breakpoints; return breakpoints.AsReadOnly();
} }
} }

Loading…
Cancel
Save