/*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"); }