1
0
Fork 0

Updates giu version to take advantage of keyboard handling

This commit is contained in:
sloum 2021-06-24 22:31:35 -07:00
parent b97fbc468d
commit 4d3c2e5903
3 changed files with 60 additions and 9 deletions

6
go.mod
View File

@ -2,4 +2,8 @@ module tildegit.org/sloum/gnums
go 1.16
require github.com/AllenDang/giu v0.5.4
require (
github.com/AllenDang/giu v0.5.5-0.20210618140556-043793d78478
github.com/go-resty/resty/v2 v2.6.0 // indirect
golang.org/x/net v0.0.0-20210614182718-04defd469f4e // indirect
)

21
go.sum
View File

@ -1,7 +1,13 @@
github.com/AllenDang/giu v0.5.4 h1:OuSgcTZYH9buug1yWsJAvUr57aQwiJK7hjk+JYtv4tM=
github.com/AllenDang/giu v0.5.4/go.mod h1:1CyOLkJREGGWFVx+p2z5+1KMhY3H7Zbl8gQ/huzThsI=
github.com/AllenDang/giu v0.5.5-0.20210618140556-043793d78478 h1:cJqc5MdsIzCh/xKIX/lwyCAJs/kgByO+2+RVdufrnJU=
github.com/AllenDang/giu v0.5.5-0.20210618140556-043793d78478/go.mod h1:mBndBoUtz/rB2cCVpEMeO+1TXYemYFokE/i/FTjPkUc=
github.com/AllenDang/go-findfont v0.0.0-20200702051237-9f180485aeb8 h1:dKZMqib/yUDoCFigmz2agG8geZ/e3iRq304/KJXqKyw=
github.com/AllenDang/go-findfont v0.0.0-20200702051237-9f180485aeb8/go.mod h1:b4uuDd0s6KRIPa84cEEchdQ9ICh7K0OryZHbSzMca9k=
github.com/AllenDang/imgui-go v1.12.1-0.20210509113325-c0e4c78e7a88 h1:dXpshnNwPl+QjFOiJNFlQrtOz1oA565EO9FUseKvlhU=
github.com/AllenDang/imgui-go v1.12.1-0.20210509113325-c0e4c78e7a88/go.mod h1:+pYwstqlGGlU2lI1FREPlVAKP2nwV+bNhAlMrbQynhQ=
github.com/AllenDang/imgui-go v1.12.1-0.20210617113257-a210d0333fc7 h1:Pk4JnlvVIHhE2TuLaCoJ3TtSDe+rEn7vdCD/rfoDwp8=
github.com/AllenDang/imgui-go v1.12.1-0.20210617113257-a210d0333fc7/go.mod h1:+pYwstqlGGlU2lI1FREPlVAKP2nwV+bNhAlMrbQynhQ=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/faiface/mainthread v0.0.0-20171120011319-8b78f0a41ae3 h1:baVdMKlASEHrj19iqjARrPbaRisD7EuZEVJj6ZMLl1Q=
@ -13,17 +19,32 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20210410170116-ea3d685f79fb h1:T6gaWBvRzJ
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20210410170116-ea3d685f79fb/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-resty/resty/v2 v2.3.0 h1:JOOeAvjSlapTT92p8xiS19Zxev1neGikoHsXJeOq8So=
github.com/go-resty/resty/v2 v2.3.0/go.mod h1:UpN9CgLZNsv4e9XG50UU8xdI0F43UQ4HmxLBDwaroHU=
github.com/go-resty/resty/v2 v2.6.0 h1:joIR5PNLM2EFqqESUjCMGXrWmXNHEU9CEiK813oKYS4=
github.com/go-resty/resty/v2 v2.6.0/go.mod h1:PwvJS6hvaPkjtjNg9ph+VrSD92bi5Zq73w/BIH7cC3Q=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/sahilm/fuzzy v0.1.0 h1:FzWGaw2Opqyu+794ZQ9SYifWv2EIXpwP4q8dY1kDAwI=
github.com/sahilm/fuzzy v0.1.0/go.mod h1:VFvziUEIMCrT6A6tw2RFIXPXXmzXbOsSHF0DOI8ZK9Y=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/net v0.0.0-20200513185701-a91f0712d120 h1:EZ3cVSzKOlJxAd8e8YAJ7no8nNypTxexh/YE/xW3ZEY=
golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210614182718-04defd469f4e h1:XpT3nA5TvE525Ne3hInMh6+GETgn27Zfm9dxsThnX2Q=
golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

