|
@@ -18,14 +18,15 @@ import (
|
|
|
// WinMain -- главное окно приложения
|
|
// WinMain -- главное окно приложения
|
|
|
type WinMain struct {
|
|
type WinMain struct {
|
|
|
fyne.Window
|
|
fyne.Window
|
|
|
- serv types.IServer
|
|
|
|
|
- app fyne.App
|
|
|
|
|
- botLogin string
|
|
|
|
|
- botPass string
|
|
|
|
|
- boxLeft *fyne.Container
|
|
|
|
|
- tabBot *container.AppTabs
|
|
|
|
|
- entLogin *widget.Entry
|
|
|
|
|
- entPass *widget.Entry
|
|
|
|
|
|
|
+ serv types.IServer
|
|
|
|
|
+ app fyne.App
|
|
|
|
|
+ botLogin string
|
|
|
|
|
+ botPass string
|
|
|
|
|
+ boxLeft *fyne.Container
|
|
|
|
|
+ tabBot *container.AppTabs // Просмотр параметров бота
|
|
|
|
|
+ entLogin *widget.Label // Логин текущего бота
|
|
|
|
|
+ entPass *widget.Entry // Пароль текущего бота
|
|
|
|
|
+ checkAutoGame *widget.Check // Автоматически играть при старте
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NewWinMain -- возвращает новое главное окно
|
|
// NewWinMain -- возвращает новое главное окно
|
|
@@ -52,12 +53,14 @@ func NewWinMain(serv types.IServer) (*WinMain, error) {
|
|
|
btnAddBot := widget.NewButton("Добавить бота", sf.btnAddClick)
|
|
btnAddBot := widget.NewButton("Добавить бота", sf.btnAddClick)
|
|
|
btnExit := widget.NewButton("Выход", sf.btnExitClick)
|
|
btnExit := widget.NewButton("Выход", sf.btnExitClick)
|
|
|
boxDown := container.NewHBox(btnAddBot, layout.NewSpacer(), btnExit)
|
|
boxDown := container.NewHBox(btnAddBot, layout.NewSpacer(), btnExit)
|
|
|
- sf.entLogin = widget.NewEntry()
|
|
|
|
|
|
|
+ sf.entLogin = widget.NewLabel("")
|
|
|
sf.entPass = widget.NewEntry()
|
|
sf.entPass = widget.NewEntry()
|
|
|
|
|
+ sf.checkAutoGame = widget.NewCheck("", sf.clickAutoGame)
|
|
|
formLogin := &widget.Form{
|
|
formLogin := &widget.Form{
|
|
|
Items: []*widget.FormItem{ // we can specify items in the constructor
|
|
Items: []*widget.FormItem{ // we can specify items in the constructor
|
|
|
{Text: "Логин", Widget: sf.entLogin},
|
|
{Text: "Логин", Widget: sf.entLogin},
|
|
|
{Text: "Пароль", Widget: sf.entPass},
|
|
{Text: "Пароль", Widget: sf.entPass},
|
|
|
|
|
+ {Text: "Авто игра", Widget: sf.checkAutoGame},
|
|
|
},
|
|
},
|
|
|
}
|
|
}
|
|
|
tabLogin := container.NewTabItem("Логин", formLogin)
|
|
tabLogin := container.NewTabItem("Логин", formLogin)
|
|
@@ -69,8 +72,26 @@ func NewWinMain(serv types.IServer) (*WinMain, error) {
|
|
|
return sf, nil
|
|
return sf, nil
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+// Выставляет признак автоматического начала игры при запуске бото-фермы
|
|
|
|
|
+func (sf *WinMain) clickAutoGame(isAutoGame bool) {
|
|
|
|
|
+ log.Printf("WinMain.clickAutoGame(): login:%q\t isAutoGame=%v\n", sf.entLogin.Text, isAutoGame)
|
|
|
|
|
+ sf.botLogin = sf.entLogin.Text
|
|
|
|
|
+ if sf.botLogin == "" {
|
|
|
|
|
+ sf.checkAutoGame.Checked = false
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ // Сохранить автозапуск бота
|
|
|
|
|
+ bot := sf.serv.ServBots().Get(sf.botLogin)
|
|
|
|
|
+ switch isAutoGame {
|
|
|
|
|
+ case true: // Автозапуск бота
|
|
|
|
|
+ bot.SetAutoGame()
|
|
|
|
|
+ default:
|
|
|
|
|
+ bot.ResetAutoGame()
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
func (sf *WinMain) btnAddClick() {
|
|
func (sf *WinMain) btnAddClick() {
|
|
|
- log.Println("btnAddclick()")
|
|
|
|
|
|
|
+ log.Println("WinMain.btnAddclick()")
|
|
|
winAddBot := sf.app.NewWindow("Новый бот")
|
|
winAddBot := sf.app.NewWindow("Новый бот")
|
|
|
entLogin := widget.NewEntry()
|
|
entLogin := widget.NewEntry()
|
|
|
entPass := widget.NewEntry()
|
|
entPass := widget.NewEntry()
|
|
@@ -105,22 +126,24 @@ func (sf *WinMain) addBot() {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (sf *WinMain) btnBotClick() func() {
|
|
func (sf *WinMain) btnBotClick() func() {
|
|
|
|
|
+ log.Println("WinMain.btnBotClick()")
|
|
|
_botLogin := sf.botLogin
|
|
_botLogin := sf.botLogin
|
|
|
-
|
|
|
|
|
bot := sf.serv.ServBots().Get(_botLogin)
|
|
bot := sf.serv.ServBots().Get(_botLogin)
|
|
|
_botPass := bot.Pass()
|
|
_botPass := bot.Pass()
|
|
|
return func() {
|
|
return func() {
|
|
|
- log.Printf("btnBotClick().fn(): botName=%q\tbotPass=%q\n", _botLogin, _botPass)
|
|
|
|
|
|
|
+ log.Printf("btnBotClick().fn(): botName=%q\tbotPass=%q\tisAuto=%v\n", _botLogin, _botPass, bot.IsAutoGame())
|
|
|
// Заполнить данными вкладки своего бота
|
|
// Заполнить данными вкладки своего бота
|
|
|
sf.entLogin.Text = _botLogin
|
|
sf.entLogin.Text = _botLogin
|
|
|
sf.entLogin.Refresh()
|
|
sf.entLogin.Refresh()
|
|
|
sf.entPass.Text = _botPass
|
|
sf.entPass.Text = _botPass
|
|
|
sf.entPass.Refresh()
|
|
sf.entPass.Refresh()
|
|
|
|
|
+ sf.checkAutoGame.Checked = bot.IsAutoGame()
|
|
|
|
|
+ sf.checkAutoGame.Refresh()
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (sf *WinMain) btnExitClick() {
|
|
func (sf *WinMain) btnExitClick() {
|
|
|
- log.Println("btnExitClick()")
|
|
|
|
|
|
|
+ log.Println("WinMain.btnExitClick()")
|
|
|
sf.Close()
|
|
sf.Close()
|
|
|
sf.app.Quit()
|
|
sf.app.Quit()
|
|
|
sf.serv.CancelApp()
|
|
sf.serv.CancelApp()
|