Compare commits
No commits in common. "guimaster" and "v0.21.11" have entirely different histories.
22
Makefile
22
Makefile
|
@ -1,10 +1,11 @@
|
|||
VERSION = $(shell git describe --tags)
|
||||
BUILDTIME = $(shell date +%Y.%m.%d)
|
||||
|
||||
all: build gocui
|
||||
all: build
|
||||
./basicwindow
|
||||
|
||||
build: goimports vet
|
||||
GO111MODULE=off go build -v -x \
|
||||
build:
|
||||
GO111MODULE=off go build \
|
||||
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
|
||||
|
||||
verbose:
|
||||
|
@ -16,20 +17,25 @@ install:
|
|||
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
|
||||
|
||||
clean:
|
||||
-rm -f basicwindow go.*
|
||||
-rm -f gadgetwindow
|
||||
|
||||
# embed the toolkit plugins in the binary
|
||||
embed:
|
||||
-rm resources/*.so
|
||||
touch resources/blank.so
|
||||
cp -a ~/go/src/go.wit.com/toolkits/*/*.so resources/
|
||||
cp -a ~/go/src/go.wit.com/toolkits/*.so resources/
|
||||
|
||||
gocui:
|
||||
./basicwindow --gui gocui
|
||||
|
||||
goimports:
|
||||
goimports -w *.go
|
||||
# // to globally reset paths:
|
||||
# // gofmt -w -r "go.wit.com/gui -> go.wit.com/gui/gui" .
|
||||
|
||||
redomod:
|
||||
rm -f go.*
|
||||
goimports -w *.go
|
||||
GO111MODULE= go mod init
|
||||
GO111MODULE= go mod tidy
|
||||
|
||||
vet:
|
||||
@GO111MODULE=off go vet
|
||||
@echo this go binary package builds okay
|
||||
|
|
16
argv.go
16
argv.go
|
@ -1,5 +1,11 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/alexflint/go-arg"
|
||||
)
|
||||
|
||||
/*
|
||||
this parses the command line arguements
|
||||
this enables command line options from other packages like 'gui' and 'log'
|
||||
|
@ -17,6 +23,16 @@ This basicwindow example demonstrates multiple windows
|
|||
`
|
||||
}
|
||||
|
||||
func init() {
|
||||
pp := arg.MustParse(&argv)
|
||||
|
||||
// for very new users or users unfamilar with the command line, this may help them
|
||||
if argv.Demo == "version" || argv.Demo == "help" || argv.Demo == "?" {
|
||||
pp.WriteHelp(os.Stdout)
|
||||
os.Exit(0)
|
||||
}
|
||||
}
|
||||
|
||||
func (args) Version() string {
|
||||
return "basicwindow " + VERSION
|
||||
}
|
||||
|
|
24
main.go
24
main.go
|
@ -1,18 +1,17 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"go.wit.com/dev/alexflint/arg"
|
||||
"go.wit.com/gui"
|
||||
"go.wit.com/lib/gadgets"
|
||||
"go.wit.com/lib/gui/prep"
|
||||
"go.wit.com/log"
|
||||
)
|
||||
|
||||
// sent via -ldflags
|
||||
var VERSION string
|
||||
|
||||
// This is the beginning of the binary tree of widgets
|
||||
var myGui *gui.Node
|
||||
|
||||
// this is the primary window. If you close it, the program will exit
|
||||
var mainWindow *gui.Node
|
||||
|
||||
|
@ -26,28 +25,19 @@ var computers *gui.Node
|
|||
var colors *gui.Node
|
||||
|
||||
func main() {
|
||||
me := new(mainType)
|
||||
me.myGui = prep.Gui() // prepares the GUI package for go-args
|
||||
me.pp = arg.MustParse(&argv)
|
||||
|
||||
// for very new users or users unfamilar with the command line, this may help them
|
||||
if argv.Demo == "version" || argv.Demo == "help" || argv.Demo == "?" {
|
||||
me.pp.WriteHelp(os.Stdout)
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
me.myGui.Start() // loads the GUI toolkit (GO Plugins)
|
||||
myGui = gui.New().Default()
|
||||
// myGui.LoadToolkit("nocui")
|
||||
|
||||
helloworld()
|
||||
basicWindow = makebasicWindow()
|
||||
|
||||
// use this or make a loop to do something
|
||||
// go will sit here until the window exits
|
||||
gui.Watchdog()
|
||||
}
|
||||
|
||||
// This initializes the first window and some widgets
|
||||
func helloworld() {
|
||||
mainWindow = gui.RawWindow("primary helloworld window").SetProgName("BASEWIN1")
|
||||
mainWindow = myGui.NewWindow("primary helloworld window").SetProgName("BASEWIN1")
|
||||
|
||||
box := mainWindow.NewBox("vbox", false)
|
||||
group := box.NewGroup("choices")
|
||||
|
|
17
structs.go
17
structs.go
|
@ -1,17 +0,0 @@
|
|||
// Copyright 2017-2025 WIT.COM Inc. All rights reserved.
|
||||
// Use of this source code is governed by the GPL 3.0
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"go.wit.com/dev/alexflint/arg"
|
||||
"go.wit.com/lib/gui/prep"
|
||||
)
|
||||
|
||||
var me *mainType
|
||||
|
||||
// this app's variables
|
||||
type mainType struct {
|
||||
pp *arg.Parser // for parsing the command line args. Yay to alexf lint!
|
||||
myGui *prep.GuiPrep // the gui toolkit handle
|
||||
}
|
Loading…
Reference in New Issue