Пример #1
0
        public void Address_ToXY_Test()
        {
            int row, col;

            GridControl_Settings.Address_2RowCol("1_1", out row, out col);
            Assert.Equal(1, row);
            Assert.Equal(1, col);

            GridControl_Settings.Address_2RowCol("1_3", out row, out col);
            Assert.Equal(1, row);
            Assert.Equal(3, col);

            GridControl_Settings.Address_2RowCol("7_3", out row, out col);
            Assert.Equal(7, row);
            Assert.Equal(3, col);
            GridControl_Settings.Address_2RowCol("7_3", out row, out col, addressDef: enGrid_AddressDefOrder.ColRow);
            Assert.Equal(3, row);
            Assert.Equal(7, col);
            GridControl_Settings.Address_2RowCol("G_3", out row, out col, addressDef: enGrid_AddressDefOrder.ColRow, addressCol: enGrid_AddressValue.Alfa);
            Assert.Equal(3, row);
            Assert.Equal(7, col);
            GridControl_Settings.Address_2RowCol("G_C", out row, out col, addressDef: enGrid_AddressDefOrder.ColRow, addressCol: enGrid_AddressValue.Alfa, addressRow: enGrid_AddressValue.Alfa);
            Assert.Equal(3, row);
            Assert.Equal(7, col);

            // Reverse
            Assert.Equal("1_1", GridControl_Settings.Address_FromRowCol(1, 1));
            Assert.Equal("1_3", GridControl_Settings.Address_FromRowCol(1, 3));
            Assert.Equal("7_3", GridControl_Settings.Address_FromRowCol(7, 3));
            Assert.Equal("3_7", GridControl_Settings.Address_FromRowCol(7, 3, addressDef: enGrid_AddressDefOrder.ColRow));
            Assert.Equal("C_7", GridControl_Settings.Address_FromRowCol(7, 3, addressDef: enGrid_AddressDefOrder.ColRow, addressCol: enGrid_AddressValue.Alfa));
            Assert.Equal("G_3", GridControl_Settings.Address_FromRowCol(3, 7, addressDef: enGrid_AddressDefOrder.ColRow, addressCol: enGrid_AddressValue.Alfa));
            Assert.Equal("G_C", GridControl_Settings.Address_FromRowCol(3, 7, addressDef: enGrid_AddressDefOrder.ColRow, addressCol: enGrid_AddressValue.Alfa, addressRow: enGrid_AddressValue.Alfa));
        }
Пример #2
0
        public void GridControl_SettingsSetup_Test()
        {
            var settings = GridControl_Settings.Setup(null, 1, 1, 1, 1, 1, 1, 100, 30);

            Assert.Equal(100, settings.Size_MicroWidth);
            Assert.Equal(30, settings.Size_MicroHeight);
        }
Пример #3
0
        public void GridBlock_4MacroSetup_Fail(string addressMacro, string addressSub, string addressMicro)
        {
            var settings = new GridControl_Settings(macroRows: 5, macroCols: 1, subRows: 5, subCols: 6,
                                                    microRows: 6, microCols: 6);
            var gridSetup = new GridBlock_5Setup(null, settings);

            Assert.Throws <ArgumentException>(() => gridSetup.GetChild_MacroGridBlock(addressMacro) as GridBlock_3Macro);
            Assert.Throws <ArgumentException>(() => gridSetup.GetChild_SubGridBlock("1.1", addressSub));
            Assert.Throws <ArgumentException>(() => gridSetup.GetChild_MicroGridBlock("1.1", "1.1", addressMicro));
        }
Пример #4
0
        /// <summary>Creates the Grid control with macro, sub and micro grids.</summary>
        /// <param name="rootRow">The root row. This is the top most row</param>
        /// <param name="settings">The settings.</param>
        /// <param name="onClick">The on click.</param>
        /// <returns></returns>
        public GridControls_Create(GridControl_Row rootRow, GridControl_Settings settings, onGrid_Click onClick)        // Starting row
        {
            _Settings = settings;
            if (onClick != null)
            {
                _onClickEvent -= onClick;
                _onClickEvent += onClick;
            }

            // Setup cuboid row
            Layout_Reset(rootRow);
            Cuboid = new GridBlock_5Setup(onCreateGridControl, settings);
            Layout_Resume(rootRow);
        }
Пример #5
0
        public void GridPrefix_Test()
        {
            // null, null
            var ex = Assert.Throws <ArgumentNullException>(() => GridBlock_zMethods.GridPrefix(null, null));

            Assert.Equal("Value cannot be null.".NL() + "Parameter name: grid", ex.Message);

            // macro, null
            var             settings   = GridControl_Settings.Setup(1, 1, 1, 1, 1, 1);
            var             gridCuboid = new GridBlock_5Setup(OnCreateGridControl1, settings);
            IGridBlock_Base grid       = gridCuboid.GetChild_MacroGridBlock("1_1");

            ex = Assert.Throws <ArgumentNullException>(() => GridBlock_zMethods.GridPrefix(grid, null));
            Assert.Equal("Value cannot be null.".NL() + "Parameter name: settings", ex.Message);
        }
