• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Golang gocui.Gui类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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
}
开发者ID:gophersiesta,项目名称:gophersiesta,代码行数:26,代码来源:root.go


示例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
}
开发者ID:gophersiesta,项目名称:gophersiesta,代码行数:31,代码来源:root.go


示例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
}
开发者ID:gophersiesta,项目名称:gophersiesta,代码行数:14,代码来源:root.go


示例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
}
开发者ID:gophersiesta,项目名称:gophersiesta,代码行数:15,代码来源:root.go


示例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
}
开发者ID:gophersiesta,项目名称:gophersiesta,代码行数:17,代码来源:root.go


示例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
}
开发者ID:gophersiesta,项目名称:gophersiesta,代码行数:17,代码来源:root.go


示例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
}
开发者ID:gophersiesta,项目名称:gophersiesta,代码行数:29,代码来源:root.go


示例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
}
开发者ID:gophersiesta,项目名称:gophersiesta,代码行数:22,代码来源:root.go


示例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")
}
开发者ID:gophersiesta,项目名称:gophersiesta,代码行数:9,代码来源:root.go


示例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
}
开发者ID:gophersiesta,项目名称:gophersiesta,代码行数:47,代码来源:root.go


示例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
}
开发者ID:gophersiesta,项目名称:gophersiesta,代码行数:33,代码来源:root.go



注:本文中的github.com/gophersiesta/gophersiesta/Godeps/_workspace/src/github.com/jroimartin/gocui.Gui类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang context.Get函数代码示例发布时间:2022-05-23
下一篇:
Golang gin.Context类代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap