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)); }
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); }
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)); }
/// <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); }
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); }
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); }
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); }
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(); }
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())); }
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); }
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 } }
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); }
public Form2() { InitializeComponent(); _Settings = _lamed.lib.MultiGrids.GridControl_Settings(); _loading = false; }
public Form_DuctingSelect() { InitializeComponent(); _Settings = GridControlTools.GridControl_Settings(); _loading = false; }