Beispiel #1
0
        /// <summary>
        /// Constructs a panel for editing the data of a single instance
        /// of a BusinessObject, using the control layout as specified in
        /// a <see cref="UIFormTab"/> object.
        /// </summary>
        /// <param name="formTab">The tab object that indicates which controls
        /// to create and how the controls are laid out</param>
        /// <returns>Returns an IPanelInfo object that contains access to the
        /// BusinessObject instance, the created panel, and all the controls,
        /// mappers, labels and error providers that were created.
        /// </returns>
        public IPanelInfo BuildPanelForTab(UIFormTab formTab)
        {
            if (formTab == null)
            {
                throw new ArgumentNullException("formTab");
            }
            var panel         = ControlFactory.CreatePanel();
            var panelInfo     = new PanelInfo();
            var layoutManager = SetupLayoutManager(formTab, panel);

            panelInfo.LayoutManager = layoutManager;
            panelInfo.Panel         = panel;
            AddFieldsToLayoutManager(formTab, panelInfo);
            SetupInputControlColumnWidth(panelInfo, formTab);

            panel.Width  = layoutManager.GetFixedWidthIncludingGaps();
            panel.Height = layoutManager.GetFixedHeightIncludingGaps();
            Size minSize = new Size(panel.Width, panel.Height);

            panel.MinimumSize = minSize;

            panelInfo.UIFormTab          = formTab;
            panelInfo.MinimumPanelHeight = panel.Height;
            panelInfo.UIForm             = formTab.UIForm;
            return(panelInfo);
        }
Beispiel #2
0
        public void Test_Equal_DiffTabs_SameTabName()
        {
            //---------------Set up test pack-------------------
            UIFormTab uiFormTab1 = CreateUIFormTab();

            uiFormTab1.Name = "tab1";
            UIForm uiForm1 = new UIForm();

            uiForm1.Add(uiFormTab1);
            UIFormTab uiFormTab2 = CreateUIFormTab();

            uiFormTab2.Name = "tab1";
            UIForm uiForm2 = new UIForm();

            uiForm2.Add(uiFormTab2);

            //--------------Assert PreConditions----------------

            //---------------Execute Test ----------------------
            bool operatorEquals    = uiForm1 == uiForm2;
            bool operatorNotEquals = uiForm1 != uiForm2;
            bool methodEquals      = uiForm1.Equals(uiForm2);

            //---------------Test Result -----------------------
            Assert.IsTrue(operatorEquals);
            Assert.IsFalse(operatorNotEquals);
            Assert.IsTrue(methodEquals);
            //---------------Tear Down -------------------------
        }
Beispiel #3
0
        public void TestSync()
        {
            UIFormTab uiFormTab = new UIFormTab();

            Assert.AreEqual(typeof(object), uiFormTab.SyncRoot.GetType());
            Assert.IsFalse(uiFormTab.IsSynchronized);
        }
Beispiel #4
0
        private static ClassDef GetClassDef()
        {
            PropDef       propDefPK     = new PropDef(ENUM_PKPROP_NAME, typeof(Guid), PropReadWriteRule.WriteNew, null);
            PropDef       propDef       = new PropDef(ENUM_PROP_NAME, typeof(TestEnum), PropReadWriteRule.ReadWrite, TestEnum.Option1);
            PropDef       propDef2      = new PropDef(ENUM_PROP_NAME_EMPTY, typeof(TestEnumEmpty), PropReadWriteRule.ReadWrite, null);
            PropDef       propDef3      = new PropDef(ENUM_PROP_NAME_PASCAL, typeof(TestEnumPascalCase), PropReadWriteRule.ReadWrite, null);
            PrimaryKeyDef primaryKeyDef = new PrimaryKeyDef {
                propDefPK
            };
            PropDefCol propDefCol = new PropDefCol {
                propDefPK, propDef, propDef2, propDef3
            };

            UIFormField uiFormField = new UIFormField(TestUtil.GetRandomString(), propDef.PropertyName,
                                                      typeof(IComboBox), "EnumComboBoxMapper", "Habanero.Faces.Base", true, null, null, LayoutStyle.Label);
            UIFormColumn uiFormColumn = new UIFormColumn {
                uiFormField
            };
            UIFormTab uiFormTab = new UIFormTab {
                uiFormColumn
            };
            UIForm uiForm = new UIForm {
                uiFormTab
            };
            UIDef    uiDef    = new UIDef("default", uiForm, null);
            UIDefCol uiDefCol = new UIDefCol {
                uiDef
            };

            ClassDef classDef = new ClassDef(typeof(EnumBO), primaryKeyDef, propDefCol, new KeyDefCol(), null, uiDefCol);

            return(classDef);
        }
Beispiel #5
0
        private UIFormTab CreateUIFormTab()
        {
            UIFormTab    uiFormTab1   = new UIFormTab();
            UIFormColumn uiFormColumn = CreateUIFormColumn_2Fields();

            uiFormTab1.Add(uiFormColumn);
            return(uiFormTab1);
        }
Beispiel #6
0
        public void Test_NotEqualsNull()
        {
            UIFormTab uiFormTab1 = new UIFormTab();
            UIFormTab uiFormTab2 = null;

            Assert.IsFalse(uiFormTab2 == uiFormTab1);
            Assert.AreNotEqual(uiFormTab1, uiFormTab2);
        }
Beispiel #7
0
        public void TestUIFormGrid()
        {
            UIFormGrid grid      = new UIFormGrid("rel", typeof(MyBO), "correl");
            UIFormTab  uiFormTab = new UIFormTab();

            Assert.IsNull(uiFormTab.UIFormGrid);
            uiFormTab.UIFormGrid = grid;
            Assert.AreEqual(grid, uiFormTab.UIFormGrid);
        }
