コード例 #1
0
        private BusinessObjects()
        {
            OutputManager            = new OutputManager();
            ScheduleManager          = new MediaScheduleManager();
            ScheduleTemplatesManager = new ScheduleTemplatesManager();
            SolutionsManager         = new SolutionsManager();
            SlideManager             = new SlideManager();
            HelpManager           = new HelpManager();
            ThemeManager          = new ThemeManager();
            ConfigManager         = new ConfigManager();
            TextResourcesManager  = new TextResourcesManager();
            ImageResourcesManager = new ImageResourcesManager();
            PowerPointManager     = new PowerPointManager <PowerPointSingletonProcessor>();
            BrowserManager        = new BrowserManager();
            IdleManager           = new ApplicationIdleManager();

            AdditionalInitializator = new AdditionalInitializationDispatcher();
        }
コード例 #2
0
 public UnityFindUsagesProvider(IFeaturePartsContainer manager, SolutionsManager solutionsManager)
     : base(manager)
 {
     mySolutionsManager = solutionsManager;
 }
コード例 #3
0
 public ShowUnityHelp(OpensUri uriOpener, UnityInstallationFinder installationFinder, SolutionsManager solutionsManager)
 {
     myUriOpener          = uriOpener;
     myInstallationFinder = installationFinder;
     mySolutionsManager   = solutionsManager;
 }
コード例 #4
0
 public ShowUnityHelp(OpensUri uriOpener, SolutionsManager solutionsManager)
 {
     myUriOpener        = uriOpener;
     mySolutionsManager = solutionsManager;
 }
コード例 #5
0
        public void Init()
        {
            PowerPointManager.Init();
            ListManager.Instance.Load();
            ThemeManager.Load();
            SlideSettingsManager.Instance.SettingsChanged += (o, e) => ThemeManager.Load();
            HelpManager.LoadHelpLinks();
            RibbonTabPageManager = new RibbonTabPageManager(ResourceManager.Instance.TabsConfigFile);
            BrowserManager.Init(ResourceManager.Instance.BrowserConfigFile);

            FormStyleManager = new FormStyleManager(ResourceManager.Instance.FormStyleConfigFile);
            ActivityManager  = ActivityManager.OpenStorage();
            ConfigManager.LoadConfig(ResourceManager.Instance.ConfigFile);
            TextResourcesManager.LoadTextResources(ResourceManager.Instance.TextResourcesFile);
            TextResourcesManager.LoadTabPageSettings(ResourceManager.Instance.AdditionalTextResourcesFile);
            IdleManager.LoadSettings(ResourceManager.Instance.IdleSettingsFile);

            AdditionalInitializator.Actions.Add(new InitAction(
                                                    new[]
            {
                ContentIdentifiers.ScheduleSettings,
                ContentIdentifiers.ProgramSchedule,
                ContentIdentifiers.Snapshots,
                ContentIdentifiers.Options,
                ContentIdentifiers.DigitalProducts,
                ContentIdentifiers.BroadcastCalendar,
                ContentIdentifiers.CustomCalendar,
            },
                                                    () =>
            {
                MediaMetaData.Instance.ListManager.Load();
                Business.Online.Dictionaries.ListManager.Instance.Load(Common.Core.Configuration.ResourceManager.Instance.OnlineListsFile);
                OutputManager.Init();
                SlideSettingsManager.Instance.SettingsChanged += (o, e) => OutputManager.UpdateColors();
            })
                                                );

            if (FileStorageManager.Instance.DataState == DataActualityState.Updated ||
                FileStorageManager.Instance.UseLocalMode)
            {
                AdditionalInitializator.Actions.Add(new InitAction(
                                                        new[]
                {
                    ContentIdentifiers.Solutions
                },
                                                        () =>
                {
                    SolutionsManager.LoadSolutions(ResourceManager.Instance.SolutionsConfigFile);
                    SolutionsManager.LoadSolutionData(ResourceManager.Instance.SolutionsDataFolder);
                })
                                                    );
            }
            else
            {
                SolutionsManager.LoadSolutions(ResourceManager.Instance.SolutionsConfigFile);
                SolutionsManager.LoadSolutionData(ResourceManager.Instance.SolutionsDataFolder);
            }

            AdditionalInitializator.Actions.Add(new InitAction(
                                                    new[]
            {
                ContentIdentifiers.Slides
            },
                                                    () =>
            {
                SlideManager.LoadSlides(Common.Core.Configuration.ResourceManager.Instance.SlideMastersFolder);
            })
                                                );

            AdditionalInitializator.Actions.Add(new InitAction(
                                                    new[]
            {
                ContentIdentifiers.Gallery1,
            },
                                                    () =>
            {
                Gallery1Manager = new GalleryManager(ResourceManager.Instance.Gallery1ConfigFile);
            })
                                                );

            AdditionalInitializator.Actions.Add(new InitAction(
                                                    new[]
            {
                ContentIdentifiers.Gallery2,
            },
                                                    () =>
            {
                Gallery2Manager = new GalleryManager(ResourceManager.Instance.Gallery2ConfigFile);
            })
                                                );

            AdditionalInitializator.Actions.Add(new InitAction(
                                                    new[]
            {
                ContentIdentifiers.RateCard
            },
                                                    () =>
            {
                RateCardManager = new RateCardManager(Common.Core.Configuration.ResourceManager.Instance.RateCardFolder);
                RateCardManager.LoadRateCards();
            })
                                                );
        }
