cloud-control-panel/splash.go

94 lines
2.7 KiB
Go

package main
import "log"
import "runtime"
import "git.wit.com/wit/gui"
import "github.com/andlabs/ui"
import _ "github.com/andlabs/ui/winmanifest"
func showSplashBox(gw *gui.GuiWindow) *gui.GuiBox {
log.Println("ShowSplashBox() START")
text := getNEWTEXT()
box := gui.ShowTextBox(gw, text)
if runtime.GOOS == "linux" {
gui.NewLabel(box,"OS: Linux")
} else if runtime.GOOS == "windows" {
gui.NewLabel(box,"OS: Windows")
} else {
gui.NewLabel(box,"OS: " + runtime.GOOS)
}
gui.NewLabel(box, "Version: " + VERSION)
if (config.Debug) {
gui.NewLabel(box, "git rev-list: " + GITCOMMIT)
gui.NewLabel(box, "go build version: " + GOVERSION)
gui.NewLabel(box, "build date: " + BUILDTIME)
}
okButton := gui.CreateButton(box, nil, nil, "OK", "AREA", nil)
gui.AddButtonToBox(box, okButton)
log.Println("ShowSplashBox() END box =", box)
return box
}
func getNEWTEXT() *ui.AttributedString {
var aText *ui.AttributedString
aText = ui.NewAttributedString("")
gui.AreaAppendText(aText, "Welcome to the Cloud Control Panel\n", ui.TextSize(16), ui.TextColor{0.0, 0.0, 0.8, .8})
gui.AreaAppendText(aText, "(alpha)\n\n", ui.TextSize(10))
gui.AreaAppendText(aText, "This control panel was designed to be an interface to your 'private' cloud. ", ui.TextWeightBold)
gui.AreaAppendText(aText, "The concept of a private cloud means that you can use a providers system, or, seemlessly, use your own hardware in your own datacenter. ", ui.TextWeightBold)
aText.AppendUnattributed("\n")
aText.AppendUnattributed("\n")
gui.AreaAppendText(aText, "This control panel requires:\n")
aText.AppendUnattributed("\n")
gui.AreaAppendText(aText, "IPv6\n")
gui.AreaAppendText(aText, "Your hostname in DNS\n")
aText.AppendUnattributed("\n\n\n\n\n")
gui.AreaAppendText(aText, "<click or press any key>\n", ui.TextSize(10))
return aText
}
func addSubdomainQuestionBox(gw *gui.GuiWindow) *gui.GuiBox {
log.Println("addSubdomainQuestionBox() START")
box := gui.AddGenericBox(gw)
gui.NewLabel(box, "Enter your Subdomain or")
button := gui.CreateButton(box, nil, nil, "Generate", "SUBDOMAIN", generateSubdomain)
gui.AddButtonToBox(box, button)
gui.AddEntry(box, "SUBDOMAIN")
gui.HorizontalBreak(box)
button2 := gui.CreateButton(box, nil, nil, "Create Subdomain Account", "ADD", nil)
gui.AddButtonToBox(box, button2)
log.Println("addSubdomainQuestionBox() END box =", box)
return box
}
func generateSubdomain(b *gui.GuiButton) {
log.Println("generateSubdomain START")
if (b == nil) {
log.Println("generateSubdomain ERROR b == nil")
return
}
// subdomain.SetText("cust00013.wit.dev")
txt := gui.SetText(b.Box, "SUBDOMAIN", "cust001.testing.com.customers.wprod.wit.com")
log.Println("generateSubdomain subdomain = ", txt)
log.Println("generateSubdomain END")
}