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

Golang gocui.Gui类代码示例

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

本文整理汇总了Golang中github.com/antha-lang/antha/internal/github.com/jroimartin/gocui.Gui的典型用法代码示例。如果您正苦于以下问题:Golang Gui类的具体用法?Golang Gui怎么用?Golang Gui使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Gui类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: abortQuit

//abortQuit goes back to the ActionListView if the quit message is rejected
func (c *CUI) abortQuit(g *gocui.Gui, v *gocui.View) error {
	if err := g.DeleteView("QuitWarnView"); err != nil {
		return err
	}
	if err := g.SetCurrentView("ActionListView"); err != nil {
		return err
	}
	return nil
}
开发者ID:cgravill,项目名称:antha,代码行数:10,代码来源:cui.go


示例2: printActionHelp

func (c *CUI) printActionHelp(g *gocui.Gui) error {
	v, err := g.View("HelpView")
	if err != nil {
		return err
	}
	v.Clear()
	fmt.Fprint(v, "Use <Enter> to acknowledge action. <Backspace> to go Back. <Space> to report Error.\n<Ctrl-X> to exit at any time")
	return nil
}
开发者ID:cgravill,项目名称:antha,代码行数:9,代码来源:cui.go


示例3: printGeneralHelp

func (c *CUI) printGeneralHelp(g *gocui.Gui) error {
	v, err := g.View("HelpView")
	if err != nil {
		return err
	}
	v.Clear()
	fmt.Fprint(v, "Use up/down keys to highlight Actions. <Enter> to select. <Tab> to change to Log Messages List.\n<Ctrl-X> to exit at any time")
	return nil
}
开发者ID:cgravill,项目名称:antha,代码行数:9,代码来源:cui.go


示例4: selectAction

//selectAction shows information about the action that is selected in the ActionListView
func (c *CUI) selectAction(g *gocui.Gui, v *gocui.View) error {
	c.selectedCommand = c.getCursorListPos(g, v)

	if c.selectedCommand > len(c.cmdList)-1 {
		return nil
	}

	var l string
	var t string
	//Load the message from the commandList
	l = c.cmdList[c.selectedCommand].Message.ChildrenText()
	t = c.cmdList[c.selectedCommand].Message.Message

	maxX, maxY := g.Size()
	if v, err := g.SetView("ActionViewTitle", maxX/2-30, maxY/3-2, maxX/2+30, maxY/3); err != nil {
		if err != gocui.ErrorUnkView {
			return err
		}
		fmt.Fprintln(v, t)
	}
	if v, err := g.SetView("ActionView", maxX/2-30, maxY/3, maxX/2+30, 2*maxY/3); err != nil {
		if err != gocui.ErrorUnkView {
			return err
		}
		v.Wrap = true
		fmt.Fprintln(v, l)
		if err := g.SetCurrentView("ActionView"); err != nil {
			return err
		}
	}
	err := c.printActionHelp(g)
	return err
}
开发者ID:cgravill,项目名称:antha,代码行数:34,代码来源:cui.go


示例5: deleteView

//deleteView deletes ActionView + ActionViewTittle and gives focus to ActionListView
func (c *CUI) deleteView(g *gocui.Gui, v *gocui.View) error {
	if err := g.DeleteView("ActionView"); err != nil {
		return err
	}
	if err := g.DeleteView("ActionViewTitle"); err != nil {
		return err
	}
	if err := g.SetCurrentView("ActionListView"); err != nil {
		return err
	}
	if err := c.printGeneralHelp(g); err != nil {
		return err
	}
	return nil
}
开发者ID:cgravill,项目名称:antha,代码行数:16,代码来源:cui.go


示例6: quit

//quit is called when the user wants to finish the execution of the gui. It should display a warning screen and give an
// error result to all the pending actions. If no pending actions exists, it just exists
func (c *CUI) quit(g *gocui.Gui, v *gocui.View) error {
	if len(c.cmdList) > 0 {
		maxX, maxY := g.Size()
		if v, err := g.SetView("QuitWarnView", maxX/2-30, maxY/4, maxX/2+30, 3*maxY/4); err != nil {
			if err != gocui.ErrorUnkView {
				return err
			}
			fmt.Fprintf(v, "By pressing <Ctrl-X> all pending actions will be cancelled.\nPress <Enter> to go back")
			v.BgColor = gocui.ColorYellow
			v.FgColor = gocui.ColorBlack
			if err := g.SetCurrentView("QuitWarnView"); err != nil {
				return err
			}
		}
		return nil
	}
	return c.quitAcknowledged(g, v)
}
开发者ID:cgravill,项目名称:antha,代码行数:20,代码来源:cui.go


示例7: keybindings

