private void SetupControl(IControlFactory controlFactory, IBusinessObjectControl businessObjectControl, string uiDefName) { if (controlFactory == null) { throw new ArgumentNullException("controlFactory"); } if (businessObjectControl == null) { throw new ArgumentNullException("businessObjectControl"); } _controlFactory = controlFactory; _businessObjectControl = businessObjectControl; SetupReadOnlyGridControl(uiDefName); SetupButtonGroupControl(); UpdateControlEnabledState(); BorderLayoutManager layoutManager = _controlFactory.CreateBorderLayoutManager(_gridWithPanelControl); layoutManager.AddControl(ReadOnlyGridControl, BorderLayoutManager.Position.North); layoutManager.AddControl(_businessObjectControl, BorderLayoutManager.Position.Centre); layoutManager.AddControl(_buttonControl, BorderLayoutManager.Position.South); ConfirmSaveDelegate += CheckUserWantsToSave; }
public void TestBusinessObjectControlHasDifferentBOWhenTabChanges() { //---------------Set up test pack------------------- IBOColTabControl boColTabControl = GetControlFactory().CreateBOColTabControl(); IBusinessObjectControl busControl = GetBusinessObjectControlStub(); boColTabControl.BusinessObjectControl = busControl; BusinessObjectCollection <MyBO> myBoCol = new BusinessObjectCollection <MyBO>(); MyBO firstBo = new MyBO(); myBoCol.Add(firstBo); myBoCol.Add(new MyBO()); MyBO thirdBO = new MyBO(); myBoCol.Add(thirdBO); boColTabControl.BusinessObjectCollection = myBoCol; //---------------Assert Precondition---------------- Assert.AreEqual(firstBo, boColTabControl.BusinessObjectControl.BusinessObject); //---------------Execute Test ---------------------- boColTabControl.TabControl.SelectedIndex = 2; //---------------Test Result ----------------------- Assert.AreNotSame(firstBo, boColTabControl.BusinessObjectControl.BusinessObject); Assert.AreEqual(thirdBO, boColTabControl.BusinessObjectControl.BusinessObject); }
public void Test_WhenUsingCreator_WhenSetBOCol_ShouldCreateTabPageWithControlFromCreator() { //---------------Set up test pack------------------- BusinessObjectControlCreatorDelegate creator; BOColTabControlManager selectorManager = GetselectorManager(out creator); MyBO expectedBO = new MyBO(); BusinessObjectCollection <MyBO> myBoCol = new BusinessObjectCollection <MyBO> { expectedBO }; //---------------Assert Precondition---------------- Assert.IsNotNull(selectorManager.BusinessObjectControlCreator); Assert.AreEqual(creator, selectorManager.BusinessObjectControlCreator); Assert.AreEqual(0, selectorManager.TabControl.TabPages.Count); //---------------Execute Test ---------------------- selectorManager.BusinessObjectCollection = myBoCol; //---------------Test Result ----------------------- Assert.AreEqual(1, selectorManager.TabControl.TabPages.Count); ITabPage page = selectorManager.TabControl.TabPages[0]; Assert.AreEqual(1, page.Controls.Count); IControlHabanero boControl = page.Controls[0]; Assert.IsInstanceOf(TypeOfBusinessObjectControl(), boControl); IBusinessObjectControl businessObjectControl = (IBusinessObjectControl)boControl; Assert.AreSame(expectedBO, businessObjectControl.BusinessObject); Assert.AreSame(boControl, selectorManager.BusinessObjectControl); }
/// <summary> /// Adds a tab page to the end of the tab order /// </summary> /// <param name="page">The Tab Page to be added to the Tab Control</param> protected virtual void AddTabPageToEnd(ITabPage page) { TabControl.TabPages.Add(page); IBusinessObjectControl boControl = this.GetBusinessObjectControl(page); FireTabPageAdded(page, boControl); }
public void Test_WhenChangeTabIndex_ShouldNotRecreateTheBOControl() { //---------------Set up test pack------------------- BusinessObjectControlCreatorDelegate creator; BOColTabControlManager selectorManager = GetselectorManager(out creator); MyBO firstBO = new MyBO(); MyBO secondBO = new MyBO(); BusinessObjectCollection <MyBO> myBoCol = new BusinessObjectCollection <MyBO> { firstBO, secondBO }; selectorManager.BusinessObjectCollection = myBoCol; ITabPage firstTabPage = selectorManager.TabControl.TabPages[0]; IBusinessObjectControl firstBOControl = (IBusinessObjectControl)firstTabPage.Controls[0]; ITabPage secondTabPage = selectorManager.TabControl.TabPages[1]; IBusinessObjectControl secondBOControl = (IBusinessObjectControl)secondTabPage.Controls[0]; //---------------Assert Precondition---------------- Assert.AreSame(secondBO, secondBOControl.BusinessObject); Assert.AreSame(firstBOControl, selectorManager.BusinessObjectControl); Assert.AreEqual(2, selectorManager.TabControl.TabPages.Count); Assert.AreEqual(0, selectorManager.TabControl.SelectedIndex); //---------------Execute Test ---------------------- selectorManager.CurrentBusinessObject = secondBO; //---------------Test Result ----------------------- Assert.AreEqual(1, selectorManager.TabControl.SelectedIndex); Assert.AreSame(secondBOControl, secondTabPage.Controls[0]); Assert.AreSame(secondBOControl, selectorManager.BusinessObjectControl); }
/// <summary> /// This handler is called when a business object has been removed from /// the collection - it subsequently removes the item from the ListBox /// list as well. /// </summary> /// <param name="sender">The object that notified of the change</param> /// <param name="e">Attached arguments regarding the event</param> private void BusinessObjectRemovedHandler(object sender, BOEventArgs e) { ITabPage page = GetTabPage(e.BusinessObject); TabControl.Controls.Remove(page); IBusinessObjectControl boControl = this.GetBusinessObjectControl(page); FireTabPageRemoved(page, boControl); }
///<summary> /// Constructor for the <see cref="BOSelectorAndEditorManager"/> ///</summary> ///<param name="boColSelector"></param> ///<param name="boEditor"></param> public BOSelectorAndEditorManager(IBOColSelectorControl boColSelector, IBusinessObjectControl boEditor) { if (boColSelector == null) throw new ArgumentNullException("boColSelector"); if (boEditor == null) throw new ArgumentNullException("boEditor"); this.BOColSelector = boColSelector; this.BOEditor = boEditor; this.AddBoSelectedEventHandler(); }
private void FireTabPageRemoved(ITabPage tabPage, IBusinessObjectControl boControl) { if (this.TabPageRemoved == null) { return; } TabPageEventArgs eventArgs = new TabPageEventArgs(tabPage, boControl); this.TabPageRemoved(this, eventArgs); }
public void TestSetBusinessObjectControl() { //---------------Set up test pack------------------- IBOColTabControl boColTabControl = GetControlFactory().CreateBOColTabControl(); IBusinessObjectControl busControl = GetBusinessObjectControlStub(); //---------------Execute Test ---------------------- boColTabControl.BusinessObjectControl = busControl; //---------------Test Result ----------------------- Assert.AreSame(busControl, boColTabControl.BusinessObjectControl); }
private BusinessObjectCollection <MyBO> SetupColTabControlWith3ItemCollection(IBOColTabControl boColTabControl) { IBusinessObjectControl busControl = GetBusinessObjectControlStub(); boColTabControl.BusinessObjectControl = busControl; BusinessObjectCollection <MyBO> myBoCol = new BusinessObjectCollection <MyBO> { new MyBO(), new MyBO(), new MyBO() }; return(myBoCol); }
public void TestSetBusinessObjectControl() { //---------------Set up test pack------------------- ITabControl tabControl = GetControlFactory().CreateTabControl(); BOColTabControlManager colTabCtlMapper = new BOColTabControlManager(tabControl, GetControlFactory()); //---------------Execute Test ---------------------- IBusinessObjectControl busControl = CreateBusinessObjectControl(); colTabCtlMapper.BusinessObjectControl = busControl; //---------------Test Result ----------------------- Assert.AreSame(busControl, colTabCtlMapper.BusinessObjectControl); //---------------Tear down ------------------------- }
///<summary> /// Constructor for the <see cref="BOSelectorAndEditorManager"/> ///</summary> ///<param name="boColSelector"></param> ///<param name="boEditor"></param> public BOSelectorAndEditorManager(IBOColSelectorControl boColSelector, IBusinessObjectControl boEditor) { if (boColSelector == null) { throw new ArgumentNullException("boColSelector"); } if (boEditor == null) { throw new ArgumentNullException("boEditor"); } this.BOColSelector = boColSelector; this.BOEditor = boEditor; this.AddBoSelectedEventHandler(); }
public void TestBusinessObjectControlHasNullBusinessObjectByDefault() { //---------------Set up test pack------------------- IBOColTabControl boColTabControl = GetControlFactory().CreateBOColTabControl(); IBusinessObjectControl busControl = GetBusinessObjectControlStub(); //---------------Assert Precondition---------------- Assert.IsNull(boColTabControl.BusinessObjectControl); //---------------Execute Test ---------------------- boColTabControl.BusinessObjectControl = busControl; //---------------Test Result ----------------------- Assert.IsNull(boColTabControl.BusinessObjectControl.BusinessObject); }
/// <summary> /// Adds a tab page to represent the given business object /// </summary> /// <param name="page">The TabPage object to add</param> /// <param name="bo">The business ojbect to represent</param> protected virtual void AddTabPage(ITabPage page, IBusinessObject bo) { // Only load the BusinessObject into the BO control on each tab if the BusinessObjectControlCreator is being used. // The related logic to this is in the TabChanged event where the business object is only loaded into the bo control when a // single BO Control instance is being used. if (BusinessObjectControlCreator != null) { IBusinessObjectControl businessObjectControl = BusinessObjectControlCreator(); businessObjectControl.Dock = DockStyle.Fill; businessObjectControl.BusinessObject = bo; page.Controls.Add(businessObjectControl); } AddTabPageToEnd(page); AddBoPageIndexing(bo, page); }
public void Test_Contructor() { //---------------Set up test pack------------------- IClassDef classDef = ClassDef.Get <MyBO>(); IBOColSelectorControl boColSelector = GetControlFactory().CreateReadOnlyGridControl(); IBusinessObjectControl boEditor = GetControlFactory().CreateBOEditorControl(classDef); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- BOSelectorAndEditorManager boSelectorAndEditorManager = new BOSelectorAndEditorManager(boColSelector, boEditor); //---------------Test Result ----------------------- Assert.IsNotNull(boSelectorAndEditorManager); Assert.AreSame(boColSelector, boSelectorAndEditorManager.BOColSelector); Assert.AreSame(boEditor, boSelectorAndEditorManager.BOEditor); }
public void Test_Constructor_BOSelectorNull_ShouldRaiseError() { IClassDef classDef = ClassDef.Get <MyBO>(); IBusinessObjectControl boEditor = GetControlFactory().CreateBOEditorControl(classDef); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- try { new BOSelectorAndEditorManager(null, boEditor); Assert.Fail("expected ArgumentNullException"); } //---------------Test Result ----------------------- catch (ArgumentNullException ex) { StringAssert.Contains("Value cannot be null", ex.Message); StringAssert.Contains("boColSelector", ex.ParamName); } }
public void TestInitialLayout() { //---------------Set up test pack------------------- IBOColTabControl boColTabControl = GetControlFactory().CreateBOColTabControl(); IBusinessObjectControl busControl = GetBusinessObjectControlStub(); boColTabControl.BusinessObjectControl = busControl; BusinessObjectCollection <MyBO> myBoCol = new BusinessObjectCollection <MyBO>(); MyBO firstBo = new MyBO(); myBoCol.Add(firstBo); //---------------Execute Test ---------------------- boColTabControl.BusinessObjectCollection = myBoCol; //---------------Test Result ----------------------- Assert.AreEqual(1, boColTabControl.TabControl.TabPages[0].Controls.Count); Assert.AreSame(busControl, boColTabControl.TabControl.TabPages[0].Controls[0]); Assert.AreEqual(DockStyle.Fill, busControl.Dock); Assert.AreEqual(firstBo.ToString(), boColTabControl.TabControl.TabPages[0].Text); }
public void TestSetCollection() { //---------------Set up test pack------------------- MyBO.LoadDefaultClassDef(); ITabControl tabControl = GetControlFactory().CreateTabControl(); BOColTabControlManager colTabCtlMapper = new BOColTabControlManager(tabControl, GetControlFactory()); IBusinessObjectControl busControl = this.CreateBusinessObjectControl(); colTabCtlMapper.BusinessObjectControl = busControl; //---------------Execute Test ---------------------- BusinessObjectCollection <MyBO> myBoCol = new BusinessObjectCollection <MyBO>(); myBoCol.Add(new MyBO()); myBoCol.Add(new MyBO()); myBoCol.Add(new MyBO()); colTabCtlMapper.BusinessObjectCollection = myBoCol; //---------------Test Result ----------------------- Assert.AreSame(myBoCol, colTabCtlMapper.BusinessObjectCollection); Assert.AreEqual(3, colTabCtlMapper.TabControl.TabPages.Count); //---------------Tear down ------------------------- }
public void TestLayoutAfterChangingBusinessObject() { //---------------Set up test pack------------------- IBOColTabControl boColTabControl = GetControlFactory().CreateBOColTabControl(); IBusinessObjectControl busControl = GetBusinessObjectControlStub(); boColTabControl.BusinessObjectControl = busControl; BusinessObjectCollection <MyBO> myBoCol = new BusinessObjectCollection <MyBO>(); MyBO firstBo = new MyBO(); myBoCol.Add(firstBo); MyBO secondBo = new MyBO(); myBoCol.Add(secondBo); myBoCol.Add(new MyBO()); boColTabControl.BusinessObjectCollection = myBoCol; //---------------Execute Test ---------------------- boColTabControl.CurrentBusinessObject = secondBo; //---------------Test Result ----------------------- Assert.AreEqual(1, boColTabControl.TabControl.TabPages[1].Controls.Count); Assert.AreSame(busControl, boColTabControl.TabControl.TabPages[1].Controls[0]); }
private void CreateBoSelectorAndEditorManager(out IBOColSelectorControl boColSelector, out IBusinessObjectControl boEditor) { IClassDef classDef = ClassDef.Get<MyBO>(); boColSelector = GetControlFactory().CreateReadOnlyGridControl(); boEditor = GetControlFactory().CreateBOEditorControl(classDef); new BOSelectorAndEditorManager(boColSelector, boEditor); IFormHabanero form = GetControlFactory().CreateForm(); form.Controls.Add(boColSelector); return; }
/// <summary> /// Constructor to initialise a new set of arguments /// </summary> /// <param name="tabPage">The related business object</param> /// <param name="boControl"></param> public TabPageEventArgs(ITabPage tabPage, IBusinessObjectControl boControl) { _tabPage = tabPage; _boControl = boControl; }
private void CreateBoSelectorAndEditorManager(out IBOColSelectorControl boColSelector, out IBusinessObjectControl boEditor) { IClassDef classDef = ClassDef.Get <MyBO>(); boColSelector = GetControlFactory().CreateReadOnlyGridControl(); boEditor = GetControlFactory().CreateBOEditorControl(classDef); new BOSelectorAndEditorManager(boColSelector, boEditor); IFormHabanero form = GetControlFactory().CreateForm(); form.Controls.Add(boColSelector); return; }
///<summary> /// Constructor for <see cref="GridWithPanelControlVWG{TBusinessObject}"/> ///</summary> ///<param name="controlFactory"></param> ///<param name="businessObjectControl"></param> ///<param name="uiDefName"></param> public GridWithPanelControlVWG(IControlFactory controlFactory, IBusinessObjectControl businessObjectControl, string uiDefName) { _gridWithPanelControlManager = new GridWithPanelControlManager <TBusinessObject>(this, controlFactory, businessObjectControl, uiDefName); //_gridWithPanelControlManager.SetupControl(); _gridWithPanelControlManager.GridWithPanelControlStrategy = new GridWithPanelControlStrategyVWG <TBusinessObject>(this); }
///<summary> /// Constructor for <see cref="GridWithPanelControlWin{TBusinessObject}"/> ///</summary> ///<param name="controlFactory"></param> ///<param name="businessObjectControl"></param> public GridWithPanelControlWin(IControlFactory controlFactory, IBusinessObjectControl businessObjectControl) : this(controlFactory, businessObjectControl, "default") { }
private void FireTabPageRemoved(ITabPage tabPage, IBusinessObjectControl boControl) { if (this.TabPageRemoved == null) return; TabPageEventArgs eventArgs = new TabPageEventArgs(tabPage, boControl); this.TabPageRemoved(this, eventArgs); }
///<summary> /// Constructor for <see cref="GridWithPanelControlWin{TBusinessObject}"/> ///</summary> ///<param name="controlFactory"></param> ///<param name="businessObjectControl"></param> ///<param name="uiDefName"></param> public GridWithPanelControlWin(IControlFactory controlFactory, IBusinessObjectControl businessObjectControl, string uiDefName) { _gridWithPanelControlManager = new GridWithPanelControlManager <TBusinessObject>(this, controlFactory, businessObjectControl, uiDefName); }
///<summary> /// Constructor for the <see cref="GridWithPanelControlManager{TBusinessObject}"/> ///</summary> ///<param name="gridWithPanelControl"></param> ///<param name="controlFactory"></param> ///<param name="businessObjectControl"></param> ///<param name="uiDefName"></param> public GridWithPanelControlManager(IGridWithPanelControl <TBusinessObject> gridWithPanelControl, IControlFactory controlFactory, IBusinessObjectControl businessObjectControl, string uiDefName) { _gridWithPanelControl = gridWithPanelControl; SetupControl(controlFactory, businessObjectControl, uiDefName); }