Пример #6
0
        public void GridBlock_Frontend_Test2()
        {
            var settings   = new GridControl_Settings(1, 1, 1, 1, 5, 5);
            var gridCuboid = new GridBlock_5Setup(null, settings);
            var treeStr    = gridCuboid.TreeNameList().zTo_Str("".NL());

            #region result
            var treeResult =
                @"R1
R1cub1_1
R1cub1_1R1
R1cub1_1R1mac1_1
R1cub1_1R1mac1_1R1
R1cub1_1R1mac1_1R1sub1_1
R1cub1_1R1mac1_1R1sub1_1R1
R1cub1_1R1mac1_1R1sub1_1R1mic1_1
R1cub1_1R1mac1_1R1sub1_1R1mic1_2
R1cub1_1R1mac1_1R1sub1_1R1mic1_3
R1cub1_1R1mac1_1R1sub1_1R1mic1_4
R1cub1_1R1mac1_1R1sub1_1R1mic1_5
R1cub1_1R1mac1_1R1sub1_1R2
R1cub1_1R1mac1_1R1sub1_1R2mic2_1
R1cub1_1R1mac1_1R1sub1_1R2mic2_2
R1cub1_1R1mac1_1R1sub1_1R2mic2_3
R1cub1_1R1mac1_1R1sub1_1R2mic2_4
R1cub1_1R1mac1_1R1sub1_1R2mic2_5
R1cub1_1R1mac1_1R1sub1_1R3
R1cub1_1R1mac1_1R1sub1_1R3mic3_1
R1cub1_1R1mac1_1R1sub1_1R3mic3_2
R1cub1_1R1mac1_1R1sub1_1R3mic3_3
R1cub1_1R1mac1_1R1sub1_1R3mic3_4
R1cub1_1R1mac1_1R1sub1_1R3mic3_5
R1cub1_1R1mac1_1R1sub1_1R4
R1cub1_1R1mac1_1R1sub1_1R4mic4_1
R1cub1_1R1mac1_1R1sub1_1R4mic4_2
R1cub1_1R1mac1_1R1sub1_1R4mic4_3
R1cub1_1R1mac1_1R1sub1_1R4mic4_4
R1cub1_1R1mac1_1R1sub1_1R4mic4_5
R1cub1_1R1mac1_1R1sub1_1R5
R1cub1_1R1mac1_1R1sub1_1R5mic5_1
R1cub1_1R1mac1_1R1sub1_1R5mic5_2
R1cub1_1R1mac1_1R1sub1_1R5mic5_3
R1cub1_1R1mac1_1R1sub1_1R5mic5_4
R1cub1_1R1mac1_1R1sub1_1R5mic5_5";
            #endregion

            Assert.Equal(treeResult, treeStr);
        }
Пример #7
0
        public void Address_ToXY_Test()
        {
            int y, x;

            GridControl_Settings.Address_ToXY("1_1", out y, out x);
            Assert.Equal(1, y);
            Assert.Equal(1, x);

            GridControl_Settings.Address_ToXY("1_3", out y, out x);
            Assert.Equal(1, y);
            Assert.Equal(3, x);

            GridControl_Settings.Address_ToXY("7_3", out y, out x);
            Assert.Equal(7, y);
            Assert.Equal(3, x);
        }
Пример #8
0
        public Form2()
        {
            InitializeComponent();
            _Settings = GridControlTools.GridControl_Settings();
            _loading  = false;

            //var gridDataSet = new DataSet();
            //gridDataSet.ReadXml(@"C:\Users\zcoertze\Desktop\Grid_Test.xml");

            //DataTable gridData = gridDataSet.Tables[0];

            //int[] arrCounts = DuctingTools.BlockSizes(gridData);

            //textMacroRows.Text = arrCounts[0].ToString();
            //textMacroCols.Text = arrCounts[1].ToString();
            //textSubRows.Text = arrCounts[2].ToString();
            //textSubCols.Text = arrCounts[3].ToString();
            //textMicroRows.Text = arrCounts[4].ToString();
            //textMicroCols.Text = arrCounts[5].ToString();
        }
