| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- // 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)
- }
|