Beispiel #8
0
        public void TestRemove()
        {
            UIFormColumn column = new UIFormColumn();
            UIFormTab uiFormTab = new UIFormTab();
            uiFormTab.Add(column);

            Assert.IsTrue(uiFormTab.Contains(column));
            uiFormTab.Remove(column);
            Assert.IsFalse(uiFormTab.Contains(column));
        }
Beispiel #9
0
        public void TestRemove()
        {
            UIFormColumn column    = new UIFormColumn();
            UIFormTab    uiFormTab = new UIFormTab();

            uiFormTab.Add(column);

            Assert.IsTrue(uiFormTab.Contains(column));
            uiFormTab.Remove(column);
            Assert.IsFalse(uiFormTab.Contains(column));
        }
Beispiel #10
0
        public void TestRemove()
        {
            UIFormTab tab    = new UIFormTab();
            UIForm    uiForm = new UIForm();

            uiForm.Add(tab);

            Assert.IsTrue(uiForm.Contains(tab));
            uiForm.Remove(tab);
            Assert.IsFalse(uiForm.Contains(tab));
        }
Beispiel #11
0
        public void TestEquals_SameColumn()
        {
            UIFormTab    uiFormTab1   = new UIFormTab();
            UIFormColumn uiFormColumn = CreateUIFormColumn_2Fields();
            UIFormTab    uiFormTab2   = new UIFormTab();

            uiFormTab1.Add(uiFormColumn);
            uiFormTab2.Add(uiFormColumn);
            Assert.IsTrue(uiFormTab2 == uiFormTab1);
            Assert.AreEqual(uiFormTab1, uiFormTab2);
        }
Beispiel #12
0
        public void TestCopyTo()
        {
            UIFormColumn column1 = new UIFormColumn();
            UIFormColumn column2 = new UIFormColumn();
            UIFormTab uiFormTab = new UIFormTab();
            uiFormTab.Add(column1);
            uiFormTab.Add(column2);

            UIFormColumn[] target = new UIFormColumn[2];
            uiFormTab.CopyTo(target, 0);
            Assert.AreEqual(column1, target[0]);
            Assert.AreEqual(column2, target[1]);
        }
Beispiel #13
0
        public void TestAddUIFormTab()
        {
            //---------------Set up test pack-------------------
            UIForm    form = new UIForm();
            UIFormTab tab  = new UIFormTab();

            //---------------Assert Precondition----------------
            Assert.IsNull(tab.UIForm);
            //---------------Execute Test ----------------------
            form.Add(tab);
            //---------------Test Result -----------------------
            Assert.AreSame(form, tab.UIForm);
        }
Beispiel #14
0
        public void TestFormTab()
        {
            //---------------Set up test pack-------------------
            UIFormColumn column = new UIFormColumn();
            UIFormTab    tab    = new UIFormTab();

            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            column.UIFormTab = tab;
            //---------------Test Result -----------------------
            Assert.AreSame(tab, column.UIFormTab);
        }
Beispiel #15
0
        public void TestUIForm()
        {
            //---------------Set up test pack-------------------
            UIFormTab uiFormTab = new UIFormTab("tab1");
            UIForm    form      = new UIForm();

            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            uiFormTab.UIForm = form;
            //---------------Test Result -----------------------
            Assert.AreSame(form, uiFormTab.UIForm);
        }
Beispiel #16
0
        public void TestEquals_EqualColumn()
        {
            UIFormTab    uiFormTab1    = new UIFormTab();
            UIFormColumn uiFormColumn1 = CreateUIFormColumn_2Fields();
            UIFormColumn uiFormColumn2 = CreateUIFormColumn_2Fields();
            UIFormTab    uiFormTab2    = new UIFormTab();

            uiFormTab1.Add(uiFormColumn1);
            uiFormTab2.Add(uiFormColumn2);
            Assert.IsTrue(uiFormTab2 == uiFormTab1);
            Assert.IsFalse(uiFormTab2 != uiFormTab1);
            Assert.AreEqual(uiFormTab1, uiFormTab2);
        }
Beispiel #17
0
        public void TestAddColumn()
        {
            //---------------Set up test pack-------------------
            UIFormColumn uiFormColumn = new UIFormColumn();
            UIFormTab    uiFormTab    = new UIFormTab();

            //---------------Assert Precondition----------------
            Assert.IsNull(uiFormColumn.UIFormTab);
            //---------------Execute Test ----------------------
            uiFormTab.Add(uiFormColumn);
            //---------------Test Result -----------------------
            Assert.AreSame(uiFormTab, uiFormColumn.UIFormTab);
        }
Beispiel #18
0
        public void TestGetMaxRowsInColumns_RowSpan()
        {
            //---------------Set up test pack-------------------
            UIFormTab uiFormTab1 = new UIFormTab("tab1");

            uiFormTab1.Add(CreateUIFormColumn_2FieldsWithRowSpan());
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            int maxFieldCount = uiFormTab1.GetMaxRowsInColumns();

            //---------------Test Result -----------------------
            Assert.AreEqual(3, maxFieldCount);
        }
Beispiel #19
0
        public void TestCopyTo()
        {
            UIFormTab tab1   = new UIFormTab();
            UIFormTab tab2   = new UIFormTab();
            UIForm    uiForm = new UIForm();

            uiForm.Add(tab1);
            uiForm.Add(tab2);

            UIFormTab[] target = new UIFormTab[2];
            uiForm.CopyTo(target, 0);
            Assert.AreEqual(tab1, target[0]);
            Assert.AreEqual(tab2, target[1]);
        }
