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

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

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

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

@ -141,7 +141,7 @@ namespace Debugger @@ -141,7 +141,7 @@ namespace Debugger
foreach (Breakpoint b in debugger.Breakpoints) {
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 @@ -90,7 +90,7 @@ namespace ICSharpCode.TextEditor
}
#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);
Rectangle rect = new Rectangle(1,
@ -104,7 +104,7 @@ namespace ICSharpCode.TextEditor @@ -104,7 +104,7 @@ namespace ICSharpCode.TextEditor
using (PathGradientBrush pthGrBrush = new PathGradientBrush(path)) {
pthGrBrush.CenterPoint = new PointF(rect.Left + rect.Width / 3 , rect.Top + rect.Height / 3);
pthGrBrush.CenterColor = Color.MistyRose;
Color[] colors = {Color.Firebrick};
Color[] colors = {willBeHit?Color.Firebrick:Color.Olive};
pthGrBrush.SurroundColors = colors;
if (isEnabled) {

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

@ -20,8 +20,22 @@ namespace ICSharpCode.Core @@ -20,8 +20,22 @@ namespace ICSharpCode.Core
{
public class BreakpointBookmark: SDMarkerBookmark
{
bool willBeHit = true;
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 {
get {
return tag;
@ -37,7 +51,7 @@ namespace ICSharpCode.Core @@ -37,7 +51,7 @@ namespace ICSharpCode.Core
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()

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

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

Loading…
Cancel
Save