本文整理汇总了Golang中github.com/gophersiesta/gophersiesta/Godeps/_workspace/src/github.com/jroimartin/gocui.Gui类的典型用法代码示例。如果您正苦于以下问题:Golang Gui类的具体用法?Golang Gui怎么用?Golang Gui使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Gui类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: layoutHelp
func layoutHelp(g *gocui.Gui, sc ScreenConf) error {
if v, err := g.SetView("help", -1, sc.Height-(sc.LinesOfHelp+1), sc.Width, sc.Height); err != nil {
if err != gocui.ErrUnknownView {
return err
}
v.Highlight = false
v.Frame = false
v.BgColor = gocui.ColorRed
v.FgColor = gocui.ColorWhite
// FIRST LINE OF HELP
fmt.Fprint(v, "^N New App ") // Some padding / centering functions here
fmt.Fprint(v, "^R Refresh list ")
fmt.Fprint(v, "^W Search ")
fmt.Fprintln(v, "")
// SECOND LINE OF HELP
fmt.Fprint(v, "^S SOME COMMAND ") // Some padding / centering functions here
fmt.Fprint(v, "^A ANOTHER COMMAND ")
fmt.Fprint(v, "^C Close ")
fmt.Fprintln(v, "")
myViews.help = v
}
return nil
}
示例2: saveValue
func saveValue(g *gocui.Gui, v *gocui.View) error {
var l string
//myViews.dialog.Rewind()
l = myViews.dialog.ViewBuffer()
lx := len(l)
var pl string
for _, placeholder := range global.pls.Placeholders {
if placeholder.PropertyName == global.placeholder {
pl = placeholder.PlaceHolder
break
}
}
value := common.Value{pl, l[:lx-2]}
values := common.Values{[]*common.Value{&value}}
api.SetValues(global.appName, []string{""}, values)
if err := g.DeleteView("dialog"); err != nil {
return err
}
loadPlaceholders(g, myViews.apps)
if err := g.SetCurrentView("placeholders"); err != nil {
return err
}
return nil
}
示例3: layoutValues
func layoutValues(g *gocui.Gui, sc ScreenConf) (*gocui.View, error) {
if v, err := g.SetView("values", 2*sc.AppsWidth+3*sc.UseFrame, sc.TitleHeight, sc.Width-1, sc.Height-(sc.LinesOfHelp+1)); err != nil {
if err != gocui.ErrUnknownView {
return v, err
}
v.Highlight = true
v.Title = "Values"
fmt.Fprintln(v, "Loading ...")
myViews.values = v
return v, nil
}
return nil, nil
}
示例4: layoutPlaceHolders
func layoutPlaceHolders(g *gocui.Gui, sc ScreenConf) (*gocui.View, error) {
if v, err := g.SetView("placeholders", sc.AppsWidth+sc.UseFrame, sc.TitleHeight, 2*sc.AppsWidth+2*sc.UseFrame, sc.Height-(sc.LinesOfHelp+1)); err != nil {
if err != gocui.ErrUnknownView {
return v, err
}
v.Highlight = true
v.Title = "Placeholders"
fmt.Fprintln(v, "Loading ...")
myViews.placeholders = v
return v, nil
}
return nil, nil
}
示例5: layoutTitle
func layoutTitle(g *gocui.Gui, sc ScreenConf) error {
if v, err := g.SetView("title", -1, -1, sc.Width, sc.TitleHeight); err != nil {
if err != gocui.ErrUnknownView {
return err
}
v.Highlight = false
v.Frame = false
v.BgColor = gocui.ColorCyan
v.FgColor = gocui.ColorBlack
fmt.Fprint(v, "GopherSiesta - Drunken Kittens Config Manager")
myViews.title = v
}
return nil
}
示例6: getScreenConf
func getScreenConf(g *gocui.Gui) ScreenConf {
var sc ScreenConf
w, h := g.Size()
sc.Width = w
sc.Height = h
sc.TitleHeight = 1
sc.LinesOfHelp = 2
sc.AppsWidth = 30
sc.UseFrame = 1
if w < 100 {
sc.UseFrame = 0
sc.AppsWidth = 24
}
return sc
}
示例7: editValue
func editValue(g *gocui.Gui, v *gocui.View) error {
var l string
var err error
_, cy := v.Cursor()
global.placeholder, _ = myViews.placeholders.Line(cy)
if l, err = myViews.values.Line(cy); err != nil {
l = ""
}
maxX, maxY := g.Size()
if v, err := g.SetView("dialog", maxX/2-30, maxY/2, maxX/2+30, maxY/2+2); err != nil {
if err != gocui.ErrUnknownView {
return err
}
lx := len(l)
fmt.Fprintln(v, l[:lx])
if l == " " {
lx = 0
}
v.SetCursor(lx, 0)
if err := g.SetCurrentView("dialog"); err != nil {
return err
}
v.Editable = true
myViews.dialog = v
}
return nil
}
示例8: layoutApps
func layoutApps(g *gocui.Gui, sc ScreenConf) error {
if v, err := g.SetView("apps", 0, sc.TitleHeight, sc.AppsWidth, sc.Height-(sc.LinesOfHelp+1)); err != nil {
if err != gocui.ErrUnknownView {
return err
}
v.Title = "Apps"
v.Highlight = true
apps, _ := api.GetApps()
for _, app := range apps.Apps {
fmt.Fprintln(v, app)
}
if err := g.SetCurrentView("apps"); err != nil {
return err
}
myViews.apps = v
}
return nil
}
示例9: nextView
func nextView(g *gocui.Gui, v *gocui.View) error {
if v.Name() == "apps" {
return g.SetCurrentView("placeholders")
}
if v.Name() == "placeholders" {
return g.SetCurrentView("apps")
}
return g.SetCurrentView("apps")
}
示例10: loadPlaceholders
func loadPlaceholders(g *gocui.Gui, v *gocui.View) error {
sc := getScreenConf(g)
_, y := myViews.apps.Cursor()
if err := g.DeleteView("placeholders"); err != nil {
return err
}
if err := g.DeleteView("values"); err != nil {
return err
}
vp, _ := layoutPlaceHolders(g, sc)
vv, _ := layoutValues(g, sc)
vp.SetCursor(0, 0)
vp.Clear()
vv.Clear()
global.appName, _ = v.Line(y)
pls, _ := api.GetPlaceholders(global.appName)
vls, _ := api.GetValues(global.appName, []string{""})
global.vls = vls
global.pls = pls
for _, pl := range pls.Placeholders {
value := pl.PropertyValue
for _, vl := range vls.Values {
if vl.Name == pl.PlaceHolder {
value = vl.Value
break
}
}
if len(value) == 0 {
value = " "
}
fmt.Fprintln(vp, pl.PropertyName)
fmt.Fprintln(vv, value)
}
if err := g.SetCurrentView("placeholders"); err != nil {
return err
}
return nil
}
示例11: keybindings
func keybindings(g *gocui.Gui) error {
if err := g.SetKeybinding("apps", gocui.KeyCtrlSpace, gocui.ModNone, nextView); err != nil {
return err
}
if err := g.SetKeybinding("apps", gocui.KeyArrowDown, gocui.ModNone, cursorDown); err != nil {
return err
}
if err := g.SetKeybinding("apps", gocui.KeyArrowUp, gocui.ModNone, cursorUp); err != nil {
return err
}
if err := g.SetKeybinding("placeholders", gocui.KeyCtrlSpace, gocui.ModNone, nextView); err != nil {
return err
}
if err := g.SetKeybinding("placeholders", gocui.KeyArrowDown, gocui.ModNone, cursorDown); err != nil {
return err
}
if err := g.SetKeybinding("placeholders", gocui.KeyArrowUp, gocui.ModNone, cursorUp); err != nil {
return err
}
if err := g.SetKeybinding("", gocui.KeyCtrlC, gocui.ModNone, quit); err != nil {
return err
}
if err := g.SetKeybinding("apps", gocui.KeyEnter, gocui.ModNone, loadPlaceholders); err != nil {
return err
}
if err := g.SetKeybinding("placeholders", gocui.KeyEnter, gocui.ModNone, editValue); err != nil {
return err
}
if err := g.SetKeybinding("dialog", gocui.KeyEnter, gocui.ModNone, saveValue); err != nil {
return err
}
return nil
}