From 44a68c79e3bb60697e8a1d0616dc3a2394d013f2 Mon Sep 17 00:00:00 2001 From: Edouard Paris Date: Fri, 5 Apr 2019 09:35:49 +0200 Subject: [PATCH] refac views: attach footer --- ui/controller.go | 4 ++-- ui/views/channels.go | 38 +++++++++++++++++++++++++++++++++++--- ui/views/footer.go | 34 ---------------------------------- ui/views/views.go | 9 +-------- 4 files changed, 38 insertions(+), 47 deletions(-) delete mode 100644 ui/views/footer.go diff --git a/ui/controller.go b/ui/controller.go index 1c80838..97a5e8a 100644 --- a/ui/controller.go +++ b/ui/controller.go @@ -137,7 +137,7 @@ func (c *controller) OnEnter(g *gocui.Gui, v *gocui.View) error { return err } - err = c.views.Channel.Set(g, 0, 6, maxX-1, maxY-1) + err = c.views.Channel.Set(g, 0, 6, maxX-1, maxY) if err != nil { return err } @@ -155,7 +155,7 @@ func (c *controller) OnEnter(g *gocui.Gui, v *gocui.View) error { return err } - err = c.views.Channels.Set(g, 0, 6, maxX-1, maxY-1) + err = c.views.Channels.Set(g, 0, 6, maxX-1, maxY) if err != nil { return err } diff --git a/ui/views/channels.go b/ui/views/channels.go index fddda17..e3ad9f3 100644 --- a/ui/views/channels.go +++ b/ui/views/channels.go @@ -16,8 +16,10 @@ import ( const ( CHANNEL = "channel" CHANNEL_HEADER = "channel_header" + CHANNEL_FOOTER = "channel_footer" CHANNELS = "channels" CHANNELS_COLUMNS = "channels_columns" + CHANNELS_FOOTER = "channels_footer" ) type Channels struct { @@ -40,7 +42,7 @@ func (c *Channels) Set(g *gocui.Gui, x0, y0, x1, y1 int) error { columns.FgColor = gocui.ColorBlack | gocui.AttrBold displayChannelsColumns(columns) - v, err := g.SetView(CHANNELS, x0-1, y0+1, x1+2, y1) + v, err := g.SetView(CHANNELS, x0-1, y0+1, x1+2, y1-2) if err != nil { if err != gocui.ErrUnknownView { return err @@ -57,6 +59,18 @@ func (c *Channels) Set(g *gocui.Gui, x0, y0, x1, y1 int) error { v.Highlight = true c.display(v) + + footer, err := g.SetView(CHANNELS_FOOTER, x0-1, y1-2, x1, y1) + if err != nil { + if err != gocui.ErrUnknownView { + return err + } + } + footer.Frame = false + footer.BgColor = gocui.ColorCyan + footer.FgColor = gocui.ColorBlack + footer.Clear() + fmt.Fprintln(footer, fmt.Sprintf("%s%s", color.BlackBg("F1"), "Help")) return nil } @@ -158,7 +172,7 @@ func (c *Channel) Set(g *gocui.Gui, x0, y0, x1, y1 int) error { header.Clear() fmt.Fprintln(header, "Channel") - v, err := g.SetView(CHANNEL, x0-1, y0+1, x1+2, y1) + v, err := g.SetView(CHANNEL, x0-1, y0+1, x1+2, y1-2) if err != nil { if err != gocui.ErrUnknownView { return err @@ -166,6 +180,18 @@ func (c *Channel) Set(g *gocui.Gui, x0, y0, x1, y1 int) error { } v.Frame = false c.display(v) + + footer, err := g.SetView(CHANNEL_FOOTER, x0-1, y1-2, x1, y1) + if err != nil { + if err != gocui.ErrUnknownView { + return err + } + } + footer.Frame = false + footer.BgColor = gocui.ColorCyan + footer.FgColor = gocui.ColorBlack + footer.Clear() + fmt.Fprintln(footer, fmt.Sprintf("%s%s", color.BlackBg("F1"), "Help")) return nil } @@ -174,7 +200,13 @@ func (c Channel) Delete(g *gocui.Gui) error { if err != nil { return err } - return g.DeleteView(CHANNEL) + + err = g.DeleteView(CHANNEL) + if err != nil { + return err + } + + return g.DeleteView(CHANNEL_FOOTER) } func (c *Channel) display(v *gocui.View) { diff --git a/ui/views/footer.go b/ui/views/footer.go deleted file mode 100644 index f4dbbfc..0000000 --- a/ui/views/footer.go +++ /dev/null @@ -1,34 +0,0 @@ -package views - -import ( - "fmt" - - "github.com/jroimartin/gocui" - - "github.com/edouardparis/lntop/ui/color" -) - -const ( - FOOTER = "footer" -) - -type Footer struct{} - -func (f *Footer) Set(g *gocui.Gui, x0, y0, x1, y1 int) error { - v, err := g.SetView(FOOTER, x0-1, y0, x1, y1) - if err != nil { - if err != gocui.ErrUnknownView { - return err - } - } - v.Frame = false - v.BgColor = gocui.ColorCyan - v.FgColor = gocui.ColorBlack - v.Clear() - fmt.Fprintln(v, fmt.Sprintf("%s%s", color.BlackBg("F1"), "Help")) - return nil -} - -func NewFooter() *Footer { - return &Footer{} -} diff --git a/ui/views/views.go b/ui/views/views.go index 0f3e6a3..3f9dc93 100644 --- a/ui/views/views.go +++ b/ui/views/views.go @@ -17,7 +17,6 @@ type Views struct { Summary *Summary Channels *Channels Channel *Channel - Footer *Footer } func (v Views) Get(name string) view { @@ -48,18 +47,12 @@ func (v *Views) Layout(g *gocui.Gui, maxX, maxY int) error { return err } - err = v.Channels.Set(g, 0, 6, maxX-1, maxY-1) - if err != nil { - return err - } - - return v.Footer.Set(g, 0, maxY-2, maxX, maxY) + return v.Channels.Set(g, 0, 6, maxX-1, maxY) } func New(m *models.Models) *Views { return &Views{ Header: NewHeader(m.Info), - Footer: NewFooter(), Help: NewHelp(), Summary: NewSummary(m.Info, m.ChannelsBalance, m.WalletBalance, m.Channels), Channels: NewChannels(m.Channels),