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 ComboxPropertyViewModel : FormBaseVM, INavigationAware
    {
        #region 属性

        #region 选项
        //排序项目
        private bool _isSortProject = false;
        public bool IsSortProject
        {
            get { return _isSortProject; }
            set { SetProperty(ref _isSortProject, value); }
        }
        //允许用户输入自定义文本
        private bool _isAllowInOutText = false;
        public bool IsAllowInOutText
        {
            get { return _isAllowInOutText; }
            set { SetProperty(ref _isAllowInOutText, value); }
        }
        #endregion

        #endregion

        #region Command

        #endregion

        #region 变量
        private CPDFViewer PDFViewer;
        private WidgetComboBoxArgs comboBoxArgs;
        #endregion

        #region 初始化
        public ComboxPropertyViewModel()
        {
            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)
        {
            comboBoxArgs = null;
        }

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

            GetWidgeText();
        }

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

            if (comboBoxArgs == null)
            {
                comboBoxArgs = new WidgetComboBoxArgs();
                comboBoxArgs.BgColor = Colors.White;
                comboBoxArgs.FontFamily = "Courier New";
                comboBoxArgs.FontSize = 12;
                comboBoxArgs.FontColor = Colors.Black;
                comboBoxArgs.LineColor = Colors.Black;
                comboBoxArgs.LineWidth = 1;
                comboBoxArgs.FieldName = "ComBox";
                PDFViewer.SetToolParam(comboBoxArgs);
            }
            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
    }
}
