public void ItemClickedEvent(string ItemName, ref bool Handled) { if (ItemName == GlobalFunctions.c_RemoveVertexButton) { if (m_globals.CurrentMode == GlobalFunctions.Modes.RemoveVertex) { // I'm already in this mode. Clean up everything. Cleanup(); } else { // Save cursor mode information m_globals.SaveCusorMode(); // Set the cursor. MapWindow.Interfaces.View v = m_globals.MapWin.View; v.CursorMode = MapWinGIS.tkCursorMode.cmNone; v.MapCursor = MapWinGIS.tkCursor.crsrUserDefined; v.UserCursorHandle = m_cursor.Handle.ToInt32(); // Start taking events for MouseMove and MouseUp MapMouseMoveDelegate = new MapWindow.Events.MapMouseMoveEvent(MapMouseMoveEvent); m_globals.Events.AddHandler(MapMouseMoveDelegate); MapMouseUpDelegate = new MapWindow.Events.MapMouseUpEvent(MapMouseUpEvent); m_globals.Events.AddHandler(MapMouseUpDelegate); } } else { Cleanup(); } }
private void MarkAllVertices() { try { MapWinGIS.Shape shp = null; MapWinGIS.Shapefile sf = m_globals.CurrentLayer; MapWindow.Interfaces.View v = m_globals.MapWin.View; //clear the drawings v.Draw.ClearDrawing(m_HDraw); m_HDraw = v.Draw.NewDrawing(MapWinGIS.tkDrawReferenceList.dlSpatiallyReferencedList); //display all the vertices for each shape for (int i = 0; i < v.SelectedShapes.NumSelected; i++) { shp = sf.get_Shape(v.SelectedShapes[i].ShapeIndex); for (int j = 0; j < shp.numPoints; j++) { MapWinGIS.Point shpPoint = shp.get_Point(j); m_globals.MapWin.View.Draw.DrawPoint(shpPoint.x, shpPoint.y, m_globals.VertexSize, System.Drawing.Color.Red); } } } catch (System.Exception ex) { m_globals.MapWin.ShowErrorDialog(ex); } }
private void MarkSelectedVertices(System.Collections.ArrayList lst) { MapWindow.Interfaces.View v = m_globals.MapWin.View; foreach (SnapData data in lst) { if (IsSelected(data.shpIndex)) { v.Draw.DrawPoint(data.point.x, data.point.y, m_globals.VertexSize, System.Drawing.Color.Blue); } } }
private bool IsSelected(int shpIndex) { MapWindow.Interfaces.View v = m_globals.MapWin.View; for (int i = 0; i < v.SelectedShapes.NumSelected; i++) { if (v.SelectedShapes[i].ShapeIndex == shpIndex) { return(true); // shape is selected } } // default case (shape is not selected!) return(false); }
/// <summary> /// Constructor. /// The AddShapeForm is used when creating a new shape. /// The user can either click on the map to generate new points, lines or polygons, or input coordinates in the text boxes provided on the form. /// </summary> public AddShapeForm(GlobalFunctions g, ref SnapClass snapper) { // // Required for Windows Form Designer support // InitializeComponent(); m_globals = g; m_cursor = new System.Windows.Forms.Cursor(this.GetType(), "InsertPoint.cur"); view = g.MapWin.View; m_oldCursorMode = view.CursorMode; m_oldCursor = view.MapCursor; m_oldCursorHandle = view.UserCursorHandle; view.CursorMode = MapWinGIS.tkCursorMode.cmNone; view.MapCursor = MapWinGIS.tkCursor.crsrWait; m_SFType = g.MapWin.Layers[g.MapWin.Layers.CurrentLayer].LayerType; m_Shape = new ShapeClass(); // Sign me up for these events! m_MapMouseMoveDelegate = new MapWindow.Events.MapMouseMoveEvent(MouseMoveEvent); g.Events.AddHandler(m_MapMouseMoveDelegate); m_MapMouseUpDelegate = new MapWindow.Events.MapMouseUpEvent(MouseUpEvent); g.Events.AddHandler(m_MapMouseUpDelegate); m_LayerSelectedDelegate = new MapWindow.Events.LayerSelectedEvent(LayerSelectedEvent); g.Events.AddHandler(m_LayerSelectedDelegate); MapWindow.Interfaces.eLayerType t = g.MapWin.Layers[g.MapWin.Layers.CurrentLayer].LayerType; m_sf = g.CurrentLayer; if ((m_snapper == null) && ((t == lt.LineShapefile) || (t == lt.PointShapefile) || (t == lt.PolygonShapefile))) { m_snapper = new SnapClass(m_globals.MapWin); } view.MapCursor = MapWinGIS.tkCursor.crsrUserDefined; view.UserCursorHandle = m_cursor.Handle.ToInt32(); m_PointSize = 6; }
private void RemoveVertices(System.Collections.ArrayList lst) { try { MapWindow.Interfaces.View v = m_globals.MapWin.View; foreach (SnapData data in lst) { if (IsSelected(data.shpIndex)) { MapWinGIS.Shapefile sf = m_globals.CurrentLayer; sf.StartEditingShapes(true, null); MapWinGIS.Shape shp = sf.get_Shape(data.shpIndex); shp.DeletePoint(data.pointIndex); } } } catch (System.Exception ex) { m_globals.MapWin.ShowErrorDialog(ex); } }