using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ESRI.ArcGIS.ADF.BaseClasses; using ESRI.ArcGIS.Controls; using KGIS.Framework.EngineEditor; using KGIS.Framework.Utils.Helper; namespace Kingo.Plugin.EngineEditor.Commands { public class OpenTraceCmd : BaseCommand { IEngineEditor m_pEditor; public override void OnCreate(object hook) { m_pEditor = new EngineEditorClass(); } public override bool Checked => EditorSettingClass.Instance.IsTraceing; public override void OnClick() { EditorSettingClass.Instance.IsTraceing = !Checked; base.OnClick(); } public override bool Enabled { get { if (m_pEditor == null) { return false; } if (m_pEditor.EditState != esriEngineEditState.esriEngineStateEditing) { return false; } if ((m_pEditor as EngineEditorClass).TargetLayer == null) { return false; } return true; } } } }