bc4c50b423
Also clean warnings.
46 lines
1.7 KiB
Swift
46 lines
1.7 KiB
Swift
//
|
|
// RoundedTextFieldCell.swift
|
|
// Cyberlock
|
|
//
|
|
// Created by Juraldinio on 8/31/19.
|
|
// Copyright © 2019 Omicronmedia. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import AppKit
|
|
|
|
final class RoundedTextFieldCell: NSTextFieldCell {
|
|
|
|
// swiftlint:disable unused_setter_value
|
|
override var wraps: Bool { get { return false } set {} }
|
|
|
|
override var isScrollable: Bool { get { return true } set {} }
|
|
// swiftlint:enable unused_setter_value
|
|
|
|
override func titleRect(forBounds rect: NSRect) -> NSRect {
|
|
var titleRect = super.titleRect(forBounds: rect)
|
|
let titleSize = self.attributedStringValue.size()
|
|
// Padding on left side
|
|
titleRect.origin.x = 10
|
|
// Padding on right side
|
|
titleRect.origin.y += (titleRect.size.height - titleSize.height) / 2.0 - 3.5
|
|
return titleRect
|
|
}
|
|
|
|
override func drawInterior(withFrame cellFrame: NSRect, in controlView: NSView) {
|
|
let titleRect = self.titleRect(forBounds: cellFrame)
|
|
super.drawInterior(withFrame: titleRect, in: controlView)
|
|
}
|
|
|
|
override func edit(withFrame rect: NSRect, in controlView: NSView, editor textObj: NSText, delegate: Any?, event: NSEvent?) {
|
|
let titleRect = self.titleRect(forBounds: rect)
|
|
super.edit(withFrame: titleRect, in: controlView, editor: textObj, delegate: delegate, event: event)
|
|
}
|
|
|
|
override func select(withFrame rect: NSRect, in controlView: NSView, editor textObj: NSText, delegate: Any?, start selStart: Int, length selLength: Int) {
|
|
let titleRect = self.titleRect(forBounds: rect)
|
|
super.select(withFrame: titleRect, in: controlView, editor: textObj, delegate: delegate, start: selStart, length: selLength)
|
|
}
|
|
|
|
}
|