Пример #1
0
        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();
        }
Пример #2
0
        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;
        }
Пример #3
0
        //refresh ribbon for view
        private void LoadRibbon(IView view)
        {
            string ribbonPath = "/Lead/List/Ribbon";// = view.RibbonPath

            RibbonManager.AddItemsToMenu(this.ribbonMain, this, ribbonPath);
        }