private void btnSelect_Click(object sender, EventArgs e) { if (btnSelect.Text != resMan.GetString("msgDone.Text")) { btnSelect.Text = resMan.GetString("msgDone.Text"); if (cmbIdentWith.SelectedIndex != -1) { int layerHandle = -1; string s = cmbIdentWith.Items[cmbIdentWith.SelectedIndex].ToString(); if (s.Contains(")")) { s = s.Substring(0, s.IndexOf(")")); } s = s.Replace("(", ""); if (!int.TryParse(s, out layerHandle)) { return; } if (layerHandle != -1) { m_MapWin.Layers.CurrentLayer = layerHandle; } oldCur = m_MapWin.View.CursorMode; m_MapWin.View.CursorMode = MapWinGIS.tkCursorMode.cmSelection; } } else { m_MapWin.View.CursorMode = oldCur; btnSelect.Text = resMan.GetString("msgSelectShapes.Text"); //"&Select Shapes" } UpdateSelectedShapes(); }
private void InsertStockShapeForm_Load(object sender, EventArgs e) { // Jiri Kadlec 1/9/2009 set initial text box values to blank txtPolySideLength.Text = ""; txtEllpsWidth.Text = ""; txtEllpsHeight.Text = ""; txtCircleRadius.Text = ""; txtRectWidth.Text = ""; txtRectHeight.Text = ""; // Set up default widths and radii //txtPolySideLength.Text = Math.Round(((g.MapWin.View.Extents.xMax - g.MapWin.View.Extents.xMin) / 8), 3).ToString(); //txtEllpsWidth.Text = Math.Round(double.Parse(txtPolySideLength.Text), 3).ToString(); //txtEllpsHeight.Text = Math.Round((double.Parse(txtPolySideLength.Text) / 2), 3).ToString(); //txtCircleRadius.Text = Math.Round((double.Parse(txtPolySideLength.Text) / 2), 3).ToString(); //txtRectWidth.Text = Math.Round(double.Parse(txtPolySideLength.Text), 3).ToString(); //txtRectHeight.Text = Math.Round((double.Parse(txtPolySideLength.Text) / 2), 3).ToString(); g.Events.AddHandler(new MapWindow.Events.MapMouseDownEvent(MapMouseDown)); m_CursorMode = g.MapWin.View.CursorMode; g.MapWin.View.CursorMode = MapWinGIS.tkCursorMode.cmNone; m_Cursor = g.MapWin.View.MapCursor; g.MapWin.View.MapCursor = MapWinGIS.tkCursor.crsrArrow; // Jiri Kadlec 1/9/2009 try to use the 'alternate units' if possible _mapUnits = MapWinGeoProc.UnitConverter.StringToUOM(g.MapWin.Project.MapUnits); _alternateUnits = MapWinGeoProc.UnitConverter.StringToUOM(g.MapWin.Project.MapUnitsAlternate); if (_mapUnits != UnitOfMeasure.DecimalDegrees && _alternateUnits != UnitOfMeasure.DecimalDegrees && _alternateUnits != UnitOfMeasure.Unknown) { _useAlternateUnits = true; _alternateUnits = MapWinGeoProc.UnitConverter.StringToUOM(g.MapWin.Project.MapUnitsAlternate); lblUnit.Text = g.MapWin.Project.MapUnitsAlternate; } else { _useAlternateUnits = false; lblUnit.Text = g.MapWin.Project.MapUnits; } if (lblUnit.Text == "Lat/Long") { lblUnit.Text = "Deg."; } lblUnit1.Text = lblUnit.Text; lblUnit2.Text = lblUnit.Text; lblUnit3.Text = lblUnit.Text; lblUnit4.Text = lblUnit.Text; lblUnit5.Text = lblUnit.Text; }
public void SaveCusorMode() { //save the previous settings // CDM Aug 9 2006 -- ONLY if in one of my modes if (CurrentMode == Modes.AddShape || CurrentMode == Modes.MoveShape || CurrentMode == Modes.AddVertex || CurrentMode == Modes.MoveVertex || CurrentMode == Modes.RemoveShape || CurrentMode == Modes.RemoveVertex) { m_prevCursorMode = MapWin.View.CursorMode; m_prevCursor = MapWin.View.MapCursor; m_prevCursorHandle = MapWin.View.UserCursorHandle; } }
/// <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 ResetForNew() { m_snapper = new SnapClass(m_globals.MapWin); m_Shape = new ShapefileEditor.ShapeClass(); m_globals.UpdateButtons(); m_globals.DoEnables(); m_globals.UpdateView(); if (m_cursor == null) { m_cursor = new System.Windows.Forms.Cursor(this.GetType(), "InsertPoint.cur"); } m_oldCursorMode = view.CursorMode; m_oldCursor = view.MapCursor; m_oldCursorHandle = view.UserCursorHandle; view.CursorMode = MapWinGIS.tkCursorMode.cmNone; view.MapCursor = MapWinGIS.tkCursor.crsrUserDefined; view.UserCursorHandle = m_cursor.Handle.ToInt32(); }
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { m_CursorMode = g.MapWin.View.CursorMode; g.MapWin.View.CursorMode = MapWinGIS.tkCursorMode.cmNone; g.Events.AddHandler(new MapWindow.Events.MapMouseDownEvent(MapMouseDown)); }
private void ItemClicked(string ItemName, ref bool Handled) { try { m_MapWin = m_Globals.MapWin; if (ItemName == GlobalFunctions.c_AddVertexButton) { if (m_Globals.SelectedShapefileIsReadonly()) { MapWinUtility.Logger.Msg("The selected shapefile is read-only and cannot be edited.", "Read-Only Shapefile"); return; } if (m_Globals.CurrentMode != GlobalFunctions.Modes.AddVertex) { m_Globals.CurrentMode = GlobalFunctions.Modes.AddVertex; //update the buttons on the toolbar m_Globals.UpdateButtons(); //save the previous settings m_prevCursorMode = m_MapWin.View.CursorMode; m_prevCursor = m_MapWin.View.MapCursor; m_prevCursorHandle = m_MapWin.View.UserCursorHandle; //set cursor mode to none m_MapWin.View.CursorMode = MapWinGIS.tkCursorMode.cmNone; m_MapWin.View.MapCursor = MapWinGIS.tkCursor.crsrUserDefined; m_MapWin.View.UserCursorHandle = (int)m_Cursor.Handle; //load the vertex's from the current shapefile layer if (m_Globals.CurrentLayer == null) { return; } MapWinGIS.Shapefile shpFile = m_Globals.CurrentLayer; m_prevShape = -1; } else { if (m_HDraw != -1) { m_MapWin.View.Draw.ClearDrawing(m_HDraw); } m_Globals.CurrentMode = GlobalFunctions.Modes.None; //set back the old settings m_MapWin.View.CursorMode = m_prevCursorMode; m_MapWin.View.MapCursor = m_prevCursor; m_MapWin.View.UserCursorHandle = m_prevCursorHandle; //update the buttons on the toolbar m_Globals.UpdateButtons(); //set cursor mode m_MapWin.View.CursorMode = MapWinGIS.tkCursorMode.cmPan; } Handled = true; } else { if (m_MapWin.Toolbar.ButtonItem(GlobalFunctions.c_AddVertexButton).Pressed) { m_MapWin.View.Draw.ClearDrawing(m_HDraw); m_Globals.CurrentMode = GlobalFunctions.Modes.None; //hide all vertices if (m_MapWin.Layers.NumLayers > 0) { if (!m_MapWin.Layers[m_MapWin.Layers.CurrentLayer].VerticesVisible) { m_MapWin.Layers[m_MapWin.Layers.CurrentLayer].HideVertices(); } } //update the buttons on the toolbar m_Globals.UpdateButtons(); } } } catch (System.Exception ex) { m_MapWin.ShowErrorDialog(ex); } }