Esempio n. 1
0
        private void HandleViewChanged(object sender, ViewChangedEventArgs e)
        {
            BackgroundParser = null;
            Tagger = null;
            Tokens3 = null;
            Tokens4 = null;
            Snapshot = null;
            Tree.Dispatcher.Invoke(
                (Action)(() =>
                {
                    try
                    {
                        Tree.Items.Clear();
                    }
                    catch (Exception ex)
                    {
                        if (ErrorHandler.IsCriticalException(ex))
                            throw;
                    }
                }));

            if (e.NewView != null)
            {
                var backgroundParser = BackgroundParserFactoryService.GetBackgroundParser(e.NewView.TextBuffer);
                BackgroundParser = backgroundParser;
                if (backgroundParser != null)
                {
                    Tagger = AstReferenceTaggerProvider.GetAstReferenceTagger(e.NewView.TextBuffer);
                    backgroundParser.ParseComplete += WeakEvents.AsWeak<ParseResultEventArgs>(HandleParseComplete, eh => backgroundParser.ParseComplete -= eh);
                    backgroundParser.RequestParse(false);
                }
            }
        }
        private void OnViewChanged(object sender, ViewChangedEventArgs e)
        {
            BackgroundParser = null;

            if (e.NewView != null)
            {
                var backgroundParser = BackgroundParserFactoryService.GetBackgroundParser(e.NewView.TextBuffer);
                BackgroundParser = backgroundParser;
                if (backgroundParser != null)
                {
                    ToolWindowPane.Caption = "Markdown Preview - ";
                    backgroundParser.ParseComplete += WeakEvents.AsWeak<ParseResultEventArgs>(HandleBackgroundParseComplete, eh => backgroundParser.ParseComplete -= eh);
                    backgroundParser.RequestParse(false);
                }
            }

            CurrentView = e.NewView;

            if (BackgroundParser == null)
            {
                ToolWindowPane.Caption = "Markdown Preview";
                Browser.NavigateToString(EmptyWindowHtml);
            }
        }