-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathScene.py
39 lines (27 loc) · 943 Bytes
/
Scene.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from abc import ABC, abstractmethod
import FileService
import Table
import InputElement
import GUI
class AbstractScene(ABC):
def __init__(self, root):
self.root = root
self.elements = []
def clear(self):
widgets = self.root.grid_slaves()
for widget in widgets:
widget.destroy()
def rebuild(self):
self.clear()
for element in self.elements:
element.create()
def addElement(self, element):
self.elements.append(element)
class ListScene(AbstractScene):
freeRowsOnTop = 1
def __init__(self, root):
super().__init__(root)
self.addElement(Table.SortingTable(self, FileService.fileService.getAllProductsAsLists(), ["name", "price", "currency"]))
self.addElement(InputElement.ProductInput(self))
def getInputRow(self):
return self.freeRowsOnTop + len(FileService.fileService.getAllProductsAsLists())