Beispiel #20
0
        public void TestCopyTo()
        {
            UIFormColumn column1   = new UIFormColumn();
            UIFormColumn column2   = new UIFormColumn();
            UIFormTab    uiFormTab = new UIFormTab();

            uiFormTab.Add(column1);
            uiFormTab.Add(column2);

            UIFormColumn[] target = new UIFormColumn[2];
            uiFormTab.CopyTo(target, 0);
            Assert.AreEqual(column1, target[0]);
            Assert.AreEqual(column2, target[1]);
        }
Beispiel #21
0
        private void AddFieldsToLayoutManager(UIFormTab formTab, IPanelInfo panelInfo)
        {
            int numberOfColumns = formTab.Count;

            int[] currentFieldPositionInColumns = new int[numberOfColumns];
            int[] rowSpanTrackerForColumn       = new int[numberOfColumns];
            int   maxRowsInColumns = formTab.GetMaxRowsInColumns();

            int[] columnSpanTrackerForRow = new int[maxRowsInColumns];
            for (int currentRowNo = 0; currentRowNo < maxRowsInColumns; currentRowNo++)
            {
                for (int currentColumnNo = 0; currentColumnNo < numberOfColumns; currentColumnNo++)
                {
                    IUIFormColumn currentFormColumn = formTab[currentColumnNo];

                    if (--rowSpanTrackerForColumn[currentColumnNo] > 0)
                    {
                        continue;
                    }
                    // keep skipping this grid position until a previous row span in this column has been decremented
                    if (--columnSpanTrackerForRow[currentRowNo] > 0)
                    {
                        continue;
                    }
                    // keep skipping this grid position until a previous column span in this row has been decremented

                    int currentFieldNoInColumn = currentFieldPositionInColumns[currentColumnNo];
                    int totalFieldsInColumn    = currentFormColumn.Count;
                    if (currentFieldNoInColumn < totalFieldsInColumn) // there exists a field in this row in this column
                    {
                        UIFormField formField = (UIFormField)currentFormColumn[currentFieldNoInColumn];
                        rowSpanTrackerForColumn[currentColumnNo] = formField.RowSpan;
                        for (int i = currentRowNo; i < currentRowNo + formField.RowSpan; i++)
                        {
                            // update colspan of all rows that this field spans into.
                            columnSpanTrackerForRow[i] = formField.ColSpan;
                        }

                        PanelInfo.FieldInfo fieldInfo = AddControlsForField(formField, panelInfo);
                        fieldInfo.InputControl.TabIndex = currentColumnNo * maxRowsInColumns + currentRowNo;
                    }
                    else
                    {
                        AddNullControlsForEmptyField(panelInfo);
                    }
                    currentFieldPositionInColumns[currentColumnNo]++;
                }
            }
        }
Beispiel #22
0
 public void Test_Construct_WithUIFormColumns()
 {
     //---------------Set up test pack-------------------
     UIFormColumn uiFormColumn1 = new UIFormColumn();
     UIFormColumn uiFormColumn2 = new UIFormColumn();
     UIFormColumn uiFormColumn3 = new UIFormColumn();
     //---------------Assert Precondition----------------
     //---------------Execute Test ----------------------
     UIFormTab uiFormTab = new UIFormTab(uiFormColumn1, uiFormColumn2, uiFormColumn3);
     //---------------Test Result -----------------------
     Assert.AreEqual(3, uiFormTab.Count);
     Assert.AreSame(uiFormColumn1, uiFormTab[0]);
     Assert.AreSame(uiFormColumn2, uiFormTab[1]);
     Assert.AreSame(uiFormColumn3, uiFormTab[2]);
 }
Beispiel #23
0
 public void Test_Construct_WithUIFormTabs()
 {
     //---------------Set up test pack-------------------
     UIFormTab uiFormTab1 = new UIFormTab();
     UIFormTab uiFormTab2 = new UIFormTab();
     UIFormTab uiFormTab3 = new UIFormTab();
     //---------------Assert Precondition----------------
     //---------------Execute Test ----------------------
     UIForm uiForm = new UIForm(uiFormTab1, uiFormTab2, uiFormTab3);
     //---------------Test Result -----------------------
     Assert.AreEqual(3, uiForm.Count);
     Assert.AreSame(uiFormTab1, uiForm[0]);
     Assert.AreSame(uiFormTab2, uiForm[1]);
     Assert.AreSame(uiFormTab3, uiForm[2]);
 }
Beispiel #24
0
        public void TestGetMaximumFieldCount()
        {
            //---------------Set up test pack-------------------
            UIFormTab uiFormTab1 = new UIFormTab("tab1");

            uiFormTab1.Add(CreateUIFormColumn_2Fields());
            uiFormTab1.Add(CreateUIFormColumn_1Field());
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            int maxFieldCount = uiFormTab1.GetMaxFieldCount();

            //---------------Test Result -----------------------
            Assert.AreEqual(2, maxFieldCount);
        }
Beispiel #25
0
        public void TestEquals_SameTab()
        {
            UIFormTab uiFormTab1 = CreateUIFormTab();

            UIForm uiForm1 = new UIForm();

            uiForm1.Add(uiFormTab1);

            UIForm uiForm2 = new UIForm();

            uiForm2.Add(uiFormTab1);

            Assert.IsTrue(uiForm1 == uiForm2);
            Assert.IsFalse(uiForm1 != uiForm2);
            Assert.IsTrue(uiForm1.Equals(uiForm2));
        }
