code: func CreateTableView(parent Control, width, height int, scale int) *TableView {
  	l := new(TableView)
  	l.BaseControl = NewBaseControl()
  
  	if height == AutoSize {
  		height = 3
  	}
  	if width == AutoSize {
  		width = 10
  	}
  
  	l.SetSize(width, height)
  	l.SetConstraints(width, height)
  	l.selectedCol = 0
  	l.selectedRow = 0
  	l.parent = parent
  	l.columns = make([]Column, 0)
  	l.SetScale(scale)
  
  	l.SetTabStop(true)
  
  	l.onDrawCell = nil
  	l.onAction = nil
  	l.onKeyPress = nil
  	l.onSelectCell = nil
  	l.lastEventCol = -1
  	l.lastEventRow = -1
  
  	if parent != nil {
  		parent.AddChild(l)
  	}
  
  	return l
  }
docs: /*
  NewTableView 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 height - 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.
  */