using ESRI.ArcGIS.Controls;
using KGIS.Framework.Platform;
using KGIS.Framework.Utils.Helper;
using KGIS.Framework.Utils.Interface;
using KGIS.Framework.Views;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace Kingo.PlatformPlugin.View
{
    /// 
    /// DefaultDockView.xaml 的交互逻辑
    /// 
    public partial class DefaultDockView : UserControl, IDockPanel3
    {
        public Action BtnCallBack;
        public DefaultDockView()
        {
            InitializeComponent();
        }
        public bool IsShowInMap { get; set; }
        public Guid ID { get; set; }
        public DockStyle DockAreas { get; set; }
        public System.Drawing.Size FloatSize { get; set; }
        public int DockWidth { get; set; }
        public int DockHeight { get; set; }
        public DockStyle DefaultArea { get; set; }
        public bool ShowCloseButton { get; set; }
        public bool ShowAutoHideButton { get; set; }
        public string Title { get; set; }
        public bool IsDockToPanel { get; set; }
        public DockStyle DockToPanelStyle { get; set; }
        public event EventHandler CloseViewHandler;
        public void ClosePanel()
        {
            Platform.Instance.CloseView(this);
        }
        public void ClosePanelInvoke()
        {
            CloseViewHandler?.Invoke(this, null);
        }
        public void ShowPanel()
        {
            Platform.Instance.OpenView(this, false);
        }
        private void btnPrev_Click(object sender, RoutedEventArgs e)
        {
            BtnCallBack?.Invoke("Prev");
        }
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            IEngineEditor editor = new EngineEditorClass();
            if (editor.EditState != esriEngineEditState.esriEngineStateEditing)
            {
                MessageHelper.ShowTips("请开启编辑,再进行保存!");
                return;
            }
            BtnCallBack?.Invoke("SaveEdit");
        }
        private void btnNext_Click(object sender, RoutedEventArgs e)
        {
            //BtnCallBack?.Invoke("SaveEdit");
            BtnCallBack?.Invoke("Next");
        }
    }
}