//keybindings configures the keyboard actions for each window
func (c *CUI) keybindings(g *gocui.Gui) error {
	//Everybody
	if err := g.SetKeybinding("", gocui.KeyCtrlX, gocui.ModNone, c.quit); err != nil {
		return err
	}

	//ActionListView
	if err := g.SetKeybinding("ActionListView", gocui.KeyTab, gocui.ModNone, c.nextView); err != nil {
		return err
	}
	if err := g.SetKeybinding("ActionListView", gocui.KeyArrowDown, gocui.ModNone, c.cursorDown); err != nil {
		return err
	}
	if err := g.SetKeybinding("ActionListView", gocui.KeyArrowUp, gocui.ModNone, c.cursorUp); err != nil {
		return err
	}
	if err := g.SetKeybinding("ActionListView", gocui.KeyEnter, gocui.ModNone, c.selectAction); err != nil {
		return err
	}

	//LogView
	if err := g.SetKeybinding("LogView", gocui.KeyArrowDown, gocui.ModNone, c.cursorDown); err != nil {
		return err
	}
	if err := g.SetKeybinding("LogView", gocui.KeyArrowUp, gocui.ModNone, c.cursorUp); err != nil {
		return err
	}
	if err := g.SetKeybinding("LogView", gocui.KeyTab, gocui.ModNone, c.nextView); err != nil {
		return err
	}

	//Action View
	if err := g.SetKeybinding("ActionView", gocui.KeyEnter, gocui.ModNone, c.ActionDone); err != nil {
		panic(err)
	}
	if err := g.SetKeybinding("ActionView", gocui.KeyBackspace, gocui.ModNone, c.ActionBack); err != nil {
		return err
	}
	if err := g.SetKeybinding("ActionView", gocui.KeyBackspace2, gocui.ModNone, c.ActionBack); err != nil {
		return err
	}
	if err := g.SetKeybinding("ActionView", gocui.KeySpace, gocui.ModNone, c.ActionError); err != nil {
		return err
	}

	if err := g.SetKeybinding("ErrorMessageView", gocui.KeyEnter, gocui.ModNone, c.ReportError); err != nil {
		return err
	}

	if err := g.SetKeybinding("QuitWarnView", gocui.KeyCtrlX, gocui.ModNone, c.quitAcknowledged); err != nil {
		return err
	}
	if err := g.SetKeybinding("QuitWarnView", gocui.KeyEnter, gocui.ModNone, c.abortQuit); err != nil {
		return err
	}

	return nil
}
开发者ID:cgravill,项目名称:antha,代码行数:59,代码来源:cui.go


示例8: nextView

//nextView jumps between the ActionListView and the LogView
func (c *CUI) nextView(g *gocui.Gui, v *gocui.View) error {
	if v == nil || v.Name() == "ActionListView" {
		return g.SetCurrentView("LogView")
	}
	return g.SetCurrentView("ActionListView")
}
开发者ID:cgravill,项目名称:antha,代码行数:7,代码来源:cui.go


示例9: layout

//layout sets the initial layou of the gui putting the windows in place
func (c *CUI) layout(g *gocui.Gui) error {
	maxX, maxY := g.Size()
	if v, err := g.SetView("ActionListTitle", -1, -1, int(0.7*float32(maxX)), 2); err != nil {
		if err != gocui.ErrorUnkView {
			return err
		}
		fmt.Fprint(v, " Action List")
		v.FgColor = gocui.ColorGreen
	}
	if v, err := g.SetView("ActionListView", -1, 2, int(0.7*float32(maxX)), maxY-5); err != nil {
		if err != gocui.ErrorUnkView {
			return err
		}
		v.Highlight = true
		if err := g.SetCurrentView("ActionListView"); err != nil {
			return err
		}
	}

	if v, err := g.SetView("LogViewTitle", int(0.7*float32(maxX)), -1, maxX, 2); err != nil {
		if err != gocui.ErrorUnkView {
			return err
		}
		fmt.Fprintf(v, " Log View")
		v.FgColor = gocui.ColorGreen
	}
	if v, err := g.SetView("LogView", int(0.7*float32(maxX)), 2, maxX, maxY-5); err != nil {
		if err != gocui.ErrorUnkView {
			return err
		}
		v.Highlight = true
	}
	if v, err := g.SetView("HelpView", 0, maxY-5, maxX, maxY-1); err != nil {
		if err != gocui.ErrorUnkView {
			return err
		}
		v.Frame = false
		v.FgColor = gocui.ColorGreen
		if err := c.printGeneralHelp(g); err != nil {
			return err
		}
	}
	return nil
}
开发者ID:cgravill,项目名称:antha,代码行数:45,代码来源:cui.go


示例10: ActionError

//ActionError displays a window to give a description of the error occurred on a specific action
func (c *CUI) ActionError(g *gocui.Gui, v *gocui.View) error {
	if c.selectedCommand < 0 {
		panic(errors.New("Invalid command selection value"))
	}
	//send an error on

	maxX, maxY := g.Size()
	if v, err := g.SetView("ErrorMessageTittleView", maxX/2-30, maxY/4-2, maxX/2+30, maxY/4); err != nil {
		if err != gocui.ErrorUnkView {
			return err
		}
		fmt.Fprintln(v, " Write a description for the error (<Enter> when done)")
		v.FgColor = gocui.ColorRed
		if err := g.SetCurrentView("ActionView"); err != nil {
			return err
		}
	}
	if v, err := g.SetView("ErrorMessageView", maxX/2-30, maxY/4, maxX/2+30, 3*maxY/4); err != nil {
		if err != gocui.ErrorUnkView {
			return err
		}
		if err := g.SetCurrentView("ActionView"); err != nil {
			return err
		}
		v.Editable = true
	}
	if err := g.SetCurrentView("ErrorMessageView"); err != nil {
		return err
	}

	return nil
}
开发者ID:cgravill,项目名称:antha,代码行数:33,代码来源:cui.go



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Golang gocui.View类代码示例发布时间:2022-05-24
下一篇:
Golang token.Position类代码示例发布时间:2022-05-24
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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