using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using SigmaDrawerStyle; namespace GeoSigmaViewer { public partial class RectangularCSGridDialog : Form, IRectangularCSGridPropertyChange { private SigmaDrawerStyle.RectangularCSGridProperty property; private Drawer drawer; public RectangularCSGridDialog(ref Drawer drawer) { InitializeComponent(); this.drawer = drawer; property = new SigmaDrawerStyle.RectangularCSGridProperty(this); } private void RectangularCSGridDialog_Load(object sender, EventArgs e) { RectangularCSGridData data = new RectangularCSGridData(); fillData(ref data); drawer.Geo.RectangularCSGrid_GetStepAndRange(ref data); fillProperty(ref data); propertyGrid.SelectedObject = property; } private void OKButton_Click(object sender, EventArgs e) { RectangularCSGridData data = new RectangularCSGridData(); fillData(ref data); drawer.Geo.RectangularCSGrid_Create(ref data); drawer.Geo.EnableRedraw(true); drawer.ReDraw(); drawer.ActiveTool = DrawToolType.Select; Close(); } private void cancelButton_Click(object sender, EventArgs e) { drawer.ActiveTool = DrawToolType.Select; Close(); } private void fillData(ref RectangularCSGridData data) { data.baseX = property.BaseNumber.X; data.baseY = property.BaseNumber.Y; data.blackOutterBorder = (int)property.BlackOutterBorder; data.borderColorR = property.BorderColor.R; data.borderColorG = property.BorderColor.G; data.borderColorB = property.BorderColor.B; data.borderThickness = property.BorderThickness; data.left = property.CoordRange.Left; data.top = property.CoordRange.Top; data.right = property.CoordRange.Right; data.bottom = property.CoordRange.Bottom; data.coefficientX = property.Coefficient.X; data.coefficientY = property.Coefficient.Y; data.gridColorR = property.GridColor.R; data.gridColorG = property.GridColor.G; data.gridColorB = property.GridColor.B; data.isShowOutBorder = (int)property.OuterBorder; data.notatioinMode = (int)property.NotatioinMode; data.showMode = (int)property.ShowMode; data.stepX = property.Step.X; data.stepY = property.Step.Y; data.textHeight = property.TextHeight; data.textScale = (int)property.TextScale; } private void fillProperty(ref RectangularCSGridData data) { property.BaseNumber.X = data.baseX; property.BaseNumber.Y = data.baseY; if (data.blackOutterBorder != -1) property.BlackOutterBorder = (RectangularCSGridProperty.BLACK_BORDER)data.blackOutterBorder; property.BorderColor = Color.FromArgb(data.borderColorR, data.borderColorG, data.borderColorB); property.BorderThickness = data.borderThickness; property.CoordRange.Left = data.left; property.CoordRange.Top = data.top; property.CoordRange.Right = data.right; property.CoordRange.Bottom = data.bottom; property.Coefficient.X = data.coefficientX; property.Coefficient.Y =data.coefficientY; property.GridColor = Color.FromArgb(data.gridColorR, data.gridColorG, data.gridColorB); if (data.isShowOutBorder != -1) property.OuterBorder = (RectangularCSGridProperty.OUTER_BORDER)data.isShowOutBorder; if (data.notatioinMode != -1) property.NotatioinMode = (RectangularCSGridProperty.NOTATION_MODE)data.notatioinMode; if (data.showMode != -1) property.ShowMode = (RectangularCSGridProperty.SHOWMODE)data.showMode; property.Step.X = data.stepX; property.Step.Y = data.stepY; property.TextHeight = data.textHeight; if (data.textScale != -1) property.TextScale = (RectangularCSGridProperty.SCALE)data.textScale; } private void RectangularCSGridDialog_FormClosed(object sender, FormClosedEventArgs e) { drawer.ActiveTool = DrawToolType.Select; } public void RCSGridPropertyChange() { propertyGrid.SelectedObject = property; } } }