Beispiel #26
0
        public void TestNotEquals_DifferentField()
        {
            UIFormTab    uiFormTab1    = new UIFormTab();
            UIFormColumn uiFormColumn1 = CreateUIFormColumn_2Fields();
            UIFormColumn uiFormColumn2 = CreateUIFormColumn_2Fields("diffProp");
            UIFormTab    uiFormTab2    = new UIFormTab();

            uiFormTab1.Add(uiFormColumn1);

            uiFormTab2.Add(uiFormColumn2);

            Assert.IsFalse(uiFormTab2 == uiFormTab1);
            Assert.IsTrue(uiFormTab2 != uiFormTab1);
            Assert.IsFalse(uiFormTab1.Equals(uiFormTab2));
            //Assert.AreNotEqual(uiFormTab1, uiFormTab2);
        }
Beispiel #27
0
        public void Test_Construct_WithUIFormColumns()
        {
            //---------------Set up test pack-------------------
            UIFormColumn uiFormColumn1 = new UIFormColumn();
            UIFormColumn uiFormColumn2 = new UIFormColumn();
            UIFormColumn uiFormColumn3 = new UIFormColumn();
            //---------------Assert Precondition----------------
            //---------------Execute Test ----------------------
            UIFormTab uiFormTab = new UIFormTab(uiFormColumn1, uiFormColumn2, uiFormColumn3);

            //---------------Test Result -----------------------
            Assert.AreEqual(3, uiFormTab.Count);
            Assert.AreSame(uiFormColumn1, uiFormTab[0]);
            Assert.AreSame(uiFormColumn2, uiFormTab[1]);
            Assert.AreSame(uiFormColumn3, uiFormTab[2]);
        }
Beispiel #28
0
        public void Test_Construct_WithUIFormTabs()
        {
            //---------------Set up test pack-------------------
            UIFormTab uiFormTab1 = new UIFormTab();
            UIFormTab uiFormTab2 = new UIFormTab();
            UIFormTab uiFormTab3 = new UIFormTab();
            //---------------Assert Precondition----------------
            //---------------Execute Test ----------------------
            UIForm uiForm = new UIForm(uiFormTab1, uiFormTab2, uiFormTab3);

            //---------------Test Result -----------------------
            Assert.AreEqual(3, uiForm.Count);
            Assert.AreSame(uiFormTab1, uiForm[0]);
            Assert.AreSame(uiFormTab2, uiForm[1]);
            Assert.AreSame(uiFormTab3, uiForm[2]);
        }
Beispiel #29
0
        public void TestNotEquals_DifferentTabName()
        {
            //---------------Set up test pack-------------------
            UIFormTab uiFormTab1 = new UIFormTab("tab1");

            uiFormTab1.Add(CreateUIFormColumn_2Fields());
            UIFormTab uiFormTab2 = new UIFormTab("tab2");

            uiFormTab2.Add(CreateUIFormColumn_2Fields());

            //--------------Assert PreConditions----------------
            Assert.AreNotEqual(uiFormTab2.Name, uiFormTab1.Name);
            //---------------Execute Test ----------------------
            Assert.IsFalse(uiFormTab2 == uiFormTab1);
            Assert.IsFalse(uiFormTab1.Equals(uiFormTab2));
            //Assert.AreNotEqual(uiFormTab1, uiFormTab2);
            //---------------Test Result -----------------------

            //---------------Tear Down -------------------------
        }
        public void Test_BuildPanelForTab_Parameter_SetAlignment_NumericUpDown()
        {
            //---------------Set up test pack-------------------
            Sample.SampleUserInterfaceMapper interfaceMapper = GetSampleUserInterfaceMapper();
            UIFormTab singleFieldTab = interfaceMapper.GetFormTabOneFieldsWithNumericUpDown();

            Habanero.Faces.Base.PanelBuilder panelBuilder = CreatePanelBuilder();
            //---------------Assert Precondition----------------
            Assert.AreEqual("right", ((UIFormField)singleFieldTab[0][0]).Alignment);

            //---------------Execute Test ----------------------
            IPanel panel = panelBuilder.BuildPanelForTab(singleFieldTab).Panel;

            //---------------Test Result -----------------------

            Assert.IsInstanceOf(typeof(INumericUpDown), panel.Controls[1]);
            INumericUpDown control = (INumericUpDown)panel.Controls[1];

            Assert.AreEqual(HorizontalAlignment.Right, control.TextAlign);
        }
Beispiel #31
0
        public void Test_SetClassDef_ShouldSetClassDefOnFormFields()
        {
            //---------------Set up test pack-------------------
            var uiForm       = new UIForm();
            var uiFormTab    = new UIFormTab();
            var uiFormColumn = new UIFormColumn();
            var uiFormField  = new UIFormField("fdafad", "fdafasd");

            uiForm.Add(uiFormTab);
            uiFormTab.Add(uiFormColumn);
            uiFormColumn.Add(uiFormField);
            var classDef = MockRepository.GenerateStub <IClassDef>();

            //---------------Assert Precondition----------------
            Assert.IsNull(uiFormField.ClassDef);
            //---------------Execute Test ----------------------
            uiForm.ClassDef = classDef;
            //---------------Test Result -----------------------
            Assert.AreSame(classDef, uiFormField.ClassDef);
        }
Beispiel #32
0
        private static UIForm GetUiForm()
        {
            UIFormField  field1       = new UIFormField("label1", "prop1", "control", null, null, null, true, null, null, null, LayoutStyle.Label);
            UIFormField  field2       = new UIFormField("label2", "prop2", "control", null, null, null, true, null, null, null, LayoutStyle.Label);
            UIFormColumn uiFormColumn = new UIFormColumn();

            uiFormColumn.Add(field1);
            uiFormColumn.Add(field2);

            UIFormTab uiFormTab = new UIFormTab("Tab1");

            uiFormTab.Add(uiFormColumn);

            UIForm uiForm = new UIForm();

            uiForm.Add(uiFormTab);
            uiForm.Title  = "ddd";
            uiForm.Height = 1;
            uiForm.Width  = 3;
            return(uiForm);
        }
