public override void EditLabels() { if (!CanEditLabels) { return; } foreach (var vm in codeBreakpointsVM.AllItems) { vm.ClearEditingValueProperties(); } if (SelectedItems.Count == 1) { SelectedItems[0].LabelsEditableValue.IsEditingValue = true; } else { var newLabels = messageBoxService.Ask <string>(dnSpy_Debugger_Resources.EditLabelsMsgBoxLabel, SelectedItems[0].GetLabelsString(), dnSpy_Debugger_Resources.EditLabelsTitle); if (newLabels != null) { var labelsColl = CodeBreakpointVM.CreateLabelsCollection(newLabels); dbgCodeBreakpointsService.Value.Modify(SelectedItems.Select(a => { var bm = a.CodeBreakpoint; var settings = bm.Settings; settings.Labels = labelsColl; return(new DbgCodeBreakpointAndSettings(bm, settings)); }).ToArray()); } } }
internal void WriteLabels(IDbgTextWriter output, CodeBreakpointVM vm) { bool needSep = false; foreach (var label in vm.CodeBreakpoint.Labels ?? emptyLabels) { if (needSep) { output.Write(DbgTextColor.Text, LabelsSeparatorString); output.Write(DbgTextColor.Text, " "); } needSep = true; output.Write(DbgTextColor.Text, label); } }
internal void WriteModule(IDbgTextWriter output, CodeBreakpointVM vm) => vm.BreakpointLocationFormatter.WriteModule(output);
internal void WriteWhenHit(IDbgTextWriter output, CodeBreakpointVM vm) => vm.Context.BreakpointConditionsFormatter.Write(output, vm.CodeBreakpoint.Trace);
internal void WriteFilter(IDbgTextWriter output, CodeBreakpointVM vm) => vm.Context.BreakpointConditionsFormatter.Write(output, vm.CodeBreakpoint.Filter);
internal void WriteHitCount(IDbgTextWriter output, CodeBreakpointVM vm) => vm.Context.BreakpointConditionsFormatter.Write(output, vm.CodeBreakpoint.HitCount, vm.Context.DbgCodeBreakpointHitCountService.GetHitCount(vm.CodeBreakpoint));
internal void WriteName(IDbgTextWriter output, CodeBreakpointVM vm) => vm.BreakpointLocationFormatter.WriteName(output, vm.Context.BreakpointLocationFormatterOptions);
internal void WriteCondition(ITextColorWriter output, CodeBreakpointVM vm) => vm.Context.BreakpointConditionsFormatter.Write(output, vm.CodeBreakpoint.Condition);