/// <summary> /// The initialize method, called when the plug-in is loaded /// </summary> public override void Initialize(IAppContext context) { _context = context; _presenter = context.Container.GetInstance <DebugPresenter>(); _dockPanelService = context.Container.GetInstance <DockPanelService>(); _statusBarListener = context.Container.GetInstance <StatusBarListener>(); }
/*private readonly LegendListener _legendListener; * private readonly MainPluginListener _mainPluginListener; * * * private readonly MenuListener _menuListener; */ // // public MainPresenter( IAppContext context, IMainView view, IConfigService configService, MapLegendPresenter mapLegendPresenter, OverviewPresenter overviewPresenter, IProjectService projectService) : base(view) { Logger.Current.Trace("Start MainPresenter"); if (view == null) { throw new ArgumentNullException("view"); } if (projectService == null) { throw new ArgumentNullException("projectService"); } if (configService == null) { throw new ArgumentNullException("configService"); } _context = context; _configService = configService; _projectService = projectService; // view.Map.Lock(); try { var appContext = context as AppContext; if (appContext == null) { throw new InvalidCastException("Invalid type of IAppContext instance"); } appContext.Init(view, projectService, configService, mapLegendPresenter, overviewPresenter); //projectService, configService); //最后去整理,当前的工作环境需要的配置参数有哪些 /* view.Map.Initialize(); * view.Map.ApplyConfig(configService);*/ view.ViewClosing += OnViewClosing; view.ViewUpdating += OnViewUpdating; view.BeforeShow += OnBeforeShow; var container = context.Container; _statusBarListener = container.GetSingleton <StatusBarListener>(); _menuGenerator = container.GetSingleton <MenuGenerator>(); _menuUpdater = new MenuUpdater(_context, PluginIdentity.Default, _menuGenerator.GetMenuKeys()); _mapListener = container.GetSingleton <MapListener>(); /*_menuListener = container.GetSingleton<MenuListener>(); * * _mainPluginListener = container.GetSingleton<MainPluginListener>(); * _legendListener = container.GetSingleton<LegendListener>(); * */ SplashView.Instance.ShowStatus("开始引导插件..."); appContext.InitPlugins(configService); // must be called after docking is initialized _context.RibbonMenu.ReorderTabs(); // this will display progress updates and debug window // file based-logger is already working Logger.Current.Init(appContext); } finally { /*view.Map.Unlock(); * context.Legend.Unlock();*/ } View.AsForm.Shown += ViewShown; Logger.Current.Trace("End MainPresenter"); }
public MainPresenter( IAppContext context, IMainView view, IProjectService projectService, IConfigService configService, LegendPresenter legendPresenter, ToolboxPresenter toolboxPresenter, IRepository repository) : base(view) { Logger.Current.Trace("Start MainPresenter"); if (view == null) { throw new ArgumentNullException("view"); } if (projectService == null) { throw new ArgumentNullException("projectService"); } if (configService == null) { throw new ArgumentNullException("configService"); } if (repository == null) { throw new ArgumentNullException("repository"); } // PM 2016-03-02 Added: if (legendPresenter == null) { throw new ArgumentNullException("legendPresenter"); } if (toolboxPresenter == null) { throw new ArgumentNullException("toolboxPresenter"); } _context = context; _projectService = projectService; _configService = configService; GlobalListeners.Attach(Logger.Current); view.Map.Lock(); try { var appContext = context as AppContext; if (appContext == null) { throw new InvalidCastException("Invalid type of IAppContext instance"); } appContext.Init(view, projectService, configService, legendPresenter, toolboxPresenter, repository); view.Map.Initialize(); view.Map.ApplyConfig(configService); view.ViewClosing += OnViewClosing; view.ViewUpdating += OnViewUpdating; view.BeforeShow += OnBeforeShow; var container = context.Container; _statusBarListener = container.GetSingleton <StatusBarListener>(); _menuGenerator = container.GetSingleton <MenuGenerator>(); _menuListener = container.GetSingleton <MenuListener>(); _mapListener = container.GetSingleton <MapListener>(); _mainPluginListener = container.GetSingleton <MainPluginListener>(); _legendListener = container.GetSingleton <LegendListener>(); _menuUpdater = new MenuUpdater(_context, PluginIdentity.Default); SplashView.Instance.ShowStatus("Loading plugins"); // must be called after docking is initialized: appContext.InitPlugins(configService, p => SplashView.Instance.ShowStatus($"Loading plugins: {p.Name}")); // this will display progress updates and debug window // file based-logger is already working Logger.Current.Init(appContext); } finally { view.Map.Unlock(); context.Legend.Unlock(); } View.AsForm.Shown += ViewShown; Logger.Current.Trace("End MainPresenter"); }
public MainPresenter( IAppContext context, IMainView view, IProjectService projectService, IConfigService configService ) : base(view) { Logger.Current.Trace("Start MainPresenter"); if (view == null) { throw new ArgumentNullException("view"); } if (projectService == null) { throw new ArgumentNullException("projectService"); } if (configService == null) { throw new ArgumentNullException("configService"); } // PM 2016-03-02 Added: //修改,依据界面类型来判断是否为一般形态还是Ribbon _context = context; _projectService = projectService; _configService = configService; GdalConfiguration.ConfigureOgr(); GlobalListeners.Attach(Logger.Current); try { var appContext = context as AppContext; if (appContext == null) { throw new InvalidCastException("Invalid type of IAppContext instance"); } appContext.Init(view, projectService, configService); view.ViewClosing += OnViewClosing; view.ViewUpdating += OnViewUpdating; view.BeforeShow += OnBeforeShow; var container = context.Container; _statusBarListener = container.GetSingleton <StatusBarListener>(); _menuGenerator = container.GetSingleton <MenuGenerator>(); _menuListener = container.GetSingleton <MenuListener>(); _mainPluginListener = container.GetSingleton <MainPluginListener>(); _menuUpdater = new MenuUpdater(_context, PluginIdentity.Default); SplashView.Instance.ShowStatus("Loading plugins"); appContext.InitPlugins(configService); // must be called after docking is initialized // this will display progress updates and debug window // file based-logger is already working Logger.Current.Init(appContext); } finally { } View.AsForm.Shown += ViewShown; Logger.Current.Trace("End MainPresenter"); }