45 lines
1.1 KiB
Swift
45 lines
1.1 KiB
Swift
import Foundation
|
|
import AppKit
|
|
|
|
class ExportAccessoryView : NSView {
|
|
|
|
@IBOutlet weak var typeBox: NSPopUpButton!
|
|
|
|
var savePanel: NSSavePanel? = nil
|
|
|
|
func setSavePanel(_ savePanel: NSSavePanel?) {
|
|
self.savePanel = savePanel
|
|
}
|
|
|
|
@IBAction func changeFileFormat(_ sender: Any) {
|
|
switch(typeBox.indexOfSelectedItem) {
|
|
case 0:
|
|
savePanel?.allowedFileTypes = ["tiff"]
|
|
break
|
|
case 1:
|
|
savePanel?.allowedFileTypes = ["bmp"]
|
|
break
|
|
case 2:
|
|
savePanel?.allowedFileTypes = ["jpeg"]
|
|
break
|
|
case 3:
|
|
savePanel?.allowedFileTypes = ["png"]
|
|
break
|
|
case 4:
|
|
savePanel?.allowedFileTypes = ["psd"]
|
|
break
|
|
default:
|
|
break
|
|
}
|
|
}
|
|
}
|
|
|
|
extension NSView {
|
|
class func fromNib<T: NSView>() -> T? {
|
|
var topLevelObjects : NSArray?
|
|
guard Bundle.main.loadNibNamed("\(self)", owner: nil, topLevelObjects: &topLevelObjects) else {
|
|
return nil
|
|
}
|
|
return topLevelObjects!.first(where: { $0 is T }) as? T
|
|
}
|
|
}
|