Fixed other Spinbox issues. Rule for our Box is that both intrinsic dimensions MUST be provided.

This commit is contained in:
Pietro Gagliardi 2015-08-09 00:20:28 -04:00
parent 3cba5b018c
commit ba2651ce03
1 changed files with 13 additions and 1 deletions

View File

@ -24,12 +24,21 @@ nspinbox++
cell.scrollable = true cell.scrollable = true
self.t.translatesAutoresizingMaskIntoConstraints = false self.t.translatesAutoresizingMaskIntoConstraints = false
// make the textbox grow horizontally and vertically
setHorzHuggingPri(self.t, myNSLayoutPriorityDefaultLow)
setVertHuggingPri(self.t, myNSLayoutPriorityDefaultLow)
self.s = NSStepper(frame: NSZeroRect) self.s = NSStepper(frame: NSZeroRect)
self.s.increment = 1 self.s.increment = 1
self.s.valueWraps = false self.s.valueWraps = false
self.s.autorepeat = true self.s.autorepeat = true
self.s.translatesAutoresizingMaskIntoConstraints = false self.s.translatesAutoresizingMaskIntoConstraints = false
// make the spinner grow vertically but not horizontally
// TODO Required instead?
setHorzHuggingPri(self.s, myNSLayoutPriorityDefaultHigh)
setVertHuggingPri(self.s, myNSLayoutPriorityDefaultLow)
self.parent = nil self.parent = nil
super.init(frame: NSZeroRect) super.init(frame: NSZeroRect)
@ -54,6 +63,7 @@ nspinbox++
} }
// TODO leave only the required amount of space around the alignment rect // TODO leave only the required amount of space around the alignment rect
// TODO even with this the stepper sometimes gets cut off at the bottom *anyway*
override var alignmentRectInsets: NSEdgeInsets { override var alignmentRectInsets: NSEdgeInsets {
get { get {
return NSEdgeInsetsMake(50, 50, 50, 50) return NSEdgeInsetsMake(50, 50, 50, 50)
@ -69,11 +79,13 @@ nspinbox++
} }
// TODO justify this // TODO justify this
// TODO restrict to the text field only? // TODO no really, is this height the right way to go?
// TODO restrict width to the text field only?
override var intrinsicContentSize: NSSize { override var intrinsicContentSize: NSSize {
get { get {
var s = super.intrinsicContentSize var s = super.intrinsicContentSize
s.width = 96 s.width = 96
s.height = max(self.t.intrinsicContentSize.height, self.s.intrinsicContentSize.height)
return s return s
} }
} }