using ComPDFKitViewer.AnnotEvent;
using ComPDFKitViewer.PdfViewer;
using PDF_Office.Model;
using Prism.Mvvm;
using Prism.Regions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;

namespace PDF_Office.ViewModels.Form
{
    public class SignPropertyViewModel : FormBaseVM, INavigationAware
    {
        #region 属性

        #endregion

        #region Command

        #endregion

        #region 变量
        private CPDFViewer PDFViewer;
        private WidgetSignArgs signArgs;
        #endregion

        #region 初始化
        public SignPropertyViewModel()
        {
            InitVariable();
            InitCommand();
        }

        private void InitVariable()
        {

        }

        private void InitCommand()
        {
            ChangeValueHandler -= ChangeValue;
            ChangeValueHandler += ChangeValue;
        }

        #endregion


        #region 一般处理

        #endregion

        #region 外观处理

        #endregion

        #region 选项处理

        #endregion

        #region Navegation
        public bool IsNavigationTarget(NavigationContext navigationContext)
        {
            return true;
        }

        public void OnNavigatedFrom(NavigationContext navigationContext)
        {
            signArgs = null;
        }

        public void OnNavigatedTo(NavigationContext navigationContext)
        {
            navigationContext.Parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out PDFViewer);
            navigationContext.Parameters.TryGetValue<WidgetSignArgs>("WidgetArgs", out signArgs);

            GetWidgeText();
        }

        private void GetWidgeText()
        {
            PDFViewer.SetMouseMode(MouseModes.FormEditTool);

            if (signArgs == null)
            {
                signArgs = new WidgetSignArgs();
                signArgs.LineWidth = 1;
                signArgs.LineColor = Colors.Black;
                PDFViewer.SetToolParam(signArgs);
            }
            else
            {
                PDFViewer.SetToolParam(new AnnotHandlerEventArgs());
            }

        }

        //更改基类公共属性后，触发的事件
        private void ChangeValue(object sender, FormAttributeType e)
        {
            switch (e)
            {
                case FormAttributeType.Name:
                    break;

                case FormAttributeType.ToolTip:

                    break;

                case FormAttributeType.IsSolid:
                    break;

                case FormAttributeType.IsLocked:
                    break;

                case FormAttributeType.HeightSize:
                    break;

                case FormAttributeType.BorderThiness:
                    break;

                case FormAttributeType.BorderColor:
                    break;

                case FormAttributeType.ContentColor:
                    break;

                case FormAttributeType.IsReadOnly:
                    break;

                case FormAttributeType.WidthSize:
                    break;

                case FormAttributeType.IsRequiredField:
                    break;

            }

        }
        #endregion
    }
}
