/// <summary>
        /// Inspects the properties of the features.
        /// </summary>
        /// <param name="objects"></param>
        /// <param name="Editor"></param>
        public void Inspect(ESRI.ArcGIS.Editor.IEnumRow objects, ESRI.ArcGIS.Editor.IEditor Editor)
        {
            try
            {
                SetParent(m_inspector.HWND, stabHwnd);
                SetParent(stabHwnd, picHwnd);

                ShowWindow(m_inspector.HWND, SW_SHOW);
                m_inspector.Inspect(objects, Editor);

                IEnumRow enumRow     = objects;
                IRow     row         = enumRow.Next();
                IFeature inspFeature = (IFeature)row;

                //user selected the layer name instead of a feature.
                if (objects.Count > 1)
                {
                    return;
                }

                switch (inspFeature.Shape.GeometryType)
                {
                case esriGeometryType.esriGeometryPolygon:
                {
                    //do this for polygons.
                    customListBox.Items.Clear();
                    ReportPolygons(inspFeature);
                    break;
                }

                case esriGeometryType.esriGeometryPolyline:
                {
                    //do this for lines.
                    customListBox.Items.Clear();
                    ReportPolylines(inspFeature);
                    break;
                }

                case esriGeometryType.esriGeometryPoint:
                {
                    //do this for points.
                    customListBox.Items.Clear();
                    ReportPoints(inspFeature);
                    break;
                }

                default:
                    break;
                } //End switch.
            }
            catch (Exception ex)
            {
                MessageBox.Show("IObjectInspector_Inspect: " + ex.Message);
            }
        }
        public void Inspect(ESRI.ArcGIS.Editor.IEnumRow objects, ESRI.ArcGIS.Editor.IEditor Editor)
        {
            try
              {
            if (m_osmFeatureInspector == null)
            {
              m_osmFeatureInspector = new OSMFeatureInspectorUI();
            }

            if (m_inspector == null)
            {
              m_inspector = new FeatureInspectorClass();
            }

            ShowWindow(m_inspector.HWND, SW_SHOW);
            m_inspector.Inspect(objects, Editor);

            if (Editor == null)
            {
              return;
            }

            if (objects == null)
            {
              return;
            }

            if (m_osmFeatureInspector.IsInitialized == false)
              m_osmFeatureInspector.Init(Editor);

            m_editor = Editor;
            m_enumRow = objects;

            IEnumFeature enumFeatures = Editor.EditSelection;
            enumFeatures.Reset();

            int featureCount = 0;

            while (enumFeatures.Next() != null)
            {
              featureCount = featureCount + 1;
            }

            IEnumRow enumRow = objects;
            enumRow.Reset();
            IRow row = enumRow.Next();

            IFeature inspFeature = (IFeature)row;

            //user selected the layer name instead of a feature.
            if (objects.Count > 1)
            {
              m_osmFeatureInspector.prepareGrid4Features(objects);
            }
            else
            {
              m_osmFeatureInspector.prepareGrid4Feature(inspFeature);
            }

            m_osmFeatureInspector.currentlyEditedRows = enumRow;
              }
              catch (Exception ex)
              {
            if (m_osmFeatureInspector != null)
            {
              m_osmFeatureInspector.ClearGrid();
            }

            System.Diagnostics.Debug.WriteLine(ex.Message);
              }
        }
        void IObjectInspector.Inspect(IEnumRow objects, IEditor Editor)
        {
            try
            {
                if (m_inspector == null)
                {
                    m_inspector = new FeatureInspectorClass();
                }

                //SetParent(m_inspector.HWND, this.Handle.ToInt32());
                ShowWindow(m_inspector.HWND, SW_SHOW);

                m_inspector.Inspect(objects, Editor);

                if (Editor == null)
                {
                    return;
                }

                if (objects == null)
                {
                    return;
                }

                if (IsInitialized == false)
                    Init(Editor);

                m_editor = Editor;
                m_enumRow = objects;

                IEnumFeature enumFeatures = Editor.EditSelection;
                enumFeatures.Reset();

                int featureCount = 0;

                while (enumFeatures.Next() != null)
                {
                    featureCount = featureCount + 1;
                }

                IEnumRow enumRow = objects;
                enumRow.Reset();
                IRow row = enumRow.Next();

                IFeature inspFeature = (IFeature)row;

                //user selected the layer name instead of a feature.
                if (objects.Count > 1)
                {
                    prepareGrid4Features(objects);
                }
                else
                {
                    prepareGrid4Feature(inspFeature);
                }

                currentlyEditedRows = enumRow;
            }
            catch (Exception ex)
            {
                ClearGrid();

                System.Diagnostics.Debug.WriteLine(ex.Message);
            }
        }
        public void Init(IEditor Editor)
        {
            if (m_inspector == null)
            {
                //this is the default inspector shipped with the editor
                m_inspector = new FeatureInspector();

                SetParent(dataGridView1.Handle.ToInt32(), this.Handle.ToInt32());
            }

            m_editor = Editor;


            if (m_editor != null)
            {

                ReadOSMEditorSettings();

                try
                {
                    // populate the internal dictionary and rule set for the OSM features
                    loadOSMEditFeatures(m_osmFeaturePropertiesFilePath);

                    // populate the internal list of available OSM feature domains
                    loadOSMDomains(m_osmDomainsFilePath);
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.Message);
                }
            }

            m_isInitialized = true;
        }
        public void Inspect(ESRI.ArcGIS.Editor.IEnumRow objects, ESRI.ArcGIS.Editor.IEditor Editor)
        {
            try
            {
                if (m_osmFeatureInspector == null)
                {
                    m_osmFeatureInspector = new OSMFeatureInspectorUI();
                }

                if (m_inspector == null)
                {
                    m_inspector = new FeatureInspectorClass();
                }

                ShowWindow(m_inspector.HWND, SW_SHOW);
                m_inspector.Inspect(objects, Editor);

                if (Editor == null)
                {
                    return;
                }

                if (objects == null)
                {
                    return;
                }

                if (m_osmFeatureInspector.IsInitialized == false)
                {
                    m_osmFeatureInspector.Init(Editor);
                }

                m_editor  = Editor;
                m_enumRow = objects;

                IEnumFeature enumFeatures = Editor.EditSelection;
                enumFeatures.Reset();

                int featureCount = 0;

                while (enumFeatures.Next() != null)
                {
                    featureCount = featureCount + 1;
                }

                IEnumRow enumRow = objects;
                enumRow.Reset();
                IRow row = enumRow.Next();

                IFeature inspFeature = (IFeature)row;

                //user selected the layer name instead of a feature.
                if (objects.Count > 1)
                {
                    m_osmFeatureInspector.prepareGrid4Features(objects);
                }
                else
                {
                    m_osmFeatureInspector.prepareGrid4Feature(inspFeature);
                }

                m_osmFeatureInspector.currentlyEditedRows = enumRow;
            }
            catch (Exception ex)
            {
                if (m_osmFeatureInspector != null)
                {
                    m_osmFeatureInspector.ClearGrid();
                }

                System.Diagnostics.Debug.WriteLine(ex.Message);
            }
        }