Beispiel #33
0
        public void TestNotEquals_DiffColCount()
        {
            //---------------Set up test pack-------------------
            UIFormTab    uiFormTab1    = new UIFormTab();
            UIFormColumn uiFormColumn1 = CreateUIFormColumn_2Fields();
            UIFormColumn uiFormColumn2 = CreateUIFormColumn_2Fields("diffProp");
            UIFormTab    uiFormTab2    = new UIFormTab();


            //--------------Assert PreConditions----------------

            //---------------Execute Test ----------------------
            uiFormTab1.Add(uiFormColumn1);
            uiFormTab1.Add(uiFormColumn2);

            uiFormTab2.Add(uiFormColumn2);
            //---------------Test Result -----------------------
            Assert.IsFalse(uiFormTab2 == uiFormTab1);
            Assert.IsFalse(uiFormTab1.Equals(uiFormTab2));
            //---------------Tear Down -------------------------
        }
Beispiel #34
0
        private GridLayoutManager SetupLayoutManager(UIFormTab formTab, IPanel panel)
        {
            GridLayoutManager layoutManager = new GridLayoutManager(panel, ControlFactory);
            int maxRowsInColumns            = formTab.GetMaxRowsInColumns();

            int colCount = formTab.Count * CONTROLS_PER_COLUMN;

            layoutManager.SetGridSize(maxRowsInColumns, colCount);
            layoutManager.FixColumnBasedOnContents(0);
            for (int i = 0; i < colCount; i += CONTROLS_PER_COLUMN)
            {
                layoutManager.FixColumnBasedOnContents(i + LABEL_CONTROL_COLUMN_NO);
                layoutManager.FixColumn(i + ERROR_PROVIDER_COLUMN_NO, ERROR_PROVIDER_WIDTH);
            }
            ITextBox sampleTextBoxForHeight = ControlFactory.CreateTextBox();

            for (int row = 0; row < maxRowsInColumns; row++)
            {
                layoutManager.FixRow(row, sampleTextBoxForHeight.Height);
            }
            return(layoutManager);
        }
Beispiel #35
0
        public void TestNotEquals_DiffColCount()
        {
            //---------------Set up test pack-------------------
            UIFormTab uiFormTab1 = new UIFormTab();
            UIFormColumn uiFormColumn1 = CreateUIFormColumn_2Fields();
            UIFormColumn uiFormColumn2 = CreateUIFormColumn_2Fields("diffProp");
            UIFormTab uiFormTab2 = new UIFormTab();


            //--------------Assert PreConditions----------------            

            //---------------Execute Test ----------------------
            uiFormTab1.Add(uiFormColumn1);
            uiFormTab1.Add(uiFormColumn2);

            uiFormTab2.Add(uiFormColumn2);
            //---------------Test Result -----------------------
            Assert.IsFalse(uiFormTab2 == uiFormTab1);
            Assert.IsFalse(uiFormTab1.Equals(uiFormTab2));
            //---------------Tear Down -------------------------          
        }
Beispiel #36
0
        public void TestCopyTo()
        {
            UIFormTab tab1 = new UIFormTab();
            UIFormTab tab2 = new UIFormTab();
            UIForm uiForm = new UIForm();
            uiForm.Add(tab1);
            uiForm.Add(tab2);

            UIFormTab[] target = new UIFormTab[2];
            uiForm.CopyTo(target, 0);
            Assert.AreEqual(tab1, target[0]);
            Assert.AreEqual(tab2, target[1]);
        }
        private void AddFieldsToLayoutManager(UIFormTab formTab, IPanelInfo panelInfo)
        {
            int numberOfColumns = formTab.Count;
            int[] currentFieldPositionInColumns = new int[numberOfColumns];
            int[] rowSpanTrackerForColumn = new int[numberOfColumns];
            int maxRowsInColumns = formTab.GetMaxRowsInColumns();
            int[] columnSpanTrackerForRow = new int[maxRowsInColumns];
            for (int currentRowNo = 0; currentRowNo < maxRowsInColumns; currentRowNo++)
            {
                for (int currentColumnNo = 0; currentColumnNo < numberOfColumns; currentColumnNo++)
                {
                    IUIFormColumn currentFormColumn = formTab[currentColumnNo];

                    if (--rowSpanTrackerForColumn[currentColumnNo] > 0) continue;
                    // keep skipping this grid position until a previous row span in this column has been decremented 
                    if (--columnSpanTrackerForRow[currentRowNo] > 0) continue;
                    // keep skipping this grid position until a previous column span in this row has been decremented

                    int currentFieldNoInColumn = currentFieldPositionInColumns[currentColumnNo];
                    int totalFieldsInColumn = currentFormColumn.Count;
                    if (currentFieldNoInColumn < totalFieldsInColumn) // there exists a field in this row in this column
                    {
                        UIFormField formField = (UIFormField) currentFormColumn[currentFieldNoInColumn];
                        rowSpanTrackerForColumn[currentColumnNo] = formField.RowSpan;
                        for (int i = currentRowNo; i < currentRowNo + formField.RowSpan; i++)
                            // update colspan of all rows that this field spans into.
                            columnSpanTrackerForRow[i] = formField.ColSpan;

                        PanelInfo.FieldInfo fieldInfo = AddControlsForField(formField, panelInfo);
                        fieldInfo.InputControl.TabIndex = currentColumnNo*maxRowsInColumns + currentRowNo;
                    }
                    else
                    {
                        AddNullControlsForEmptyField(panelInfo);
                    }
                    currentFieldPositionInColumns[currentColumnNo]++;
                }
            }
        }
        /// <summary>
        /// Constructs a panel for editing the data of a single instance
        /// of a BusinessObject, using the control layout as specified in
        /// a <see cref="UIFormTab"/> object. 
        /// </summary>
        /// <param name="formTab">The tab object that indicates which controls
        /// to create and how the controls are laid out</param>
        /// <returns>Returns an IPanelInfo object that contains access to the
        /// BusinessObject instance, the created panel, and all the controls,
        /// mappers, labels and error providers that were created.
        /// </returns>
        public IPanelInfo BuildPanelForTab(UIFormTab formTab)
        {
            if (formTab == null) throw new ArgumentNullException("formTab");
            var panel = ControlFactory.CreatePanel();
            var panelInfo = new PanelInfo();
            var layoutManager =  SetupLayoutManager(formTab, panel);
            panelInfo.LayoutManager = layoutManager;
            panelInfo.Panel = panel;
            AddFieldsToLayoutManager(formTab, panelInfo);
            SetupInputControlColumnWidth(panelInfo, formTab);

            panel.Width = layoutManager.GetFixedWidthIncludingGaps();
            panel.Height = layoutManager.GetFixedHeightIncludingGaps();
            Size minSize = new Size(panel.Width, panel.Height);
            panel.MinimumSize = minSize;

            panelInfo.UIFormTab = formTab;
            panelInfo.MinimumPanelHeight = panel.Height;
            panelInfo.UIForm = formTab.UIForm;
            return panelInfo;
        }
