libui/redo/osxaltest/entry.swift

50 lines
1.4 KiB
Swift
Raw Normal View History

2015-08-07 01:04:05 -05:00
// 31 july 2015
import Cocoa
class tEntry : tControl {
private var b: NSButton
private var parent: tControl
private var horzpri, vertpri: NSLayoutPriority
init() {
2015-08-07 09:46:34 -05:00
self.t = NSTextField(frame: NSZeroRect)
2015-08-07 01:04:05 -05:00
self.t.selectable = true
self.t.font = NSFont.systemFontOfSize(NSFont.systemFontSizeForControlSize(NSRegularControlSize))
self.t.bordered = false
self.t.bezelStyle = NSTextFieldSquareBezel
self.t.bezeled = true
self.t.cell.lineBreakMode = NSLineBreakByClipping
self.t.cell.scrollable = true
self.t.translatesAutoresizingMaskIntoConstraints = false
self.parent = nil
2015-08-07 09:46:34 -05:00
self.horzpri = self.t.contentHuggingPriorityForOrientation(NSLayoutConstraintOrientation.Horizontal)
self.vertpri = self.t.contentHuggingPriorityForOrientation(NSLayoutConstraintOrientation.Vertical)
2015-08-07 01:04:05 -05:00
}
2015-08-07 09:46:34 -05:00
func tSetParent(p: tControl, addToView v: NSView) {
2015-08-07 01:04:05 -05:00
self.parent = p
v.addSubview(self.t)
}
2015-08-07 09:46:34 -05:00
func tFillAutoLayout(p: tAutoLayoutParams) {
2015-08-07 01:04:05 -05:00
// reset the hugging priority
2015-08-07 09:46:34 -05:00
self.t.setContentHuggingPriority(self.horzpri, forOrientation:NSLayoutConstraintOrientation.Horizontal)
self.t.setContentHuggingPriority(self.vertpri, forOrientation:NSLayoutConstraintOrientation.Vertical)
2015-08-07 01:04:05 -05:00
p.view = self.t
p.attachLeft = true
p.attachTop = true
p.attachRight = true
p.attachBottom = true
p.nonStretchyWidthPredicate = "(==96)" // TODO verify against Interface Builder
}
func tRelayout() {
2015-08-07 09:46:34 -05:00
if self.parent != nil {
2015-08-07 01:04:05 -05:00
self.parent.tRelayout()
}
}
}