123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277 |
- //
- // KMDesignButton.swift
- // PDF Reader Pro
- //
- // Created by wanjun on 2023/2/18.
- //
- import Cocoa
- @objc enum DesignButtonType : Int {
- case Text = 0 // 纯文本按钮
- case Image // 纯图片按钮
- case TextImage // 文本+图片按钮,区分图片在上左下右位置
- case PopUpButton // PopUp按钮
- case RadioButton // 单选按钮
- case CheckBox // 多选按钮
- }
- @objcMembers class KMDesignButton: KMDesignBase {
-
- @IBOutlet weak var mainBox: NSBox!
- @IBOutlet weak var button : NSButton!
-
- // Text
- @IBOutlet weak var textButtonBox: NSBox!
- @IBOutlet weak var textButtonlabel : NSTextField!
-
- // Image
- @IBOutlet weak var imageButtonBox: NSBox!
- @IBOutlet weak var imageView1: NSImageView!
- // TextImage
- @IBOutlet weak var textImageButtonBox: NSBox!
- @IBOutlet weak var textImage_upView: NSView!
- @IBOutlet weak var textImage_leftView: NSView!
- @IBOutlet weak var textImage_downView: NSView!
- @IBOutlet weak var textImage_rightView: NSView!
- @IBOutlet weak var textImage_upImageView: NSImageView!
- @IBOutlet weak var textImage_leftImageView: NSImageView!
- @IBOutlet weak var textImage_downImageView: NSImageView!
- @IBOutlet weak var textImage_rightImageView: NSImageView!
- @IBOutlet weak var textImage_upTextfield: NSTextField!
- @IBOutlet weak var textImage_leftTextfield: NSTextField!
- @IBOutlet weak var textImage_downTextfield: NSTextField!
- @IBOutlet weak var textImage_rightTextfield: NSTextField!
- @IBOutlet weak var textImage_upPadding_spacing: NSLayoutConstraint!
- @IBOutlet weak var textImage_upImageHeight: NSLayoutConstraint!
- @IBOutlet weak var textImage_upImageWidth: NSLayoutConstraint!
- @IBOutlet weak var textImage_upItem_spacing: NSLayoutConstraint!
- @IBOutlet weak var textImage_leftPadding_spacing: NSLayoutConstraint!
- @IBOutlet weak var textImage_leftImageHeight: NSLayoutConstraint!
- @IBOutlet weak var textImage_leftImageWidth: NSLayoutConstraint!
- @IBOutlet weak var textImage_leftItem_spacing: NSLayoutConstraint!
- @IBOutlet weak var textImage_downPadding_spacing: NSLayoutConstraint!
- @IBOutlet weak var textImage_downImageHeight: NSLayoutConstraint!
- @IBOutlet weak var textImage_downImageWidth: NSLayoutConstraint!
- @IBOutlet weak var textImage_downItem_spacing: NSLayoutConstraint!
- @IBOutlet weak var textImage_rightPadding_spacing: NSLayoutConstraint!
- @IBOutlet weak var textImage_rightImageHeight: NSLayoutConstraint!
- @IBOutlet weak var textImage_rightImageWidth: NSLayoutConstraint!
- @IBOutlet weak var textImage_rightItem_spacing: NSLayoutConstraint!
-
- @IBOutlet weak var radioButton_imageView: NSImageView!
- @IBOutlet weak var radioButton_label: NSTextField!
-
- @IBOutlet weak var radio_label_spacing: NSLayoutConstraint!
- @IBOutlet weak var radio_imageViewWidth: NSLayoutConstraint!
- @IBOutlet weak var radio_imageViewHeight: NSLayoutConstraint!
-
- @IBOutlet weak var mainBoxHeight : NSLayoutConstraint! // mainBox 高度约束
- @IBOutlet weak var mainBoxWidth : NSLayoutConstraint! // mainBox 宽度约束
- var height: Float = 32.0 // 高度
- var width: Float = 80.0 // 宽度
-
- var textImage_imageWidth: Float = 20.0// 图片宽度
- var textImage_imageHeight: Float = 20.0// 图片高度
- var textImage_paddingSpacing: Float = 16.0
- var textImage_itemSpacing: Float = 8.0
-
- // var image: NSImage = NSImage(named: "KMRadioButtonUnSelect")! // imageView 图片
- var radio_imageWidth = 16.0 // 图片宽度
- var radio_imageHeight = 16.0 // 图片高度
- var radio_label = 8.0 // imageView、label 水平间距
-
-
- var ignoreDisabledImage = false
-
- var tag: Int = 0 {
- didSet {
- self.button.tag = self.tag
- }
- }
-
- init(withType type: DesignButtonType) {
- super.init(nibName: "KMDesignButton", bundle: nil)
- self.buttonType = type
- }
-
- required init?(coder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do view setup here.
-
- }
-
- // MARK: Get、Set
-
- var action: Selector {
- get {
- return _action!
- }
- set {
- _action = newValue
- if _action != nil {
- button.action = _action
- }
- }
- }
-
- var target: AnyObject {
- get {
- return _target!
- }
- set {
- _target = newValue
- if _target != nil {
- button.target = _target
- }
- }
- }
-
- var state: KMDesignTokenState = .Norm
-
- var enabled: Bool {
- get {
- return _enabled
- }
- set {
- _enabled = newValue
- self.button.isEnabled = _enabled
- if _enabled {
- state = .Norm
- } else {
- state = .Disabled
- }
- updateUI()
- }
- }
-
- var isHidden: Bool {
- get {
- return _isHidden
- }
- set {
- _isHidden = newValue
- self.view.isHidden = _isHidden
- }
- }
- var image: NSImage {
- get {
- return _image
- }
- set {
- _image = newValue
- updateUI()
- }
- }
-
- var image_hov: NSImage {
- get {
- if _image_hov == nil {
- return _image
- }
- return _image_hov!
- }
- set {
- _image_hov = newValue
- updateUI()
- }
- }
-
- var image_act: NSImage {
- get {
- if _image_act == nil {
- return _image
- }
- return _image_act!
- }
- set {
- _image_act = newValue
- updateUI()
- }
- }
-
- var image_disabled: NSImage {
- get {
- if self.ignoreDisabledImage {
- return _image
- }
- if _image_disabled == nil {
- return _image
- }
- return _image_disabled!
- }
- set {
- _image_disabled = newValue
- updateUI()
- }
- }
-
- var image_sel: NSImage {
- get {
- if (_image_sel == nil) {
- _image_sel = image
- }
- return _image_sel!
- }
- set {
- _image_sel = newValue
- updateUI()
- }
- }
-
- var image_checked: NSImage {
- get {
- if (_image_checked == nil) {
- _image_checked = image
- }
- return _image_checked!
- }
- set {
- _image_checked = newValue
- updateUI()
- }
- }
-
- var image_checkeddis: NSImage {
- get {
- if (_image_checkeddis == nil) {
- _image_checkeddis = image
- }
- return _image_checkeddis!
- }
- set {
- _image_checkeddis = newValue
- updateUI()
- }
- }
-
- var toolTip: String {
- get {
- return _toolTip
- }
- set {
- _toolTip = newValue
- if _toolTip != "" {
- button.toolTip = _toolTip
- }
- }
- }
-
- // MARK: Private Methods
- func updateUI() -> Void {
-
- }
- }
- extension KMDesignButton {
- func initDefaultValue() {
-
- }
- }
|