Make BarChart cell character configurable.

What
===
Make BarChart cell character configurable.

Why
===
So that it can be set to a non-space character, which can be useful in
some situations. For example, it allows the barcharts to be used as
ASCII art and copy-pastable.

Example
===
https://github.com/leighmcculloch/keywords
This commit is contained in:
Leigh McCulloch 2016-07-03 12:33:42 -07:00
parent 6a96276a03
commit 748477aa49

View File

@ -29,6 +29,7 @@ type BarChart struct {
DataLabels []string DataLabels []string
BarWidth int BarWidth int
BarGap int BarGap int
CellChar rune
labels [][]rune labels [][]rune
dataNum [][]rune dataNum [][]rune
numBar int numBar int
@ -44,6 +45,7 @@ func NewBarChart() *BarChart {
bc.TextColor = ThemeAttr("barchart.text.fg") bc.TextColor = ThemeAttr("barchart.text.fg")
bc.BarGap = 1 bc.BarGap = 1
bc.BarWidth = 3 bc.BarWidth = 3
bc.CellChar = ' '
return bc return bc
} }
@ -91,7 +93,7 @@ func (bc *BarChart) Buffer() Buffer {
for j := 0; j < bc.BarWidth; j++ { for j := 0; j < bc.BarWidth; j++ {
for k := 0; k < h; k++ { for k := 0; k < h; k++ {
c := Cell{ c := Cell{
Ch: ' ', Ch: bc.CellChar,
Bg: bc.BarColor, Bg: bc.BarColor,
} }
if bc.BarColor == ColorDefault { // when color is default, space char treated as transparent! if bc.BarColor == ColorDefault { // when color is default, space char treated as transparent!