public void TestAddControl_LayoutWithOneColumn_ChangeBorderSize()
        {
            //---------------Set up test pack-------------------
            IControlHabanero    control             = GetControlFactory().CreateControl();
            ColumnLayoutManager columnLayoutManager = GetColumnLayoutManager();
            IControlHabanero    managedControl      = columnLayoutManager.ManagedControl;

            //managedControl.Width = 200;
            //--------------Assert PreConditions----------------
            Assert.AreEqual(0, managedControl.Controls.Count);
            Assert.AreEqual(0, control.Left);
            Assert.AreEqual(0, control.Top);
            Assert.AreEqual(100, control.Width);
            Assert.AreEqual(10, control.Height);
            //---------------Execute Test ----------------------
            columnLayoutManager.AddControl(control);
            columnLayoutManager.BorderSize = 10;
            //---------------Test Result -----------------------
            Assert.AreEqual(1, managedControl.Controls.Count);
            Assert.AreEqual(columnLayoutManager.BorderSize, control.Left);
            Assert.AreEqual(columnLayoutManager.BorderSize, control.Top);
            Assert.AreEqual(managedControl.Width - columnLayoutManager.BorderSize * 2, control.Width);
            Assert.AreEqual(10, control.Height);
            //---------------Tear Down -------------------------
        }
        public void TestAddControl_TwoColumns_OneControl_NonIntegerColumnWidth()
        {
            //---------------Set up test pack-------------------
            IControlHabanero    control             = GetControlFactory().CreateControl();
            ColumnLayoutManager columnLayoutManager = GetColumnLayoutManager();
            int NoColumns = 2;

            columnLayoutManager.ColumnCount = NoColumns;
            IControlHabanero managedControl       = columnLayoutManager.ManagedControl;
            double           expectedControlWidth = 42.5;

            //--------------Assert PreConditions----------------
            Assert.AreEqual(0, control.Left);
            Assert.AreEqual(0, control.Top);
            Assert.AreEqual(100, control.Width);
            //---------------Execute Test ----------------------

            double combinedWidth = expectedControlWidth * 2 + BORDER_SIZE * 2 + GAP_SIZE;

            managedControl.Width = (int)combinedWidth;
            columnLayoutManager.AddControl(control);
            //---------------Test Result -----------------------
            Assert.AreEqual(BORDER_SIZE, control.Left);
            Assert.AreEqual(BORDER_SIZE, control.Top);
            Assert.AreEqual((int)expectedControlWidth, control.Width);
            //---------------Tear Down -------------------------
        }
        public void TestAddControl_TwoColumns_TwoControl()
        {
            //---------------Set up test pack-------------------
            IControlHabanero    control1            = GetControlFactory().CreateControl();
            IControlHabanero    control2            = GetControlFactory().CreateControl();
            ColumnLayoutManager columnLayoutManager = GetColumnLayoutManager();
            int NoColumns = 2;

            columnLayoutManager.ColumnCount = NoColumns;
            IControlHabanero managedControl = columnLayoutManager.ManagedControl;
            int expectedControlWidth        = (managedControl.Width - 2 * BORDER_SIZE - 1 * GAP_SIZE) / NoColumns;

            //--------------Assert PreConditions----------------
            Assert.AreEqual(0, control1.Left);
            Assert.AreEqual(0, control1.Top);
            Assert.AreEqual(100, control1.Width);

            Assert.AreEqual(0, control2.Left);
            Assert.AreEqual(0, control2.Top);
            Assert.AreEqual(100, control2.Width);
            //---------------Execute Test ----------------------
            columnLayoutManager.AddControl(control1);
            columnLayoutManager.AddControl(control2);
            //---------------Test Result -----------------------
            Assert.AreEqual(BORDER_SIZE, control1.Left);
            Assert.AreEqual(BORDER_SIZE, control1.Top);
            Assert.AreEqual(expectedControlWidth, control1.Width);


            Assert.AreEqual(expectedControlWidth + BORDER_SIZE + GAP_SIZE, control2.Left);
            Assert.AreEqual(BORDER_SIZE, control2.Top);
            Assert.AreEqual(expectedControlWidth, control2.Width);
            //---------------Tear Down -------------------------
        }
        public void TestResizeManagedControl()
        {
            //---------------Set up test pack-------------------
            IControlHabanero managedControl = GetControlFactory().CreatePanel();
            int originalWidth = 400;

            managedControl.Width = originalWidth;
            ColumnLayoutManager columnLayoutManager = new ColumnLayoutManager(managedControl, GetControlFactory());

            columnLayoutManager.HorizontalGapSize = 0;
            columnLayoutManager.VerticalGapSize   = 0;
            columnLayoutManager.BorderSize        = 0;
            IControlHabanero createdControl1 = GetControlFactory().CreateControl();
            IControlHabanero createdControl2 = GetControlFactory().CreateControl();

            columnLayoutManager.AddControl(createdControl1);
            columnLayoutManager.AddControl(createdControl2);
            //---------------Assert preconditions---------------
            Assert.AreEqual(originalWidth, createdControl1.Width);
            Assert.AreEqual(originalWidth, createdControl2.Width);
            //---------------Execute Test ----------------------
            int newWidth = 500;

            managedControl.Width = newWidth;
            //---------------Test Result -----------------------
            Assert.AreEqual(newWidth, createdControl1.Width);
            Assert.AreEqual(newWidth, createdControl2.Width);

            //---------------Tear Down -------------------------
        }
        public void TestAddTwoControls_LayoutWithOneColumn()
        {
            //---------------Set up test pack-------------------
            IControlHabanero    control1            = GetControlFactory().CreateControl();
            IControlHabanero    control2            = GetControlFactory().CreateControl();
            ColumnLayoutManager columnLayoutManager = GetColumnLayoutManager();
            IControlHabanero    managedControl      = columnLayoutManager.ManagedControl;

            //managedControl.Width = 200;
            //--------------Assert PreConditions----------------
            Assert.AreEqual(0, managedControl.Controls.Count);
            Assert.AreEqual(0, control1.Left);
            Assert.AreEqual(0, control1.Top);
            Assert.AreEqual(100, control1.Width);
            Assert.AreEqual(0, control2.Left);
            Assert.AreEqual(0, control2.Top);
            Assert.AreEqual(100, control2.Width);
            //---------------Execute Test ----------------------
            columnLayoutManager.AddControl(control1);
            columnLayoutManager.AddControl(control2);
            //---------------Test Result -----------------------
            Assert.AreEqual(2, managedControl.Controls.Count);
            Assert.AreEqual(columnLayoutManager.BorderSize, control1.Left);
            Assert.AreEqual(columnLayoutManager.BorderSize, control1.Top);
            Assert.AreEqual(managedControl.Width - columnLayoutManager.BorderSize * 2, control1.Width);

            Assert.AreEqual(columnLayoutManager.BorderSize, control2.Left);
            Assert.AreEqual(columnLayoutManager.BorderSize + control1.Height +
                            columnLayoutManager.VerticalGapSize, control2.Top);
            Assert.AreEqual(managedControl.Width - columnLayoutManager.BorderSize * 2, control2.Width);
            //---------------Tear Down -------------------------
        }
