Example #1
0
        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);
                }
            }
        }
Example #2
0
        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");
 }
Example #4
0
 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);
            }
        }