コード例 #1
0
ファイル: cui.go プロジェクト: cgravill/antha
//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
}