Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Krüger <mkrueger@xamarin.com>2015-01-26 18:06:37 +0300
committerMike Krüger <mkrueger@xamarin.com>2015-01-26 18:06:37 +0300
commit8f9269ec166195392be3214108a090aeed269aa8 (patch)
treedf85722d6247498cab1dd7a155d3473e2345464e /main/src/addins/MonoDevelop.SourceEditor2
parente57d82108b73c8f5838714081d84ac18db6c3d87 (diff)
[SourceEditor] Implemented preview for the marker panel.
Diffstat (limited to 'main/src/addins/MonoDevelop.SourceEditor2')
-rw-r--r--main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.OptionPanels/MarkerPanel.cs139
1 files changed, 117 insertions, 22 deletions
diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.OptionPanels/MarkerPanel.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.OptionPanels/MarkerPanel.cs
index 9d7b358c62..c0407b6177 100644
--- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.OptionPanels/MarkerPanel.cs
+++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.OptionPanels/MarkerPanel.cs
@@ -33,6 +33,29 @@ namespace MonoDevelop.SourceEditor.OptionPanels
public partial class MarkerPanel : Gtk.Bin, IOptionsPanel
{
+
+ bool showLineNumbers;
+
+ bool underlineErrors;
+
+ bool highlightMatchingBracket;
+
+ bool highlightCurrentLine;
+
+ bool showRuler;
+
+ bool enableAnimation;
+
+ bool enableHighlightUsages;
+
+ bool drawIndentMarkers;
+
+ ShowWhitespaces showWhitespaces;
+
+ bool enableQuickDiff;
+
+ IncludeWhitespaces includeWhitespaces;
+
public MarkerPanel()
{
this.Build();
@@ -40,37 +63,93 @@ namespace MonoDevelop.SourceEditor.OptionPanels
public virtual Gtk.Widget CreatePanelWidget ()
{
- this.showLineNumbersCheckbutton.Active = DefaultSourceEditorOptions.Instance.ShowLineNumberMargin;
- this.underlineErrorsCheckbutton.Active = DefaultSourceEditorOptions.Instance.UnderlineErrors;
- this.highlightMatchingBracketCheckbutton.Active = DefaultSourceEditorOptions.Instance.HighlightMatchingBracket;
- this.highlightCurrentLineCheckbutton.Active = DefaultSourceEditorOptions.Instance.HighlightCaretLine;
- this.showRulerCheckbutton.Active = DefaultSourceEditorOptions.Instance.ShowRuler;
- this.enableAnimationCheckbutton1.Active = DefaultSourceEditorOptions.Instance.EnableAnimations;
- this.enableHighlightUsagesCheckbutton.Active = DefaultSourceEditorOptions.Instance.EnableHighlightUsages;
- this.drawIndentMarkersCheckbutton.Active = DefaultSourceEditorOptions.Instance.DrawIndentationMarkers;
+ this.showLineNumbersCheckbutton.Active = showLineNumbers = DefaultSourceEditorOptions.Instance.ShowLineNumberMargin;
+ this.showLineNumbersCheckbutton.Toggled += delegate {
+ DefaultSourceEditorOptions.Instance.ShowLineNumberMargin = this.showLineNumbersCheckbutton.Active;
+ };
+
+ this.underlineErrorsCheckbutton.Active = underlineErrors = DefaultSourceEditorOptions.Instance.UnderlineErrors;
+ this.underlineErrorsCheckbutton.Toggled += delegate {
+ DefaultSourceEditorOptions.Instance.UnderlineErrors = this.underlineErrorsCheckbutton.Active;
+ };
+
+ this.highlightMatchingBracketCheckbutton.Active = highlightMatchingBracket = DefaultSourceEditorOptions.Instance.HighlightMatchingBracket;
+ this.highlightMatchingBracketCheckbutton.Toggled += delegate {
+ DefaultSourceEditorOptions.Instance.HighlightMatchingBracket = this.highlightMatchingBracketCheckbutton.Active;
+ };
+
+ this.highlightCurrentLineCheckbutton.Active = highlightCurrentLine = DefaultSourceEditorOptions.Instance.HighlightCaretLine;
+ this.highlightCurrentLineCheckbutton.Toggled += delegate {
+ DefaultSourceEditorOptions.Instance.HighlightCaretLine = this.highlightCurrentLineCheckbutton.Active;
+ };
+
+ this.showRulerCheckbutton.Active = showRuler = DefaultSourceEditorOptions.Instance.ShowRuler;
+ this.showRulerCheckbutton.Toggled += delegate {
+ DefaultSourceEditorOptions.Instance.ShowRuler = this.showRulerCheckbutton.Active;
+ };
+
+ this.enableAnimationCheckbutton1.Active = enableAnimation = DefaultSourceEditorOptions.Instance.EnableAnimations;
+ this.enableAnimationCheckbutton1.Toggled += delegate {
+ DefaultSourceEditorOptions.Instance.EnableAnimations = this.enableAnimationCheckbutton1.Active;
+ };
+
+ this.enableHighlightUsagesCheckbutton.Active = enableHighlightUsages = DefaultSourceEditorOptions.Instance.EnableHighlightUsages;
+ this.enableHighlightUsagesCheckbutton.Toggled += delegate {
+ DefaultSourceEditorOptions.Instance.EnableHighlightUsages = this.enableHighlightUsagesCheckbutton.Active;
+ };
+
+ this.drawIndentMarkersCheckbutton.Active = drawIndentMarkers = DefaultSourceEditorOptions.Instance.DrawIndentationMarkers;
+ this.drawIndentMarkersCheckbutton.Toggled += delegate {
+ DefaultSourceEditorOptions.Instance.DrawIndentationMarkers = this.drawIndentMarkersCheckbutton.Active;
+ };
this.showWhitespacesCombobox.AppendText (GettextCatalog.GetString ("Never"));
this.showWhitespacesCombobox.AppendText (GettextCatalog.GetString ("Selection"));
this.showWhitespacesCombobox.AppendText (GettextCatalog.GetString ("Always"));
- this.showWhitespacesCombobox.Active = (int)DefaultSourceEditorOptions.Instance.ShowWhitespaces;
+ this.showWhitespacesCombobox.Active = (int)(showWhitespaces = DefaultSourceEditorOptions.Instance.ShowWhitespaces);
+ this.showWhitespacesCombobox.Changed += delegate {
+ DefaultSourceEditorOptions.Instance.ShowWhitespaces = (ShowWhitespaces) this.showWhitespacesCombobox.Active;
+ };
this.checkbuttonSpaces.Active = DefaultSourceEditorOptions.Instance.IncludeWhitespaces.HasFlag (IncludeWhitespaces.Space);
+ this.checkbuttonSpaces.Toggled += CheckbuttonSpaces_Toggled;
+
this.checkbuttonTabs.Active = DefaultSourceEditorOptions.Instance.IncludeWhitespaces.HasFlag (IncludeWhitespaces.Tab);
+ this.checkbuttonTabs.Toggled += CheckbuttonSpaces_Toggled;
+
this.checkbuttonLineEndings.Active = DefaultSourceEditorOptions.Instance.IncludeWhitespaces.HasFlag (IncludeWhitespaces.LineEndings);
- this.enableQuickDiffCheckbutton.Active = DefaultSourceEditorOptions.Instance.EnableQuickDiff;
+ this.checkbuttonLineEndings.Toggled += CheckbuttonSpaces_Toggled;
+
+ includeWhitespaces = DefaultSourceEditorOptions.Instance.IncludeWhitespaces;
+ this.enableQuickDiffCheckbutton.Active = enableQuickDiff = DefaultSourceEditorOptions.Instance.EnableQuickDiff;
+ this.enableQuickDiffCheckbutton.Toggled += delegate {
+ DefaultSourceEditorOptions.Instance.EnableQuickDiff = this.enableQuickDiffCheckbutton.Active;
+ };
return this;
}
-
+
+ void CheckbuttonSpaces_Toggled (object sender, EventArgs e)
+ {
+ var include = IncludeWhitespaces.None;
+ if (checkbuttonSpaces.Active)
+ include |= IncludeWhitespaces.Space;
+ if (checkbuttonTabs.Active)
+ include |= IncludeWhitespaces.Tab;
+ if (checkbuttonLineEndings.Active)
+ include |= IncludeWhitespaces.LineEndings;
+ DefaultSourceEditorOptions.Instance.IncludeWhitespaces = include;
+ }
+
public virtual void ApplyChanges ()
{
- DefaultSourceEditorOptions.Instance.ShowLineNumberMargin = this.showLineNumbersCheckbutton.Active;
- DefaultSourceEditorOptions.Instance.UnderlineErrors = this.underlineErrorsCheckbutton.Active;
- DefaultSourceEditorOptions.Instance.HighlightMatchingBracket = this.highlightMatchingBracketCheckbutton.Active;
- DefaultSourceEditorOptions.Instance.HighlightCaretLine = this.highlightCurrentLineCheckbutton.Active;
- DefaultSourceEditorOptions.Instance.ShowRuler = this.showRulerCheckbutton.Active;
- DefaultSourceEditorOptions.Instance.EnableAnimations = this.enableAnimationCheckbutton1.Active;
- DefaultSourceEditorOptions.Instance.EnableHighlightUsages = this.enableHighlightUsagesCheckbutton.Active;
- DefaultSourceEditorOptions.Instance.DrawIndentationMarkers = this.drawIndentMarkersCheckbutton.Active;
- DefaultSourceEditorOptions.Instance.ShowWhitespaces = (ShowWhitespaces) this.showWhitespacesCombobox.Active;
- DefaultSourceEditorOptions.Instance.EnableQuickDiff = this.enableQuickDiffCheckbutton.Active;
+ showLineNumbers = this.showLineNumbersCheckbutton.Active;
+ underlineErrors = this.underlineErrorsCheckbutton.Active;
+ highlightMatchingBracket = this.highlightMatchingBracketCheckbutton.Active;
+ highlightCurrentLine = this.highlightCurrentLineCheckbutton.Active;
+ showRuler = this.showRulerCheckbutton.Active;
+ enableAnimation = this.enableAnimationCheckbutton1.Active;
+ enableHighlightUsages = this.enableHighlightUsagesCheckbutton.Active;
+ drawIndentMarkers = this.drawIndentMarkersCheckbutton.Active;
+ showWhitespaces = (ShowWhitespaces) this.showWhitespacesCombobox.Active;
+ enableQuickDiff = this.enableQuickDiffCheckbutton.Active;
var include = IncludeWhitespaces.None;
if (checkbuttonSpaces.Active)
@@ -79,7 +158,23 @@ namespace MonoDevelop.SourceEditor.OptionPanels
include |= IncludeWhitespaces.Tab;
if (checkbuttonLineEndings.Active)
include |= IncludeWhitespaces.LineEndings;
- DefaultSourceEditorOptions.Instance.IncludeWhitespaces = include;
+ includeWhitespaces = include;
+ }
+
+ protected override void OnDestroyed ()
+ {
+ DefaultSourceEditorOptions.Instance.ShowLineNumberMargin = showLineNumbers;
+ DefaultSourceEditorOptions.Instance.UnderlineErrors = underlineErrors;
+ DefaultSourceEditorOptions.Instance.HighlightMatchingBracket = highlightMatchingBracket;
+ DefaultSourceEditorOptions.Instance.HighlightCaretLine = highlightCurrentLine;
+ DefaultSourceEditorOptions.Instance.ShowRuler = showRuler;
+ DefaultSourceEditorOptions.Instance.EnableAnimations = enableAnimation;
+ DefaultSourceEditorOptions.Instance.EnableHighlightUsages = enableHighlightUsages;
+ DefaultSourceEditorOptions.Instance.DrawIndentationMarkers = drawIndentMarkers;
+ DefaultSourceEditorOptions.Instance.ShowWhitespaces = showWhitespaces;
+ DefaultSourceEditorOptions.Instance.EnableQuickDiff = enableQuickDiff;
+ DefaultSourceEditorOptions.Instance.IncludeWhitespaces = includeWhitespaces;
+ base.OnDestroyed ();
}
public void Initialize (OptionsDialog dialog, object dataObject)