Beispiel #39
0
        public void TestAddUIFormTab()
        {
            //---------------Set up test pack-------------------
            UIForm form = new UIForm();
            UIFormTab tab = new UIFormTab();

            //---------------Assert Precondition----------------
            Assert.IsNull(tab.UIForm);
            //---------------Execute Test ----------------------
            form.Add(tab);
            //---------------Test Result -----------------------
            Assert.AreSame(form, tab.UIForm);
        }
Beispiel #40
0
 private UIFormTab CreateUIFormTab()
 {
     UIFormTab uiFormTab1 = new UIFormTab();
     UIFormColumn uiFormColumn = CreateUIFormColumn_2Fields();
     uiFormTab1.Add(uiFormColumn);
     return uiFormTab1;
 }
Beispiel #41
0
        public void TestEquals_SameColumn()
        {
            UIFormTab uiFormTab1 = new UIFormTab();
            UIFormColumn uiFormColumn = CreateUIFormColumn_2Fields();
            UIFormTab uiFormTab2 = new UIFormTab();

            uiFormTab1.Add(uiFormColumn);
            uiFormTab2.Add(uiFormColumn);
            Assert.IsTrue(uiFormTab2 == uiFormTab1);
            Assert.AreEqual(uiFormTab1, uiFormTab2);
        }
Beispiel #42
0
        public void TestAddColumn()
        {
            //---------------Set up test pack-------------------
            UIFormColumn uiFormColumn = new UIFormColumn();
            UIFormTab uiFormTab = new UIFormTab();
            //---------------Assert Precondition----------------
            Assert.IsNull(uiFormColumn.UIFormTab);
            //---------------Execute Test ----------------------
            uiFormTab.Add(uiFormColumn);
            //---------------Test Result -----------------------
            Assert.AreSame(uiFormTab, uiFormColumn.UIFormTab);

        }
Beispiel #43
0
 public void TestSync()
 {
     UIFormTab uiFormTab = new UIFormTab();
     Assert.AreEqual(typeof (object), uiFormTab.SyncRoot.GetType());
     Assert.IsFalse(uiFormTab.IsSynchronized);
 }
Beispiel #44
0
        public void TestUIFormGrid()
        {
            UIFormGrid grid = new UIFormGrid("rel", typeof (MyBO), "correl");
            UIFormTab uiFormTab = new UIFormTab();

            Assert.IsNull(uiFormTab.UIFormGrid);
            uiFormTab.UIFormGrid = grid;
            Assert.AreEqual(grid, uiFormTab.UIFormGrid);
        }
