示例#1
0
        private async Task LoadDevelopmentAsync(IDevelopmentContextProvider provider, string rootNodeTitle)
        {
            PanelManager.Instance.PanelContainer.BusyIndicatorCaption =
                LocalizationManager.Instance.LocalizeString("BUSY_INDICATOR_LOAD_DEVELOPMENT_CAPTION");
            PanelManager.Instance.PanelContainer.IsBusyIndicatorVisible = true;
            try
            {
                await Task.Run(() =>
                {
                    this.codeCheckerService.ClearProviders();
                    this.codeCheckerService.AddProvider(provider);
                });

                this.componentTypes.Clear();
                // TODO: Слишком сложно добраться до контекста разработки. Подумать, как сделать удобнее.
                var componentTypeNodes = this.sourceTreeGenerator.Generate(rootNodeTitle, this.codeCheckerService.CodeChecker.ContextManager.Context.Development);
                foreach (var componentTypeNode in componentTypeNodes)
                {
                    this.componentTypes.Add(componentTypeNode);
                }
            }
            finally
            {
                PanelManager.Instance.PanelContainer.IsBusyIndicatorVisible = false;
            }
        }
示例#2
0
 /// <summary>
 /// Добавить провайдер разработки.
 /// </summary>
 /// <param name="provider">Провайдер разработки.</param>
 public void AddProvider(IDevelopmentContextProvider provider)
 {
     this.developmentContextFactory.Providers.Add(provider);
     this.codeChecker.ContextManager.Refresh();
 }