listbox.go
func CreateListBox(parent Control, width, height int, scale int) *ListBox {
	l := new(ListBox)
	l.BaseControl = NewBaseControl()

	if height == AutoSize {
		height = 3
	}
	if width == AutoSize {
		width = 5
	}

	l.SetSize(width, height)
	l.SetConstraints(width, height)
	l.currSelection = -1
	l.items = make([]string, 0)
	l.topLine = 0
	l.parent = parent
	l.buttonPos = -1

	l.SetTabStop(true)
	l.SetScale(scale)

	l.onSelectItem = nil

	if parent != nil {
		parent.AddChild(l)
	}

	return l
}
func CreateListBox(parent Control, width, height int, scale int) *ListBox {
	l := new(ListBox)
	l.BaseControl = NewBaseControl()

	if height == AutoSize {
		height = 3
	}
	if width == AutoSize {
		width = 5
	}

	l.SetSize(width, height)
	l.SetConstraints(width, height)
	l.currSelection = -1
	l.items = make([]string, 0)
	l.topLine = 0
	l.parent = parent
	l.buttonPos = -1

	l.SetTabStop(true)
	l.SetScale(scale)

	l.onSelectItem = nil

	if parent != nil {
		parent.AddChild(l)
	}

	return l
}
/*
NewListBox creates a new frame.
view - is a View that manages the control
parent - is container that keeps the control. The same View can be a view and a parent at the same time.
width and heigth - are minimal size of the control.
scale - the way of scaling the control when the parent is resized. Use DoNotScale constant if the
control should keep its original size.
*/