You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.2 KiB

// Copyright © 2015 Abhishek Banthia
extension NSTextField {
func applyDefaultStyle() {
backgroundColor = NSColor.clear
isEditable = false
isBordered = false
allowsDefaultTighteningForTruncation = true
5 years ago
if #available(OSX 10.12.2, *) {
isAutomaticTextCompletionEnabled = false
allowsCharacterPickerTouchBarItem = false
}
}
5 years ago
func disableWrapping() {
usesSingleLineMode = false
cell?.wraps = false
cell?.isScrollable = true
}
}
extension NSFont {
func size(_ string: String, _ width: Double, attributes: [NSAttributedString.Key: AnyObject]) -> CGSize {
let size = CGSize(width: width,
height: Double.greatestFiniteMagnitude)
5 years ago
var otherAttributes: [NSAttributedString.Key: AnyObject] = [NSAttributedString.Key.font: self]
5 years ago
5 years ago
attributes.forEach { arg in let (key, value) = arg; otherAttributes[key] = value }
5 years ago
return NSString(string: string).boundingRect(with: size,
options: NSString.DrawingOptions.usesLineFragmentOrigin,
attributes: attributes).size
}
}