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(); } }
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; }
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; } }
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); }
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); }