From f95b0644d953cc04c22b2258fe36e870d7db5f0d Mon Sep 17 00:00:00 2001 From: salaaad2 Date: Thu, 31 Mar 2022 23:15:09 +0200 Subject: 0.0.1.1 --- .gitignore | 1 + csrc/smith.h | 8 ++++++++ go.mod | 5 ++++- main.go | 27 ++++++++++++++++++++++++++- 4 files changed, 39 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 4d7c973..1aea797 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ tmp/ csrc/obj libsmith.a +smith go.sum diff --git a/csrc/smith.h b/csrc/smith.h index b342e54..04015ee 100644 --- a/csrc/smith.h +++ b/csrc/smith.h @@ -1,3 +1,11 @@ +/*********************************/ +/* SMITH ( // */ +/* smith ( )/ */ +/* by salade )(/ */ +/* ________________ ( /) */ +/* ()__)____________))))) :^} */ +/*********************************/ + #ifndef SMITH_H_ #define SMITH_H_ diff --git a/go.mod b/go.mod index 185d41c..be00a15 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,7 @@ module smith go 1.16 -require github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8 // indirect +require ( + github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1 // indirect + github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8 +) diff --git a/main.go b/main.go index fc21770..f01a58f 100644 --- a/main.go +++ b/main.go @@ -15,10 +15,35 @@ import ( import "C" func main() { + smith := tview.NewApplication() ctogo := C.mr_smith() + + modal := func(p tview.Primitive, width, height int) tview.Primitive { + return tview.NewFlex(). + AddItem(nil, 0, 1, false). + AddItem(tview.NewFlex().SetDirection(tview.FlexRow). + AddItem(nil, 0, 1, false). + AddItem(p, height, 1, false). + AddItem(nil, 0, 1, false), width, 1, false). + AddItem(nil, 0, 1, false) + } + box := tview.NewBox().SetBorder(true).SetTitle(C.GoString(ctogo)) - if err := tview.NewApplication().SetRoot(box, true).Run(); err != nil { + + init_form := tview.NewForm(). + AddDropDown("You are", []string{"Salad", "Salade", "Mr Smith"}, 0, nil). + AddInputField("First Name", "", 20, nil, nil). + AddButton("Save", nil). + AddButton("Quit", func() { + smith.Stop() + }) + + pages := tview.NewPages(). + AddPage("box", box, true, true). + AddPage("form", modal(init_form, 40, 20), true, true) + + if err := smith.SetRoot(pages, true).Run(); err != nil { panic(err) } } -- cgit v1.2.3