mirror of
https://github.com/gizak/termui.git
synced 2025-04-29 13:48:51 +08:00
table col separator control
This commit is contained in:
parent
f976fe697a
commit
c19e015998
@ -25,6 +25,7 @@ type Table struct {
|
|||||||
ColumnWidths []int
|
ColumnWidths []int
|
||||||
TextStyle Style
|
TextStyle Style
|
||||||
RowSeparator bool
|
RowSeparator bool
|
||||||
|
ColSeparator bool
|
||||||
TextAlignment Alignment
|
TextAlignment Alignment
|
||||||
RowStyles map[int]Style
|
RowStyles map[int]Style
|
||||||
FillRow bool
|
FillRow bool
|
||||||
@ -38,6 +39,7 @@ func NewTable() *Table {
|
|||||||
Block: *NewBlock(),
|
Block: *NewBlock(),
|
||||||
TextStyle: Theme.Table.Text,
|
TextStyle: Theme.Table.Text,
|
||||||
RowSeparator: true,
|
RowSeparator: true,
|
||||||
|
ColSeparator: true,
|
||||||
RowStyles: make(map[int]Style),
|
RowStyles: make(map[int]Style),
|
||||||
ColumnResizer: func() {},
|
ColumnResizer: func() {},
|
||||||
}
|
}
|
||||||
@ -107,21 +109,23 @@ func (self *Table) Draw(buf *Buffer) {
|
|||||||
colXCoordinate += columnWidths[j] + 1
|
colXCoordinate += columnWidths[j] + 1
|
||||||
}
|
}
|
||||||
|
|
||||||
// draw vertical separators
|
|
||||||
separatorStyle := self.Block.BorderStyle
|
separatorStyle := self.Block.BorderStyle
|
||||||
|
|
||||||
separatorXCoordinate := self.Inner.Min.X
|
if self.ColSeparator {
|
||||||
verticalCell := NewCell(VERTICAL_LINE, separatorStyle)
|
// draw vertical separators
|
||||||
for i, width := range columnWidths {
|
separatorXCoordinate := self.Inner.Min.X
|
||||||
if self.FillRow && i < len(columnWidths)-1 {
|
verticalCell := NewCell(VERTICAL_LINE, separatorStyle)
|
||||||
verticalCell.Style.Bg = rowStyle.Bg
|
for i, width := range columnWidths {
|
||||||
} else {
|
if self.FillRow && i < len(columnWidths)-1 {
|
||||||
verticalCell.Style.Bg = self.Block.BorderStyle.Bg
|
verticalCell.Style.Bg = rowStyle.Bg
|
||||||
}
|
} else {
|
||||||
|
verticalCell.Style.Bg = self.Block.BorderStyle.Bg
|
||||||
|
}
|
||||||
|
|
||||||
separatorXCoordinate += width
|
separatorXCoordinate += width
|
||||||
buf.SetCell(verticalCell, image.Pt(separatorXCoordinate, yCoordinate))
|
buf.SetCell(verticalCell, image.Pt(separatorXCoordinate, yCoordinate))
|
||||||
separatorXCoordinate++
|
separatorXCoordinate++
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
yCoordinate++
|
yCoordinate++
|
||||||
|
Loading…
x
Reference in New Issue
Block a user