Пример #9
0
        public void GridBlock_Frontend_Test1()
        {
            var settings    = new GridControl_Settings(1, 1, 1, 1, 1, 1);
            var gridCuboid2 = new GridBlock_5Setup(OnCreateGridControl1, settings);

            #region Result: Tree
            var treeResult =
                @"R1
R1cub1_1
R1cub1_1R1
R1cub1_1R1mac1_1
R1cub1_1R1mac1_1R1
R1cub1_1R1mac1_1R1sub1_1
R1cub1_1R1mac1_1R1sub1_1R1
R1cub1_1R1mac1_1R1sub1_1R1mic1_1";

            #endregion

            #region Result: TreeControls
            var treeControlsStr =
                @"Row//?//R1//CuboidGrid
Grid//R1//R1cub1_1//CuboidGrid
Row//R1cub1_1//R1cub1_1R1//MacroBlock
Grid//R1cub1_1R1//R1cub1_1R1mac1_1//MacroBlock
Row//R1cub1_1R1mac1_1//R1cub1_1R1mac1_1R1//SubBlock
Grid//R1cub1_1R1mac1_1R1//R1cub1_1R1mac1_1R1sub1_1//SubBlock
Row//R1cub1_1R1mac1_1R1sub1_1//R1cub1_1R1mac1_1R1sub1_1R1//MicroBlock
Grid//R1cub1_1R1mac1_1R1sub1_1R1//R1cub1_1R1mac1_1R1sub1_1R1mic1_1//MicroBlock";

            #endregion

            var treeStr2 = gridCuboid2.TreeNameList().zTo_Str("".NL());
            Assert.Equal(treeResult, treeStr2);

            var treeControls = _ListTest1.zTo_Str("".NL());
            Assert.Equal(treeControlsStr, treeControls);

            Assert.Equal(treeControlsStr, gridCuboid2.TreeControlList().zTo_Str("".NL()));
        }