예제 #6
0
        /// <summary>
        /// get the global editor object for ArcMap
        /// </summary>
        private void InitEditor(ref string ErrorMessage)
        {
            ESRI.ArcGIS.esriSystem.UID pID;

            try
            {
                ////store editor object for use throughout extension
                pID = new ESRI.ArcGIS.esriSystem.UIDClass();
                pID.Value = "esriEditor.Editor";
                m_Editor = (ESRI.ArcGIS.Editor.IEditor)m_Application.FindExtensionByCLSID(pID);
            }
            catch (Exception ex)
            {
                ErrorMessage = "Could not locate Editor. " + ex.Message;
            }
        }
예제 #7
0
        /// <summary>
        /// uninitialize the nps global instance
        /// </summary>
        public void UnInit()
        {
            m_IsInitialized = false;

            Util.SaveConfigSettings();
            UnwireEditEvents(m_Editor);

            m_DLLPath = null;
            m_Map = null;
            m_XMLConfig = null;
            m_XMLConfigFilePath = null;
            m_Workspace = null;
            m_DatabasePath = null;
            m_DLLPath = null;
            m_Editor = null;
            m_ProgramaticFeatureEdit = false;
            m_InitErrorMessage = null;

            m_LYR_HORIZON = m_LYR_ANIMALS = m_LYR_TRACKLOG
                = m_LYR_GPSPOINTLOG = m_LYR_RANDOMPOINTS
                = m_LYR_GENERATED_TRANSECTS = m_LYR_FLAT_AREAS
                = m_LYR_EXCLUDED_AREAS = m_LYR_SURVEY_BOUNDARY = null;
        }