Rename Par to Paragraph
This commit is contained in:
parent
ea15e228f4
commit
7f3648562a
@ -20,7 +20,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
defer ui.Close()
|
defer ui.Close()
|
||||||
|
|
||||||
p := ui.NewPar("PRESS q TO QUIT DEMO")
|
p := ui.NewParagraph("PRESS q TO QUIT DEMO")
|
||||||
p.Height = 3
|
p.Height = 3
|
||||||
p.Width = 50
|
p.Width = 50
|
||||||
p.TextFgColor = ui.ColorWhite
|
p.TextFgColor = ui.ColorWhite
|
||||||
@ -120,7 +120,7 @@ func main() {
|
|||||||
lc2.AxesColor = ui.ColorWhite
|
lc2.AxesColor = ui.ColorWhite
|
||||||
lc2.LineColor["default"] = ui.ColorYellow | ui.AttrBold
|
lc2.LineColor["default"] = ui.ColorYellow | ui.AttrBold
|
||||||
|
|
||||||
p2 := ui.NewPar("Hey!\nI am a borderless block!")
|
p2 := ui.NewParagraph("Hey!\nI am a borderless block!")
|
||||||
p2.Border = false
|
p2.Border = false
|
||||||
p2.Width = 26
|
p2.Width = 26
|
||||||
p2.Height = 2
|
p2.Height = 2
|
||||||
|
@ -76,9 +76,9 @@ func main() {
|
|||||||
}
|
}
|
||||||
ls.Height = 5
|
ls.Height = 5
|
||||||
|
|
||||||
par := ui.NewPar("<> This row has 3 columns\n<- Widgets can be stacked up like left side\n<- Stacked widgets are treated as a single widget")
|
p := ui.NewParagraph("<> This row has 3 columns\n<- Widgets can be stacked up like left side\n<- Stacked widgets are treated as a single widget")
|
||||||
par.Height = 5
|
p.Height = 5
|
||||||
par.BorderLabel = "Demonstration"
|
p.BorderLabel = "Demonstration"
|
||||||
|
|
||||||
// build layout
|
// build layout
|
||||||
ui.Body.AddRows(
|
ui.Body.AddRows(
|
||||||
@ -88,7 +88,7 @@ func main() {
|
|||||||
ui.NewRow(
|
ui.NewRow(
|
||||||
ui.NewCol(3, 0, ls),
|
ui.NewCol(3, 0, ls),
|
||||||
ui.NewCol(3, 0, gs[0], gs[1], gs[2]),
|
ui.NewCol(3, 0, gs[0], gs[1], gs[2]),
|
||||||
ui.NewCol(6, 0, par)))
|
ui.NewCol(6, 0, p)))
|
||||||
|
|
||||||
// calculate layout
|
// calculate layout
|
||||||
ui.Body.Align()
|
ui.Body.Align()
|
||||||
|
@ -1,52 +0,0 @@
|
|||||||
// Copyright 2017 Zack Guo <zack.y.guo@gmail.com>. All rights reserved.
|
|
||||||
// Use of this source code is governed by a MIT license that can
|
|
||||||
// be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build ignore
|
|
||||||
|
|
||||||
package main
|
|
||||||
|
|
||||||
import ui "github.com/gizak/termui"
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
err := ui.Init()
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
defer ui.Close()
|
|
||||||
|
|
||||||
par0 := ui.NewPar("Borderless Text")
|
|
||||||
par0.Height = 1
|
|
||||||
par0.Width = 20
|
|
||||||
par0.Y = 1
|
|
||||||
par0.Border = false
|
|
||||||
|
|
||||||
par1 := ui.NewPar("你好,世界。")
|
|
||||||
par1.Height = 3
|
|
||||||
par1.Width = 17
|
|
||||||
par1.X = 20
|
|
||||||
par1.BorderLabel = "标签"
|
|
||||||
|
|
||||||
par2 := ui.NewPar("Simple colored text\nwith label. It [can be](fg-red) multilined with \\n or [break automatically](fg-red,fg-bold)")
|
|
||||||
par2.Height = 5
|
|
||||||
par2.Width = 37
|
|
||||||
par2.Y = 4
|
|
||||||
par2.BorderLabel = "Multiline"
|
|
||||||
par2.BorderFg = ui.ColorYellow
|
|
||||||
|
|
||||||
par3 := ui.NewPar("Long text with label and it is auto trimmed.")
|
|
||||||
par3.Height = 3
|
|
||||||
par3.Width = 37
|
|
||||||
par3.Y = 9
|
|
||||||
par3.BorderLabel = "Auto Trim"
|
|
||||||
|
|
||||||
ui.Render(par0, par1, par2, par3)
|
|
||||||
|
|
||||||
for {
|
|
||||||
e := <-ui.PollEvent()
|
|
||||||
switch e.ID {
|
|
||||||
case "q", "<C-c>":
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
52
_examples/paragraph.go
Normal file
52
_examples/paragraph.go
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
// Copyright 2017 Zack Guo <zack.y.guo@gmail.com>. All rights reserved.
|
||||||
|
// Use of this source code is governed by a MIT license that can
|
||||||
|
// be found in the LICENSE file.
|
||||||
|
|
||||||
|
// +build ignore
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
import ui "github.com/gizak/termui"
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
err := ui.Init()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer ui.Close()
|
||||||
|
|
||||||
|
p0 := ui.NewParagraph("Borderless Text")
|
||||||
|
p0.Height = 1
|
||||||
|
p0.Width = 20
|
||||||
|
p0.Y = 1
|
||||||
|
p0.Border = false
|
||||||
|
|
||||||
|
p1 := ui.NewParagraph("你好,世界。")
|
||||||
|
p1.Height = 3
|
||||||
|
p1.Width = 17
|
||||||
|
p1.X = 20
|
||||||
|
p1.BorderLabel = "标签"
|
||||||
|
|
||||||
|
p2 := ui.NewParagraph("Simple colored text\nwith label. It [can be](fg-red) multilined with \\n or [break automatically](fg-red,fg-bold)")
|
||||||
|
p2.Height = 5
|
||||||
|
p2.Width = 37
|
||||||
|
p2.Y = 4
|
||||||
|
p2.BorderLabel = "Multiline"
|
||||||
|
p2.BorderFg = ui.ColorYellow
|
||||||
|
|
||||||
|
p3 := ui.NewParagraph("Long text with label and it is auto trimmed.")
|
||||||
|
p3.Height = 3
|
||||||
|
p3.Width = 37
|
||||||
|
p3.Y = 9
|
||||||
|
p3.BorderLabel = "Auto Trim"
|
||||||
|
|
||||||
|
ui.Render(p0, p1, p2, p3)
|
||||||
|
|
||||||
|
for {
|
||||||
|
e := <-ui.PollEvent()
|
||||||
|
switch e.ID {
|
||||||
|
case "q", "<C-c>":
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
@ -18,20 +18,20 @@ func main() {
|
|||||||
}
|
}
|
||||||
defer ui.Close()
|
defer ui.Close()
|
||||||
|
|
||||||
header := ui.NewPar("Press q to quit, Press h or l to switch tabs")
|
header := ui.NewParagraph("Press q to quit, Press h or l to switch tabs")
|
||||||
header.Height = 1
|
header.Height = 1
|
||||||
header.Width = 50
|
header.Width = 50
|
||||||
header.Border = false
|
header.Border = false
|
||||||
header.TextBgColor = ui.ColorBlue
|
header.TextBgColor = ui.ColorBlue
|
||||||
|
|
||||||
tab1 := extra.NewTab("pierwszy")
|
tab1 := extra.NewTab("pierwszy")
|
||||||
par2 := ui.NewPar("Press q to quit\nPress h or l to switch tabs\n")
|
p2 := ui.NewParagraph("Press q to quit\nPress h or l to switch tabs\n")
|
||||||
par2.Height = 5
|
p2.Height = 5
|
||||||
par2.Width = 37
|
p2.Width = 37
|
||||||
par2.Y = 0
|
p2.Y = 0
|
||||||
par2.BorderLabel = "Keys"
|
p2.BorderLabel = "Keys"
|
||||||
par2.BorderFg = ui.ColorYellow
|
p2.BorderFg = ui.ColorYellow
|
||||||
tab1.AddBlocks(par2)
|
tab1.AddBlocks(p2)
|
||||||
|
|
||||||
tab2 := extra.NewTab("drugi")
|
tab2 := extra.NewTab("drugi")
|
||||||
bc := ui.NewBarChart()
|
bc := ui.NewBarChart()
|
||||||
|
@ -33,7 +33,7 @@ func main() {
|
|||||||
"gauge.percent.fg": ui.ColorBlue,
|
"gauge.percent.fg": ui.ColorBlue,
|
||||||
"barchart.bar.bg": ui.ColorRed,
|
"barchart.bar.bg": ui.ColorRed,
|
||||||
}
|
}
|
||||||
p := ui.NewPar(":PRESS q TO QUIT DEMO")
|
p := ui.NewParagraph(":PRESS q TO QUIT DEMO")
|
||||||
p.Height = 3
|
p.Height = 3
|
||||||
p.Width = 50
|
p.Width = 50
|
||||||
p.BorderLabel = "Text Box"
|
p.BorderLabel = "Text Box"
|
||||||
@ -118,7 +118,7 @@ func main() {
|
|||||||
lc1.X = 51
|
lc1.X = 51
|
||||||
lc1.Y = 14
|
lc1.Y = 14
|
||||||
|
|
||||||
p1 := ui.NewPar("Hey!\nI am a borderless block!")
|
p1 := ui.NewParagraph("Hey!\nI am a borderless block!")
|
||||||
p1.Border = false
|
p1.Border = false
|
||||||
p1.Width = 26
|
p1.Width = 26
|
||||||
p1.Height = 2
|
p1.Height = 2
|
||||||
|
@ -284,7 +284,7 @@ func main() {
|
|||||||
|
|
||||||
termWidth := 70
|
termWidth := 70
|
||||||
|
|
||||||
header := ui.NewPar("Press q to quit, Press h or l to switch tabs")
|
header := ui.NewParagraph("Press q to quit, Press h or l to switch tabs")
|
||||||
header.Height = 1
|
header.Height = 1
|
||||||
header.Width = 50
|
header.Width = 50
|
||||||
header.Border = false
|
header.Border = false
|
||||||
|
@ -15,7 +15,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
defer ui.Close()
|
defer ui.Close()
|
||||||
|
|
||||||
p := ui.NewPar("Press q to QUIT THE DEMO. [There](fg-blue) are other things [that](fg-red) are going to fit in here I think. What do you think? Now is the time for all good [men to](bg-blue) come to the aid of their country. [This is going to be one really really really long line](fg-green) that is going to go together and stuffs and things. Let's see how this thing renders out.\n Here is a new paragraph and stuffs and things. There should be a tab indent at the beginning of the paragraph. Let's see if that worked as well.")
|
p := ui.NewParagraph("Press q to QUIT THE DEMO. [There](fg-blue) are other things [that](fg-red) are going to fit in here I think. What do you think? Now is the time for all good [men to](bg-blue) come to the aid of their country. [This is going to be one really really really long line](fg-green) that is going to go together and stuffs and things. Let's see how this thing renders out.\n Here is a new paragraph and stuffs and things. There should be a tab indent at the beginning of the paragraph. Let's see if that worked as well.")
|
||||||
p.WrapLength = 48 // this should be at least p.Width - 2
|
p.WrapLength = 48 // this should be at least p.Width - 2
|
||||||
p.Height = 20
|
p.Height = 20
|
||||||
p.Width = 50
|
p.Width = 50
|
||||||
|
@ -4,14 +4,14 @@
|
|||||||
|
|
||||||
package termui
|
package termui
|
||||||
|
|
||||||
// Par displays a paragraph.
|
// Paragraph displays a paragraph.
|
||||||
/*
|
/*
|
||||||
par := termui.NewPar("Simple Text")
|
par := termui.NewParagraph("Simple Text")
|
||||||
par.Height = 3
|
par.Height = 3
|
||||||
par.Width = 17
|
par.Width = 17
|
||||||
par.BorderLabel = "Label"
|
par.BorderLabel = "Label"
|
||||||
*/
|
*/
|
||||||
type Par struct {
|
type Paragraph struct {
|
||||||
Block
|
Block
|
||||||
Text string
|
Text string
|
||||||
TextFgColor Attribute
|
TextFgColor Attribute
|
||||||
@ -19,9 +19,9 @@ type Par struct {
|
|||||||
WrapLength int // words wrap limit. Note it may not work properly with multi-width char
|
WrapLength int // words wrap limit. Note it may not work properly with multi-width char
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewPar returns a new *Par with given text as its content.
|
// NewParagraph returns a new *Paragraph with given text as its content.
|
||||||
func NewPar(s string) *Par {
|
func NewParagraph(s string) *Paragraph {
|
||||||
return &Par{
|
return &Paragraph{
|
||||||
Block: *NewBlock(),
|
Block: *NewBlock(),
|
||||||
Text: s,
|
Text: s,
|
||||||
TextFgColor: ThemeAttr("par.text.fg"),
|
TextFgColor: ThemeAttr("par.text.fg"),
|
||||||
@ -31,7 +31,7 @@ func NewPar(s string) *Par {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Buffer implements Bufferer interface.
|
// Buffer implements Bufferer interface.
|
||||||
func (p *Par) Buffer() Buffer {
|
func (p *Paragraph) Buffer() Buffer {
|
||||||
buf := p.Block.Buffer()
|
buf := p.Block.Buffer()
|
||||||
|
|
||||||
fg, bg := p.TextFgColor, p.TextBgColor
|
fg, bg := p.TextFgColor, p.TextBgColor
|
Loading…
Reference in New Issue
Block a user