Пример #10
0
        public void GridBlock_Frontend_Test3()
        {
            var settings   = new GridControl_Settings(2, 2, 2, 2, 2, 2);
            var gridCuboid = new GridBlock_5Setup(null, settings);
            var treeStr    = gridCuboid.TreeNameList().zTo_Str("".NL());

            #region result
            var treeResult =
                @"R1
R1cub1_1
R1cub1_1R1
R1cub1_1R1mac1_1
R1cub1_1R1mac1_1R1
R1cub1_1R1mac1_1R1sub1_1
R1cub1_1R1mac1_1R1sub1_1R1
R1cub1_1R1mac1_1R1sub1_1R1mic1_1
R1cub1_1R1mac1_1R1sub1_1R1mic1_2
R1cub1_1R1mac1_1R1sub1_1R2
R1cub1_1R1mac1_1R1sub1_1R2mic2_1
R1cub1_1R1mac1_1R1sub1_1R2mic2_2
R1cub1_1R1mac1_1R1sub1_2
R1cub1_1R1mac1_1R1sub1_2R1
R1cub1_1R1mac1_1R1sub1_2R1mic1_1
R1cub1_1R1mac1_1R1sub1_2R1mic1_2
R1cub1_1R1mac1_1R1sub1_2R2
R1cub1_1R1mac1_1R1sub1_2R2mic2_1
R1cub1_1R1mac1_1R1sub1_2R2mic2_2
R1cub1_1R1mac1_1R2
R1cub1_1R1mac1_1R2sub2_1
R1cub1_1R1mac1_1R2sub2_1R1
R1cub1_1R1mac1_1R2sub2_1R1mic1_1
R1cub1_1R1mac1_1R2sub2_1R1mic1_2
R1cub1_1R1mac1_1R2sub2_1R2
R1cub1_1R1mac1_1R2sub2_1R2mic2_1
R1cub1_1R1mac1_1R2sub2_1R2mic2_2
R1cub1_1R1mac1_1R2sub2_2
R1cub1_1R1mac1_1R2sub2_2R1
R1cub1_1R1mac1_1R2sub2_2R1mic1_1
R1cub1_1R1mac1_1R2sub2_2R1mic1_2
R1cub1_1R1mac1_1R2sub2_2R2
R1cub1_1R1mac1_1R2sub2_2R2mic2_1
R1cub1_1R1mac1_1R2sub2_2R2mic2_2
R1cub1_1R1mac1_2
R1cub1_1R1mac1_2R1
R1cub1_1R1mac1_2R1sub1_1
R1cub1_1R1mac1_2R1sub1_1R1
R1cub1_1R1mac1_2R1sub1_1R1mic1_1
R1cub1_1R1mac1_2R1sub1_1R1mic1_2
R1cub1_1R1mac1_2R1sub1_1R2
R1cub1_1R1mac1_2R1sub1_1R2mic2_1
R1cub1_1R1mac1_2R1sub1_1R2mic2_2
R1cub1_1R1mac1_2R1sub1_2
R1cub1_1R1mac1_2R1sub1_2R1
R1cub1_1R1mac1_2R1sub1_2R1mic1_1
R1cub1_1R1mac1_2R1sub1_2R1mic1_2
R1cub1_1R1mac1_2R1sub1_2R2
R1cub1_1R1mac1_2R1sub1_2R2mic2_1
R1cub1_1R1mac1_2R1sub1_2R2mic2_2
R1cub1_1R1mac1_2R2
R1cub1_1R1mac1_2R2sub2_1
R1cub1_1R1mac1_2R2sub2_1R1
R1cub1_1R1mac1_2R2sub2_1R1mic1_1
R1cub1_1R1mac1_2R2sub2_1R1mic1_2
R1cub1_1R1mac1_2R2sub2_1R2
R1cub1_1R1mac1_2R2sub2_1R2mic2_1
R1cub1_1R1mac1_2R2sub2_1R2mic2_2
R1cub1_1R1mac1_2R2sub2_2
R1cub1_1R1mac1_2R2sub2_2R1
R1cub1_1R1mac1_2R2sub2_2R1mic1_1
R1cub1_1R1mac1_2R2sub2_2R1mic1_2
R1cub1_1R1mac1_2R2sub2_2R2
R1cub1_1R1mac1_2R2sub2_2R2mic2_1
R1cub1_1R1mac1_2R2sub2_2R2mic2_2
R1cub1_1R2
R1cub1_1R2mac2_1
R1cub1_1R2mac2_1R1
R1cub1_1R2mac2_1R1sub1_1
R1cub1_1R2mac2_1R1sub1_1R1
R1cub1_1R2mac2_1R1sub1_1R1mic1_1
R1cub1_1R2mac2_1R1sub1_1R1mic1_2
R1cub1_1R2mac2_1R1sub1_1R2
R1cub1_1R2mac2_1R1sub1_1R2mic2_1
R1cub1_1R2mac2_1R1sub1_1R2mic2_2
R1cub1_1R2mac2_1R1sub1_2
R1cub1_1R2mac2_1R1sub1_2R1
R1cub1_1R2mac2_1R1sub1_2R1mic1_1
R1cub1_1R2mac2_1R1sub1_2R1mic1_2
R1cub1_1R2mac2_1R1sub1_2R2
R1cub1_1R2mac2_1R1sub1_2R2mic2_1
R1cub1_1R2mac2_1R1sub1_2R2mic2_2
R1cub1_1R2mac2_1R2
R1cub1_1R2mac2_1R2sub2_1
R1cub1_1R2mac2_1R2sub2_1R1
R1cub1_1R2mac2_1R2sub2_1R1mic1_1
R1cub1_1R2mac2_1R2sub2_1R1mic1_2
R1cub1_1R2mac2_1R2sub2_1R2
R1cub1_1R2mac2_1R2sub2_1R2mic2_1
R1cub1_1R2mac2_1R2sub2_1R2mic2_2
R1cub1_1R2mac2_1R2sub2_2
R1cub1_1R2mac2_1R2sub2_2R1
R1cub1_1R2mac2_1R2sub2_2R1mic1_1
R1cub1_1R2mac2_1R2sub2_2R1mic1_2
R1cub1_1R2mac2_1R2sub2_2R2
R1cub1_1R2mac2_1R2sub2_2R2mic2_1
R1cub1_1R2mac2_1R2sub2_2R2mic2_2
R1cub1_1R2mac2_2
R1cub1_1R2mac2_2R1
R1cub1_1R2mac2_2R1sub1_1
R1cub1_1R2mac2_2R1sub1_1R1
R1cub1_1R2mac2_2R1sub1_1R1mic1_1
R1cub1_1R2mac2_2R1sub1_1R1mic1_2
R1cub1_1R2mac2_2R1sub1_1R2
R1cub1_1R2mac2_2R1sub1_1R2mic2_1
R1cub1_1R2mac2_2R1sub1_1R2mic2_2
R1cub1_1R2mac2_2R1sub1_2
R1cub1_1R2mac2_2R1sub1_2R1
R1cub1_1R2mac2_2R1sub1_2R1mic1_1
R1cub1_1R2mac2_2R1sub1_2R1mic1_2
R1cub1_1R2mac2_2R1sub1_2R2
R1cub1_1R2mac2_2R1sub1_2R2mic2_1
R1cub1_1R2mac2_2R1sub1_2R2mic2_2
R1cub1_1R2mac2_2R2
R1cub1_1R2mac2_2R2sub2_1
R1cub1_1R2mac2_2R2sub2_1R1
R1cub1_1R2mac2_2R2sub2_1R1mic1_1
R1cub1_1R2mac2_2R2sub2_1R1mic1_2
R1cub1_1R2mac2_2R2sub2_1R2
R1cub1_1R2mac2_2R2sub2_1R2mic2_1
R1cub1_1R2mac2_2R2sub2_1R2mic2_2
R1cub1_1R2mac2_2R2sub2_2
R1cub1_1R2mac2_2R2sub2_2R1
R1cub1_1R2mac2_2R2sub2_2R1mic1_1
R1cub1_1R2mac2_2R2sub2_2R1mic1_2
R1cub1_1R2mac2_2R2sub2_2R2
R1cub1_1R2mac2_2R2sub2_2R2mic2_1
R1cub1_1R2mac2_2R2sub2_2R2mic2_2";
            #endregion

            Assert.Equal(treeResult, treeStr);
        }
