/// <summary> /// Constructor to initialise a new tab control /// </summary> public BOColTabControlWin(IControlFactory controlFactory) { if (controlFactory == null) { throw new ArgumentNullException("controlFactory"); } _controlFactory = controlFactory; BorderLayoutManager layoutManager = _controlFactory.CreateBorderLayoutManager(this); _tabControl = _controlFactory.CreateTabControl(); layoutManager.AddControl(_tabControl, BorderLayoutManager.Position.Centre); _boColTabControlManager = new BOColTabControlManager(_tabControl, _controlFactory); _boColTabControlManager.BusinessObjectSelected += delegate { FireBusinessObjectSelected(); }; _boColTabControlManager.TabPageAdded += (sender, e) => FireTabPageAdded(e.TabPage, e.BOControl); _boColTabControlManager.TabPageRemoved += (sender, e) => FireTabPageRemoved(e.TabPage, e.BOControl); this.OnAsyncOperationStarted += (sender, e) => { this.UseWaitCursor = true; this.Cursor = Cursors.WaitCursor; this.Enabled = false; }; this.OnAsyncOperationComplete += (sender, e) => { this.UseWaitCursor = false; this.Cursor = Cursors.Default; this.Enabled = true; }; }
/// <summary> /// Creates a panel to display a business object /// </summary> /// <returns>Returns the panel info object containing the panel</returns> public IPanelFactoryInfo CreatePanel() { IPanelFactoryInfo factoryInfo; _firstControl = null; if (_uiForm.Count > 1) { IPanel mainPanel = _controlFactory.CreatePanel(_controlFactory); ControlMapperCollection controlMappers = new ControlMapperCollection(); IDictionary <string, IEditableGridControl> formGrids = new Dictionary <string, IEditableGridControl>(); ITabControl tabControl = _controlFactory.CreateTabControl(); BorderLayoutManager mainPanelManager = _controlFactory.CreateBorderLayoutManager(mainPanel); mainPanelManager.AddControl(tabControl, BorderLayoutManager.Position.Centre); foreach (UIFormTab formTab in _uiForm) { IPanelFactoryInfo onePanelInfo = CreateOnePanel(formTab); AddControlMappers(onePanelInfo, controlMappers); AddFormGrids(onePanelInfo, formGrids); ITabPage page = _controlFactory.CreateTabPage(formTab.Name); BorderLayoutManager manager = _controlFactory.CreateBorderLayoutManager(page); manager.AddControl(onePanelInfo.Panel, BorderLayoutManager.Position.Centre); tabControl.TabPages.Add(page); } factoryInfo = new PanelFactoryInfo(mainPanel, controlMappers, _uiDefName, _firstControl); factoryInfo.FormGrids = formGrids; } else { factoryInfo = CreateOnePanel(_uiForm[0]); } SetFormPreferredHeight(factoryInfo); //TODO_Port AttachTriggers(_uiForm, factoryInfo, _currentBusinessObject); return(factoryInfo); }
protected virtual BOColTabControlManager GetselectorManager(out BusinessObjectControlCreatorDelegate creator) { IControlFactory controlFactory = GetControlFactory(); ITabControl tabControl = controlFactory.CreateTabControl(); BOColTabControlManager selectorManager = new BOColTabControlManager(tabControl, controlFactory); creator = BusinessObjectControlCreator; selectorManager.BusinessObjectControlCreator = creator; return(selectorManager); }
/// <summary> /// Constructor to initialise a new tab control /// </summary> public BOColTabControlVWG(IControlFactory controlFactory) { if (controlFactory == null) { throw new ArgumentNullException("controlFactory"); } _controlFactory = controlFactory; BorderLayoutManager manager = _controlFactory.CreateBorderLayoutManager(this); _tabControl = _controlFactory.CreateTabControl(); manager.AddControl(_tabControl, BorderLayoutManager.Position.Centre); _boColTabControlManager = new BOColTabControlManager(_tabControl, _controlFactory); _boColTabControlManager.BusinessObjectSelected += delegate { FireBusinessObjectSelected(); }; _boColTabControlManager.TabPageAdded += (sender, e) => FireTabPageAdded(e.TabPage, e.BOControl); _boColTabControlManager.TabPageRemoved += (sender, e) => FireTabPageRemoved(e.TabPage, e.BOControl); }