modFrmCmd.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. """Фрейм с кнопками для управления бото-фермой"""
  2. from typing import Any
  3. from tkinter import Frame, Button
  4. from pakApp.pakGui.pakWinAddBot.modWinAddBot import WinAddBot
  5. class FrmCmd(Frame):
  6. """Фрейм командных кнопок главного окна"""
  7. def __init__(self, win_bot: Any) -> None:
  8. Frame.__init__(self, master=win_bot)
  9. self.win_main: Any = win_bot
  10. self.pack(side="bottom", fill="x")
  11. self.btn_exit = Button(self, text="Выход", command=self.exit, bg="red")
  12. self.btn_exit.pack(side="right")
  13. self.btn_set_dev = Button(self, text="Отладка", command=self.set_dev)
  14. self.btn_set_dev.pack(side="left")
  15. self.btn_set_prod = Button(self, text="Прод", command=self.set_prod)
  16. self.btn_set_prod.pack(side="left")
  17. self.btn_add_bot = Button(self, text="Нов бот", command=self.add_bot)
  18. self.btn_add_bot.pack(side="left")
  19. self.btn_add_bot["state"] = "disabled"
  20. def set_dev(self):
  21. """Устанавливает сервер отладки"""
  22. logic = self.win_main.app.logic
  23. logic.set_dev()
  24. self.run_work()
  25. def set_prod(self):
  26. """Устанавливает сервер отладки"""
  27. logic = self.win_main.app.logic
  28. logic.set_prod()
  29. self.run_work()
  30. def run_work(self):
  31. """Запускает в работу опрос"""
  32. self.btn_set_dev["state"] = "disabled"
  33. self.btn_set_prod["state"] = "disabled"
  34. self.btn_add_bot["state"] = "active"
  35. self.win_main.update_list_bot()
  36. def add_bot(self) -> None:
  37. """Добавляет бота в монитор"""
  38. win_add: WinAddBot = WinAddBot(self.win_main)
  39. win_add.run()
  40. def exit(self) -> None:
  41. """Завершает работу монитора"""
  42. self.win_main.destroy()