42
main.go
View File

@ -9,7 +9,7 @@ import (
)
const (
MasterWidth int = 376
MasterWidth int = 382
Version string = "0.1.1"
FullStack int = iota
TopThree
@ -135,6 +135,14 @@ func SetStackLabelWithSort() {
stackLabel = g.Label(fmt.Sprintf("Stack Output\n[d]{%s}", sort))
}
func ToggleScreenSize() {
width := MasterWidth
if ShowStack {
width = MasterWidth + MasterWidth / 2
}
wnd.SetSize(width,400)
}
func loop() {
g.SingleWindowWithMenuBar("gnums - " + Version).Layout(
g.MenuBar().Layout(
@ -147,12 +155,7 @@ func loop() {
g.MenuItem("Clear Stack"),
),
g.Menu("Settings").Layout(
g.Checkbox("Show Stack Window", &ShowStack).OnChange(func(){
width := MasterWidth
if ShowStack {
width = MasterWidth + MasterWidth / 2
}
wnd.SetSize(width,400)}),
g.Checkbox("Show Stack Window", &ShowStack).OnChange(ToggleScreenSize),
g.Menu("Output Style").Layout(
g.RadioButton("Full Stack", stackStyle == FullStack).OnChange(func(){stackStyle = FullStack; outputDisplay = s.String()}),
g.RadioButton("Top Three", stackStyle == TopThree).OnChange(func(){stackStyle = TopThree; outputDisplay = s.String()}),
@ -272,6 +275,29 @@ func Exit() {
}
func main() {
wnd = g.NewMasterWindow("gnums", MasterWidth+MasterWidth/2, 390, g.MasterWindowFlagsNotResizable, nil)
wnd = g.NewMasterWindow("gnums", MasterWidth+MasterWidth/2, 405, g.MasterWindowFlagsNotResizable).RegisterKeyboardShortcuts(
g.WindowShortcut{Key: g.KeyQ, Modifier: g.ModControl, Callback: Exit},
g.WindowShortcut{Key: g.Key0, Callback: func(){inputBuffer.Append('0')}},
g.WindowShortcut{Key: g.Key1, Callback: func(){inputBuffer.Append('1')}},
g.WindowShortcut{Key: g.Key2, Callback: func(){inputBuffer.Append('2')}},
g.WindowShortcut{Key: g.Key3, Callback: func(){inputBuffer.Append('3')}},
g.WindowShortcut{Key: g.Key4, Callback: func(){inputBuffer.Append('4')}},
g.WindowShortcut{Key: g.Key5, Callback: func(){inputBuffer.Append('5')}},
g.WindowShortcut{Key: g.Key6, Callback: func(){inputBuffer.Append('6')}},
g.WindowShortcut{Key: g.Key7, Callback: func(){inputBuffer.Append('7')}},
g.WindowShortcut{Key: g.Key8, Callback: func(){inputBuffer.Append('8')}},
g.WindowShortcut{Key: g.Key9, Callback: func(){inputBuffer.Append('9')}},
g.WindowShortcut{Key: g.KeyPeriod, Callback: func(){inputBuffer.Append('.')}},
g.WindowShortcut{Key: g.KeyMinus, Callback: func(){callStackWord(s.Sub)}},
g.WindowShortcut{Key: g.KeyEqual, Modifier: g.ModShift, Callback: func(){callStackWord(s.Add)}},
g.WindowShortcut{Key: g.Key8, Modifier: g.ModShift, Callback: func(){callStackWord(s.Mul)}},
g.WindowShortcut{Key: g.KeySlash, Callback: func(){callStackWord(s.Div)}},
g.WindowShortcut{Key: g.Key6, Modifier: g.ModShift, Callback: func(){callStackWord(s.Pow)}},
g.WindowShortcut{Key: g.KeyEnter, Callback: func(){inputBuffer.Store(); outputDisplay = s.String()}},
g.WindowShortcut{Key: g.KeySpace, Callback: func(){ShowStack = !ShowStack; ToggleScreenSize()}},
g.WindowShortcut{Key: g.KeyEscape, Callback: func(){callStackWord(s.Clear)}},
g.WindowShortcut{Key: g.Key1, Modifier: g.ModShift, Callback: func(){callStackWord(s.Inv)}},
g.WindowShortcut{Key: g.KeyBackspace, Callback: func(){inputBuffer.Delete()}},
)
wnd.Run(loop)
}