本文整理汇总了Golang中code/google/com/p/gowut/gwu.NewPanel函数的典型用法代码示例。如果您正苦于以下问题:Golang NewPanel函数的具体用法?Golang NewPanel怎么用?Golang NewPanel使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewPanel函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: buildLinkContainerDemo
func buildLinkContainerDemo(event gwu.Event) gwu.Comp {
p := gwu.NewPanel()
link := gwu.NewLink("An obvious link, to Google Home", "https://google.com/")
inside := gwu.NewPanel()
inside.Style().SetBorder2(1, gwu.BRD_STYLE_SOLID, gwu.CLR_GRAY)
inside.Add(gwu.NewLabel("Everything inside this box also links to Google!"))
inside.Add(gwu.NewButton("Me too!"))
link.SetComp(inside)
p.Add(link)
return p
}
示例2: buildRadioButtonDemo
func buildRadioButtonDemo(event gwu.Event) gwu.Comp {
p := gwu.NewPanel()
p.Add(gwu.NewLabel("Select your favorite programming language:"))
group := gwu.NewRadioGroup("lang")
rbs := []gwu.RadioButton{gwu.NewRadioButton("Go", group), gwu.NewRadioButton("Java", group), gwu.NewRadioButton("C / C++", group),
gwu.NewRadioButton("Python", group), gwu.NewRadioButton("QBasic (nah this can't be your favorite)", group)}
rbs[4].SetEnabled(false)
for _, rb := range rbs {
p.Add(rb)
}
p.AddVSpace(20)
p.Add(gwu.NewLabel("Select your favorite computer game:"))
group = gwu.NewRadioGroup("game")
rbs = []gwu.RadioButton{gwu.NewRadioButton("StarCraft II", group), gwu.NewRadioButton("Minecraft", group),
gwu.NewRadioButton("Other", group)}
for _, rb := range rbs {
p.Add(rb)
}
return p
}
示例3: buildSwitchButtonDemo
func buildSwitchButtonDemo(event gwu.Event) gwu.Comp {
p := gwu.NewPanel()
p.SetCellPadding(1)
row := gwu.NewHorizontalPanel()
row.Add(gwu.NewLabel("Here's an ON/OFF switch which enables/disables the other one:"))
sw := gwu.NewSwitchButton()
sw.SetOnOff("ENB", "DISB")
sw.SetState(true)
row.Add(sw)
p.Add(row)
p.AddVSpace(10)
row = gwu.NewHorizontalPanel()
row.Add(gwu.NewLabel("And the other one:"))
sw2 := gwu.NewSwitchButton()
sw2.SetEnabled(true)
sw2.Style().SetWidthPx(100)
row.Add(sw2)
sw.AddEHandlerFunc(func(e gwu.Event) {
sw2.SetEnabled(sw.State())
e.MarkDirty(sw2)
}, gwu.ETYPE_CLICK)
p.Add(row)
return p
}
示例4: buildButtonDemo
func buildButtonDemo(event gwu.Event) gwu.Comp {
p := gwu.NewPanel()
l := gwu.NewLabel("")
btnp := gwu.NewHorizontalPanel()
b := gwu.NewButton("Normal Button")
b.AddEHandlerFunc(func(e gwu.Event) {
switch e.Type() {
case gwu.ETYPE_MOUSE_OVER:
l.SetText("Mouse is over...")
case gwu.ETYPE_MOUSE_OUT:
l.SetText("Mouse is out.")
case gwu.ETYPE_CLICK:
x, y := e.Mouse()
l.SetText(fmt.Sprintf("Clicked at x=%d, y=%d", x, y))
}
e.MarkDirty(l)
}, gwu.ETYPE_CLICK, gwu.ETYPE_MOUSE_OVER, gwu.ETYPE_MOUSE_OUT)
btnp.Add(b)
b = gwu.NewButton("Disabled Button")
b.SetEnabled(false)
btnp.Add(b)
p.Add(btnp)
p.Add(l)
return p
}
示例5: buildImageDemo
func buildImageDemo(event gwu.Event) gwu.Comp {
p := gwu.NewPanel()
p.Add(gwu.NewLabel("Google's logo:"))
img := gwu.NewImage("Google's logo", "https://www.google.com/images/srpr/logo3w.png")
img.Style().SetSizePx(275, 95)
p.Add(img)
p.AddVSpace(20)
p.Add(gwu.NewLabel("Go's Gopher:"))
img = gwu.NewImage("Go's Gopher", "http://golang.org/doc/gopher/frontpage.png")
img.Style().SetSizePx(250, 340)
state := false
img.AddEHandlerFunc(func(e gwu.Event) {
switch e.Type() {
case gwu.ETYPE_CLICK:
switch state {
case false:
img.SetUrl("https://www.google.com/images/srpr/logo3w.png")
img.Style().SetSizePx(275, 95)
state = true
case true:
img.SetUrl("http://golang.org/doc/gopher/frontpage.png")
img.Style().SetSizePx(250, 340)
state = false
}
}
e.MarkDirty(img)
}, gwu.ETYPE_CLICK)
p.Add(img)
return p
}
示例6: buildLabelDemo
func buildLabelDemo(event gwu.Event) gwu.Comp {
p := gwu.NewPanel()
p.Add(gwu.NewLabel("This is a Label."))
p.Add(gwu.NewLabel("世界 And another one. ㅈㅈ"))
p.Add(gwu.NewLabel("Nothing special about them, but they may be the mostly used components."))
p.AddVSpace(20)
p.Add(gwu.NewLabel("You can change their text:"))
b := gwu.NewButton("Change!")
b.AddEHandlerFunc(func(e gwu.Event) {
for i := 0; i < p.CompsCount(); i++ {
if l, ok := p.CompAt(i).(gwu.Label); ok && l != b {
reversed := []rune(l.Text())
for i, j := 0, len(reversed)-1; i < j; i, j = i+1, j-1 {
reversed[i], reversed[j] = reversed[j], reversed[i]
}
l.SetText(string(reversed))
}
}
e.MarkDirty(p)
}, gwu.ETYPE_CLICK)
p.Add(b)
return p
}
示例7: buildCheckBoxDemo
func buildCheckBoxDemo(event gwu.Event) gwu.Comp {
p := gwu.NewPanel()
suml := gwu.NewLabel("")
p.Add(gwu.NewLabel("Check the days you want to work on:"))
cbs := []gwu.CheckBox{gwu.NewCheckBox("Monday"), gwu.NewCheckBox("Tuesday"), gwu.NewCheckBox("Wednesday"),
gwu.NewCheckBox("Thursday"), gwu.NewCheckBox("Friday"), gwu.NewCheckBox("Saturday"), gwu.NewCheckBox("Sunday")}
cbs[5].SetEnabled(false)
cbs[6].SetEnabled(false)
for _, cb := range cbs {
p.Add(cb)
cb.AddEHandlerFunc(func(e gwu.Event) {
sum := 0
for _, cb2 := range cbs {
if cb2.State() {
sum++
}
}
suml.SetText(fmt.Sprintf("%d day%s is a total of %d hours a week.", sum, plural(sum), sum*8))
e.MarkDirty(suml)
}, gwu.ETYPE_CLICK)
}
p.Add(suml)
return p
}
示例8: buildPanelDemo
func buildPanelDemo(event gwu.Event) gwu.Comp {
p := gwu.NewPanel()
p.Add(gwu.NewLabel("Panel with horizontal layout:"))
h := gwu.NewHorizontalPanel()
for i := 1; i <= 5; i++ {
h.Add(gwu.NewButton("Button " + strconv.Itoa(i)))
}
p.Add(h)
p.AddVSpace(20)
p.Add(gwu.NewLabel("Panel with vertical layout:"))
v := gwu.NewVerticalPanel()
for i := 1; i <= 5; i++ {
v.Add(gwu.NewButton("Button " + strconv.Itoa(i)))
}
p.Add(v)
p.AddVSpace(20)
p.Add(gwu.NewLabel("Panel with natural layout:"))
n := gwu.NewNaturalPanel()
for i := 1; i <= 20; i++ {
n.Add(gwu.NewButton("LONG BUTTON " + strconv.Itoa(i)))
}
p.Add(n)
return p
}
示例9: buildPasswBoxDemo
func buildPasswBoxDemo(event gwu.Event) gwu.Comp {
p := gwu.NewPanel()
p.Add(gwu.NewLabel("Enter your password:"))
p.Add(gwu.NewPasswBox(""))
return p
}
示例10: buildWindowDemo
func buildWindowDemo(event gwu.Event) gwu.Comp {
p := gwu.NewPanel()
p.Add(gwu.NewLabel("The Window represents the whole window, the page inside the browser."))
p.AddVSpace(5)
p.Add(gwu.NewLabel("The Window is the top of the component hierarchy. It is an extension of the Panel."))
return p
}
示例11: buildHomeDemo
func buildHomeDemo(event gwu.Event) gwu.Comp {
p := gwu.NewPanel()
p.Add(gwu.NewLabel("This app is written in and showcases Gowut version " + gwu.GOWUT_VERSION + "."))
p.AddVSpace(20)
p.Add(gwu.NewLabel("Select components on the left side to see them in action."))
return p
}
示例12: buildTableDemo
func buildTableDemo(event gwu.Event) gwu.Comp {
p := gwu.NewPanel()
l := gwu.NewLabel("Tip: Switch to the 'debug' theme (top right) to see cell borders.")
l.Style().SetColor(gwu.CLR_RED).SetFontStyle(gwu.FONT_STYLE_ITALIC)
p.Add(l)
p.AddVSpace(20)
p.Add(gwu.NewLabel("A simple form aligned with a table:"))
p.AddVSpace(10)
t := gwu.NewTable()
t.SetCellPadding(2)
t.EnsureSize(2, 2)
var c gwu.Comp
t.Add(gwu.NewLabel("User name:"), 0, 0)
c = gwu.NewTextBox("")
c.Style().SetWidthPx(160)
t.Add(c, 0, 1)
t.Add(gwu.NewLabel("Password:"), 1, 0)
c = gwu.NewPasswBox("")
c.Style().SetWidthPx(160)
t.Add(c, 1, 1)
t.Add(gwu.NewLabel("Go to:"), 2, 0)
c = gwu.NewListBox([]string{"Inbox", "User preferences", "Last visited page"})
c.Style().SetWidthPx(160)
t.Add(c, 2, 1)
p.Add(t)
p.AddVSpace(30)
p.Add(gwu.NewLabel("Advanced table structure with modified alignment, row and col spans:"))
p.AddVSpace(10)
t = gwu.NewTable()
t.Style().SetBorder2(1, gwu.BRD_STYLE_SOLID, gwu.CLR_GREY)
t.SetAlign(gwu.HA_RIGHT, gwu.VA_TOP)
t.EnsureSize(5, 5)
for row := 0; row < 5; row++ {
for col := 0; col < 5; col++ {
t.Add(gwu.NewButton("Button "+strconv.Itoa(row)+strconv.Itoa(col)), row, col)
}
}
t.SetColSpan(2, 1, 2)
t.SetRowSpan(3, 1, 2)
t.CellFmt(2, 2).Style().SetSizePx(150, 80)
t.CellFmt(2, 2).SetAlign(gwu.HA_RIGHT, gwu.VA_BOTTOM)
t.RowFmt(2).SetAlign(gwu.HA_DEFAULT, gwu.VA_MIDDLE)
t.CompAt(2, 1).Style().SetFullSize()
t.CompAt(4, 2).Style().SetFullWidth()
t.RowFmt(0).Style().SetBackground(gwu.CLR_RED)
t.RowFmt(1).Style().SetBackground(gwu.CLR_GREEN)
t.RowFmt(2).Style().SetBackground(gwu.CLR_BLUE)
t.RowFmt(3).Style().SetBackground(gwu.CLR_GREY)
t.RowFmt(4).Style().SetBackground(gwu.CLR_TEAL)
p.Add(t)
return p
}
示例13: updateTables
func updateTables(tables gwu.Panel) {
var sorted SortBySellPrice
for card, _ := range PriceHistory {
sorted = append(sorted, StockedItem{
card,
currentState.DeterminePrice(card, 1, true),
currentState.DeterminePrice(card, 1, false),
})
}
sort.Sort(sorted)
tables.Clear()
tables.Add(createFAQ())
tables.AddHSpace(100)
for rarity, rarityStr := range []string{"Commons", "Uncommons", "Rares"} {
layout := gwu.NewPanel()
tables.Add(layout)
tables.AddHSpace(30)
layout.SetHAlign(gwu.HA_CENTER)
layout.Style().SetBackground("rgba(0,0,0,0.5)")
layout.Style().SetWidthPx(320)
header := gwu.NewLabel(rarityStr)
header.Style().SetColor("rgb(255,255,255)")
header.Style().SetFontWeight("bold")
header.Style().SetFontSize("x-large")
layout.Add(header)
table := gwu.NewTable()
layout.Add(table)
table.SetCellPadding(5)
row := 0
for _, sortedItem := range sorted {
if CardRarities[sortedItem.card] != rarity {
continue
}
table.Add(gwu.NewImage("", fmt.Sprintf("images/%s.png", CardResources[sortedItem.card])), row, 0)
table.Add(gwu.NewLabel(string(sortedItem.card)), row, 1)
table.Add(gwu.NewLabel(fmt.Sprintf("%d", sortedItem.buy)), row, 2)
table.Add(gwu.NewLabel(fmt.Sprintf("%d", sortedItem.sell)), row, 3)
if row%2 == 0 {
table.RowFmt(row).Style().SetBackground("rgba(255,255,255,0.75)")
} else {
table.RowFmt(row).Style().SetBackground("rgba(150,150,150,0.75)")
}
row++
}
}
}
示例14: buildImageDemo
func buildImageDemo(event gwu.Event) gwu.Comp {
p := gwu.NewPanel()
p.Add(gwu.NewLabel("Google's logo:"))
img := gwu.NewImage("Google's logo", "https://www.google.com/images/srpr/logo3w.png")
img.Style().SetSizePx(275, 95)
p.Add(img)
p.AddVSpace(20)
p.Add(gwu.NewLabel("Go's Gopher:"))
img = gwu.NewImage("Go's Gopher", "http://golang.org/doc/gopher/frontpage.png")
img.Style().SetSizePx(250, 340)
p.Add(img)
return p
}
示例15: createFAQ
func createFAQ() gwu.Panel {
panel := gwu.NewPanel()
panel.Style().SetBackground("rgba(255,255,255,0.75)")
addHeader := func(text string) {
label := gwu.NewLabel(text)
label.Style().SetColor("rgb(0,0,0)")
label.Style().SetFontWeight("bold")
label.Style().SetFontSize("large")
panel.Add(label)
}
addText := func(text string) {
label := gwu.NewLabel(text)
label.Style().SetColor("rgb(0,0,0)")
panel.Add(label)
}
addHeader("What is this?")
addText("This site displays the prices for which the ClockworkAgent, a trading bot for the game Scrolls, will buy and sell cards for.")
addHeader("How do I engage in trading with the bot?")
addText("Just join the ingame channel 'clockwork' and say '!trade'. You will then be queued up for interaction with the bot in a trade.")
addHeader("Why are these prices so different from Scrollsguide prices?")
addText("Scrollsguide prices are determined from WTB and WTS messages in the Trading-channel. Thus they reflect what people expect to " +
"pay/get for a card, not necessarily what the card is actually traded for. Since most people adjust their expectations to what " +
"the current Scrollsguide price is, this can lead to a self-fulfilling prophecy. Also, it is pretty easy to manipulate the prices " +
"for cards that are traded less often, enabling a way to scam the bot if it would use these prices.")
addHeader("How then are these prices calculated?")
addText("The price starts at 1500 for rares, 750 for uncommons and 187 for commons. Each time a card is sold to the bot, it will assume " +
"that the card is less valuable, reducing the price by 100 / 50 / 12.5 depending on rarity. Each time a card is bought from the bot, " +
"the price will go up again.")
addHeader("Why does the buy price fluctuate, when the sell price remains constant?")
addText("If the bot has less than 2000 gold, the buy prices will be lowered down to a minimum of 50%. This way the bot can aquire more cards, " +
"balancing out the fact that it had to overpay for most cards in order to determine the price, as well as new additions and general price deflation.")
addHeader("Who created the bot, and where can I find the source code?")
addText("Ingame: redefiance")
addText("Reddit: lando-garner")
panel.Add(gwu.NewLink("Source", "https://github.com/redefiance/ScrollsTradeBot"))
return panel
}