using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Drawing; namespace GeoSigmaViewer { public class DrawToolRectangularCSGrid : DrawTool { private MouseMoveResult mmResult; private RectangularCSGridDialog dlg = null; public DrawToolRectangularCSGrid() { ToolCursor = DrawCursors.Range; ItemType = DrawItemType.ITEM_GRID; mmResult = new MouseMoveResult(); } public override void Start() { drawer.Cursor = DrawCursors.Range; } public override void End() { drawer.Cursor = DrawCursors.Select; if (dlg != null) { if (dlg.IsAccessible) dlg.Close(); dlg = null; } } public override void OnLButtonDown(Drawer drawArea, MouseEventArgs e) { drawArea.Geo.OnLButtonDown(e.X, e.Y); //base.OnLButtonDown(drawArea, e); } public override void OnMouseMove(Drawer drawArea, MouseEventArgs e) { //drawArea.Cursor=ToolCursor; if (e.Button == MouseButtons.Left) { Graphics g = drawArea.CreateGraphics(); drawArea.Geo.ItemMouseMove(g.GetHdc(), e.X, e.Y, ref mmResult); } } public override void OnLButtonUp(Drawer drawArea, MouseEventArgs e) { drawArea.Geo.OnLButtonUp(e.X, e.Y); if (dlg != null) { if (dlg.IsAccessible) dlg.Close(); } dlg = new RectangularCSGridDialog(ref drawer); dlg.Show(); } } }