Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 3
0
 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;
     }
 }
Ejemplo n.º 4
0
        /// <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;
        }
Ejemplo n.º 5
0
        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));
 }
Ejemplo n.º 7
0
        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);
            }
        }