Browse Source

add marker colors customization

pull/26/head
Siegfried Pammer 13 years ago
parent
commit
bd7d401105
  1. 37
      data/resources/StringResources.it.resx
  2. 3139
      data/resources/StringResources.tr.resx
  3. 2
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs
  4. 158
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Options/HighlightingOptions.xaml.cs
  5. 63
      src/Main/Base/Project/Src/Services/Tasks/ErrorPainter.cs

37
data/resources/StringResources.it.resx

@ -1860,6 +1860,9 @@ Vuoi aggiungere il nuovo file al progetto ${CurrentProjectName}?</value> @@ -1860,6 +1860,9 @@ Vuoi aggiungere il nuovo file al progetto ${CurrentProjectName}?</value>
<data name="Dialog.Options.IDEOptions.Debugging.Stepping" xml:space="preserve">
<value>Stepping</value>
</data>
<data name="Dialog.Options.IDEOptions.Debugging.Stepping.DecompileCodeWithoutSymbols" xml:space="preserve">
<value>Decompila codice senza simboli</value>
</data>
<data name="Dialog.Options.IDEOptions.Debugging.Stepping.EnableJustMyCode" xml:space="preserve">
<value>Usa 'Just My Code' per debug passo-passo</value>
</data>
@ -3692,7 +3695,7 @@ ${File} @@ -3692,7 +3695,7 @@ ${File}
<value>Proprietà Griglia</value>
</data>
<data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.GridOptionsPanel.HeightLabel" xml:space="preserve">
<value>A&amp;ltezza</value>
<value>&amp;Altezza</value>
</data>
<data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.GridOptionsPanel.InPlaceEditCheckBox" xml:space="preserve">
<value>Abilita modifica in-linea dei ToolStrips</value>
@ -4011,6 +4014,9 @@ Sono ammesse solo lettere, numeri, spazi, '.' o '_'.</value> @@ -4011,6 +4014,9 @@ Sono ammesse solo lettere, numeri, spazi, '.' o '_'.</value>
<data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.PublicKeyToken.Description" xml:space="preserve">
<value>Il token di chiave pubblica</value>
</data>
<data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.ReferenceOutputAssembly" xml:space="preserve">
<value>Referenzia assembly</value>
</data>
<data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.SpecificVersion" xml:space="preserve">
<value>Versione Specifica</value>
</data>
@ -4056,6 +4062,9 @@ Sono ammesse solo lettere, numeri, spazi, '.' o '_'.</value> @@ -4056,6 +4062,9 @@ Sono ammesse solo lettere, numeri, spazi, '.' o '_'.</value>
<data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve">
<value>Caricamento ${Filename}...</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.CloseSolution" xml:space="preserve">
<value>Chiudi soluzione</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve">
<value>Mantieni aperta la vecchia soluzione</value>
</data>
@ -4089,6 +4098,13 @@ Sono ammesse solo lettere, numeri, spazi, '.' o '_'.</value> @@ -4089,6 +4098,13 @@ Sono ammesse solo lettere, numeri, spazi, '.' o '_'.</value>
<data name="ICSharpCode.SharpDevelop.Project.UpgradeView.Title" xml:space="preserve">
<value>Aggiorna Progetto</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.UpgradeView.UpdateOnLoadDueToMissingMSBuild" xml:space="preserve">
<value>Il progetto '${ProjectName}' usa MSBuild ${OldToolsVersion}, ma questa versione non è installata.
Vuoi aggiornare il progetto a MSBuild ${NewToolsVersion}? Il progetto non può essere aperto senza essere aggiornato.</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.UpgradeView.UpdateToMSBuildButton" xml:space="preserve">
<value>Aggiorna a MSBuild ${NewToolsVersion}</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.UpgradeView.UpgradeFromPreviousVersionDescription" xml:space="preserve">
<value>Questa soluzione è stata creata con una versione precedente di SharpDevelop. Potresti volerla aggiornare così da utilizzare le nuove funzionalità del linguaggio o del framework.</value>
</data>
@ -4169,7 +4185,7 @@ Vai a 'Opzioni-&gt;Stile visuale' e cambia l'attuale ambiente di linguaggio.</va @@ -4169,7 +4185,7 @@ Vai a 'Opzioni-&gt;Stile visuale' e cambia l'attuale ambiente di linguaggio.</va
<value>ASP.NET/IIS (Express) worker process ({0}) non trovato.</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.NoProjectUrlOrProgramAction" xml:space="preserve">
<value>Non è stato specificato nessun Url di Progetto o programma esterno. Controlla il web server su Proprietà Progetto - Debug.</value>
<value>Non è stato specificato nessun Url di Progetto o programma esterno. Controlla il web server sulla linguetta Proprietà Progetto - Web.</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.Port" xml:space="preserve">
<value>Porta server:</value>
@ -4788,7 +4804,7 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4788,7 +4804,7 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<value>Non si può passare ad una funzione senza simboli di debug.</value>
</data>
<data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbolsOrDecompiledCodeOptions" xml:space="preserve">
<value>Non puoi passare ad una funzione senza simboli senza attivare le opzioni di decompilazione del codice.</value>
<value>Non puoi passare ad una funzione senza simboli. Ricompila con i simboli o attiva "Decompila codice senza simboli" nelle opzioni.</value>
</data>
<data name="MainWindow.Windows.Debug.CallStack.ExternalMethods" xml:space="preserve">
<value>[Metodi esterni]</value>
@ -4946,6 +4962,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4946,6 +4962,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.LocalVariables.CopyToClipboard" xml:space="preserve">
<value>Copia il valore negli Appunti</value>
</data>
<data name="MainWindow.Windows.Debug.LocalVariables.NameColumn" xml:space="preserve">
<value>Nome</value>
</data>
<data name="MainWindow.Windows.Debug.LocalVariables.NonPublicMembers" xml:space="preserve">
<value>Membro Non-Pubblico</value>
</data>
@ -4967,6 +4986,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4967,6 +4986,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.LocalVariables.StaticMembers" xml:space="preserve">
<value>Membri statici</value>
</data>
<data name="MainWindow.Windows.Debug.LocalVariables.TypeColumn" xml:space="preserve">
<value>Tipo</value>
</data>
<data name="MainWindow.Windows.Debug.LocalVariables.ValueColumn" xml:space="preserve">
<value>Valore</value>
</data>
<data name="MainWindow.Windows.Debug.MemoryPad" xml:space="preserve">
<value>Memoria</value>
</data>
@ -5006,12 +5031,18 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -5006,12 +5031,18 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.Modules.AddressColumn" xml:space="preserve">
<value>Indirizzo</value>
</data>
<data name="MainWindow.Windows.Debug.Modules.DynamicModule" xml:space="preserve">
<value>(dinamico)</value>
</data>
<data name="MainWindow.Windows.Debug.Modules.HasNoSymbols" xml:space="preserve">
<value>Nessun simbolo caricato.</value>
</data>
<data name="MainWindow.Windows.Debug.Modules.HasSymbols" xml:space="preserve">
<value>Simboli caricati.</value>
</data>
<data name="MainWindow.Windows.Debug.Modules.InMemoryModule" xml:space="preserve">
<value>(in memoria)</value>
</data>
<data name="MainWindow.Windows.Debug.Modules.OrderColumn" xml:space="preserve">
<value>Ordine</value>
</data>

