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