// // KMBatchOperateRightViewController.swift // PDF Reader Pro // // Created by kdanmobile on 2023/10/26. // import Cocoa class KMBatchOperateRightViewController: NSViewController{ lazy var compressViewController: KMBatchOperateCompressViewController? = { let vc = KMBatchOperateCompressViewController(files: self.files) vc.operateType = .Compress return vc }() lazy var convertViewController: KMBatchOperateConvertViewController? = { let vc = KMBatchOperateConvertViewController(files: self.files) vc.operateType = .Convert return vc }() lazy var addWatermarkViewController: KMBatchOperateAddWatermarkViewController? = { let vc = KMBatchOperateAddWatermarkViewController(files: self.files) vc.operateType = .AddWatermark vc.isBatchOperation = true return vc }() lazy var removeWatermarkViewController: KMBatchOperateRemoveWatermarkViewController? = { let vc = KMBatchOperateRemoveWatermarkViewController(files: self.files) vc.operateType = .RemoveWatermark return vc }() lazy var addBackgroundViewController: KMBatchOperateAddWatermarkViewController? = { let vc = KMBatchOperateAddWatermarkViewController(files: self.files) vc.operateType = .AddBackground vc.isBatchOperation = true vc.isBackground = true return vc }() lazy var removeBackgroundViewController: KMBatchOperateRemoveWatermarkViewController? = { let vc = KMBatchOperateRemoveWatermarkViewController(files: self.files) vc.operateType = .RemoveBackground vc.isBackground = true return vc }() lazy var addHeaderFooterViewController: KMBatchOperateAddHeaderFooterViewController? = { let vc = KMBatchOperateAddHeaderFooterViewController(files: self.files) vc.operateType = .AddHeaderFooter vc.isBatchOperation = true return vc }() lazy var addBatesViewController: KMBatchOperateAddHeaderFooterViewController? = { let vc = KMBatchOperateAddHeaderFooterViewController(files: self.files) vc.operateType = .AddBates vc.isBates = true vc.isBatchOperation = true return vc }() lazy var removeHeaderFooterViewController: KMBatchOperateRemoveHeaderFooterViewController? = { let vc = KMBatchOperateRemoveHeaderFooterViewController(files: self.files) vc.operateType = .RemoveHeaderFooter vc.isBates = false return vc }() lazy var removeBatesViewController: KMBatchOperateRemoveHeaderFooterViewController? = { let vc = KMBatchOperateRemoveHeaderFooterViewController(files: self.files) vc.operateType = .RemoveBates vc.isBates = true return vc }() lazy var addPasswordViewController: KMBatchOperateAddPasswordViewController? = { let vc = KMBatchOperateAddPasswordViewController(files: self.files) vc.operateType = .AddPassword return vc }() lazy var removePasswordViewController: KMBatchOperateRemovePasswordViewController? = { let vc = KMBatchOperateRemovePasswordViewController(files: self.files) vc.operateType = .RemovePassword return vc }() lazy var imageToPDFViewController: KMBatchOperateImageToPDFViewController? = { let vc = KMBatchOperateImageToPDFViewController(files: self.files) vc.operateType = .CreatePDF return vc }() var _currentType: KMBatchOperationType? var currentType: KMBatchOperationType?{ get{ return _currentType } set{ if _currentType != newValue{ _currentType = newValue for i in 0..<self.view.subviews.count { let v = self.view.subviews[i] v.removeFromSuperview() } if newValue == .Convert { self.view.addSubview(self.convertViewController!.view) self.convertViewController?.view.mas_makeConstraints({ make in make?.edges.equalTo()(self.view) }) } else if _currentType == .AddWatermark { self.view.addSubview(self.addWatermarkViewController!.view) self.addWatermarkViewController?.view.mas_makeConstraints({ make in make?.edges.equalTo()(self.view) }) } else if _currentType == .RemoveWatermark { self.view.addSubview(self.removeWatermarkViewController!.view) self.removeWatermarkViewController?.view.mas_makeConstraints({ make in make?.edges.equalTo()(self.view) }) } else if _currentType == .AddBackground { self.view.addSubview(self.addBackgroundViewController!.view) self.addBackgroundViewController?.view.mas_makeConstraints({ make in make?.edges.equalTo()(self.view) }) } else if _currentType == .RemoveBackground { self.view.addSubview(self.removeBackgroundViewController!.view) self.removeBackgroundViewController?.view.mas_makeConstraints({ make in make?.edges.equalTo()(self.view) }) } else if _currentType == .AddHeaderFooter { self.view.addSubview(self.addHeaderFooterViewController!.view) self.addHeaderFooterViewController?.view.mas_makeConstraints({ make in make?.edges.equalTo()(self.view) }) } else if _currentType == .RemoveHeaderFooter { self.view.addSubview(self.removeHeaderFooterViewController!.view) self.removeHeaderFooterViewController?.view.mas_makeConstraints({ make in make?.edges.equalTo()(self.view) }) } else if _currentType == .AddBates { self.view.addSubview(self.addBatesViewController!.view) self.addBatesViewController?.view.mas_makeConstraints({ make in make?.edges.equalTo()(self.view) }) } else if _currentType == .RemoveBates { self.view.addSubview(self.removeBatesViewController!.view) self.removeBatesViewController?.view.mas_makeConstraints({ make in make?.edges.equalTo()(self.view) }) } else if _currentType == .AddPassword { self.view.addSubview(self.addPasswordViewController!.view) self.addPasswordViewController?.view.mas_makeConstraints({ make in make?.edges.equalTo()(self.view) }) } else if _currentType == .RemovePassword { self.view.addSubview(self.removePasswordViewController!.view) self.removePasswordViewController?.view.mas_makeConstraints({ make in make?.edges.equalTo()(self.view) }) } else if _currentType == .Compress { self.view.addSubview(self.compressViewController!.view) self.compressViewController?.view.mas_makeConstraints({ make in make?.edges.equalTo()(self.view) }) } else if _currentType == .CreatePDF { self.view.addSubview(self.imageToPDFViewController!.view) self.imageToPDFViewController?.view.mas_makeConstraints({ make in make?.edges.equalTo()(self.view) }) } } } } var files: [KMBatchOperateFile] = [] override func viewDidLoad() { super.viewDidLoad() } func switchToOperateType(operateType: KMBatchOperationType, files: [KMBatchOperateFile]) { self.files = files self.imageToPDFViewController?.files = self.files self.currentType = operateType } func switchToOperateType(operateType: KMBatchOperationType) { self.currentType = operateType } func switchToConvertType(_ convertType: KMConvertWithPDFType) { if self.currentType == .Convert { self.convertViewController?.switchToConvertType(convertType) } } func watermarkInterfaceSelectWatermark(_ watermark: KMWatermarkModel) { if self.currentType == .AddWatermark { self.addWatermarkViewController?.watermarkInterfaceSelectWatermark(watermark) } } func backgroundInterfaceSelectBackground(_ background: KMBackgroundModel) { if self.currentType == .AddBackground { self.addBackgroundViewController?.backgroundInterfaceSelectBackGround(background) } } func headerFooterInterfaceSelectHeaderFooter(_ headerFooter: KMHeaderFooterObject) { if self.currentType == .AddHeaderFooter { self.addHeaderFooterViewController?.headerFooterInterfaceSelectHeaderFooter(headerFooter: headerFooter) } } func batesInterfaceSelectBates(_ headerFooter: KMHeaderFooterObject) { if self.currentType == .AddBates { self.addHeaderFooterViewController?.headerFooterInterfaceSelectHeaderFooter(headerFooter: headerFooter) } } }