def _show_remove_item_view(self, item): self._empty_view() self._current_view = RemoveItemView(self._root, self._ctrl, self._views, item) self._current_view.pack()
def _show_wishlist_view(self): self._empty_view() self._current_view = WishlistView(self._root, self._ctrl, self._views) self._current_view.pack()
def _show_create_user_view(self): self._empty_view() self._current_view = CreateUserView(self._root, self._ctrl, self._views) self._current_view.pack()
def _show_login_view(self): self._empty_view() self._current_view = LoginView(self._root, self._ctrl, self._views) self._current_view.pack()
def _show_information_view(self, msg, view_number): self._empty_view() self._current_view = InfoView(self._root, self._ctrl, self._views, msg, view_number) self._current_view.pack()
def _show_management_view(self): self._empty_view() self._current_view = ManagementView(self._root, self._ctrl, self._views) self._current_view.pack()
class UI: """UI-luokkien pääluokka. Tässä luokassa suoritetaan kaikkien muiden UI-luokkien kontrollointi. Muut näkymät tarjotaan parametrina listassa kaikille näkymille, jolloin niihin siirtymistä on helppo pyytää kutsumalla vain pääluokan metodia listasta. Luokka kutsuu pyytävän luokan tuhoamismetodia ja vaihtaa sitten näkymäkseen pyydetyn luokan näkymän. Joillekin metodeille voi antaa myös parametreja kutsussa. """ def __init__(self, root): """Konstruktori, alustaa luokan attribuutit. Args: root: saa parametrina isäntänäkymän, johon näkymät sidotaan. """ self._root = root self._current_view = None self._ctrl = Controller() self._views = [ self._show_main_view, self._show_management_view, self._show_information_view, self._end_session, self._show_login_view, self._show_create_user_view, self._show_remove_item_view, self._show_wishlist_view, self ] self.user = None def start(self): """Käynnistää sovelluksen ensimmäisenä näytettävän näkymän, eli kirjautumisnäkymän.""" self._show_login_view() def _show_main_view(self): self._empty_view() self._current_view = MainView(self._root, self._ctrl, self._views) self._current_view.pack() def _show_management_view(self): self._empty_view() self._current_view = ManagementView(self._root, self._ctrl, self._views) self._current_view.pack() def _show_information_view(self, msg, view_number): self._empty_view() self._current_view = InfoView(self._root, self._ctrl, self._views, msg, view_number) self._current_view.pack() def _show_login_view(self): self._empty_view() self._current_view = LoginView(self._root, self._ctrl, self._views) self._current_view.pack() def _show_create_user_view(self): self._empty_view() self._current_view = CreateUserView(self._root, self._ctrl, self._views) self._current_view.pack() def _show_remove_item_view(self, item): self._empty_view() self._current_view = RemoveItemView(self._root, self._ctrl, self._views, item) self._current_view.pack() def _show_wishlist_view(self): self._empty_view() self._current_view = WishlistView(self._root, self._ctrl, self._views) self._current_view.pack() def _empty_view(self): if self._current_view: self._current_view.destroy() self._current_view = None def _end_session(self): self._root.destroy()