Example #1
0
        public void TestColumnSpanWithOneFixedColumn()
        {
            //---------------Set up test pack-------------------
            IControlHabanero controlHabanero = GetControlFactory().CreateControl();

            controlHabanero.Width = 100;
            GridLayoutManager manager = new GridLayoutManager(controlHabanero, GetControlFactory());

            manager.SetGridSize(1, 3);
            manager.FixColumnBasedOnContents(0);
            manager.FixColumnBasedOnContents(2);

            IControlHabanero col1Control = GetControlFactory().CreateControl();

            col1Control.Width = 20;
            IControlHabanero col3Control = GetControlFactory().CreateControl();

            col3Control.Width = 10;

            //---------------Execute Test ----------------------
            manager.AddControl(col1Control, 1, 2);
            manager.AddControl(col3Control);

            //---------------Test Result -----------------------
            Assert.AreEqual(LayoutManager.DefaultBorderSize, col1Control.Left);
            Assert.AreEqual(controlHabanero.Width - LayoutManager.DefaultBorderSize - col3Control.Width - LayoutManager.DefaultGapSize, col1Control.Left + col1Control.Width);

            //---------------Tear Down -------------------------
        }
        ///<summary>
        /// Constructs a multiselector
        ///</summary>
        ///<param name="controlFactory"></param>
        public MultiSelectorWin(IControlFactory controlFactory)
        {
            _controlFactory = controlFactory;
            InitializeComponent();
            _gridLayoutManager = new GridLayoutManager(this, controlFactory);
            PanelWin optionsPanel = new PanelWin();

            _availableOptionsGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
            optionsPanel.Controls.Add(_availableOptionsGroupBox);
            PanelWin          buttonPanel        = new PanelWin();
            GridLayoutManager buttonPanelManager = new GridLayoutManager(buttonPanel, controlFactory);

            buttonPanelManager.SetGridSize(6, 1);
            buttonPanelManager.AddControl(null);
            buttonPanelManager.AddControl(_btnSelect);
            buttonPanelManager.AddControl(_btnSelectAll);
            buttonPanelManager.AddControl(_btnDeselectAll);
            buttonPanelManager.AddControl(_btnDeselect);
            buttonPanelManager.AddControl(null);
            buttonPanelManager.FixRow(0, 25);
            buttonPanelManager.FixRow(1, 25);
            buttonPanelManager.FixRow(2, 25);
            buttonPanelManager.FixRow(3, 25);
            buttonPanelManager.FixRow(4, 25);
            buttonPanelManager.FixRow(5, 25);
            buttonPanelManager.FixColumnBasedOnContents(0);
            PanelWin selectionsPanel = new PanelWin();

            _selectionsGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
            selectionsPanel.Controls.Add(_selectionsGroupBox);
            _gridLayoutManager.SetGridSize(1, 3);
            _gridLayoutManager.FixColumn(1, 100);
            _gridLayoutManager.AddControl(optionsPanel);
            _gridLayoutManager.AddControl(buttonPanel);
            _gridLayoutManager.AddControl(selectionsPanel);
            _manager = new MultiSelectorManager <T>(this);
            AvailableOptionsListBox.SelectedIndexChanged += delegate
            {
                GetButton(MultiSelectorButton.Select).Enabled = (AvailableOptionsListBox.SelectedIndex != -1);
            };

            SelectedOptionsListBox.SelectedIndexChanged += delegate
            {
                GetButton(MultiSelectorButton.Deselect).Enabled = (SelectedOptionsListBox.SelectedIndex != -1);
            };

            SetDoubleClickEventHandlers();
        }
Example #3
0
        public void TestFixColumnBasedOnContents()
        {
            //----------------------Setup ------------------------------
            ILabel myLabel = GetControlFactory().CreateLabel("test", false);

            _manager.FixColumnBasedOnContents(0);
            ILabel myLongLabel = GetControlFactory().CreateLabel("This is a long label", false);

            //--------------------- verify setup -----------------------
            Assert.AreEqual(myLabel.PreferredWidth, myLabel.Width);
            Assert.That(myLongLabel.PreferredWidth, Is.LessThanOrEqualTo(myLongLabel.Width));

            //--------------------- Execute Tests-----------------------
            _manager.AddControl(myLabel);
            _manager.AddControl(null);
            _manager.AddControl(null);
            _manager.AddControl(myLongLabel);
            //--------------------- Verify results-----------------------
            Assert.AreEqual(myLongLabel.PreferredWidth, myLabel.Width,
                            "Width of column should be preferred width (or width) of largest control");
        }
        ///<summary>
        /// Constructor for the <see cref="MultiSelectorVWG{T}"/>
        ///</summary>
        ///<param name="controlFactory"></param>
        public MultiSelectorVWG(IControlFactory controlFactory)
        {
//            _controlFactory = controlFactory;
            InitializeComponent();
            _gridLayoutManager = new GridLayoutManager(this, controlFactory);
            PanelVWG optionsPanel = new PanelVWG();

            _availableOptionsGroupBox.Dock = Gizmox.WebGUI.Forms.DockStyle.Fill;
            optionsPanel.Controls.Add(_availableOptionsGroupBox);
            PanelVWG          buttonPanel        = new PanelVWG();
            GridLayoutManager buttonPanelManager = new GridLayoutManager(buttonPanel, controlFactory);

            buttonPanelManager.SetGridSize(6, 1);
            buttonPanelManager.AddControl(null);
            buttonPanelManager.AddControl(_btnSelect);
            buttonPanelManager.AddControl(_btnSelectAll);
            buttonPanelManager.AddControl(_btnDeselectAll);
            buttonPanelManager.AddControl(_btnDeselect);
            buttonPanelManager.AddControl(null);
            buttonPanelManager.FixRow(0, 25);
            buttonPanelManager.FixRow(1, 25);
            buttonPanelManager.FixRow(2, 25);
            buttonPanelManager.FixRow(3, 25);
            buttonPanelManager.FixRow(4, 25);
            buttonPanelManager.FixRow(5, 25);
            buttonPanelManager.FixColumnBasedOnContents(0);
            PanelVWG selectionsPanel = new PanelVWG();

            _selectionsGroupBox.Dock = Gizmox.WebGUI.Forms.DockStyle.Fill;
            selectionsPanel.Controls.Add(_selectionsGroupBox);
            _gridLayoutManager.SetGridSize(1, 3);
            _gridLayoutManager.FixColumn(1, 100);
            _gridLayoutManager.AddControl(optionsPanel);
            _gridLayoutManager.AddControl(buttonPanel);
            _gridLayoutManager.AddControl(selectionsPanel);
            _manager = new MultiSelectorManager <T>(this);
        }