// Copyright 2017-2025 WIT.COM Inc. All rights reserved. // Use of this source code is governed by the GPL 3.0 package main // An app to submit patches for the 30 GO GUI repos import ( "os" "strings" "time" "go.wit.com/gui" "go.wit.com/lib/gadgets" "go.wit.com/lib/gui/shell" "go.wit.com/log" ) func debug() { for { time.Sleep(3 * time.Second) log.Info("TODO: use this?") } } func doGui() { me.myGui = gui.New() me.myGui.InitEmbed(resources) me.myGui.Default() mainWindow := gadgets.NewGenericWindow("RiscV Imager", "Show Drives") mainWindow.Custom = func() { log.Warn("Main window close") os.Exit(0) } drawWindow(mainWindow) // sits here forever debug() } func drawWindow(win *gadgets.GenericWindow) { grid := win.Group.RawGrid() me.dd = grid.NewDropdown() // me.dd.AddText("/dev/blah") me.dd.Custom = func() { fields := strings.Fields(me.dd.String()) log.Info("changed to", fields) if len(fields) < 1 { return } me.currentDev = fields[0] me.parted.SetText("Partition " + me.currentDev) } grid.NextRow() // a button to format or blank a drive me.parted = grid.NewButton("select drive", func() { if me.currentDev == "" { log.Info("You must select a drive first") return } log.Info("check if", me.currentDev, "is in use") shell.RunVerbose([]string{"parted", me.currentDev, "print"}) }) grid.NextRow() grid.NewButton("doDrives()", func() { doDrives() }) doDrives2() }