Пример #11
0
        public void GridBlock_4MacroSetup_Test(string addressMacro, string addressSub, string addressMicro)
        {
            int macroY, macroX;

            GridControl_Settings.Address_ToXY(addressMacro, out macroY, out macroX);
            int subY, subX;

            GridControl_Settings.Address_ToXY(addressSub, out subY, out subX);
            int microY, microX;

            GridControl_Settings.Address_ToXY(addressMicro, out microY, out microX);

            var settings  = new GridControl_Settings(macroRows: 5, macroCols: 1, subRows: 5, subCols: 6, microRows: 6, microCols: 6);
            var gridSetup = new GridBlock_5Setup(null, settings);

            #region Cuboid

            var gridCubiod = gridSetup.GridCuboid;
            Assert.Equal(5 * 6 * 5 * 6 * 6, gridCubiod.Child_Count);
            Assert.Equal(enGrid_BlockType.MacroBlock, gridCubiod.Child_BlockType);
            Assert.Equal(enGrid_BlockDisplayType.Name, gridCubiod.Child_DisplayType);
            gridCubiod.State_Setup(0, 0, Color.Red);  // There is not state

            #endregion

            #region Macro block
            var gridMacro = gridSetup.GetChild_MacroGridBlock(addressMacro) as GridBlock_3Macro;
            Assert.NotEqual(null, gridMacro);
            Assert.Equal(enGrid_BlockEditState.Undefined, gridMacro.State_EditState);  // First time state is undefined
            Assert.Equal(double.NaN, gridMacro.State_ValueDouble);
            Assert.Equal(null, gridMacro.zGridControl);
            Assert.Equal(true, gridMacro.Name_Caption.Contains("."));

            gridMacro.State_Setup(123.55, 2, Color.Red);  // Setup method makes state ValueSet
            Assert.Equal(123.55, gridMacro.State_ValueDouble);
            Assert.Equal(2, gridMacro.State_Id);
            Assert.Equal(Color.Red, gridMacro.State_Color);
            Assert.Equal(enGrid_BlockEditState.ValueSet, gridMacro.State_EditState);
            gridMacro.State_Id          = 1;      // Setting values makes the state Changed
            gridMacro.State_ValueDouble = 2.5;
            Assert.Equal(enGrid_BlockEditState.Changed, gridMacro.State_EditState);
            Assert.Equal(addressMacro, gridMacro.Name_Address);
            Assert.Equal(6 * 5 * 6 * 6, gridMacro.Child_Count);
            Assert.Equal(enGrid_BlockType.SubBlock, gridMacro.Child_BlockType);
            Assert.Equal(enGrid_BlockDisplayType.Name, gridMacro.Child_DisplayType);
            Assert.Equal(macroY, gridMacro.State_Row);
            Assert.Equal(macroX, gridMacro.State_Col);

            #endregion

            #region Sub block
            var gridSub = gridMacro.GetChild_GridBlock(addressSub) as GridBlock_2Sub;
            Assert.NotEqual(null, gridSub);
            Assert.Equal(Color.Black, gridSub.State_Color);
            Assert.Equal(enGrid_BlockEditState.Undefined, gridSub.State_EditState);  // First time state is undefined
            Assert.Equal(double.NaN, gridSub.State_ValueDouble);

            gridSub.State_Setup(123.55, 2, Color.Red);  // Setup method makes state ValueSet
            Assert.Equal(123.55, gridSub.State_ValueDouble);
            Assert.Equal(2, gridSub.State_Id);
            Assert.Equal(Color.Red, gridSub.State_Color);
            Assert.Equal(enGrid_BlockEditState.ValueSet, gridSub.State_EditState);

            Assert.Equal(addressSub, gridSub.Name_Address);
            Assert.Equal(6 * 6, gridSub.Child_Count);
            Assert.Equal(gridMacro, gridSub._Parent);
            Assert.Equal(enGrid_BlockType.MicroBlock, gridSub.Child_BlockType);
            Assert.Equal(enGrid_BlockDisplayType.Name, gridSub.Child_DisplayType);
            Assert.Equal(subY, gridSub.State_Row);
            Assert.Equal(subX, gridSub.State_Col);

            // Child_GridBlockSub
            var gridSub2 = gridSetup.GetChild_SubGridBlock(addressMacro, addressSub);
            Assert.Equal(gridSub, gridSub2);

            #endregion

            #region Micro block
            var gridMicro = gridSub.GetChild_GridBlock(addressMicro) as GridBlock_1Micro;
            Assert.NotEqual(null, gridMicro);
            Assert.Equal(Color.Black, gridMicro.State_Color);
            Assert.Equal(double.NaN, gridMicro.State_ValueDouble);
            Assert.Equal(enGrid_BlockEditState.Undefined, gridMicro.State_EditState); // First time state is undefined

            gridMicro.State_Setup(123.55, 2, Color.Red);                              // Setup method makes state ValueSet
            Assert.Equal(123.55, gridMicro.State_ValueDouble);
            Assert.Equal(2, gridMicro.State_Id);
            Assert.Equal(Color.Red, gridMicro.State_Color);
            Assert.Equal(enGrid_BlockEditState.ValueSet, gridMicro.State_EditState);

            Assert.Equal(addressMicro, gridMicro.Name_Address);
            Assert.Equal(gridSub, gridMicro._Parent);
            Assert.Equal(microY, gridMicro.State_Row);
            Assert.Equal(microX, gridMicro.State_Col);


            // Child_GridBlockMicro
            var gridMicro2 = gridSetup.GetChild_MicroGridBlock(addressMacro, addressSub, addressMicro);
            Assert.Equal(gridMicro, gridMicro2);
            #endregion
        }
        private static void GridSync(IGridBlock_Base grid, GridControl_Settings settings, bool resetColors, onGrid_ChangeEvent onGridChangeEvent)
        {
            IGridControl gridControl = grid.zGridControl;

            if (gridControl == null)
            {
                return;                       // Testing code
            }
            var parent = grid._Parent as IGridBlock_ChildState;
            var child  = grid as IGridBlock_State;

            if (parent == null)
            {
                // Cuboid
                if (GridSync_Size(child, gridControl, settings.Size_CuboidWidth, settings.Size_CuboidHeight))
                {
                    onGridChangeEvent(gridControl, enGrid_ChangeType.Size);                                                                                           // Check size
                }
                if (resetColors && GridSync_Color(child, gridControl, settings.ColorDefault_CuboidGrid))
                {
                    onGridChangeEvent(gridControl, enGrid_ChangeType.Color);                                                                                      // Check size
                }
                //if (GridSync_Visible(gridControl, Visible_CuboidGrids)) onGridChange?.Invoke(gridControl, enGridChangeType.Visible); // Check size
                //if (GridSync_DisplayMode(grid, gridControl, DisplayMode_CuboidGrids)) onGridChange?.Invoke(gridControl, enGridChangeType.DisplayMode); // Check size
            }
            else if (parent.Child_BlockType == enGrid_BlockType.MacroBlock)
            {
                // Macro
                if (GridSync_Size(child, gridControl, settings.Size_MacroWidth, settings.Size_MacroHeight))
                {
                    onGridChangeEvent(gridControl, enGrid_ChangeType.Size);                                                                                         // Check size
                }
                if (resetColors && GridSync_Color(child, gridControl, settings.ColorDefault_MacroGrid))
                {
                    onGridChangeEvent(gridControl, enGrid_ChangeType.Color);                                                                                     // Check size
                }
                if (GridSync_Visible(gridControl, settings.Visible_MacroGrids))
                {
                    onGridChangeEvent(gridControl, enGrid_ChangeType.Visible);                                                             // Check size
                }
                //if (GridSync_DisplayMode(grid, gridControl, DisplayMode_MacroGrids)) onGridChange?.Invoke(gridControl, enGridChangeType.DisplayMode); // Check size
            }
            else if (parent.Child_BlockType == enGrid_BlockType.SubBlock)
            {
                // Sub
                if (GridSync_Size(child, gridControl, settings.Size_SubWidth, settings.Size_SubHeight))
                {
                    onGridChangeEvent(gridControl, enGrid_ChangeType.Size);                                                                                     // Check size
                }
                if (resetColors && GridSync_Color(child, gridControl, settings.ColorDefault_SubGrid))
                {
                    onGridChangeEvent(gridControl, enGrid_ChangeType.Color);                                                                                   // Check size
                }
                if (GridSync_Visible(gridControl, settings.Visible_SubGrids))
                {
                    onGridChangeEvent(gridControl, enGrid_ChangeType.Visible);                                                           // Check size
                }
                //if (GridSync_DisplayMode(grid, gridControl, DisplayMode_SubGrids)) onGridChange?.Invoke(gridControl, enGridChangeType.DisplayMode); // Check size
            }
            else if (parent.Child_BlockType == enGrid_BlockType.MicroBlock)
            {
                // Micro
                if (GridSync_Size(child, gridControl, settings.Size_MicroWidth, settings.Size_MicroHeight))
                {
                    onGridChangeEvent(gridControl, enGrid_ChangeType.Size);                                                                                         // Check size
                }
                if (resetColors && GridSync_Color(child, gridControl, settings.ColorDefault_MicroGrid))
                {
                    onGridChangeEvent(gridControl, enGrid_ChangeType.Color);                                                                                     // Check size
                }
                if (GridSync_Visible(gridControl, settings.Visible_MicroGrids))
                {
                    onGridChangeEvent(gridControl, enGrid_ChangeType.Visible);                                                             // Check size
                }
                if (GridSync_DisplayMode(grid, gridControl, settings.DisplayMode_MicroGrids))
                {
                    onGridChangeEvent(gridControl, enGrid_ChangeType.DisplayMode);                                                                           // Check size
                }
            }

            // Color ID is always the same for all grids
            if (settings.Color_ID.Count != 0 && GridSync_StateColor(grid, gridControl, settings))
            {
                onGridChangeEvent(gridControl, enGrid_ChangeType.StateColor);                                                                                   // Check size
            }
        }
