// 31 july 2015
import Cocoa

class Entry : NSTextField, Control {
	private var parent: Control?

	init() {
		var cell: NSTextFieldCell

		self.parent = nil

		super.init(frame: NSZeroRect)
		self.selectable = true
		self.font = NSFont.systemFontOfSize(NSFont.systemFontSizeForControlSize(NSControlSize.RegularControlSize))
		self.bordered = false
		self.bezelStyle = NSTextFieldBezelStyle.SquareBezel
		self.bezeled = true
		cell = self.cell() as! NSTextFieldCell
		cell.lineBreakMode = NSLineBreakMode.ByClipping
		cell.scrollable = true
		self.translatesAutoresizingMaskIntoConstraints = false
	}

	required init?(coder: NSCoder) {
		fatalError("can't use this constructor, sorry")
	}

	func View() -> NSView {
		return self
	}

	func SetParent(p: Control) {
		self.parent = p
	}

	// by default a text entry has no intrinsic content width
	// in order for our layout containers to work, we need to give it one
	// give it what Interface Builder uses as a default
	// TODO verify against Interface Builder
	override var intrinsicContentSize: NSSize {
		get {
			var s = super.intrinsicContentSize
			s.width = 96
			return s
		}
	}
}