コード例 #6
0
ファイル: T4TestHost.cs プロジェクト: JetBrains/ForTea
        public T4TestHost(
            [NotNull] T4TestModel model,
            [NotNull] SolutionsManager solutionsManager
            )
        {
            model.PreprocessFile.Set(location =>
            {
                using var cookie = ReadLockCookie.Create();
                var solution     = solutionsManager.Solution;
                if (solution == null)
                {
                    return(Unit.Instance);
                }

                var host        = solution.GetComponent <ProjectModelViewHost>();
                var projectFile = host.GetItemById <IProjectFile>(location.Id).NotNull();
                var sourceFile  = projectFile.ToSourceFile().NotNull();
                sourceFile.GetPsiServices().Files.CommitAllDocuments();
                var file = sourceFile.GetPsiFiles(T4Language.Instance).OfType <IT4File>().SingleItem().NotNull();

                var templatePreprocessingManager = solution.GetComponent <IT4TemplatePreprocessingManager>();
                templatePreprocessingManager.Preprocess(file);
                return(Unit.Instance);
            });
            model.WaitForIndirectInvalidation.Set((lifetime, unit) =>
            {
                using var cookie = ReadLockCookie.Create();
                var solution     = solutionsManager.Solution;
                if (solution == null)
                {
                    return(RdTask <Unit> .Successful(Unit.Instance));
                }
                var cache = solution.GetComponent <T4FileDependencyCache>();

                var result = new RdTask <Unit>();

                void Requeue(int n)
                {
                    if (n == 1)
                    {
                        result.Set(Unit.Instance);
                        return;
                    }
                    solution.Locks.Queue(lifetime, "T4TestHost::.ctor::lambda::Requeue", () =>
                    {
                        if (cache.HasDirtyFiles)
                        {
                            Commit(n - 1);
                        }
                        else
                        {
                            Requeue(n - 1);
                        }
                    });
                }

                void Commit(int n) => solution.GetPsiServices().Files.ExecuteAfterCommitAllDocuments(() => Requeue(n));
                // First commit applies all changes in files.
                // Then we re-queue the action to make sure that indirect invalidation happens,
                // then we commit the files again to apply the indirect changes
                // Commit(2) -> Requeue(2) -> Commit(1) -> Requeue(1)
                Commit(2);

                return(result);
            });
        }