Forráskód Böngészése

d02 Доработка добавление и просмотра бота

SVI 2 éve
szülő
commit
1514fbb6ad
1 módosított fájl, 17 hozzáadás és 7 törlés
  1. 17 7
      server/gui/win_main/win_main.go

+ 17 - 7
server/gui/win_main/win_main.go

@@ -24,6 +24,8 @@ type WinMain struct {
 	botPass  string
 	boxLeft  *fyne.Container
 	tabBot   *container.AppTabs
+	entLogin *widget.Entry
+	entPass  *widget.Entry
 }
 
 // NewWinMain -- возвращает новое главное окно
@@ -50,12 +52,12 @@ func NewWinMain(serv types.IServer) (*WinMain, error) {
 	btnAddBot := widget.NewButton("Добавить бота", sf.btnAddClick)
 	btnExit := widget.NewButton("Выход", sf.btnExitClick)
 	boxDown := container.NewHBox(btnAddBot, layout.NewSpacer(), btnExit)
-	entLogin := widget.NewEntry()
-	entPass := widget.NewEntry()
+	sf.entLogin = widget.NewEntry()
+	sf.entPass = widget.NewEntry()
 	formLogin := &widget.Form{
 		Items: []*widget.FormItem{ // we can specify items in the constructor
-			{Text: "Логин", Widget: entLogin},
-			{Text: "Пароль", Widget: entPass},
+			{Text: "Логин", Widget: sf.entLogin},
+			{Text: "Пароль", Widget: sf.entPass},
 		},
 	}
 	tabLogin := container.NewTabItem("Логин", formLogin)
@@ -93,19 +95,27 @@ func (sf *WinMain) btnAddClick() {
 // Добавляет бота на жкран
 func (sf *WinMain) addBot() {
 	log.Printf("WinMain.addBot(): %q\n", sf.botLogin)
-	btnBot := widget.NewButton(sf.botLogin, sf.btnBotClick())
-	sf.boxLeft.Add(btnBot)
 	err := sf.serv.ServBots().AddBot(sf.botLogin, sf.botPass)
 	if err != nil {
 		log.Printf("WinMain.addBot().OnSubmit(): in add bot to ferma, err=\n\t%v\n", err)
+		return
 	}
+	btnBot := widget.NewButton(sf.botLogin, sf.btnBotClick())
+	sf.boxLeft.Add(btnBot)
 }
 
 func (sf *WinMain) btnBotClick() func() {
 	_botLogin := sf.botLogin
-	_botPass := sf.botPass
+
+	bot := sf.serv.ServBots().Get(_botLogin)
+	_botPass := bot.Pass()
 	return func() {
 		log.Printf("btnBotClick().fn(): botName=%q\tbotPass=%q\n", _botLogin, _botPass)
+		// Заполнить данными вкладки своего бота
+		sf.entLogin.Text = _botLogin
+		sf.entLogin.Refresh()
+		sf.entPass.Text = _botPass
+		sf.entPass.Refresh()
 	}
 }