private void CollectionAttributeChanged(object sender, AttributeEventArgs e) { if (e.DomNode.Type != SledSchema.SledProjectFilesBreakpointType.Type) return; var bp = e.DomNode.As<SledProjectFilesBreakpointType>(); if (e.AttributeInfo == SledSchema.SledProjectFilesBreakpointType.enabledAttribute) { var bOldValue = e.OldValue == null ? (bool)e.AttributeInfo.DefaultValue : (bool)e.OldValue; var bNewValue = (bool)e.NewValue; if (bOldValue != bNewValue) { var changeType = bNewValue ? SledBreakpointChangeType.Enabled : SledBreakpointChangeType.Disabled; var ea = new SledBreakpointServiceBreakpointChangingEventArgs(changeType, bp); // Fire event OnBreakpointChanged(ea); // Assure open document's breakpoints are drawn correctly var sd = bp.File.SledDocument; if (sd != null) sd.Control.Refresh(); } } else if (e.AttributeInfo == SledSchema.SledProjectFilesBreakpointType.conditionenabledAttribute) { var bOldValue = e.OldValue == null ? (bool)e.AttributeInfo.DefaultValue : (bool)e.OldValue; var bNewValue = (bool)e.NewValue; if (bOldValue != bNewValue) { var changeType = bNewValue ? SledBreakpointChangeType.ConditionEnabled : SledBreakpointChangeType.ConditionDisabled; var ea = new SledBreakpointServiceBreakpointChangingEventArgs(changeType, bp); // Fire event OnBreakpointChanged(ea); // Assure open document's breakpoints are drawn correctly var sd = bp.File.SledDocument; if (sd != null) sd.Control.Refresh(); } } else if (e.AttributeInfo == SledSchema.SledProjectFilesBreakpointType.conditionresultAttribute) { var bOldValue = e.OldValue == null ? (bool)e.AttributeInfo.DefaultValue : (bool)e.OldValue; var bNewValue = (bool)e.NewValue; if (bOldValue != bNewValue) { var changeType = bNewValue ? SledBreakpointChangeType.ConditionResultTrue : SledBreakpointChangeType.ConditionResultFalse; var ea = new SledBreakpointServiceBreakpointChangingEventArgs(changeType, bp); // Fire event OnBreakpointChanged(ea); // Assure open document's breakpoints are drawn correctly var sd = bp.File.SledDocument; if (sd != null) sd.Control.Refresh(); } } else if (e.AttributeInfo == SledSchema.SledProjectFilesBreakpointType.conditionAttribute) { var oldValue = e.OldValue as string; var newValue = e.NewValue as string; if (string.Compare(oldValue, newValue) != 0) { const SledBreakpointChangeType changeType = SledBreakpointChangeType.Condition; var ea = new SledBreakpointServiceBreakpointChangingEventArgs(changeType, bp, oldValue, newValue); // Fire event OnBreakpointChanged(ea); // Assure open document's breakpoints are drawn correctly var sd = bp.File.SledDocument; if (sd != null) sd.Control.Refresh(); } } else if (e.AttributeInfo == SledSchema.SledProjectFilesBreakpointType.usefunctionenvironmentAttribute) { var bOldValue = e.OldValue == null ? (bool)e.AttributeInfo.DefaultValue : (bool)e.OldValue; var bNewValue = (bool)e.NewValue; if (bOldValue != bNewValue) { var changeType = bNewValue ? SledBreakpointChangeType.UseFunctionEnvironmentTrue : SledBreakpointChangeType.UseFunctionEnvironmentFalse; var ea = new SledBreakpointServiceBreakpointChangingEventArgs(changeType, bp); // Fire event OnBreakpointChanged(ea); } } }
private void SledDocumentDocumentLineCountChanged(object sender, SledDocumentLineCountChangedArgs e) { var sd = GetSledDocumentFromSender(sender); if (sd == null) return; // Don't care about files not in the project if (sd.SledProjectFile == null) return; var bChanged = false; foreach (var bp in sd.SledProjectFile.Breakpoints) { if (bp.Breakpoint == null) continue; // Only want to process breakpoints that actually moved lines if (bp.RawLine == bp.Breakpoint.LineNumber) continue; bChanged = true; // Create event var ea = new SledBreakpointServiceBreakpointChangingEventArgs( SledBreakpointChangeType.LineNumber, bp, bp.RawLine, bp.Breakpoint.LineNumber); // Fire event OnBreakpointChanging(ea); // Sync up line numbers from IBreakpoint counterpart bp.Refresh(); // Fire event OnBreakpointChanged(ea); } // Save changes if (bChanged) m_projectService.SaveSettings(); }
private void BreakpointService_Changed(object sender, SledBreakpointServiceBreakpointChangingEventArgs e) { SledOutDevice.OutLine(SledMessageType.Info, "ISledBreakpointService.Changed"); }
private void OnBreakpointChanged(SledBreakpointServiceBreakpointChangingEventArgs e) { Changed.Raise(this, e); }
private void BreakpointService_Changed(object sender, SledBreakpointServiceBreakpointChangingEventArgs e) { var bShouldSend = true; var bEnabled = e.Breakpoint.Enabled; switch (e.ChangeType) { // Send these if the breakpoint is enabled case SledBreakpointChangeType.Condition: bShouldSend = bEnabled; break; // Send if breakpoint is enabled case SledBreakpointChangeType.ConditionEnabled: case SledBreakpointChangeType.ConditionDisabled: bShouldSend = bEnabled; break; // Send if breakpoint is enabled case SledBreakpointChangeType.ConditionResultTrue: case SledBreakpointChangeType.ConditionResultFalse: bShouldSend = bEnabled; break; // Send if breakpoint is enabled case SledBreakpointChangeType.LineNumber: bShouldSend = bEnabled; break; // Send if breakpoint is enabled case SledBreakpointChangeType.UseFunctionEnvironmentTrue: case SledBreakpointChangeType.UseFunctionEnvironmentFalse: bShouldSend = bEnabled; break; } if (bShouldSend) { SendBreakpoint(e.Breakpoint); } }