Beispiel #45
0
        public void TestCloneUIFormTab()
        {
            //---------------Set up test pack-------------------
            UIFormField field1 = CreateUIFormField("label1", "prop1", null);
            UIFormField field2 = CreateUIFormField("label2", "prop2", null); 
            UIFormColumn uiFormColumn = new UIFormColumn();
            uiFormColumn.Add(field1);
            uiFormColumn.Add(field2);

            UIFormTab uiFormTab = new UIFormTab("Tab1");
            uiFormTab.Add(uiFormColumn);

            //---------------Execute Test ----------------------
            IUIFormTab clonedFormTab = uiFormTab.Clone();

            //---------------Test Result -----------------------
            Assert.IsTrue(uiFormTab == (UIFormTab) clonedFormTab);
            Assert.IsTrue(uiFormTab.Equals(clonedFormTab));
            Assert.AreEqual(uiFormTab[0], clonedFormTab[0],
                              "Should be a deep copy and the columns should be equal but copied");
            Assert.AreNotSame(uiFormTab[0], clonedFormTab[0], "Should be a deep copy and the columns should be equal but copied (not same)");
        }
        public void TestFormTab()
        {
            //---------------Set up test pack-------------------
            UIFormColumn column = new UIFormColumn();
            UIFormTab tab = new UIFormTab();
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            column.UIFormTab = tab;
            //---------------Test Result -----------------------
            Assert.AreSame(tab, column.UIFormTab);
        }
        private static ClassDef GetClassDef()
        {
            PropDef propDefPK = new PropDef(ENUM_PKPROP_NAME, typeof(Guid), PropReadWriteRule.WriteNew, null);
            PropDef propDef = new PropDef(ENUM_PROP_NAME, typeof(TestEnum), PropReadWriteRule.ReadWrite, TestEnum.Option1);
            PropDef propDef2 = new PropDef(ENUM_PROP_NAME_EMPTY, typeof(TestEnumEmpty), PropReadWriteRule.ReadWrite, null);
            PropDef propDef3 = new PropDef(ENUM_PROP_NAME_PASCAL, typeof(TestEnumPascalCase), PropReadWriteRule.ReadWrite, null);
            PrimaryKeyDef primaryKeyDef = new PrimaryKeyDef { propDefPK };
            PropDefCol propDefCol = new PropDefCol { propDefPK, propDef, propDef2, propDef3 };

            UIFormField uiFormField = new UIFormField(TestUtil.GetRandomString(), propDef.PropertyName,
                                                      typeof(IComboBox), "EnumComboBoxMapper", "Habanero.Faces.Base", true, null, null, LayoutStyle.Label);
            UIFormColumn uiFormColumn = new UIFormColumn { uiFormField };
            UIFormTab uiFormTab = new UIFormTab { uiFormColumn };
            UIForm uiForm = new UIForm { uiFormTab };
            UIDef uiDef = new UIDef("default", uiForm, null);
            UIDefCol uiDefCol = new UIDefCol { uiDef };

            ClassDef classDef = new ClassDef(typeof(EnumBO), primaryKeyDef, propDefCol, new KeyDefCol(), null, uiDefCol);
            return classDef;
        }
Beispiel #48
0
        public void TestNotEquals_DifferentField()
        {
            UIFormTab uiFormTab1 = new UIFormTab();
            UIFormColumn uiFormColumn1 = CreateUIFormColumn_2Fields();
            UIFormColumn uiFormColumn2 = CreateUIFormColumn_2Fields("diffProp");
            UIFormTab uiFormTab2 = new UIFormTab();

            uiFormTab1.Add(uiFormColumn1);

            uiFormTab2.Add(uiFormColumn2);

            Assert.IsFalse(uiFormTab2 == uiFormTab1);
            Assert.IsTrue(uiFormTab2 != uiFormTab1);
            Assert.IsFalse(uiFormTab1.Equals(uiFormTab2));
            //Assert.AreNotEqual(uiFormTab1, uiFormTab2);
        }
Beispiel #49
0
        public void TestEquals_EqualColumn()
        {
            UIFormTab uiFormTab1 = new UIFormTab();
            UIFormColumn uiFormColumn1 = CreateUIFormColumn_2Fields();
            UIFormColumn uiFormColumn2 = CreateUIFormColumn_2Fields();
            UIFormTab uiFormTab2 = new UIFormTab();

            uiFormTab1.Add(uiFormColumn1);
            uiFormTab2.Add(uiFormColumn2);
            Assert.IsTrue(uiFormTab2 == uiFormTab1);
            Assert.IsFalse(uiFormTab2 != uiFormTab1);
            Assert.AreEqual(uiFormTab1, uiFormTab2);
        }
Beispiel #50
0
 public void TestEqualsDifferentType()
 {
     UIFormTab uiFormTab1 = new UIFormTab();
     Assert.AreNotEqual(uiFormTab1, "bob");
 }
Beispiel #51
0
 public void Test_NotEqualsNull()
 {
     UIFormTab uiFormTab1 = new UIFormTab();
     UIFormTab uiFormTab2 = null;
     Assert.IsFalse(uiFormTab2 == uiFormTab1);
     Assert.AreNotEqual(uiFormTab1, uiFormTab2);
 }
Beispiel #52
0
        public void TestUIForm()
        {
            //---------------Set up test pack-------------------
            UIFormTab uiFormTab = new UIFormTab("tab1");
            UIForm form = new UIForm();
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            uiFormTab.UIForm = form;
            //---------------Test Result -----------------------
            Assert.AreSame(form, uiFormTab.UIForm);
        }
Beispiel #53
0
 public void Test_SetClassDef_ShouldSetClassDefOnFormFields()
 {
     //---------------Set up test pack-------------------
     var uiForm = new UIForm();
     var uiFormTab = new UIFormTab();
     var uiFormColumn = new UIFormColumn();
     var uiFormField = new UIFormField("fdafad", "fdafasd");
     uiForm.Add(uiFormTab);
     uiFormTab.Add(uiFormColumn);
     uiFormColumn.Add(uiFormField);
     var classDef = MockRepository.GenerateStub<IClassDef>();
     //---------------Assert Precondition----------------
     Assert.IsNull(uiFormField.ClassDef);
     //---------------Execute Test ----------------------
     uiForm.ClassDef = classDef;
     //---------------Test Result -----------------------
     Assert.AreSame(classDef, uiFormField.ClassDef);
 }
Beispiel #54
0
        public void TestGetMaxRowsInColumns_RowAndColSpan_3Cols()
        {
            //---------------Set up test pack-------------------
            UIFormTab uiFormTab1 = new UIFormTab("tab1");
            uiFormTab1.Add(CreateUIFormColumn_1FieldWith2RowAnd3ColSpan());
            uiFormTab1.Add(CreateUIFormColumn_1FieldWith2RowAnd2ColSpan());
            uiFormTab1.Add(CreateUIFormColumn_1Field());
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            int maxFieldCount = uiFormTab1.GetMaxRowsInColumns();
            //---------------Test Result -----------------------
            Assert.AreEqual(5, maxFieldCount);
        }
