예제 #1
0
 /// <summary>
 /// Деинициализировать сервисы
 /// </summary>
 private void DisposeServices()
 {
     // Освобождаем ссылки
     _IODispatcher.UnregisterDestination(this as IIODestination);
     _servicesTree = null;
     _servicesTree = null;
     _images       = null;
 }
예제 #2
0
        public void AddMenuItems()
        {
            // Получаем ссылку на управление содержимым докинга
            Intermech.Docking.IContentProvider provider = ServicesManager.GetService(typeof(Intermech.Docking.IContentProvider)) as Intermech.Docking.IContentProvider;
            // Подписываемся на событие "Восстановить окно"
            // provider.ContentCallback += new Intermech.Docking.GetContentCallback(WellKnownDockWindow.RestoreWindowCallback);

            // Получаем ссылку на сервис именованных значков
            INamedImageList _images = Operations_with_IPS._serviceProvider.GetService(typeof(INamedImageList)) as INamedImageList;

            // Получаем ссылку на службу панелей приложений "Навигатора"
            INavigationBar navBar = ServicesManager.GetService(typeof(INavigationBar)) as INavigationBar;

            //получаем обьект главного меню
            BarManager barManager = _serviceProvider.GetService(typeof(BarManager)) as BarManager;
            //добавляем в него новый Item - AirVentsCAD
            MenuBarItem airVentsMenuItem = barManager.MenuBar.AddMenuBar("AirVentsCAD");

            airVentsMenuItem.ForeColor = System.Drawing.Color.MediumAquamarine;

            //создаем пункты подменю
            airVentsMenuItem.Items.Add("Spigot", Spigot_EventBuilder);
            airVentsMenuItem.Items.Add("Roof", Roof_EventBuilder);
            airVentsMenuItem.Items.Add("Mounting frame", Frame_EventBuilder);
            airVentsMenuItem.Items.Add("Добавить записи в таблицу", AddDoc_EventBuilder);

            // Ищем панель "Приложения"
            IAppPane pane = navBar.FindPane("appPane") as IAppPane;

            /*
             * // Панель найдена
             * if (pane != null)
             * {
             *  pane.Add("AAAAAAAAAAAAAAAAAAAAAAAAAAAH",
             *      new EventHandler(WellKnownDockWindow.ShowWellKnownDockWindow),
             *      _images.ImageIndex(WellKnownDockWindow.WindowImageName));
             * }
             */
        }
예제 #3
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;
        }