Пример #13
0
        public void GridControl_Settings_SizeTest()
        {
            #region Input
            var settings = new GridControl_Settings(2, 2, 2, 2, 5, 5, 32, 30);
            #endregion

            #region Test1: Sizes calc
            Assert.Equal(32, settings.Size_MicroWidth);
            Assert.Equal(30, settings.Size_MicroHeight);
            Assert.Equal(170, settings.Size_SubWidth);
            Assert.Equal(170, settings.Size_SubHeight);
            Assert.Equal(350, settings.Size_MacroWidth);
            Assert.Equal(360, settings.Size_MacroHeight);
            Assert.Equal(710, settings.Size_CuboidWidth);
            Assert.Equal(740, settings.Size_CuboidHeight);
            #endregion

            #region Test2: Add rows and recalc
            settings.Total_SubRows   = 3;
            settings.Total_MacroCols = 3;
            settings.Refresh_Calculations();
            Assert.Equal(32, settings.Size_MicroWidth);
            Assert.Equal(30, settings.Size_MicroHeight);
            Assert.Equal(170, settings.Size_SubWidth);
            Assert.Equal(170, settings.Size_SubHeight);
            Assert.Equal(350, settings.Size_MacroWidth);
            Assert.Equal(530, settings.Size_MacroHeight);
            Assert.Equal(1060, settings.Size_CuboidWidth);
            Assert.Equal(1080, settings.Size_CuboidHeight);
            #endregion

            settings.Color_ID.Clear();
            settings.Color_ID.Add(1, Color.Green);
            settings.Color_ID.Add(2, Color.Yellow);
            settings.Color_ID.Add(3, Color.Red);

            settings.Setup(1, 1, 1, 1, 1, 4);
            var gridCuboid = new GridBlock_5Setup(null, settings);

            // Load data
            // Load data into grids
            // 1.1
            var gridMicro = gridCuboid.GetChild_MicroGridBlock("1_1", "1_1", "1_1");
            gridMicro.State_Setup(1.5, 1, Color.Red);

            // 1.2
            var gridSub = gridCuboid.GetChild_SubGridBlock("1_1", "1_1");
            gridMicro = gridSub.GetChild_GridBlock("1_2");
            gridMicro.State_Setup(1.52, 2, Color.Blue);

            // 1.3
            gridSub.GetChild_GridBlock("1_3").State_Setup(2.52, 3, Color.Green);

            // 1.4
            var state = gridSub.GetChild_GridBlock("1_4") as IGridBlock_State;
            if (state != null)
            {
                state.State_ValueDouble = 3.3;
                state.State_Color       = Color.Aqua;
            }

            GridControlTools.Syncronise(gridCuboid, settings, true, OnGridChangeEvent);
        }
        /// <summary>
        /// Syncronise the settings with the frontend controls.
        /// </summary>
        /// <param name="grids">The grids.</param>
        /// <param name="settings">The settings.</param>
        /// <param name="resetColors">if set to <c>true</c> [reset colors].</param>
        /// <param name="onGridChangeEvent">The on grid change.</param>
        /// <param name="onGridCreate">The on grid create.</param>
        public static void Syncronise(GridBlock_5Setup grids, GridControl_Settings settings, bool resetColors = false,
                                      onGrid_ChangeEvent onGridChangeEvent = null)
        {
            settings.Refresh_Calculations();


            var cuboid    = grids.GridCuboid as IGridBlock_Base;
            int addWidth  = 10;
            int addHeight = 26;

            int widthTotal    = 0;
            int heightTotal   = 0;
            int widthMacro    = 0;
            int widthMacroMax = 0;
            int heightMacro   = 0;

            // Calculate the sizes
            List <IGridBlock_Base> macroGrids = cuboid.GridBlocksDictionary.Values.ToList();

            foreach (IGridBlock_Base macro in macroGrids)
            {
                // Sub Grids
                List <IGridBlock_Base> subGrids = macro.GridBlocksDictionary.Values.ToList();
                int widthSub    = 0;
                int widthSubMax = 0;
                int heightSub   = 0;
                foreach (IGridBlock_Base sub in subGrids)
                {
                    // Micro Grids
                    var microGrids    = sub.GridBlocksDictionary.Values.ToList();
                    int widthMicro    = 0;
                    int widthMicroMax = 0;
                    int heightMicro   = 0;
                    foreach (IGridBlock_Base micro in microGrids)
                    {
                        micro.zGridControl.Width         = settings.Size_MicroWidth;
                        micro.zGridControl._Parent.Width = settings.Size_MicroHeight; // Row height
                        GridSync_CalcSize(micro, ref widthMicro, ref heightMicro);    // update the grid settings
                        widthMicroMax = Math.Max(widthMicroMax, widthMicro);
                    }
                    // Sub
                    var subControl = sub.zGridControl;
                    var subRow     = subControl._Parent;
                    subControl.Width = Math.Max(widthMicroMax + addWidth, settings.Min_SubSize);
                    if (subControl.Left + subControl.Width > macro.zGridControl.Width)
                    {
                        macro.zGridControl.Width = subControl.Left + subControl.Width + addWidth;                                                                  // Make sure children fit
                    }
                    subRow.Height = Math.Max(subRow.Height, Math.Max(heightMicro + addHeight, settings.Min_SubSize));
                    GridSync_CalcSize(sub, ref widthSub, ref heightSub);    // update the grid settings
                    widthSubMax = Math.Max(widthSubMax, widthSub);
                    //heightTotal += subRow.Height;
                }
                var macroControl = macro.zGridControl;
                var macroRow     = macroControl._Parent;
                macroControl.Width = Math.Max(macroControl.Width, Math.Max(widthSubMax + addWidth, settings.Min_MacroSize));
                if (macroControl.Left + macroControl.Width > cuboid.zGridControl.Width)
                {
                    cuboid.zGridControl.Width = macroControl.Left + macroControl.Width + addWidth;                                                                    // Make sure children fit
                }
                macroRow.Height = Math.Max(macroRow.Height, Math.Max(heightSub + addHeight, settings.Min_MacroSize));
                GridSync_CalcSize(macro, ref widthMacro, ref heightMacro);   // update the grid settings
                widthMacroMax = Math.Max(widthMacroMax, widthMacro);
            }
            var cuboidControl = cuboid.zGridControl;
            var cuboidRow     = cuboidControl._Parent;

            //cuboidControl.Width = widthMacroMax + addWidth;
            cuboidRow.Height = heightMacro + addHeight;

            // Macro Grids
            foreach (IGridBlock_Base macro in macroGrids)
            {
                // Sub Grids
                List <IGridBlock_Base> subGrids = macro.GridBlocksDictionary.Values.ToList();
                foreach (IGridBlock_Base sub in subGrids)
                {
                    // Micro Grids
                    var microGrids = sub.GridBlocksDictionary.Values.ToList();
                    foreach (IGridBlock_Base micro in microGrids)
                    {
                        GridSync(micro, settings, resetColors, onGridChangeEvent); // update the grid settings
                    }
                    GridSync(sub, settings, resetColors, onGridChangeEvent);       // update the grid settings
                }
                GridSync(macro, settings, resetColors, onGridChangeEvent);         // update the grid settings
            }
            GridSync(cuboid, settings, resetColors, onGridChangeEvent);            // update the grid settings
        }
        private static bool GridSync_StateColor(IGridBlock_Base grid, IGridControl gridFrontend, GridControl_Settings settings)
        {
            var state = grid as IGridBlock_State;

            if (state == null)
            {
                return(false);
            }

            var   result = false;
            Color color;

            if (settings.Color_ID.TryGetValue(state.State_Id, out color))
            {
                if (gridFrontend.BackColor != color)
                {
                    gridFrontend.BackColor = color;
                    result = true;
                }
            }
            return(result);
        }
Пример #16
0
 public Form2()
 {
     InitializeComponent();
     _Settings = _lamed.lib.MultiGrids.GridControl_Settings();
     _loading  = false;
 }
 public Form_DuctingSelect()
 {
     InitializeComponent();
     _Settings = GridControlTools.GridControl_Settings();
     _loading  = false;
 }