| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- // package win_add_bot -- добавляет бота
- package win_add_bot
- import (
- "log"
- "gitp78su.ipnodns.ru/svi/kern"
- . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
- tk "modernc.org/tk9.0"
- . "wartank/app/lev0/types"
- )
- type WinAddBot struct {
- ctx IKernelCtx
- winMain *tk.Window
- entryName *tk.TEntryWidget
- entryPass *tk.TEntryWidget
- chBot chan ИБот
- }
- func NewWinAddBot(chBot chan ИБот) *WinAddBot {
- sf := &WinAddBot{
- winMain: tk.App,
- ctx: kern.GetKernelCtx(),
- chBot: chBot,
- }
- winBotAdd := sf.winMain.Toplevel()
- winBotAdd.WmTitle("Добавить бота")
- tk.WmGeometry(winBotAdd.Window, "480x320")
- frmName := winBotAdd.Frame()
- tk.Pack(frmName, tk.Fill(tk.FILL_X), tk.Side(tk.TOP))
- lblName := frmName.Label(tk.Txt("Имя бота"))
- tk.Pack(lblName, tk.Side(tk.LEFT))
- varName := tk.Textvariable("name?")
- sf.entryName = frmName.TEntry(varName)
- tk.Pack(sf.entryName, tk.Fill(tk.FILL_X))
- frmPass := winBotAdd.Frame()
- tk.Pack(frmPass, tk.Fill(tk.FILL_X), tk.Side(tk.TOP))
- varPass := tk.Textvariable("login?")
- sf.entryPass = frmName.TEntry(varPass)
- tk.Pack(sf.entryPass, tk.Fill(tk.FILL_X))
- frmBtn := winBotAdd.Frame()
- tk.Pack(frmBtn, tk.Side(tk.BOTTOM), tk.Fill(tk.FILL_X))
- btnSave := frmBtn.Button(tk.Txt("Сохранить"), tk.Command(sf.clickSave))
- tk.Pack(btnSave, tk.Side(tk.RIGHT))
- return sf
- }
- func (sf *WinAddBot) clickSave() {
- txtLogin := sf.entryName.Textvariable()
- txtPass := sf.entryPass.Textvariable()
- log.Printf("entry=%v\tlogin=%v\n", txtLogin, txtPass)
- ботоФерма := sf.ctx.Get("ботоФерма").Val().(ИБотоФерма)
- res := ботоФерма.НовБот(txtLogin, txtPass, true)
- if res.IsErr() {
- log.Fatalf("Desktop.botAdd(): login=%v, err\n\t%v", txtLogin, res.Error())
- }
- lstBot := ботоФерма.ListBot()
- for _, bot := range lstBot {
- if txtLogin == bot.Имя() {
- sf.chBot <- bot
- return
- }
- }
- }
|