|
|
|
|
using ESRI.ArcGIS.Carto;
|
|
|
|
|
using ESRI.ArcGIS.Controls;
|
|
|
|
|
using KGIS.Framework.Commands;
|
|
|
|
|
using KGIS.Framework.Maps;
|
|
|
|
|
using KGIS.Framework.Utils;
|
|
|
|
|
using KGIS.Framework.Utils.Helper;
|
|
|
|
|
using Kingo.Plugin.BoundaryReadjust.View;
|
|
|
|
|
using Kingo.PluginServiceInterface;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
|
|
|
|
namespace Kingo.Plugin.BoundaryReadjust.Commands
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 区划调整
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class CmdXZQAdjust : BaseMenuCommand
|
|
|
|
|
{
|
|
|
|
|
private EngineEditorClass pEditor = null;
|
|
|
|
|
private IHookHelper hookHelper = null;
|
|
|
|
|
UCRegionAdjust uCGJAndLMXAdjust = null;
|
|
|
|
|
IFeatureLayer JCDLTB_Layer = null;
|
|
|
|
|
public override void OnClick()
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
JCDLTB_Layer = MapsManager.Instance.MapService.GetFeatureLayerByLayerName("地类图斑");
|
|
|
|
|
//if (JCDLTB_Layer == null || JCDLTB_Layer.FeatureClass.FeatureCount(null) == 0)
|
|
|
|
|
if (JCDLTB_Layer == null)
|
|
|
|
|
{
|
|
|
|
|
MessageHelper.ShowTips("请先导入基础库数据!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (uCGJAndLMXAdjust == null)
|
|
|
|
|
{
|
|
|
|
|
uCGJAndLMXAdjust = new UCRegionAdjust
|
|
|
|
|
{
|
|
|
|
|
WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen
|
|
|
|
|
};
|
|
|
|
|
uCGJAndLMXAdjust.Closed += UCSetWorkCatalog_Closed;
|
|
|
|
|
}
|
|
|
|
|
uCGJAndLMXAdjust.ShowInMainWindow(false);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
LogAPI.Debug("区划调整初始化页面失败,失败信息如下;");
|
|
|
|
|
LogAPI.Debug(ex);
|
|
|
|
|
MessageHelper.ShowError(ex.Message);
|
|
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
{
|
|
|
|
|
if (JCDLTB_Layer != null)
|
|
|
|
|
Marshal.ReleaseComObject(JCDLTB_Layer);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void UCSetWorkCatalog_Closed(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
if (uCGJAndLMXAdjust != null)
|
|
|
|
|
uCGJAndLMXAdjust = null;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
LogAPI.Debug("在设置工作目录时发生异常,异常信息:" + ex.Message);
|
|
|
|
|
LogAPI.Debug(ex);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void OnCreate(object Hook)
|
|
|
|
|
{
|
|
|
|
|
if (hookHelper == null)
|
|
|
|
|
{
|
|
|
|
|
hookHelper = new HookHelperClass();
|
|
|
|
|
}
|
|
|
|
|
hookHelper.Hook = Hook;
|
|
|
|
|
pEditor = new EngineEditorClass();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否功能展示
|
|
|
|
|
/// </summary>
|
|
|
|
|
public override bool Enabled
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
ProjectInfo pTemp = (MapsManager.Instance.MapService.GetProjectInfo() as ProjectInfo);
|
|
|
|
|
if (pTemp == null)
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (string.IsNullOrWhiteSpace(pTemp.GetProjFilePath()))
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|