init column config menu

This commit is contained in:
Bradley Cicenas
2020-01-02 23:02:53 +00:00
parent ffb96f4e90
commit 7c6b5c54dc
9 changed files with 117 additions and 15 deletions

View File

@@ -17,7 +17,7 @@ type CompactGrid struct {
func NewCompactGrid() *CompactGrid {
cg := &CompactGrid{header: NewCompactHeader()}
cg.RebuildHeader()
cg.rebuildHeader()
return cg
}
@@ -30,6 +30,7 @@ func (cg *CompactGrid) Align() {
// update row ypos, width recursively
colWidths := cg.calcWidths()
cg.header.SetWidths(cg.Width, colWidths)
for _, r := range cg.pageRows() {
r.SetY(y)
y += r.GetHeight()
@@ -37,15 +38,11 @@ func (cg *CompactGrid) Align() {
}
}
func (cg *CompactGrid) RebuildHeader() {
cg.cols = newRowWidgets()
cg.header.clearFieldPars()
for _, col := range cg.cols {
cg.header.addFieldPar(col.Header())
}
func (cg *CompactGrid) Clear() {
cg.Rows = []RowBufferer{}
cg.rebuildHeader()
}
func (cg *CompactGrid) Clear() { cg.Rows = []RowBufferer{} }
func (cg *CompactGrid) GetHeight() int { return len(cg.Rows) + cg.header.Height }
func (cg *CompactGrid) SetX(x int) { cg.X = x }
func (cg *CompactGrid) SetY(y int) { cg.Y = y }
@@ -93,3 +90,11 @@ func (cg *CompactGrid) Buffer() ui.Buffer {
func (cg *CompactGrid) AddRows(rows ...RowBufferer) {
cg.Rows = append(cg.Rows, rows...)
}
func (cg *CompactGrid) rebuildHeader() {
cg.cols = newRowWidgets()
cg.header.clearFieldPars()
for _, col := range cg.cols {
cg.header.addFieldPar(col.Header())
}
}

View File

@@ -14,7 +14,10 @@ type CompactHeader struct {
}
func NewCompactHeader() *CompactHeader {
return &CompactHeader{Height: 2}
return &CompactHeader{
X: rowPadding,
Height: 2,
}
}
func (row *CompactHeader) GetHeight() int {

View File

@@ -11,3 +11,11 @@ type WidgetUpdater interface {
SetMeta(models.Meta)
SetMetrics(models.Metrics)
}
type NullWidgetUpdater struct{}
// NullWidgetUpdater implements WidgetUpdater
func (wu NullWidgetUpdater) SetMeta(models.Meta) {}
// NullWidgetUpdater implements WidgetUpdater
func (wu NullWidgetUpdater) SetMetrics(models.Metrics) {}