/// <summary> /// Деинициализировать сервисы /// </summary> private void DisposeServices() { // Освобождаем ссылки _IODispatcher.UnregisterDestination(this as IIODestination); _servicesTree = null; _servicesTree = null; _images = null; }
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)); * } */ }
/// <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; }