3139
data/resources/StringResources.tr.resx

File diff suppressed because it is too large Load Diff

2
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs

@ -579,7 +579,7 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -579,7 +579,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
string language = this.SyntaxHighlighting != null ? this.SyntaxHighlighting.Name : null;
CustomizableHighlightingColorizer.ApplyCustomizationsToDefaultElements(this, FetchCustomizations(language));
BracketHighlightRenderer.ApplyCustomizationsToRendering(this.bracketRenderer, FetchCustomizations(language));
HighlightingOptions.ApplyToFolding(this, FetchCustomizations(language));
HighlightingOptions.ApplyToRendering(this, FetchCustomizations(language));
this.TextArea.TextView.Redraw(); // manually redraw if default elements didn't change but customized highlightings did
}

158
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/Options/HighlightingOptions.xaml.cs

@ -47,8 +47,6 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options @@ -47,8 +47,6 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options
FoldingManager foldingManager;
List<CustomizedHighlightingColor> customizationList;
#region Folding
// TODO : probably move this to a separate class!
public const string FoldingControls = "Folding controls";
public const string FoldingSelectedControls = "Selected folding controls";
public const string FoldingTextMarkers = "Folding markers";
@ -60,7 +58,7 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options @@ -60,7 +58,7 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options
return brush;
}
public static void ApplyToFolding(TextEditor editor, IEnumerable<CustomizedHighlightingColor> customisations)
public static void ApplyToRendering(TextEditor editor, IEnumerable<CustomizedHighlightingColor> customisations)
{
bool assignedFoldingMarker = false, assignedSelectedFoldingControls = false, assignedFoldingTextMarkers = false;
@ -71,6 +69,16 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options @@ -71,6 +69,16 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options
FoldingElementGenerator.TextBrush = FoldingElementGenerator.DefaultTextBrush;
bool assignedErrorColor = false;
bool assignedWarningColor = false;
bool assignedMessageColor = false;
foreach (var instance in ErrorPainter.Instances) {
instance.ErrorColor = Colors.Red;
instance.WarningColor = Colors.Orange;
instance.MessageColor = Colors.Blue;
}
foreach (CustomizedHighlightingColor color in customisations) {
switch (color.Name) {
case FoldingControls:
@ -78,18 +86,22 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options @@ -78,18 +86,22 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options
continue;
assignedFoldingMarker = true;
if (color.Foreground != null)
editor.SetValue(FoldingMargin.FoldingMarkerBrushProperty, CreateFrozenBrush(color.Foreground.Value));
editor.SetValue(FoldingMargin.FoldingMarkerBrushProperty,
CreateFrozenBrush(color.Foreground.Value));
if (color.Background != null)
editor.SetValue(FoldingMargin.FoldingMarkerBackgroundBrushProperty, CreateFrozenBrush(color.Background.Value));
editor.SetValue(FoldingMargin.FoldingMarkerBackgroundBrushProperty,
CreateFrozenBrush(color.Background.Value));
break;
case FoldingSelectedControls:
if (assignedSelectedFoldingControls)
continue;
assignedSelectedFoldingControls = true;
if (color.Foreground != null)
editor.SetValue(FoldingMargin.SelectedFoldingMarkerBrushProperty, CreateFrozenBrush(color.Foreground.Value));
editor.SetValue(FoldingMargin.SelectedFoldingMarkerBrushProperty,
CreateFrozenBrush(color.Foreground.Value));
if (color.Background != null)
editor.SetValue(FoldingMargin.SelectedFoldingMarkerBackgroundBrushProperty, CreateFrozenBrush(color.Background.Value));
editor.SetValue(FoldingMargin.SelectedFoldingMarkerBackgroundBrushProperty,
CreateFrozenBrush(color.Background.Value));
break;
case FoldingTextMarkers:
if (assignedFoldingTextMarkers)
@ -98,10 +110,39 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options @@ -98,10 +110,39 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options
if (color.Foreground != null)
FoldingElementGenerator.TextBrush = CreateFrozenBrush(color.Foreground.Value);
break;
case ErrorPainter.ErrorColorName:
if (assignedErrorColor)
continue;
assignedErrorColor = true;
if (color.Foreground != null) {
foreach (var instance in ErrorPainter.Instances) {
instance.ErrorColor = color.Foreground.Value;
}
}
break;
case ErrorPainter.WarningColorName:
if (assignedWarningColor)
continue;
assignedWarningColor = true;
if (color.Foreground != null) {
foreach (var instance in ErrorPainter.Instances) {
instance.WarningColor = color.Foreground.Value;
}
}
break;
case ErrorPainter.MessageColorName:
if (assignedMessageColor)
continue;
assignedMessageColor = true;
if (color.Foreground != null) {
foreach (var instance in ErrorPainter.Instances) {
instance.MessageColor = color.Foreground.Value;
}
}
break;
}
}
}
#endregion
XshdSyntaxDefinition LoadBuiltinXshd(string name)
{
@ -313,6 +354,45 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options @@ -313,6 +354,45 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options
linkText = new CustomizedHighlightingItem(customizationList, linkText, language, canSetFont: false);
linkText.PropertyChanged += item_PropertyChanged;
items.Add(linkText);
IHighlightingItem errorMarker = new SimpleHighlightingItem(
ErrorPainter.ErrorColorName,
ta => {
ta.Document.Text = "some error";
// TODO : attach error painter/text marker service
})
{
Foreground = Colors.Red
};
errorMarker = new CustomizedHighlightingItem(customizationList, errorMarker, language, canSetFont: false, canSetBackground: false);
errorMarker.PropertyChanged += item_PropertyChanged;
items.Add(errorMarker);
IHighlightingItem warningMarker = new SimpleHighlightingItem(
ErrorPainter.WarningColorName,
ta => {
ta.Document.Text = "some warning";
// TODO : attach error painter/text marker service
})
{
Foreground = Colors.Orange
};
warningMarker = new CustomizedHighlightingItem(customizationList, warningMarker, language, canSetFont: false, canSetBackground: false);
warningMarker.PropertyChanged += item_PropertyChanged;
items.Add(warningMarker);
IHighlightingItem messageMarker = new SimpleHighlightingItem(
ErrorPainter.MessageColorName,
ta => {
ta.Document.Text = "some message";
// TODO : attach error painter/text marker service
})
{
Foreground = Colors.Blue
};
messageMarker = new CustomizedHighlightingItem(customizationList, messageMarker, language, canSetFont: false, canSetBackground: false);
messageMarker.PropertyChanged += item_PropertyChanged;
items.Add(messageMarker);
}
void item_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
@ -346,7 +426,7 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options @@ -346,7 +426,7 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options
if (xshd != null) {
var customizationsForCurrentLanguage = customizationList.Where(c => c.Language == null || c.Language == xshd.Name);
CustomizableHighlightingColorizer.ApplyCustomizationsToDefaultElements(textEditor, customizationsForCurrentLanguage);
ApplyToFolding(textEditor, customizationsForCurrentLanguage);
ApplyToRendering(textEditor, customizationsForCurrentLanguage);
var item = (IHighlightingItem)listBox.SelectedItem;
TextView textView = textEditor.TextArea.TextView;
foldingManager.Clear();
@ -389,12 +469,23 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options @@ -389,12 +469,23 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options
Core.MessageService.ShowError("Settings version not supported!");
return;
}
bool? replaceCustomizations = null;
foreach (var item in items) {
string key = item.Attribute("Name").Value;
var entry = ParseEntry(item);
foreach (var sdKey in mapping[key]) {
IHighlightingItem color;
if (FindSDColor(sdKey, out color)) {
if (color.IsCustomized) {
if (!replaceCustomizations.HasValue) {
replaceCustomizations =
MessageService.AskQuestion("There are already one or more existing customizations. " +
"Do you want to replace them with the imported values? " +
"Colors that are not yet customized will be imported anyway.");
}
if (replaceCustomizations == false)
continue;
}
color.Bold = entry.Item3;
color.Foreground = entry.Item1;
color.Background = entry.Item2;
@ -436,12 +527,13 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options @@ -436,12 +527,13 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options
// VS => SD
static readonly MultiDictionary<string, string> mapping = new MultiDictionary<string, string>(StringComparer.Ordinal) {
{ "Brace Matching (Rectangle)", "Bracket highlight" },
{ "Collapsible Text", "" },
{ "Comment", "" },
{ "Brace Matching (Rectangle)", BracketHighlightRenderer.BracketHighlight },
{ "Collapsible Text", FoldingTextMarkers },
{ "Comment", "XML.Comment" },
{ "Comment", "VBNET.Comment" },
{ "Comment", "C#.Comment" },
{ "Compiler Error", "" },
{ "CSS Comment", "" },
{ "Compiler Error", ErrorPainter.ErrorColorName },
{ "CSS Comment", "CSS.Comment" },
{ "CSS Keyword", "" },
{ "CSS Property Name", "" },
{ "CSS Property Value", "" },
@ -459,16 +551,32 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options @@ -459,16 +551,32 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options
{ "Identifier", "" },
{ "Inactive Selected Text", "" },
{ "Indicator Margin", "" },
{ "Keyword", "" },
{ "Line Numbers", "Line numbers" },
{ "Keyword", "C#.ThisOrBaseReference" },
{ "Keyword", "C#.NullOrValueKeywords" },
{ "Keyword", "C#.Keywords" },
{ "Keyword", "C#.GotoKeywords" },
{ "Keyword", "C#.ContextKeywords" },
{ "Keyword", "C#.ExceptionKeywords" },
{ "Keyword", "C#.CheckedKeyword" },
{ "Keyword", "C#.UnsafeKeywords" },
{ "Keyword", "C#.OperatorKeywords" },
{ "Keyword", "C#.ParameterModifiers" },
{ "Keyword", "C#.Modifiers" },
{ "Keyword", "C#.Visibility" },
{ "Keyword", "C#.NamespaceKeywords" },
{ "Keyword", "C#.GetSetAddRemove" },
{ "Keyword", "C#.TrueFalse" },
{ "Keyword", "C#.TypeKeywords" },
{ "Line Numbers", CustomizableHighlightingColorizer.LineNumbers },
{ "MarkerFormatDefinition/HighlightedReference", "" },
{ "Number", "" },
{ "Operator", "" },
{ "Number", "C#.NumberLiteral" },
{ "Operator", "C#.Punctuation" },
{ "outlining.collapsehintadornment", "" },
{ "outlining.square", "" },
{ "outlining.square", FoldingControls },
{ "outlining.square", FoldingSelectedControls },
{ "outlining.verticalrule", "" },
{ "Plain Text", "" },
{ "Plain Text", "Default text/background" },
{ "Plain Text", CustomizableHighlightingColorizer.DefaultTextAndBackground },
{ "Preprocessor Keyword", "" },
{ "Preprocessor Keyword", "C#.Preprocessor" },
{ "Razor Code", "" },
@ -479,18 +587,18 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options @@ -479,18 +587,18 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options
{ "Script Operator", "" },
{ "Script String", "" },
{ "Selected Text", "" },
{ "Selected Text", "Selected text" },
{ "String", "" },
{ "Selected Text", CustomizableHighlightingColorizer.SelectedText },
{ "String", "VBNET.String" },
{ "String", "C#.String" },
{ "String(C# @ Verbatim)", "" },
{ "Syntax Error", "" },
{ "urlformat", "" },
{ "urlformat", CustomizableHighlightingColorizer.LinkText },
{ "User Types", "" },
{ "User Types(Delegates)", "" },
{ "User Types(Enums)", "" },
{ "User Types(Interfaces)", "" },
{ "User Types(Value types)", "" },
{ "Warning", "" },
{ "Warning", ErrorPainter.WarningColorName },
{ "XAML Attribute Quotes", "" },
{ "XAML Attribute Value", "" },
{ "XAML Attribute", "" },
@ -503,7 +611,7 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options @@ -503,7 +611,7 @@ namespace ICSharpCode.AvalonEdit.AddIn.Options
{ "XAML Name", "" },
{ "XAML Text", "" },
{ "XML Attribute Quotes", "" },
{ "XML Attribute Value", "" },
{ "XML Attribute Value", "XML." },
{ "XML Attribute", "" },
{ "XML CData Section", "" },
{ "XML Comment", "" },

63
src/Main/Base/Project/Src/Services/Tasks/ErrorPainter.cs

@ -2,11 +2,13 @@ @@ -2,11 +2,13 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using System.Windows.Media;
using ICSharpCode.AvalonEdit.Document;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Debugging;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.SharpDevelop
{
@ -20,6 +22,7 @@ namespace ICSharpCode.SharpDevelop @@ -20,6 +22,7 @@ namespace ICSharpCode.SharpDevelop
public ErrorPainter(ITextEditor textEditor)
{
instances.Add(this);
this.textEditor = textEditor;
this.markerService = this.textEditor.GetService(typeof(ITextMarkerService)) as ITextMarkerService;
@ -33,6 +36,10 @@ namespace ICSharpCode.SharpDevelop @@ -33,6 +36,10 @@ namespace ICSharpCode.SharpDevelop
DebuggerService.DebugStopped += OnDebugStartedStopped;
textEditor.Options.PropertyChanged += textEditor_Options_PropertyChanged;
ErrorColor = Colors.Red;
WarningColor = Colors.Orange;
MessageColor = Colors.Blue;
UpdateEnabled();
}
@ -54,6 +61,56 @@ namespace ICSharpCode.SharpDevelop @@ -54,6 +61,56 @@ namespace ICSharpCode.SharpDevelop
DebuggerService.DebugStopped -= OnDebugStartedStopped;
textEditor.Options.PropertyChanged -= textEditor_Options_PropertyChanged;
ClearErrors();
instances.Remove(this);
}
static readonly List<ErrorPainter> instances = new List<ErrorPainter>();
public static IEnumerable<ErrorPainter> Instances {
get {
WorkbenchSingleton.AssertMainThread();
return instances;
}
}
public const string ErrorColorName = "Error Marker";
public const string WarningColorName = "Warning Marker";
public const string MessageColorName = "Message Marker";
Color errorColor;
public Color ErrorColor {
get { return errorColor; }
set {
if (errorColor != value) {
errorColor = value;
UpdateErrors();
}
}
}
Color warningColor;
public Color WarningColor {
get { return warningColor; }
set {
if (warningColor != value) {
warningColor = value;
UpdateErrors();
}
}
}
Color messageColor;
public Color MessageColor {
get { return messageColor; }
set {
if (messageColor != value) {
messageColor = value;
UpdateErrors();
}
}
}
bool isEnabled;
@ -149,13 +206,13 @@ namespace ICSharpCode.SharpDevelop @@ -149,13 +206,13 @@ namespace ICSharpCode.SharpDevelop
switch (task.TaskType) {
case TaskType.Error:
markerColor = Colors.Red;
markerColor = ErrorColor;
break;
case TaskType.Message:
markerColor = Colors.Blue;
markerColor = MessageColor;
break;
case TaskType.Warning:
markerColor = Colors.Orange;
markerColor = WarningColor;
break;
}

Loading…
Cancel
Save