Example #1
0
        private void OnOptionChanged(object sender, EditorOptionChangedEventArgs e)
        {
            if (e.OptionId == OptionsKeys.Width.Name)
            {
                this.Width = _view.Options.GetOptionValue(OptionsKeys.Width);
            }
            else if (e.OptionId == OptionsKeys.HighlightsEnabled.Name)
            {
                if (!_view.Options.GetOptionValue(OptionsKeys.HighlightsEnabled))
                {
                    _tagger.Clear();
                }

                _render.Invalidate(TrackRender.MarginParts.WordHighlights);
            }
            else if (e.OptionId == OptionsKeys.MarginColor.Name || e.OptionId == OptionsKeys.BookmarkMarkColor.Name || e.OptionId == OptionsKeys.BreakpointMarkColor.Name || e.OptionId == OptionsKeys.TracepointMarkColor.Name)
            {
                _render.ReloadOptions();
                _render.Invalidate(TrackRender.MarginParts.Marks);
            }
            else if (e.OptionId == OptionsKeys.ScrollColor.Name || e.OptionId == OptionsKeys.ThumbColor.Name)
            {
                _render.ReloadOptions();
                _render.Invalidate(TrackRender.MarginParts.Scroll);
            }
            else if (e.OptionId == OptionsKeys.TextColor.Name || e.OptionId == OptionsKeys.CommentsColor.Name || e.OptionId == OptionsKeys.BackgroundColor.Name)
            {
                _render.ReloadOptions();
                _render.Invalidate(TrackRender.MarginParts.Text);

                this.Background = Utils.CreateBrush(_view.Options.GetOptionValue(OptionsKeys.BackgroundColor));
            }
            else if (e.OptionId == OptionsKeys.HighlightColor.Name)
            {
                _render.ReloadOptions();
                _render.Invalidate(TrackRender.MarginParts.WordHighlights);
            }
            else if (e.OptionId == OptionsKeys.SavedChangeColor.Name || e.OptionId == OptionsKeys.UnsavedChangeColor.Name)
            {
                _render.ReloadOptions();
                _render.Invalidate(TrackRender.MarginParts.Changes);
            }
            else if (e.OptionId == OptionsKeys.ChangeMarginEnabled.Name)
            {
                _render.Invalidate(TrackRender.MarginParts.Changes | TrackRender.MarginParts.Text);
            }
            else if (e.OptionId == OptionsKeys.EnhancedTextRendering.Name)
            {
                _render.Invalidate(TrackRender.MarginParts.Text);
            }
        }