// package frm_bank -- фрейм состояния банка package frm_bank import ( "time" . "gitp78su.ipnodns.ru/svi/kern" . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes" tk "modernc.org/tk9.0" . "wartank/app/lev0/types" // "wartank/desktop/win_add_bot" // "wartank/desktop/win_main/frm_status" ) type FrmBank struct { ctx IKernelCtx лблУровень *tk.TLabelWidget лблРабота *tk.TLabelWidget лблВремяОстат *tk.TLabelWidget } func NewFrmBank(frmStateBot *tk.TFrameWidget) *FrmBank { sf := &FrmBank{ ctx: GetKernelCtx(), } frmBank := frmStateBot.Frame(tk.Border(1), tk.Relief(tk.SUNKEN)) tk.Pack(frmBank, tk.Side(tk.LEFT), tk.Fill(tk.FILL_Y)) лблПараметрыБанк := frmBank.Label(tk.Txt("Банк"), tk.Background("#888"), tk.Border(1), tk.Relief(tk.GROOVE), ) tk.Pack(лблПараметрыБанк, tk.Side(tk.TOP), tk.Fill(tk.FILL_X)) sf.лблУровень = frmBank.TLabel(tk.Txt("Уровень"), tk.Border(1), tk.Relief(tk.GROOVE), ) tk.Pack(sf.лблУровень, tk.Side(tk.TOP), tk.Fill(tk.FILL_X)) sf.лблРабота = frmBank.TLabel(tk.Txt("Работа"), tk.Border(1), tk.Relief(tk.GROOVE), ) tk.Pack(sf.лблРабота, tk.Side(tk.TOP), tk.Fill(tk.FILL_X)) sf.лблВремяОстат = frmBank.TLabel(tk.Txt("Время"), tk.Border(1), tk.Relief(tk.GROOVE), ) tk.Pack(sf.лблВремяОстат, tk.Side(tk.TOP), tk.Fill(tk.FILL_X)) sf.update() return sf } func (sf *FrmBank) update() { select { case <-sf.ctx.Ctx().Done(): return default: farm := sf.ctx.Get("ботоФерма").Val().(ИБотоФерма) lstBot := farm.ListBot() if len(lstBot) > 0 { bot := lstBot[0] ботСеть := bot.КонтБот() bank := ботСеть.Get("банк").Val().(ИАренаБанк) { // Стата танка стрУровень := bank.Уровень().ЗначСтр() sf.лблУровень.Configure(tk.Txt("Уровень: " + стрУровень)) стрРабота := bank.ПродуктСейчас().ЗначСтр() sf.лблРабота.Configure(tk.Txt("Работа: " + стрРабота)) стрВремяОстат := bank.ВремяОстат().String() sf.лблВремяОстат.Configure(tk.Txt("Работа: " + стрВремяОстат)) } } } tk.TclAfter(time.Millisecond*250, sf.update) }