Beispiel #55
0
        public void TestCloneUIForm()
        {
            //---------------Set up test pack-------------------
            UIFormField field1 = new UIFormField("label1", "prop1", "control", null, null, null, true, null, null, null, LayoutStyle.Label);
            UIFormField field2 = new UIFormField("label2", "prop2", "control", null, null, null, true, null, null, null, LayoutStyle.Label);
            UIFormColumn uiFormColumn = new UIFormColumn();
            uiFormColumn.Add(field1);
            uiFormColumn.Add(field2);

            UIFormTab uiFormTab = new UIFormTab("Tab1");
            uiFormTab.Add(uiFormColumn);

            UIForm uiForm = new UIForm();
            uiForm.Add(uiFormTab);
            uiForm.Title = "ddd";
            uiForm.Height = 1;
            uiForm.Width = 3;

            //---------------Execute Test ----------------------
            IUIForm clonedForm = uiForm.Clone();

            //---------------Test Result -----------------------
            Assert.IsTrue(uiForm == (UIForm) clonedForm);
            Assert.IsTrue(uiForm.Equals(clonedForm));
            Assert.AreNotSame(uiForm, clonedForm);

            IUIFormTab clonedUIFormTab = clonedForm[0];
            Assert.AreEqual(uiForm[0], clonedUIFormTab,
                              "Should be a deep copy and the columns should be equal but copied");
            Assert.AreNotSame(uiFormTab, clonedUIFormTab, "Should be a deep copy and the columns should be equal but copied (not same)");
            //Verif cloned columns
            Assert.AreEqual(uiFormTab[0], clonedUIFormTab[0]);
            Assert.AreNotSame(uiFormTab[0], clonedUIFormTab[0]);
        }
Beispiel #56
0
        public void TestGetMaximumFieldCount()
        {
            //---------------Set up test pack-------------------
            UIFormTab uiFormTab1 = new UIFormTab("tab1");
            uiFormTab1.Add(CreateUIFormColumn_2Fields());
            uiFormTab1.Add(CreateUIFormColumn_1Field());
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            int maxFieldCount = uiFormTab1.GetMaxFieldCount();
            //---------------Test Result -----------------------
            Assert.AreEqual(2, maxFieldCount);
        }
 private GridLayoutManager SetupLayoutManager(UIFormTab formTab, IPanel panel)
 {
     GridLayoutManager layoutManager = new GridLayoutManager(panel, ControlFactory);
     int maxRowsInColumns = formTab.GetMaxRowsInColumns();
     
     int colCount = formTab.Count * CONTROLS_PER_COLUMN;
     layoutManager.SetGridSize(maxRowsInColumns, colCount);
     layoutManager.FixColumnBasedOnContents(0);
     for (int i = 0; i < colCount; i += CONTROLS_PER_COLUMN)
     {
         layoutManager.FixColumnBasedOnContents(i + LABEL_CONTROL_COLUMN_NO);
         layoutManager.FixColumn(i + ERROR_PROVIDER_COLUMN_NO, ERROR_PROVIDER_WIDTH);
     }
     ITextBox sampleTextBoxForHeight = ControlFactory.CreateTextBox();
     for (int row = 0; row < maxRowsInColumns; row++)
     {
         layoutManager.FixRow(row, sampleTextBoxForHeight.Height);
     }
     return layoutManager;
 }
Beispiel #58
0
        public void TestNotEquals_DifferentTabName()
        {
            //---------------Set up test pack-------------------
            UIFormTab uiFormTab1 = new UIFormTab("tab1");
            uiFormTab1.Add(CreateUIFormColumn_2Fields());
            UIFormTab uiFormTab2 = new UIFormTab("tab2");
            uiFormTab2.Add(CreateUIFormColumn_2Fields());

            //--------------Assert PreConditions----------------            
            Assert.AreNotEqual(uiFormTab2.Name, uiFormTab1.Name);
            //---------------Execute Test ----------------------
            Assert.IsFalse(uiFormTab2 == uiFormTab1);
            Assert.IsFalse(uiFormTab1.Equals(uiFormTab2));
            //Assert.AreNotEqual(uiFormTab1, uiFormTab2);
            //---------------Test Result -----------------------

            //---------------Tear Down -------------------------          
        }
Beispiel #59
0
        public void TestRemove()
        {
            UIFormTab tab = new UIFormTab();
            UIForm uiForm = new UIForm();
            uiForm.Add(tab);

            Assert.IsTrue(uiForm.Contains(tab));
            uiForm.Remove(tab);
            Assert.IsFalse(uiForm.Contains(tab));
        }
Beispiel #60
0
        private static UIForm GetUiForm()
        {
            UIFormField field1 = new UIFormField("label1", "prop1", "control", null, null, null, true, null, null, null, LayoutStyle.Label);
            UIFormField field2 = new UIFormField("label2", "prop2", "control", null, null, null, true, null, null, null, LayoutStyle.Label);
            UIFormColumn uiFormColumn = new UIFormColumn();
            uiFormColumn.Add(field1);
            uiFormColumn.Add(field2);

            UIFormTab uiFormTab = new UIFormTab("Tab1");
            uiFormTab.Add(uiFormColumn);

            UIForm uiForm = new UIForm();
            uiForm.Add(uiFormTab);
            uiForm.Title = "ddd";
            uiForm.Height = 1;
            uiForm.Width = 3;
            return uiForm;
        }