Exemplo n.º 1
0
 private void combLayer_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (this.bool_2)
     {
         if (this.combLayer.SelectedIndex > 3)
         {
             this.identifyTypeEnum_0 = IdentifyTypeEnum.enumITCurrentLayer;
             this.ilayer_0           = (this.combLayer.SelectedItem as LayerObject).Layer;
             if (this.IdentifyLayerChanged != null)
             {
                 this.IdentifyLayerChanged(this, this.ilayer_0);
             }
         }
         else
         {
             this.ilayer_0           = null;
             this.identifyTypeEnum_0 = (IdentifyTypeEnum)this.combLayer.SelectedIndex;
             if (this.IdentifyTypeChanged != null)
             {
                 this.IdentifyTypeChanged(this, this.identifyTypeEnum_0);
             }
         }
         this.method_0();
     }
 }
Exemplo n.º 2
0
 private void method_17()
 {
     this.bool_2 = false;
     this.combLayer.Properties.Items.Clear();
     this.combLayer.Properties.Items.Add("最上层");
     this.combLayer.Properties.Items.Add("可见图层");
     this.combLayer.Properties.Items.Add("可选择图层");
     this.combLayer.Properties.Items.Add("所有图层");
     if (this.ilayer_0 != null)
     {
         this.ilayer_0           = null;
         this.identifyTypeEnum_0 = IdentifyTypeEnum.enumITAllLayer;
     }
     this.combLayer.SelectedIndex = (int)this.identifyTypeEnum_0;
     this.bool_2 = true;
 }
Exemplo n.º 3
0
 private void method_15(object object_0)
 {
     if (base.Visible)
     {
         this.bool_2 = false;
         this.combLayer.Properties.Items.Clear();
         this.combLayer.Properties.Items.Add("最上层");
         this.combLayer.Properties.Items.Add("可见图层");
         this.combLayer.Properties.Items.Add("可选择图层");
         this.combLayer.Properties.Items.Add("所有图层");
         int num = -1;
         for (int i = 0; i < this.ibasicMap_0.LayerCount; i++)
         {
             ILayer layer = this.ibasicMap_0.get_Layer(i);
             if (layer is IFeatureLayer)
             {
                 if (layer == this.ilayer_0)
                 {
                     num = i;
                 }
                 this.combLayer.Properties.Items.Add(new LayerObject(layer));
             }
         }
         if (num != -1)
         {
             this.combLayer.SelectedIndex = num + 4;
         }
         else
         {
             if (this.ilayer_0 != null)
             {
                 this.ilayer_0           = null;
                 this.identifyTypeEnum_0 = IdentifyTypeEnum.enumITAllLayer;
                 if (this.IdentifyTypeChanged != null)
                 {
                     this.IdentifyTypeChanged(this, this.identifyTypeEnum_0);
                 }
             }
             this.combLayer.SelectedIndex = (int)this.identifyTypeEnum_0;
         }
         this.bool_2 = true;
     }
 }