示例#6
0
        /// <summary>
        /// Adds a Menu item to the <see cref="T:Habanero.Faces.Base.IMenuItemCollection" />.
        /// </summary>
        /// <param name="menuItem"></param>
        public void Add(IMenuItem menuItem)
        {
            _list.Add(menuItem);
            ICollapsiblePanelGroupControl cpGroupMenuItem = _ownerMenuItem as ICollapsiblePanelGroupControl;

            if (cpGroupMenuItem != null && menuItem is CollapsibleSubMenuItemWin)
            {
                CollapsibleSubMenuItemWin outlookStyleSubMenuItem = (CollapsibleSubMenuItemWin)menuItem;
                cpGroupMenuItem.AddControl(outlookStyleSubMenuItem);
                return;
            }
            ICollapsiblePanel cpMenuItem = _ownerMenuItem as ICollapsiblePanel;

            if (cpMenuItem != null && menuItem is CollapsibleMenuItemWin)
            {
                if (cpMenuItem.ContentControl == null)
                {
                    cpMenuItem.ContentControl = this.ControlFactory.CreatePanel();
                    _columnLayoutManager      = new ColumnLayoutManager(cpMenuItem.ContentControl, this.ControlFactory);
                    // this.ControlFactory.CreateBorderLayoutManager(cpMenuItem);
                    _columnLayoutManager.HorizontalGapSize = 0;
                    _columnLayoutManager.VerticalGapSize   = 0;
                    _columnLayoutManager.BorderSize        = 0;
                }
                _columnLayoutManager.AddControl((CollapsibleMenuItemWin)menuItem);
                cpMenuItem.Height        += ((CollapsibleMenuItemWin)menuItem).Height;
                cpMenuItem.ExpandedHeight = cpMenuItem.Height;
            }
        }
        public void TestAddControl_TwoColumns_FiveControl_ResizeManagedControl()
        {
            //---------------Set up test pack-------------------
            IControlHabanero    control1            = GetControlFactory().CreateControl();
            IControlHabanero    control2            = GetControlFactory().CreateControl();
            IControlHabanero    control5            = GetControlFactory().CreateControl();
            ColumnLayoutManager columnLayoutManager = GetColumnLayoutManager();
            int NoColumns = 2;

            columnLayoutManager.ColumnCount = NoColumns;
            IControlHabanero managedControl = columnLayoutManager.ManagedControl;
            int expectedControlWidth        = (managedControl.Width - 2 * BORDER_SIZE - 1 * GAP_SIZE) / NoColumns;

            control2.Height = 40;
            columnLayoutManager.AddControl(control1);
            columnLayoutManager.AddControl(control2);
            IControlHabanero control3 = columnLayoutManager.AddControl(GetControlFactory().CreateControl());

            columnLayoutManager.AddControl(GetControlFactory().CreateControl());
            columnLayoutManager.AddControl(control5);

            //--------------Assert PreConditions----------------
            Assert.AreEqual(BORDER_SIZE, control1.Left);
            Assert.AreEqual(BORDER_SIZE, control1.Top);
            Assert.AreEqual(expectedControlWidth, control1.Width);


            Assert.AreEqual(expectedControlWidth + BORDER_SIZE + GAP_SIZE, control2.Left);
            Assert.AreEqual(BORDER_SIZE, control2.Top);
            Assert.AreEqual(expectedControlWidth, control2.Width);

            Assert.AreEqual(BORDER_SIZE, control5.Left);
            int thirdRowTop = BORDER_SIZE + control2.Height + GAP_SIZE * 2 + control3.Height;

            Assert.AreEqual(thirdRowTop, control5.Top);
            Assert.AreEqual(expectedControlWidth, control5.Width);

            //---------------Execute Test ----------------------
            managedControl.Height = 330;
            managedControl.Width  = 195;

            //---------------Test Result -----------------------
            int expectedControlWidth_afterResize = (managedControl.Width - 2 * BORDER_SIZE - 1 * GAP_SIZE) / NoColumns;

            Assert.AreEqual(BORDER_SIZE, control1.Left);
            Assert.AreEqual(BORDER_SIZE, control1.Top);
            Assert.AreEqual(expectedControlWidth_afterResize, control1.Width);


            Assert.AreEqual(expectedControlWidth_afterResize + BORDER_SIZE + GAP_SIZE, control2.Left);
            Assert.AreEqual(BORDER_SIZE, control2.Top);
            Assert.AreEqual(expectedControlWidth_afterResize, control2.Width);

            Assert.AreEqual(BORDER_SIZE, control5.Left);
            Assert.AreEqual(thirdRowTop, control5.Top);
            Assert.AreEqual(expectedControlWidth_afterResize, control5.Width);
            //---------------Tear Down -------------------------
        }
