using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Controls; using KGIS.Framework.Commands; using KGIS.Framework.Maps; using KGIS.Framework.Platform; using KGIS.Framework.Utils; using KGIS.Framework.Utils.Helper; using KGIS.Framework.Utils.Interface; using KGIS.Framework.Views; using Kingo.PluginServiceInterface; using System; using System.Collections.Generic; using System.Linq; using UIShell.OSGi; using KUI.Windows; namespace Kingo.Plugin.DTBJK.Commands { public class CmdLoadJCTB : BaseMenuCommand { /// /// 监测图斑图层 /// private IFeatureLayer JCTBFeaLayer { get; set; } /// /// 监测数据下任意图层 /// private IFeatureLayer JCTBFeaLayerTemps { get; set; } /// ///变更范围图层 /// private IFeatureLayer BGFWFeaLayer { get; set; } /// /// 外业任务图层 /// private IFeatureLayer WyrwFeatureLayer { get; set; } /// /// 单图斑地类图斑变更 /// private IFeatureLayer DtbFeatureLayer { get; set; } private IHookHelper m_hookHelper { get; set; } private IElementInfo ucJCTBTree { get; set; } private IEngineEditor m_pEditor { get; set; } private IDockViewService _DockViewService = null; private IDockPanel2 _Panel = null; private IDataCatalogService _DataCatalog { get; set; } public override void OnClick() { try { if (_DockViewService == null) _DockViewService = BundleRuntime.Instance.GetFirstOrDefaultService(); if (_DockViewService == null) return; List _Elements = null; if (_Elements == null) _Elements = BundleRuntime.Instance.GetService(); if (_Elements == null) return; if (ucJCTBTree == null) ucJCTBTree = _Elements.FirstOrDefault(f => f.Title == "任务列表"); IFeatureLayer pJCDLTBTBFeatureLayer = MapsManager.Instance.MapService.GetFeatureLayerByName("JCTB"); if (pJCDLTBTBFeatureLayer == null || pJCDLTBTBFeatureLayer.FeatureClass == null) { MessageHelper.ShowTips("未找到监测图斑图层,请先创建变更数据库!"); return; } this.ShowLoading("任务列表数据加载中.......", 0, 0); _DockViewService.IsShowSaveButton = true; _DockViewService.Orientation = EnumOrientation.Vertical; _Panel = _DockViewService.InitView(); if (ucJCTBTree != null) { ucJCTBTree.AllowEdit = true; ucJCTBTree.IsShow = true; ucJCTBTree.BindData(null); _DockViewService.AddElement(ucJCTBTree); } _Panel.Title = "任务列表"; _Panel.DefaultArea = DockStyle.DockLeft; _Panel.DockAreas = DockStyle.DockLeft; _Panel.IsShowInMap = false; _Panel.DockWidth = 600; _Panel.DockHeight = 800; _Panel.ShowCloseButton = true; _Panel.CloseViewHandler += (s, e) => { ucJCTBTree.IsShow = false; _DockViewService.RemoveElement(ucJCTBTree); _Panel.ClosePanel(); }; _Panel.ShowPanel(); this.CloseLoading(); } catch (Exception ex) { LogAPI.Debug("在初始化 单图斑建库-CmdLoadJCTB 命令时异常,异常信息如下:"); LogAPI.Debug(ex); LogAPI.Debug("在初始化 单图斑建库-CmdLoadJCTB 命令时异常信息结束"); m_hookHelper = null; this.CloseLoading(); } } public override void OnCreate(object Hook) { try { if (m_hookHelper == null) m_hookHelper = new HookHelperClass(); if (m_pEditor == null) m_pEditor = new EngineEditorClass(); m_hookHelper.Hook = Hook; } catch (Exception ex) { LogAPI.Debug(ex); } } public override bool Enabled => false; } }