Exemplo n.º 4
0
        public static bool IdentifyMap(IBasicMap ibasicMap_0, IPoint ipoint_0, double double_0, ILayer ilayer_1,
                                       IdentifyTypeEnum identifyTypeEnum_1, IList <string> ilist_0, out IList <object> ilist_1)
        {
            bool flag;

            ilist_1 = new List <object>();
            IEnvelope envelope = ipoint_0.Envelope;

            envelope.Width  = double_0;
            envelope.Height = double_0;
            envelope.CenterAt(ipoint_0);
            if ((ilayer_1 == null ? true : identifyTypeEnum_1 != IdentifyTypeEnum.enumITCurrentLayer))
            {
                UID uIDClass = new UID()
                {
                    Value = "{6CA416B1-E160-11D2-9F4E-00C04F6BC78E}"
                };
                IEnumLayer     layers             = ibasicMap_0.Layers[uIDClass, true];
                ISpatialFilter spatialFilterClass = new SpatialFilter()
                {
                    Geometry   = envelope,
                    SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects
                };
                layers.Reset();
                ILayer layer = layers.Next();
                bool   flag1 = false;
                while (layer != null)
                {
                    if (ilist_0.IndexOf(layer.Name) != -1)
                    {
                        if (identifyTypeEnum_1 == IdentifyTypeEnum.enumITSelectableLayer)
                        {
                            if (!(layer is IFeatureLayer))
                            {
                                layer = layers.Next();
                                continue;
                            }
                            else if (!(layer as IFeatureLayer).Selectable)
                            {
                                layer = layers.Next();
                                continue;
                            }
                        }
                        else if (identifyTypeEnum_1 == IdentifyTypeEnum.enumITTopLayer)
                        {
                            flag1 = true;
                        }
                        else if (identifyTypeEnum_1 == IdentifyTypeEnum.enumITVisibleLayer)
                        {
                            if (!layer.Visible)
                            {
                                layer = layers.Next();
                                continue;
                            }
                        }
                        try
                        {
                            IdentifyHelper.IdentifyLayer(ibasicMap_0, layer, envelope, ilist_1);
                        }
                        catch (Exception exception)
                        {
                            Logger.Current.Error("", exception, "");
                        }
                        if (flag1)
                        {
                            break;
                        }
                        layer = layers.Next();
                    }
                    else
                    {
                        layers.Next();
                    }
                }
                flag = true;
            }
            else
            {
                flag = IdentifyHelper.IdentifyLayer(ibasicMap_0, ilayer_1, envelope, ilist_1);
            }
            return(flag);
        }
Exemplo n.º 5
0
        public static bool EditIdentifyMap(IBasicMap ibasicMap_0, IPoint ipoint_0, double double_0, ILayer ilayer_1,
                                           IdentifyTypeEnum identifyTypeEnum_1, out IArray iarray_0)
        {
            bool flag;

            iarray_0 = new ESRI.ArcGIS.esriSystem.Array();
            IEnvelope envelope = ipoint_0.Envelope;

            envelope.Width  = double_0;
            envelope.Height = double_0;
            envelope.CenterAt(ipoint_0);
            if ((ilayer_1 == null ? true : identifyTypeEnum_1 != IdentifyTypeEnum.enumITCurrentLayer))
            {
                UID uIDClass = new UID()
                {
                    Value = "{6CA416B1-E160-11D2-9F4E-00C04F6BC78E}"
                };
                IEnumLayer     layers             = ibasicMap_0.Layers[uIDClass, true];
                ISpatialFilter spatialFilterClass = new SpatialFilter()
                {
                    Geometry   = envelope,
                    SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects
                };
                layers.Reset();
                ILayer layer = layers.Next();
                bool   flag1 = false;
                while (layer != null)
                {
                    if (layer is IFeatureLayer)
                    {
                        IFeatureLayer featureLayer = layer as IFeatureLayer;
                        if (!(featureLayer.FeatureClass == null ? false : featureLayer.Visible))
                        {
                            layer = layers.Next();
                        }
                        else if (((featureLayer.FeatureClass as IDataset).Workspace as IWorkspaceEdit).IsBeingEdited())
                        {
                            if (identifyTypeEnum_1 == IdentifyTypeEnum.enumITSelectableLayer)
                            {
                                if (!(layer as IFeatureLayer).Selectable)
                                {
                                    layer = layers.Next();
                                    continue;
                                }
                            }
                            else if (identifyTypeEnum_1 == IdentifyTypeEnum.enumITTopLayer)
                            {
                                flag1 = true;
                            }
                            try
                            {
                                IdentifyHelper.IdentifyLayer(ibasicMap_0, layer, envelope, iarray_0);
                            }
                            catch (Exception exception)
                            {
                                Logger.Current.Error("", exception, "");
                            }
                            if (flag1)
                            {
                                break;
                            }
                            layer = layers.Next();
                        }
                        else
                        {
                            layer = layers.Next();
                        }
                    }
                    else
                    {
                        layer = layers.Next();
                    }
                }
                flag = true;
            }
            else
            {
                flag = IdentifyHelper.IdentifyLayer(ibasicMap_0, ilayer_1, envelope, iarray_0);
            }
            return(flag);
        }