func (c *column) CreateViews(g *gocui.Gui, colv *gocui.View) error { if c.isActive { colv.FgColor = gocui.ColorCyan | gocui.AttrBold } else { colv.FgColor = gocui.ColorDefault } x, y, maxX, maxY, err := g.ViewPosition(colv.Name()) y = y + 2 if err != nil { return err } maxIssues := maxY / LinesPerEntry c.maxIssues = maxIssues for i := 0; i < maxIssues; i++ { v, err := g.SetView(fmt.Sprintf("col-%s-%d", c.name, i), x, y+(i*LinesPerEntry), maxX, y+((i+1)*LinesPerEntry)) if err != nil { if err != gocui.ErrorUnkView { return err } } v.SelBgColor = gocui.ColorRed v.Frame = false v.Wrap = true } return c.redraw(g) }
func getLine(g *gocui.Gui, v *gocui.View) error { var l string var err error g.ShowCursor = false _, cy := v.Cursor() if l, err = v.Line(cy); err != nil { l = "" } maxX, maxY := g.Size() length := 10 + len(current_name) if l != "" { current_name = l if v, err := g.SetView("msg", maxX/2-length/2, maxY/2-3, maxX/2+length/2, maxY/2+3); err != nil { v.BgColor = gocui.ColorGreen v.FgColor = gocui.ColorBlack if err != gocui.ErrorUnkView { return err } current_proj = projects[current_name] current_proj.start() fmt.Fprintln(v, "") fmt.Fprintln(v, "") fmt.Fprintln(v, strings.Repeat(" ", (length-15)/2), "Active Project") fmt.Fprintln(v, "") fmt.Fprintln(v, strings.Repeat(" ", 5), current_name) fmt.Fprintln(v, "") setView(g, "msg") } } return nil }