Пример #1
0
        public static void StartZDEdit()
        {
            ZDEditTools.StartEditDateTime = DateTime.Now;
            IMap editMap = Editor.EditMap;
            List <IFeatureLayer> featureLayers = new List <IFeatureLayer>();

            for (int i = 0; i < editMap.LayerCount; i++)
            {
                ILayer layer = editMap.Layer[i];
                if (layer is IGroupLayer)
                {
                    ZDEditTools.CheckGroupLayerEdit(featureLayers, layer as ICompositeLayer);
                }
                else if (layer is IFeatureLayer)
                {
                    IFeatureLayer featureLayer = layer as IFeatureLayer;
                    if (ZDEditTools.CheckLayerIsCanEditZD(featureLayer))
                    {
                        featureLayers.Add(featureLayer);
                    }
                }
            }
            if (featureLayers.Count == 0)
            {
                MessageBox.Show("当前没有可编辑的宗地图层!");
            }
            else if (featureLayers.Count != 1)
            {
                frmSelectEditZD _frmSelectEditZD = new frmSelectEditZD()
                {
                    FeatureLayers = featureLayers
                };
                if (_frmSelectEditZD.ShowDialog() == DialogResult.OK)
                {
                    ZDEditTools.ZDFeatureLayer    = _frmSelectEditZD.SelectFeatureLayer;
                    ZDEditTools.ZDFeatureClass    = ZDEditTools.ZDFeatureLayer.FeatureClass;
                    ZDEditTools.ZDHisFeatureClass = ZDRegister.GetHistoryFeatureClass(ZDEditTools.ZDFeatureClass);
                    ZDEditTools.FireStartZDEdit();
                }
            }
            else
            {
                ZDEditTools.ZDFeatureLayer    = featureLayers[0];
                ZDEditTools.ZDFeatureClass    = ZDEditTools.ZDFeatureLayer.FeatureClass;
                ZDEditTools.ZDHisFeatureClass = ZDRegister.GetHistoryFeatureClass(ZDEditTools.ZDFeatureClass);
                ZDEditTools.FireStartZDEdit();
            }
        }
Пример #2
0
 private static void CheckGroupLayerEdit(List <IFeatureLayer> list_0, ICompositeLayer icompositeLayer_0)
 {
     for (int i = 0; i < icompositeLayer_0.Count; i++)
     {
         ILayer layer = icompositeLayer_0.Layer[i];
         if (layer is IGroupLayer)
         {
             ZDEditTools.CheckGroupLayerEdit(list_0, layer as ICompositeLayer);
         }
         else if (layer is IFeatureLayer)
         {
             IFeatureLayer featureLayer = layer as IFeatureLayer;
             if (ZDEditTools.CheckLayerIsCanEditZD(featureLayer))
             {
                 list_0.Add(featureLayer);
             }
         }
     }
 }