CloverBootloader/CloverApp/Clover/Plist Editor/Views/PETableCellViewPop.swift

67 lines
2.5 KiB
Swift
Raw Normal View History

/*
* vector sigma (https://github.com/vectorsigma72)
* Copyright 2020 vector sigma All Rights Reserved.
*
* The source code contained or described herein and all documents related
* to the source code ("Material") are owned by vector sigma.
* Title to the Material remains with vector sigma or its suppliers and licensors.
* The Material is proprietary of vector sigma and is protected by worldwide copyright.
* No part of the Material may be used, copied, reproduced, modified, published,
* uploaded, posted, transmitted, distributed, or disclosed in any way without
* vector sigma's prior express written permission.
*
* No license under any patent, copyright, trade secret or other intellectual
* property right is granted to or conferred upon you by disclosure or delivery
* of the Materials, either expressly, by implication, inducement, estoppel or
* otherwise. Any license under such intellectual property rights must be
* express and approved by vector sigma in writing.
*
* Unless otherwise agreed by vector sigma in writing, you may not remove or alter
* this notice or any other notice embedded in Materials by vector sigma in any way.
*
* The license is granted for the CloverBootloader project (i.e. https://github.com/CloverHackyColor/CloverBootloader)
* and all the users as long as the Material is used only within the
* source code and for the exclusive use of CloverBootloader, which must
* be free from any type of payment or commercial service for the license to be valid.
*/
import Cocoa
//MARK: PETableCellViewPop (NSTableCellView)
@available(OSX 10.10, *)
final class PETableCellViewPop: NSTableCellView {
var type : PETableCellViewType = .tags
@IBOutlet var popup : PEPopUpButton!
override init(frame frameRect: NSRect) {
super.init(frame:frameRect)
self.wantsLayer = true
self.canDrawSubviewsIntoLayer = true
self.canDrawConcurrently = AppSD.canDrawConcurrently
}
required init(coder: NSCoder) {
super.init(coder: coder)!
}
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
}
func setup(with type: PETableCellViewType, outline: PEOutlineView) {
self.type = type
self.popup.outline = outline
self.popup.target = self.popup?.outline?.editorVC
switch self.type {
case .bool:
self.popup.action = #selector(self.popup.outline!.editorVC!.boolPopUpPressed)
case .tags:
self.popup.action = #selector(self.popup.outline!.editorVC!.typePopUpPressed)
case .value: fallthrough
case .key:
break // not here
}
}
}