private void MainForm_Load(object sender, EventArgs e) { ribbonControl1.Pages.Clear(); navBarControl1.Groups.Clear(); _application.MainWorkspace = new MdiWorkspace(tabbedView1, this); RibbonManager.AddItemsToMenu(ribbonControl1, _application, "/Workbench/MainMenu", null); NavItemManager.AddItemsToNavigation(navBarControl1, _application, "/Workbench/Navigation"); var startCommands = AddInTree.BuildItems <ICommand>("/Workbench/StartCommands", null); startCommands.ForEach(command => command.Run()); LoadingFormManager.EndLoading(); WindowState = FormWindowState.Maximized; Activate(); //restore layout this._Config.RestoreFormLayout(ConfigKey.Main_Form_Layout, this); this._Config.RestoreRibbonLayOut(this.ribbonControl1, ConfigKey.Main_Form_Ribbon); this._Config.RestoreNavBarLayout(this.navBarControl1, ConfigKey.Main_Form_Navbar); InitLoginUser(); InitApplicationButton(); }
private void LoadMainView(string dockPath, ActionParameters parameters) { var viewDescriptors = AddInTree.BuildItems <object>(dockPath, this, false).OfType <ViewDescriptor>().ToList(); if (!viewDescriptors.Any()) { throw new Exception(string.Format("{0} doesn't contains any view, please check it", dockPath)); } if (viewDescriptors.Count > 1 && !viewDescriptors.Any(c => c.Codon.Properties.Contains("MainView"))) { throw new Exception(string.Format("One screen only supprt one view, {0} contains more then one view, please check it", dockPath)); } var mainViewDescriptor = viewDescriptors[0]; if (viewDescriptors.Any(c => c.Codon.Properties.Contains("MainView"))) { mainViewDescriptor = viewDescriptors.Where(c => c.Codon.Properties.Contains("MainView")).First(); } if (!mainViewDescriptor.Codon.Properties.Contains("controller")) { throw new Exception(string.Format("{0}/{1} doesn't contains controller property, please check it", dockPath, mainViewDescriptor.Id)); } _mainController = ControllerFactory.CreateController(mainViewDescriptor.Codon.Properties["controller"]); _mainController.WorkSpaceID = this.ID; _mainController.Context = this._workspaceContext; this.LoadCommands(); var ribbonPath = BasePath + "/Ribbon"; if (AddInTree.ExistsTreeNode(ribbonPath)) { RibbonManager.AddItemsToMenu(ribbon, _mainController, ribbonPath, this._commandManager); } parameters.Add("ribbonControl", this.ribbon); ActionResult = new ActionInvoker().Invoke(_mainController, null, parameters) as IActionResult; var result = ActionResult as IPartialViewResult; if (result == null) { return; } result.View.ViewName = mainViewDescriptor.Codon.Id; var mainControl = (Control)result.View; if (viewDescriptors.Count > 1) { LoadSubViews(viewDescriptors.Where(c => !c.Codon.Properties.Contains("MainView")).ToList(), dockPath, parameters, mainControl); } mainControl.Dock = DockStyle.Fill; AddView(result.View); this.Controls.Add(mainControl); ActiveView = result.View; }
//refresh ribbon for view private void LoadRibbon(IView view) { string ribbonPath = "/Lead/List/Ribbon";// = view.RibbonPath RibbonManager.AddItemsToMenu(this.ribbonMain, this, ribbonPath); }