//
//  KMDesignBase.swift
//  PDF Master
//
//  Created by wanjun on 2023/2/24.
//

import Cocoa

@objcMembers class KMDesignBase: NSViewController {
    
    var borderColor             : NSColor = .clear // 边框颜色
    var borderColor_hov         : NSColor = .clear // 边框颜色
    var borderColor_sel         : NSColor = .clear // 边框颜色
    var borderColor_act         : NSColor = .clear // 边框颜色
    var borderColor_disabled    : NSColor = .clear // 边框颜色
    var borderColor_custom      : NSColor = .clear // 边框颜色
    var borderColor_none        : NSColor = .clear // 边框颜色
    var borderColor_change      : NSColor = .clear // 边框颜色
    var borderColor_focus       : NSColor = .clear // 边框颜色
    var borderColor_errordef    : NSColor = .clear // 边框颜色
    var borderColor_errorfocus  : NSColor = .clear // 边框颜色
    var borderColor_checked     : NSColor = .clear // 边框颜色
    var borderColor_checkeddis  : NSColor = .clear // 边框颜色
    var cornerRadius            : Float = 0.0 // 边框圆角
    var cornerRadius_hov        : Float = 0.0 // 边框圆角
    var cornerRadius_sel        : Float = 0.0 // 边框圆角
    var cornerRadius_act        : Float = 0.0 // 边框圆角
    var cornerRadius_disabled   : Float = 0.0 // 边框圆角
    var cornerRadius_custom     : Float = 0.0 // 边框圆角
    var cornerRadius_none       : Float = 0.0 // 边框圆角
    var cornerRadius_change     : Float = 0.0 // 边框圆角
    var cornerRadius_focus      : Float = 0.0 // 边框圆角
    var cornerRadius_errordef   : Float = 0.0 // 边框圆角
    var cornerRadius_errorfocus : Float = 0.0 // 边框圆角
    var cornerRadius_checked    : Float = 0.0 // 边框圆角
    var cornerRadius_checkeddis : Float = 0.0 // 边框圆角
    var borderWidth             : Float = 1.0 // 边框宽度
    var borderWidth_hov         : Float = 1.0 // 边框宽度
    var borderWidth_sel         : Float = 1.0 // 边框宽度
    var borderWidth_act         : Float = 1.0 // 边框宽度
    var borderWidth_disabled    : Float = 1.0 // 边框宽度
    var borderWidth_custom      : Float = 1.0 // 边框宽度
    var borderWidth_none        : Float = 1.0 // 边框宽度
    var borderWidth_change      : Float = 1.0 // 边框宽度
    var borderWidth_focus       : Float = 1.0 // 边框宽度
    var borderWidth_errordef    : Float = 1.0 // 边框宽度
    var borderWidth_errorfocus  : Float = 1.0 // 边框宽度
    var borderWidth_checked     : Float = 1.0 // 边框宽度
    var borderWidth_checkeddis  : Float = 1.0 // 边框宽度
    var background              : NSColor = .clear // 背景颜色
    var background_hov          : NSColor = .clear // 背景颜色
    var background_sel          : NSColor = .clear // 背景颜色
    var background_act          : NSColor = .clear // 背景颜色
    var background_disabled     : NSColor = .clear // 背景颜色
    var background_custom       : NSColor = .clear // 背景颜色
    var background_none         : NSColor = .clear // 背景颜色
    var background_change       : NSColor = .clear // 背景颜色
    var background_focus        : NSColor = .clear // 背景颜色
    var background_errordef     : NSColor = .clear // 背景颜色
    var background_errorfocus   : NSColor = .clear // 背景颜色
    var background_checked      : NSColor = .clear // 背景颜色
    var background_checked_dis  : NSColor = .clear // 背景颜色
    var textColor               : NSColor = .black // 内容颜色
    var textColor_hov           : NSColor = .black // 内容颜色
    var textColor_sel           : NSColor = .black // 内容颜色
    var textColor_act           : NSColor = .black // 内容颜色
    var textColor_disabled      : NSColor = .black // 内容颜色
    var textColor_custom        : NSColor = .black // 内容颜色
    var textColor_none          : NSColor = .black // 内容颜色
    var textColor_change        : NSColor = .black // 内容颜色
    var textColor_focus         : NSColor = .black // 内容颜色
    var textColor_errordef      : NSColor = .black // 内容颜色
    var textColor_errorfocus    : NSColor = .black // 内容颜色
    var textColor_checked       : NSColor = .black // 内容颜色
    var textColor_checkeddis    : NSColor = .black // 内容颜色
    var lineHeight              : CGFloat = 20.0 // 默认 内容行高
    var lineHeight_hov          : CGFloat = 20.0 // 默认 内容行高
    var lineHeight_sel          : CGFloat = 20.0 // 默认 内容行高
    var lineHeight_act          : CGFloat = 20.0 // 默认 内容行高
    var lineHeight_disabled     : CGFloat = 20.0 // 默认 内容行高
    var lineHeight_custom       : CGFloat = 20.0 // 默认 内容行高
    var lineHeight_none         : CGFloat = 20.0 // 默认 内容行高
    var lineHeight_change       : CGFloat = 20.0 // 默认 内容行高
    var lineHeight_focus        : CGFloat = 20.0 // 默认 内容行高
    var lineHeight_errordef     : CGFloat = 20.0 // 默认 内容行高
    var lineHeight_errorfocus   : CGFloat = 20.0 // 默认 内容行高
    var lineHeight_checked      : CGFloat = 20.0 // 默认 内容行高
    var lineHeight_checkeddis   : CGFloat = 20.0 // 默认 内容行高
    var font            : NSFont = NSFont.systemFont(ofSize: 14.0) // 内容字体
    var font_hov        : NSFont = NSFont.systemFont(ofSize: 14.0) // 内容字体
    var font_sel        : NSFont = NSFont.systemFont(ofSize: 14.0) // 内容字体
    var font_act        : NSFont = NSFont.systemFont(ofSize: 14.0) // 内容字体
    var font_disabled   : NSFont = NSFont.systemFont(ofSize: 14.0) // 内容字体
    var font_custom     : NSFont = NSFont.systemFont(ofSize: 14.0) // 内容字体
    var font_none       : NSFont = NSFont.systemFont(ofSize: 14.0) // 内容字体
    var font_change     : NSFont = NSFont.systemFont(ofSize: 14.0) // 内容字体
    var font_focus      : NSFont = NSFont.systemFont(ofSize: 14.0) // 内容字体
    var font_errordef   : NSFont = NSFont.systemFont(ofSize: 14.0) // 内容字体
    var font_errorfocus : NSFont = NSFont.systemFont(ofSize: 14.0) // 内容字体
    var font_checked    : NSFont = NSFont.systemFont(ofSize: 14.0) // 内容字体
    var font_checkeddis : NSFont = NSFont.systemFont(ofSize: 14.0) // 内容字体
    
    var stringValue: String = ""// 内容
    var _toolTip: String = "" // 提示文字

    // button 通用属性
    var _action: Selector?   // 点击事件
    weak var _target: AnyObject? // 对象目标
    var _enabled: Bool = true // 是否可点击
    var _state: KMDesignTokenState = .Norm
    var canHover: Bool = true // 是否可悬浮
    var _isHidden: Bool = false // 是否隐藏
    var editable: Bool = false //是否允许编辑

    var _image: NSImage = NSImage(named: "KMFileIcon")!
    var _image_hov: NSImage?
    var _image_act: NSImage?
    var _image_disabled: NSImage?
    var _image_sel: NSImage?
    var _image_checked: NSImage?
    var _image_checkeddis: NSImage?

    var buttonType: DesignButtonType = .Text

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do view setup here.
    }
}