protected MarginBase(IMarginSettings settings, ITextDocument document)
        {
            _dispatcher  = Dispatcher.CurrentDispatcher;
            _settingsKey = document.TextBuffer.ContentType.DisplayName + "Margin_width";
            Document     = document;
            Settings     = settings;

            if (settings.ShowPreviewPane)
            {
                _dispatcher.BeginInvoke(
                    new Action(CreateMarginControls), DispatcherPriority.ApplicationIdle, null);
            }
        }
        protected MarginBase(IMarginSettings settings, ITextDocument document)
        {
            _dispatcher = Dispatcher.CurrentDispatcher;
            _settingsKey = document.TextBuffer.ContentType.DisplayName + "Margin_width";
            Document = document;
            Settings = settings;

            if (settings.ShowPreviewPane)
            {
                _dispatcher.BeginInvoke(
                    new Action(CreateMarginControls), DispatcherPriority.ApplicationIdle, null);
            }
        }
 protected CompilingMarginBase(IMarginSettings settings, ITextDocument document)
     : base(settings, document)
 {
     Notifier = Mef.GetImport <ICompilationNotifierProvider>(Document.TextBuffer.ContentType).GetCompilationNotifier(document);
     Notifier.CompilationReady += (s, e) => UpdateMargin(e.CompilerResult);
 }
 protected DirectMarginBase(IMarginSettings settings, ITextDocument document)
     : base(settings, document)
 {
     Document.FileActionOccurred += Document_FileActionOccurred;
 }
 protected CompilingMarginBase(IMarginSettings settings, ITextDocument document)
     : base(settings, document)
 {
     Notifier = Mef.GetImport<ICompilationNotifierProvider>(Document.TextBuffer.ContentType).GetCompilationNotifier(document);
     Notifier.CompilationReady += (s, e) => UpdateMargin(e.CompilerResult);
 }
 protected DirectMarginBase(IMarginSettings settings, ITextDocument document)
     : base(settings, document)
 {
     Document.FileActionOccurred += Document_FileActionOccurred;
 }