Commit | Line | Data |
---|---|---|
9199c6aa FC |
1 | from dataclasses import dataclass |
2 | from ya2.utils.gui.cursor import MouseCursor | |
3 | ||
4 | ||
5 | @dataclass | |
9f095a28 | 6 | class PageArgs: |
9199c6aa FC |
7 | set_page: ... |
8 | test_positions: ... | |
9 | running_functional_tests: ... | |
10 | ||
11 | ||
12 | class BaseMenu: | |
13 | ||
14 | def __init__(self, cursor_info, running_functional_tests, test_positions): | |
9f095a28 | 15 | self._page_info = PageArgs(self.set_page, test_positions, running_functional_tests) |
9199c6aa FC |
16 | self._page = None |
17 | self._cursor = MouseCursor(cursor_info) | |
18 | self.set_page('main') | |
19 | ||
20 | def set_page(self, page_name): | |
21 | if self._page: self._page.destroy() | |
22 | p = self._set_page(page_name) | |
23 | self._page = p | |
24 | ||
25 | def destroy(self): | |
26 | if self._page: self._page = self._page.destroy() | |
27 | self._cursor.destroy() |