示例#8
0
        public void Test_Visually_Advanced()
        {
            //---------------Set up test pack-------------------
            IControlFactory controlFactory = GetControlFactory();
            IGroupBox       groupBox       = controlFactory.CreateGroupBox("Test Layout");
            IPanel          panel          = controlFactory.CreatePanel();

            panel.Dock = DockStyle.Fill;
            groupBox.Controls.Add(panel);
            ColumnLayoutManager columnLayoutManager = new ColumnLayoutManager(panel, controlFactory)
            {
                ColumnCount = 1
            };
            int    controlNumber = 1;
            IPanel panel1        = CreateColoredPanel(controlFactory, controlNumber++ + ":");

            panel1.Controls.Clear();
            GridLayoutManager gridLayoutManager = new GridLayoutManager(panel1, controlFactory);

            gridLayoutManager.SetGridSize(4, 3);
            gridLayoutManager.AddControl(CreateColoredPanel(controlFactory, "a:"));
            gridLayoutManager.AddControl(CreateColoredPanel(controlFactory, "b:"));
            gridLayoutManager.AddControl(CreateColoredPanel(controlFactory, "c:"));
            gridLayoutManager.AddControl(CreateColoredPanel(controlFactory, "d:"));
            gridLayoutManager.AddControl(CreateColoredPanel(controlFactory, "e:"));
            gridLayoutManager.AddControl(CreateColoredPanel(controlFactory, "f:"));
            gridLayoutManager.AddControl(CreateColoredPanel(controlFactory, "g:"));
            gridLayoutManager.AddControl(CreateColoredPanel(controlFactory, "h:"));
            gridLayoutManager.AddControl(CreateColoredPanel(controlFactory, "i:"));
            gridLayoutManager.AddControl(CreateColoredPanel(controlFactory, "j:"));
            gridLayoutManager.AddControl(CreateColoredPanel(controlFactory, "k:"));
            gridLayoutManager.AddControl(CreateColoredPanel(controlFactory, "l:"));


            columnLayoutManager.AddControl(panel1);
            columnLayoutManager.AddControl(CreateColoredPanel(controlFactory, controlNumber++ + ":"));
            IButtonGroupControl buttonGroupControl = controlFactory.CreateButtonGroupControl();

            buttonGroupControl.Dock = DockStyle.Top;
            groupBox.Controls.Add(buttonGroupControl);
            buttonGroupControl.AddButton("Add Control", (sender, e) => columnLayoutManager.AddControl(CreateColoredPanel(controlFactory, controlNumber++ + ":")));
            buttonGroupControl.AddButton("-Columns", (sender, e) =>
            {
                if (columnLayoutManager.ColumnCount > 1)
                {
                    columnLayoutManager.ColumnCount--;
                    columnLayoutManager.Refresh();
                }
            });
            buttonGroupControl.AddButton("+Columns", (sender, e) => { columnLayoutManager.ColumnCount++; columnLayoutManager.Refresh(); });
            IFormHabanero form = controlFactory.CreateOKCancelDialogFactory().CreateOKCancelForm(groupBox, "Test Column Layout Manager");

            //---------------Assert Precondition----------------
            //---------------Execute Test ----------------------
            form.ShowDialog();
            //---------------Test Result -----------------------
        }
        public void TestAddControl()
        {
            //---------------Set up test pack-------------------
            IControlHabanero    managedControl      = GetControlFactory().CreatePanel();
            ColumnLayoutManager columnLayoutManager = new ColumnLayoutManager(managedControl, GetControlFactory());
            //---------------Execute Test ----------------------
            IControlHabanero createdControl = GetControlFactory().CreateControl();
            IControlHabanero addedControl   = columnLayoutManager.AddControl(createdControl);

            //---------------Test Result -----------------------
            Assert.AreEqual(1, managedControl.Controls.Count);
            Assert.AreSame(addedControl, createdControl);
        }
        public void TestCreateColumnLayoutManager()
        {
            //---------------Set up test pack-------------------
            IControlHabanero controlHabanero = GetControlFactory().CreatePanel();
            //---------------Execute Test ----------------------
            ColumnLayoutManager columnLayoutManager = new ColumnLayoutManager(controlHabanero, GetControlFactory());

            //---------------Test Result -----------------------
            Assert.IsNotNull(columnLayoutManager.ManagedControl);
            Assert.AreSame(controlHabanero, columnLayoutManager.ManagedControl);
            Assert.AreEqual(1, columnLayoutManager.ColumnCount);
            //---------------Tear Down   -----------------------
        }
        public void TestSetColumnCount()
        {
            //---------------Set up test pack-------------------
            ColumnLayoutManager columnLayoutManager = GetColumnLayoutManager();

            //--------------Assert PreConditions----------------
            Assert.AreEqual(1, columnLayoutManager.ColumnCount);
            //---------------Execute Test ----------------------
            columnLayoutManager.ColumnCount = 2;
            //---------------Test Result -----------------------
            Assert.AreEqual(2, columnLayoutManager.ColumnCount);
            //---------------Tear Down -------------------------
        }
        public void TestRemoveControl()
        {
            //---------------Set up test pack-------------------
            IControlHabanero    managedControl      = GetControlFactory().CreatePanel();
            IControlHabanero    createdControl      = GetControlFactory().CreateControl();
            ColumnLayoutManager columnLayoutManager = new ColumnLayoutManager(managedControl, GetControlFactory());

            columnLayoutManager.AddControl(createdControl);
            //---------------Assert Pre-Conditions--------------
            Assert.AreEqual(1, managedControl.Controls.Count);
            //---------------Execute Test ----------------------
            columnLayoutManager.RemoveControl(createdControl);
            //---------------Test Result -----------------------
            Assert.AreEqual(0, managedControl.Controls.Count);
        }
        public void Test_AddControl_TotalExpandedHeightEquals_CP1_ExpandedHeight()
        {
            //---------------Set up test pack-------------------
            ICollapsiblePanelGroupControl control = CreateCollapsiblePanelGroupControl();
            IPanel              content           = GetControlFactory().CreatePanel();
            ICollapsiblePanel   cp1           = control.AddControl(content, "", 53);
            ColumnLayoutManager layoutManager = control.ColumnLayoutManager;

            //---------------Assert Precondition----------------
            Assert.AreEqual(1, control.PanelsList.Count);
            //---------------Execute Test ----------------------
            int totalExpandedHeight = control.TotalExpandedHeight;

            //---------------Test Result -----------------------
            Assert.AreEqual(layoutManager.BorderSize + cp1.ExpandedHeight + layoutManager.VerticalGapSize, totalExpandedHeight);
        }
