예제 #1
0
 /// <summary>
 /// Деинициализировать сервисы
 /// </summary>
 private void DisposeServices()
 {
     // Освобождаем ссылки
     _IODispatcher.UnregisterDestination(this as IIODestination);
     _servicesTree = null;
     _servicesTree = null;
     _images       = null;
 }
예제 #2
0
        /// <summary>
        /// Инициализировать сервисы (получить необходимые ссылки)
        /// </summary>
        private void InitializeServices()
        {
            // Получаем ссылки на службы
            _notificationService = InitializeNotificationService();

            // Создаём контейнеры сервисов

            // Общий
            ServiceContainer _services = new ServiceContainer();

            // Для дерева "Навигатора"
            _servicesTree = new AdvancedServiceContainer(_services);

            // Для менеджера закладок
            _servicesPages = new AdvancedServiceContainer(_services);

            // Сервис именованных изображений
            _images = ServicesManager.GetService(typeof(INamedImageList)) as INamedImageList;

            // Системный диспетчер событий
            _systemDispatcher = ServicesManager.GetService(typeof(IIODispatcher)) as IIODispatcher;

            // Получаем сервис для работы с "горячими" клавишами
            _hotKeysManager = ServicesManager.GetService(typeof(IHotKeysManager)) as IHotKeysManager;

            // Коллекции команд по умолчанию для типов объектов
            _defaultCommands4ObjTypes = ServicesManager.GetService(typeof(IDefaultCommands4ObjTypes)) as IDefaultCommands4ObjTypes;

            // Служба уведомлений создана
            if (_notificationService != null)
            {
                // Добавим её в свой контейнер сервисов
                _services.AddService(typeof(INotificationService), _notificationService);
            }

            // Зарегистрируемся как назначение для событий
            _IODispatcher.RegisterDestination(this as IIODestination);

            // Добавляем в контейнер специальные сервисы

            // Сервис менеджера закладок
            _services.AddService(typeof(IViewsManager), this.pageViewsManager);

            // Сервис для корректной работы контекстного меню и закладок
            _services.AddService(typeof(IViewState), new ViewStateService());

            // Сервис для управления колонками в дереве "Навигатора"
            _services.AddService(typeof(ITreeListColumns), this as ITreeListColumns);

            // Сервис для получения списка команд по умолчанию
            _services.AddService(typeof(IDefaultCommands4ObjTypes), _defaultCommands4ObjTypes);

            // Сервис диспетчера событий
            _services.AddService(typeof(IIODispatcher), _IODispatcher);

            // Назначаем контейнер сервисов дереву "Навигатора"
            this.navigatorTreeView.Services = _servicesTree;

            // Назначаем контейнер сервисов менеджеру закладок
            this.pageViewsManager.Services = _servicesPages;
        }