Beispiel #1
0
 public static void SetTaskPaneVisible(this ITaskPanesReceiver receiver, string id, bool isVisible)
 {
     DryIocProvider.SetTaskPaneVisible(
         receiver: receiver,
         id: id,
         isVisible: isVisible);
 }
        private void CreateRepository(int key, Type contentType)
        {
            var scope = containerGetter.Invoke().OpenScope(key);

            var hostRegionManager = scope.Resolve <IRegionManager>();

            var taskPanesFactory = new TaskPanesFactory(
                windowKey: key,
                ctpFactory: ctpFactory,
                hostRegionManager: hostRegionManager,
                taskPaneWindow: taskPaneWindowGetter.Invoke(),
                contentType: contentType);

            var configurationsRepository = scope.Resolve <TaskPaneSettingsRepository>();

            var repository = new TaskPanesRepository(
                key: key,
                scope: scope,
                taskPanesFactory: taskPanesFactory,
                configurationsRepository: configurationsRepository,
                documentHashGetter: taskPaneIdentifierGetter);

            repositories.Add(
                key: key,
                value: repository);

            DryIocProvider.OnScopeOpened(scope);

            repository.Initialise();

            DryIocProvider.OnScopeInitialized(scope);
        }
Beispiel #3
0
        public static void InitializeProvider(this ITaskPanesReceiver receiver, object application,
                                              object ctpFactoryInst)
        {
            if (receiver == default)
            {
                throw new ArgumentNullException(nameof(receiver));
            }

            BaseProvider.AddReceiver(receiver);

            if (DryIocProvider.Application == default)
            {
                var dryIocApplication = new Application.ExcelApplication(
                    application: application,
                    ctpFactoryInst: ctpFactoryInst,
                    contentType: receiver.GetType());

                DryIocProvider.InitializeApplication(dryIocApplication);

                DryIocProvider.OnApplicationExitEvent  += OnApplicationExit;
                DryIocProvider.OnScopeClosingEvent     += OnScopeClosing;
                DryIocProvider.OnScopeInitializedEvent += OnScopeInitialized;
                DryIocProvider.OnScopeOpenedEvent      += OnScopeOpened;
                DryIocProvider.OnProviderReadyEvent    += OnProviderReady;
                DryIocProvider.OnTaskPaneChangedEvent  += OnTaskPaneChanged;
            }
        }
        private static void CloseRepository(TaskPanesRepository repository)
        {
            repository?.Save();

            DryIocProvider.OnScopeClosing(repository?.Scope as IResolverContext);
        }
        protected override Window CreateShell()
        {
            DryIocProvider.OnProviderReady();

            return(default);
Beispiel #6
0
 public static void UnregisterProvider <T>()
     where T : class
 {
     DryIocProvider.UnregisterProvider(
         contentType: typeof(T));
 }
Beispiel #7
0
 public static bool TaskPaneVisible(this ITaskPanesReceiver receiver, string id)
 {
     return(DryIocProvider.TaskPaneVisible(
                receiver: receiver,
                id: id));
 }