From af0664c7f081d5e69857ae0589c890e5b6061be4 Mon Sep 17 00:00:00 2001 From: hatsu38 Date: Tue, 24 Aug 2021 13:51:43 +0900 Subject: [PATCH] Focus ResTextField --- gui/gui.go | 17 +++++++++++++++++ gui/navigate.go | 3 ++- gui/res_text_view.go | 9 +++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/gui/gui.go b/gui/gui.go index 48b1bc8..b90e1ab 100644 --- a/gui/gui.go +++ b/gui/gui.go @@ -91,6 +91,7 @@ func (g *Gui) Run(i interface{}) error { inputUrlField.setFunc(g) paramsTable.setFunc(g) bodyTable.setFunc(g) + resTextView.setFunc(g) httpFlex := tview.NewFlex() httpFlex.SetDirection(tview.FlexColumn) @@ -142,6 +143,7 @@ func (g *Gui) ToHTTPFieldFocus() { g.ParamsTable.SetBordersColor(tcell.ColorWhite) g.BodyTable.SetBordersColor(tcell.ColorWhite) g.UrlField.SetBorderColor(tcell.ColorWhite) + g.ResTextView.SetBorderColor(tcell.ColorWhite) g.HTTPTextView.SetBorderColor(tcell.ColorGreen) g.NavTextView.update("http") @@ -153,6 +155,7 @@ func (g *Gui) ToParamsTableFocus() { g.HTTPTextView.SetBorderColor(tcell.ColorWhite) g.UrlField.SetBorderColor(tcell.ColorWhite) g.BodyTable.SetBorderColor(tcell.ColorWhite) + g.ResTextView.SetBorderColor(tcell.ColorWhite) g.ParamsTable.SetBordersColor(tcell.ColorGreen) g.NavTextView.update("paramsTable") @@ -166,16 +169,30 @@ func (g *Gui) ToBodyTable() { g.ParamsTable.SetBordersColor(tcell.ColorWhite) g.UrlField.SetBorderColor(tcell.ColorWhite) g.HTTPTextView.SetBorderColor(tcell.ColorWhite) + g.ResTextView.SetBorderColor(tcell.ColorWhite) g.BodyTable.SetBordersColor(tcell.ColorGreen) g.NavTextView.update("bodyTable") } +func (g *Gui) ToResTextField() { + g.App.SetFocus(g.ResTextView) + g.ParamsTable.SetBordersColor(tcell.ColorWhite) + g.UrlField.SetBorderColor(tcell.ColorWhite) + g.HTTPTextView.SetBorderColor(tcell.ColorWhite) + g.BodyTable.SetBordersColor(tcell.ColorWhite) + + g.ResTextView.SetBorderColor(tcell.ColorGreen) + g.NavTextView.update("resField") +} + func (g *Gui) ToFocus() { primitive := g.App.GetFocus() switch primitive { case g.UrlField: + g.ToResTextField() + case g.ResTextView: g.ToParamsTableFocus() case g.ParamsTable: g.ToBodyTable() diff --git a/gui/navigate.go b/gui/navigate.go index 5be3303..b19d58a 100644 --- a/gui/navigate.go +++ b/gui/navigate.go @@ -14,8 +14,9 @@ func newNavigate() *navigate { return &navigate{ TextView: tview.NewTextView().SetTextColor(tcell.ColorYellow), keybindings: map[string]string{ - "url": " Tab: move params table, Enter: http request", "http": " Tab: move url field, Enter: change http method", + "url": " Tab: move Response Field, Enter: http request", + "resField": " Tab: move params table, Enter: set body paramater", "paramsTable": " Tab: move body table, Enter: set query paramater", "bodyTable": " Tab: move params table, Enter: set body paramater", }, diff --git a/gui/res_text_view.go b/gui/res_text_view.go index 8636b5d..5391e4b 100644 --- a/gui/res_text_view.go +++ b/gui/res_text_view.go @@ -32,3 +32,12 @@ func newResTextView() *resTestView { return textView } + +func (t *resTestView) setFunc(g *Gui) { + t.SetDoneFunc(func(key tcell.Key) { + switch key { + case tcell.KeyTab: + g.ToFocus() + } + }) +}