示例#14
0
        private void ScrollCellHorizontally(int columnPosition, int offset)
        {
            CellLayoutManager cellLayoutManager = mTableView.GetCellLayoutManager();

            for (int i = cellLayoutManager.FindFirstVisibleItemPosition();
                 i < cellLayoutManager.FindLastVisibleItemPosition() + 1;
                 i++)
            {
                RecyclerView cellRowRecyclerView = (RecyclerView)cellLayoutManager.FindViewByPosition(i);
                if (cellRowRecyclerView != null)
                {
                    ColumnLayoutManager columnLayoutManager =
                        (ColumnLayoutManager)cellRowRecyclerView.GetLayoutManager();
                    columnLayoutManager.ScrollToPositionWithOffset(columnPosition, offset);
                }
            }
        }
        public void TestSetGapSize_ShouldSetHorizontalGapSizeAndVerticalGapSize()
        {
            //---------------Set up test pack-------------------

            ColumnLayoutManager columnLayoutManager = GetColumnLayoutManager();
            var randomGapSize = RandomValueGen.GetRandomInt(1, 500);

            //---------------Assert Precondition----------------
            Assert.AreEqual(0, columnLayoutManager.GapSize);
            Assert.AreEqual(LayoutManager.DefaultGapSize, columnLayoutManager.HorizontalGapSize);
            Assert.AreEqual(LayoutManager.DefaultGapSize, columnLayoutManager.VerticalGapSize);
            //---------------Execute Test ----------------------
            columnLayoutManager.GapSize = randomGapSize;
            //---------------Test Result -----------------------
            Assert.AreEqual(randomGapSize, columnLayoutManager.GapSize);
            Assert.AreEqual(randomGapSize, columnLayoutManager.HorizontalGapSize);
            Assert.AreEqual(randomGapSize, columnLayoutManager.VerticalGapSize);
        }
        public void Test_CollapsiblePanels_HasColumnLayout()
        {
            //---------------Set up test pack-------------------
            ICollapsiblePanelGroupControl control = CreateCollapsiblePanelGroupControl();
            IPanel content1 = GetControlFactory().CreatePanel();
            IPanel content2 = GetControlFactory().CreatePanel();

            //---------------Assert Precondition----------------
            Assert.AreEqual(0, control.PanelsList.Count);
            //---------------Execute Test ----------------------
            ICollapsiblePanel cp1 = control.AddControl(content1, "", 99);
            ICollapsiblePanel cp2 = control.AddControl(content2, "", 53);
            //---------------Test Result -----------------------
            ColumnLayoutManager layoutManager = control.ColumnLayoutManager;
            int expectedCP2_Top = cp1.Height + layoutManager.BorderSize + layoutManager.VerticalGapSize;

            Assert.AreEqual(expectedCP2_Top, cp2.Top);
        }
        public void Test_AddTwoControl_TotalExpandedHeightEquals_CP1_CP2_ExpandedHeight()
        {
            //---------------Set up test pack-------------------
            ICollapsiblePanelGroupControl control = CreateCollapsiblePanelGroupControl();
            IPanel            content1            = GetControlFactory().CreatePanel();
            IPanel            content2            = GetControlFactory().CreatePanel();
            ICollapsiblePanel cp1 = control.AddControl(content1, "", 99);
            ICollapsiblePanel cp2 = control.AddControl(content2, "", 53);

            //---------------Assert Precondition----------------
            Assert.AreEqual(2, control.PanelsList.Count);
            ColumnLayoutManager layoutManager = control.ColumnLayoutManager;
            int expectedTotalHeight           = layoutManager.BorderSize + cp1.ExpandedHeight + layoutManager.VerticalGapSize + cp2.ExpandedHeight + layoutManager.HorizontalGapSize;
            //---------------Execute Test ----------------------
            int actualTotalHeight = control.TotalExpandedHeight;

            //---------------Test Result -----------------------
            Assert.AreEqual(expectedTotalHeight, actualTotalHeight);
        }
        public void TestResizeControlOnManagedControl()
        {
            //---------------Set up test pack-------------------
            IControlHabanero    managedControl      = GetControlFactory().CreatePanel();
            ColumnLayoutManager columnLayoutManager = new ColumnLayoutManager(managedControl, GetControlFactory());

            columnLayoutManager.HorizontalGapSize = 0;
            columnLayoutManager.VerticalGapSize   = 0;
            columnLayoutManager.BorderSize        = 0;
            IControlHabanero createdControl1 = GetControlFactory().CreateControl();
            IControlHabanero createdControl2 = GetControlFactory().CreateControl();

            //---------------Execute Test ----------------------
            columnLayoutManager.AddControl(createdControl1);
            columnLayoutManager.AddControl(createdControl2);
            createdControl1.Height += 10;
            //---------------Test Result -----------------------
            Assert.AreEqual(createdControl1.Height, createdControl2.Top);
            //---------------Tear Down -------------------------
        }
        public void Test_UncollapseCP1_MovesCP2_Top()
        {
            //---------------Set up test pack-------------------
            ICollapsiblePanelGroupControl control = CreateCollapsiblePanelGroupControl();
            IPanel            content1            = GetControlFactory().CreatePanel();
            IPanel            content2            = GetControlFactory().CreatePanel();
            ICollapsiblePanel cp1 = control.AddControl(content1, "", 99);
            ICollapsiblePanel cp2 = control.AddControl(content2, "", 53);

            //---------------Assert Precondition----------------
            Assert.AreEqual(2, control.PanelsList.Count);
            ColumnLayoutManager layoutManager = control.ColumnLayoutManager;
            int expected_Start_CP2_Top        = cp1.CollapseButton.Height + layoutManager.BorderSize + layoutManager.VerticalGapSize;

            Assert.AreEqual(expected_Start_CP2_Top, cp2.Top);
            //---------------Execute Test ----------------------
            cp1.CollapseButton.PerformClick();
            //---------------Test Result -----------------------
            int expected_Finish_CP2_Top = cp1.ExpandedHeight + layoutManager.BorderSize + layoutManager.VerticalGapSize;

            Assert.AreEqual(expected_Finish_CP2_Top, cp2.Top);
        }
        public void TestSetColumnCount_Zero()
        {
            //---------------Set up test pack-------------------
            ColumnLayoutManager columnLayoutManager = GetColumnLayoutManager();

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

            //---------------Execute Test ----------------------
            try
            {
                columnLayoutManager.ColumnCount = 0;
                Assert.Fail("This should throw an error");
            }
            //---------------Test Result -----------------------
            catch (LayoutManagerException ex)
            {
                StringAssert.Contains("You cannot set the column count for a column layout manager to less than 1",
                                      ex.Message);
            }

            //---------------Tear Down -------------------------
        }