public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var vm = value as BreakpointVM; if (vm == null) return null; var s = parameter as string; if (s == null) return null; if (StringComparer.OrdinalIgnoreCase.Equals(s, "Image")) { string img = vm.IsEnabled ? "Breakpoint" : "DisabledBreakpoint"; return ImageCache.Instance.GetImage(img, BackgroundType.GridViewItem); } var gen = UISyntaxHighlighter.Create(DebuggerSettings.Instance.SyntaxHighlightBreakpoints); var printer = new BreakpointPrinter(gen.TextOutput, DebuggerSettings.Instance.UseHexadecimal); if (StringComparer.OrdinalIgnoreCase.Equals(s, "Name")) printer.WriteName(vm); else if (StringComparer.OrdinalIgnoreCase.Equals(s, "Assembly")) printer.WriteAssembly(vm); else if (StringComparer.OrdinalIgnoreCase.Equals(s, "Module")) printer.WriteModule(vm); else if (StringComparer.OrdinalIgnoreCase.Equals(s, "File")) printer.WriteFile(vm); else return null; return gen.CreateTextBlock(true); }
public override void Execute(BreakpointCtxMenuContext context) { var output = new StringBuilderTextColorOutput(); foreach (var vm in context.SelectedItems) { var printer = new BreakpointPrinter(output, debuggerSettings.UseHexadecimal, languageManager.Language); printer.WriteName(vm); output.Write(BoxedTextColor.Text, "\t"); printer.WriteAssembly(vm); output.Write(BoxedTextColor.Text, "\t"); printer.WriteModule(vm); output.Write(BoxedTextColor.Text, "\t"); printer.WriteFile(vm); output.WriteLine(); } var s = output.ToString(); if (s.Length > 0) { try { Clipboard.SetText(s); } catch (ExternalException) { } } }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var vm = value as BreakpointVM; if (vm == null) return null; var s = parameter as string; if (s == null) return null; if (StringComparer.OrdinalIgnoreCase.Equals(s, "Image")) { string img = vm.IsEnabled ? "Breakpoint" : "DisabledBreakpoint"; return vm.Context.ImageManager.GetImage(GetType().Assembly, img, BackgroundType.GridViewItem); } var gen = UISyntaxHighlighter.Create(vm.Context.SyntaxHighlight); var printer = new BreakpointPrinter(gen.Output, vm.Context.UseHexadecimal, vm.Context.Language); if (StringComparer.OrdinalIgnoreCase.Equals(s, "Name")) printer.WriteName(vm); else if (StringComparer.OrdinalIgnoreCase.Equals(s, "Assembly")) printer.WriteAssembly(vm); else if (StringComparer.OrdinalIgnoreCase.Equals(s, "Module")) printer.WriteModule(vm); else if (StringComparer.OrdinalIgnoreCase.Equals(s, "File")) printer.WriteFile(vm); else return null; return gen.CreateResult(true); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var vm = value as BreakpointVM; if (vm == null) return null; var tag = parameter as string; if (tag == null) return null; var writer = Cache.GetWriter(); try { var printer = new BreakpointPrinter(writer, vm.Context.UseHexadecimal, vm.Context.Decompiler); if (tag == PredefinedTextClassifierTags.BreakpointsWindowName) printer.WriteName(vm); else if (tag == PredefinedTextClassifierTags.BreakpointsWindowAssembly) printer.WriteAssembly(vm); else if (tag == PredefinedTextClassifierTags.BreakpointsWindowModule) printer.WriteModule(vm); else if (tag == PredefinedTextClassifierTags.BreakpointsWindowFile) printer.WriteFile(vm); else return null; var context = new TextClassifierContext(writer.Text, tag, vm.Context.SyntaxHighlight, writer.Colors); return vm.Context.TextElementProvider.CreateTextElement(vm.Context.ClassificationFormatMap, context, ContentTypes.BreakpointsWindow, TextElementFlags.FilterOutNewLines | TextElementFlags.CharacterEllipsis); } finally { Cache.FreeWriter(writer); } }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var vm = value as BreakpointVM; if (vm == null) { return(null); } var s = parameter as string; if (s == null) { return(null); } if (StringComparer.OrdinalIgnoreCase.Equals(s, "Image")) { string img = vm.IsEnabled ? "Breakpoint" : "DisabledBreakpoint"; return(vm.Context.ImageManager.GetImage(new ImageReference(GetType().Assembly, img), BackgroundType.GridViewItem)); } var gen = ColorizedTextElementProvider.Create(vm.Context.SyntaxHighlight); var printer = new BreakpointPrinter(gen.Output, vm.Context.UseHexadecimal, vm.Context.Decompiler); if (StringComparer.OrdinalIgnoreCase.Equals(s, "Name")) { printer.WriteName(vm); } else if (StringComparer.OrdinalIgnoreCase.Equals(s, "Assembly")) { printer.WriteAssembly(vm); } else if (StringComparer.OrdinalIgnoreCase.Equals(s, "Module")) { printer.WriteModule(vm); } else if (StringComparer.OrdinalIgnoreCase.Equals(s, "File")) { printer.WriteFile(vm); } else { return(null); } return(gen.CreateResult(true)); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var vm = value as BreakpointVM; if (vm == null) { return(null); } var tag = parameter as string; if (tag == null) { return(null); } var writer = Cache.GetWriter(); try { var printer = new BreakpointPrinter(writer, vm.Context.UseHexadecimal, vm.Context.Decompiler); if (tag == PredefinedTextClassifierTags.BreakpointsWindowName) { printer.WriteName(vm); } else if (tag == PredefinedTextClassifierTags.BreakpointsWindowAssembly) { printer.WriteAssembly(vm); } else if (tag == PredefinedTextClassifierTags.BreakpointsWindowModule) { printer.WriteModule(vm); } else if (tag == PredefinedTextClassifierTags.BreakpointsWindowFile) { printer.WriteFile(vm); } else { return(null); } var context = new TextClassifierContext(writer.Text, tag, vm.Context.SyntaxHighlight, writer.Colors); return(vm.Context.TextElementProvider.CreateTextElement(vm.Context.ClassificationFormatMap, context, ContentTypes.BreakpointsWindow, TextElementFlags.FilterOutNewLines | TextElementFlags.CharacterEllipsis)); } finally { Cache.FreeWriter(writer); } }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var vm = value as BreakpointVM; if (vm == null) { return(null); } var s = parameter as string; if (s == null) { return(null); } if (StringComparer.OrdinalIgnoreCase.Equals(s, "Image")) { string img = vm.IsEnabled ? "Breakpoint" : "DisabledBreakpoint"; return(ImageCache.Instance.GetImage(img, BackgroundType.GridViewItem)); } var gen = UISyntaxHighlighter.Create(DebuggerSettings.Instance.SyntaxHighlightBreakpoints); var printer = new BreakpointPrinter(gen.TextOutput, DebuggerSettings.Instance.UseHexadecimal); if (StringComparer.OrdinalIgnoreCase.Equals(s, "Name")) { printer.WriteName(vm); } else if (StringComparer.OrdinalIgnoreCase.Equals(s, "Assembly")) { printer.WriteAssembly(vm); } else if (StringComparer.OrdinalIgnoreCase.Equals(s, "Module")) { printer.WriteModule(vm); } else if (StringComparer.OrdinalIgnoreCase.Equals(s, "File")) { printer.WriteFile(vm); } else { return(null); } return(gen.CreateTextBlock(true)); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var vm = value as BreakpointVM; if (vm == null) { return(null); } var s = parameter as string; if (s == null) { return(null); } var gen = ColorizedTextElementProvider.Create(vm.Context.SyntaxHighlight); var printer = new BreakpointPrinter(gen.Output, vm.Context.UseHexadecimal, vm.Context.Decompiler); if (StringComparer.OrdinalIgnoreCase.Equals(s, "Name")) { printer.WriteName(vm); } else if (StringComparer.OrdinalIgnoreCase.Equals(s, "Assembly")) { printer.WriteAssembly(vm); } else if (StringComparer.OrdinalIgnoreCase.Equals(s, "Module")) { printer.WriteModule(vm); } else if (StringComparer.OrdinalIgnoreCase.Equals(s, "File")) { printer.WriteFile(vm); } else { return(null); } return(gen.CreateResult(true)); }
public override void Execute(BreakpointCtxMenuContext context) { var output = new NoSyntaxHighlightOutput(); foreach (var vm in context.SelectedItems) { var printer = new BreakpointPrinter(output, debuggerSettings.UseHexadecimal, languageManager.SelectedLanguage); printer.WriteName(vm); output.Write("\t", TextTokenKind.Text); printer.WriteAssembly(vm); output.Write("\t", TextTokenKind.Text); printer.WriteModule(vm); output.Write("\t", TextTokenKind.Text); printer.WriteFile(vm); output.WriteLine(); } var s = output.ToString(); if (s.Length > 0) { Clipboard.SetText(s); } }
protected override void Execute(BreakpointCtxMenuContext context) { var output = new PlainTextOutput(); foreach (var vm in context.SelectedItems) { var printer = new BreakpointPrinter(output, DebuggerSettings.Instance.UseHexadecimal); printer.WriteName(vm); output.Write('\t', TextTokenType.Text); printer.WriteAssembly(vm); output.Write('\t', TextTokenType.Text); printer.WriteModule(vm); output.Write('\t', TextTokenType.Text); printer.WriteFile(vm); output.WriteLine(); } var s = output.ToString(); if (s.Length > 0) { Clipboard.SetText(s); } }