// // KMAlignmentController.swift // PDF Reader Pro // // Created by tangchao on 2024/7/10. // import Cocoa class KMAlignmentController: NSViewController { @IBOutlet weak var box1: NSBox! @IBOutlet weak var box2: NSBox! @IBOutlet weak var box3: NSBox! @IBOutlet weak var box4: NSBox! private var vc1_: KMDesignButton? private var vc2_: KMDesignButton? private var vc3_: KMDesignButton? private var vc4_: KMDesignButton? var itemAction: KMCommonClickBlock? private var isHor_ = false var isHor: Bool { get { return self.isHor_ } } private var areaCount_ : Int = 0 var areaCount: Int { get { return self.areaCount_ } } deinit { KMPrint("KMAlignmentController deinit.") } convenience init(withIsHor isHor: Bool, areaCount: Int) { self.init(nibName: "KMAlignmentController", bundle: nil) self.isHor_ = isHor self.areaCount_ = areaCount } override func viewDidLoad() { super.viewDidLoad() self.view.wantsLayer = true self.view.layer?.backgroundColor = .white self.vc1_ = KMDesignButton(withType: .Image) self.box1.contentView = self.vc1_!.view self.box1.borderWidth = 0 self.vc1_?.pagination() self.vc1_?.target = self self.vc1_?.action = #selector(_itemClick) if self.isHor { self.vc1_?.image = NSImage(named: "KMImageNameEditPDFImage45_1")! } else { self.vc1_?.image = NSImage(named: "KMImageNameEditPDFImage48_1")! } self.vc1_?.tag = 0 self.vc2_ = KMDesignButton(withType: .Image) self.box2.contentView = self.vc2_!.view self.box2.borderWidth = 0 self.vc2_?.pagination() self.vc2_?.target = self self.vc2_?.action = #selector(_itemClick) if self.isHor { self.vc2_?.image = NSImage(named: "KMImageNameEditPDFImage46_1")! } else { self.vc2_?.image = NSImage(named: "KMImageNameEditPDFImage49_1")! } self.vc2_?.tag = 1 self.vc3_ = KMDesignButton(withType: .Image) self.box3.contentView = self.vc3_!.view self.box3.borderWidth = 0 self.vc3_?.pagination() self.vc3_?.target = self self.vc3_?.action = #selector(_itemClick) if self.isHor { self.vc3_?.image = NSImage(named: "KMImageNameEditPDFImage47_1")! } else { self.vc3_?.image = NSImage(named: "KMImageNameEditPDFImage50_1")! } self.vc3_?.tag = 2 self.vc4_ = KMDesignButton(withType: .Image) self.box4.contentView = self.vc4_!.view self.box4.borderWidth = 0 self.vc4_?.pagination() self.vc4_?.target = self self.vc4_?.action = #selector(_itemClick) if self.isHor { // KMImageNameEditPDFImage21 self.vc4_?.image = NSImage(named: "KMImageNameEditPDFImage21_1")! self.vc4_?._image_disabled = NSImage(named: "KMImageNameEditPDFImage21")! } else { // KMImageNameEditPDFImage20 self.vc4_?.image = NSImage(named: "KMImageNameEditPDFImage20_1")! self.vc4_?._image_disabled = NSImage(named: "KMImageNameEditPDFImage20")! } self.vc4_?.tag = 3 self.vc4_?.state = self.areaCount > 2 ? .Norm : .Disabled self.vc4_?.button.isEnabled = self.areaCount > 2 self.reloadData() } @objc private func _itemClick(_ sender: NSButton) { self.itemAction?(sender.tag) } func reloadData() { if KMAppearance.isDarkMode() { self.view.layer?.backgroundColor = KMAppearance.Layout.l0Color().cgColor self.vc1_?.background_hov = NSColor(red: 71/255, green: 72/255, blue: 75/255, alpha: 1) self.vc2_?.background_hov = NSColor(red: 71/255, green: 72/255, blue: 75/255, alpha: 1) self.vc3_?.background_hov = NSColor(red: 71/255, green: 72/255, blue: 75/255, alpha: 1) self.vc4_?.background_hov = NSColor(red: 71/255, green: 72/255, blue: 75/255, alpha: 1) } else { self.view.layer?.backgroundColor = .white self.vc1_?.background_hov = NSColor(red: 237/255, green: 238/255, blue: 240/255, alpha: 1) self.vc2_?.background_hov = NSColor(red: 237/255, green: 238/255, blue: 240/255, alpha: 1) self.vc3_?.background_hov = NSColor(red: 237/255, green: 238/255, blue: 240/255, alpha: 1) self.vc4_?.background_hov = NSColor(red: 237/255, green: 238/255, blue: 240/255, alpha: 1) } } }