90 lines
1.9 KiB
Go
90 lines
1.9 KiB
Go
// 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/gui"
|
|
"go.wit.com/lib/gadgets"
|
|
"go.wit.com/log"
|
|
)
|
|
|
|
func makePortmapWin() {
|
|
me.portwin = new(stdTableWin)
|
|
me.portwin.win = gadgets.NewGenericWindow("zood daemon versions", "todo: add global controls here")
|
|
me.portwin.win.Custom = func() {
|
|
log.Info("test delete window here")
|
|
}
|
|
grid := me.portwin.win.Group.RawGrid()
|
|
grid.NewButton("ConfigSave() ", func() {
|
|
saveMachineState()
|
|
})
|
|
grid.NewButton("Add() ", func() {
|
|
})
|
|
grid.NewCheckbox("hide active")
|
|
grid.NewButton("update", func() {
|
|
doMachinesUpgradeTable()
|
|
})
|
|
|
|
// make a box at the bottom of the window for the protobuf table
|
|
me.portwin.box = me.portwin.win.Bottom.Box().SetProgName("TBOX")
|
|
doMachinesUpgradeTable()
|
|
}
|
|
|
|
func doMachinesUpgradeTable() {
|
|
me.portwin.Lock()
|
|
defer me.portwin.Unlock()
|
|
if me.portwin.TB != nil {
|
|
me.portwin.TB.Delete()
|
|
me.portwin.TB = nil
|
|
}
|
|
|
|
// display the protobuf
|
|
me.portwin.TB = AddMachinesPB(me.portwin.box, me.portmaps)
|
|
f := func(m *Portmap) {
|
|
log.Info("Triggering machine", m.Dest, "to upgrade portwin")
|
|
m.Enabled = true
|
|
}
|
|
me.portwin.TB.Custom(f)
|
|
log.Info("table has uuid", me.portwin.TB.GetUuid())
|
|
}
|
|
|
|
func AddMachinesPB(tbox *gui.Node, pb *Portmaps) *PortmapsTable {
|
|
t := pb.NewTable("PortmapsPB")
|
|
t.NewUuid()
|
|
t.SetParent(tbox)
|
|
|
|
editf := func(m *Portmap) string {
|
|
log.Info("machine =", m.Dest)
|
|
return "edit"
|
|
}
|
|
t.AddButtonFunc("edit", editf)
|
|
|
|
enablef := func(p *Portmap) string {
|
|
if p.Enabled {
|
|
p.Enabled = false
|
|
} else {
|
|
p.Enabled = true
|
|
}
|
|
return "enable"
|
|
}
|
|
t.AddButtonFunc("enable", enablef)
|
|
|
|
enabledf := func(p *Portmap) string {
|
|
if p.Enabled {
|
|
return "true"
|
|
}
|
|
return "false"
|
|
}
|
|
t.AddStringFunc("enabled", enabledf)
|
|
|
|
t.AddLocalport()
|
|
t.AddDest()
|
|
t.ShowTable()
|
|
return t
|
|
}
|
|
|
|
func saveMachineState() {
|
|
me.portmaps.ConfigSave()
|
|
}
|