示例#1
0
class UI:
    def __init__(self, root):
        """Muosostaa konstruktorin

        Args:
            root ([Luo pää ruutin]): [Alustaa muutujat]
        """
        self._root = root
        self._current_view = None

    def start(self):
        """Ohjelma käynniistyy ja kutsuu aloitus ruudtua metodin kautta
        """
        self._show_login_view()

    # self.pack()

    def _show_login_view(self):
        """Poistaa mahdolliset muut näkymät ja asettaa näkymäksi
        aloitusnäkymän
        """
        self._hide_current_view()
        self._current_view = LoginMain(self._root, self._show_main_screen,
                                       self._show_new_user_view,
                                       self._show_budget_view,
                                       self._show_list_view)

    def _hide_current_view(self):
        """funktio nykyisen näkymän poistamiseksi
        tärkeä monille muille funktioille
        """
        if self._current_view:
            self._current_view.destroy()

    def _show_main_screen(self):
        """päänäkymä jota tarvitaan kun ohjelma käynnistetty tai haluttu ohjelma vaihe suoritettu

        """
        self._hide_current_view()
        self._current_view = LoginMain(self._root, self._show_login_view,
                                       self._show_new_user_view,
                                       self._show_budget_view,
                                       self._show_list_view)

    def _show_new_user_view(self):
        """uuden käyttäjän luonti (toimii kun verkkotietokanta luotu)
        """
        self._hide_current_view()
        self._current_view = NewUserView(self._root, self._show_login_view)

    def _show_budget_view(self):
        self._hide_current_view()
        self._current_view = BudgetView(self._root, self._show_budget_view,
                                        self._show_login_view)

    def _show_list_view(self):
        self._hide_current_view()
        self._current_view = ListView(self._root, self._show_list_view,
                                      self._show_login_view,
                                      self._show_budget_view)
    def __init__(self, sonos, title, tracks, playlist):
        NavigationScene.__init__(self, title)

        self.sonos = sonos
        self.background_color = colors.NAVY

        self.tracks = tracks
        self.track_titles = []
        self.playlist = playlist
        for track in self.tracks:
            self.track_titles.append(track.title)       

        # Add list of tracks
        self.track_list_view = ListView(Rect(0,80,Window.frame.width, Window.frame.height - 80),self.track_titles)
        self.track_list_view.on_selected.connect(self.track_selected)
        self.add_child(self.track_list_view)

        ##### Play All Button #####
        play_all_button_image = Image('play_all_button',filename='play_all.png')
        self.play_all_button = Button(Rect(30,self.frame.height - 55,30,30),image=play_all_button_image)        
        self.play_all_button.on_tapped.connect(self.play_all)        
        self.add_child(self.play_all_button)

        ##### Shuffle Button #####
        shuffle_button_image = Image('shuffle_button',filename='shuffle.png')
        self.shuffle_button = Button(Rect(250,self.frame.height - 60,40,40),image=shuffle_button_image)        
        self.shuffle_button.on_tapped.connect(self.shuffle)        
        self.add_child(self.shuffle_button) 
示例#3
0
    def _show_main_screen(self):
        """päänäkymä jota tarvitaan kun ohjelma käynnistetty tai haluttu ohjelma vaihe suoritettu

        """
        self._hide_current_view()
        self._current_view = LoginMain(self._root, self._show_login_view,
                                       self._show_new_user_view,
                                       self._show_budget_view,
                                       self._show_list_view)
示例#4
0
 def _show_login_view(self):
     """Poistaa mahdolliset muut näkymät ja asettaa näkymäksi
     aloitusnäkymän
     """
     self._hide_current_view()
     self._current_view = LoginMain(self._root, self._show_main_screen,
                                    self._show_new_user_view,
                                    self._show_budget_view,
                                    self._show_list_view)
示例#5
0
    def __init__(self, sonos, playlists=None):
        NavigationScene.__init__(self, "Playlists")

        self.sonos = sonos
        self.background_color = colors.NAVY        

        if playlists == None:
            playlists = Sonos.playlists()
        self.playlists = playlists
        self.playlist_titles = []
        for playlist in self.playlists:
            self.playlist_titles.append(playlist.title)       

        # Add list of playlists
        self.playlist_list_view = ListView(Rect(0,80,Window.frame.width, Window.frame.height - 80),self.playlist_titles)
        self.playlist_list_view.on_selected.connect(self.playlist_selected)
        self.add_child(self.playlist_list_view)
    def __init__(self, sonos, genres=None):
        NavigationScene.__init__(self, "Genres")

        self.sonos = sonos
        self.background_color = colors.NAVY        

        if genres == None:
            genres = Sonos.genres()
        self.genres = genres
        self.genre_titles = []
        for genre in self.genres:
            self.genre_titles.append(genre.title)       

        # Add list of genres
        self.genre_list_view = ListView(Rect(0,80,Window.frame.width, Window.frame.height - 80),self.genre_titles)
        self.genre_list_view.on_selected.connect(self.genre_selected)
        self.add_child(self.genre_list_view)
    def __init__(self, sonos, title="Albums", albums=None):
        NavigationScene.__init__(self, title)

        self.sonos = sonos
        self.background_color = colors.NAVY

        if albums == None:
            albums = Sonos.albums()
        self.albums = albums
        self.album_titles = []
        for album in self.albums:
            self.album_titles.append(album.title)

        # Add list of albums
        self.album_list_view = ListView(
            Rect(0, 80, Window.frame.width, Window.frame.height - 80),
            self.album_titles)
        self.album_list_view.on_selected.connect(self.album_selected)
        self.add_child(self.album_list_view)
示例#8
0
 def _show_list_view(self):
     self._hide_current_view()
     self._current_view = ListView(self._root, self._handle_start)
     self._current_view.pack()
示例#9
0
 def _show_list_view(self):
     self._hide_current_view()
     self._current_view = ListView(self._root, self._show_list_view,
                                   self._show_login_view,
                                   self._show_budget_view)
示例#10
0
 def _show_new_user_view(self):
     """uuden käyttäjän luonti (toimii kun verkkotietokanta luotu)
     """
     self._hide_current_view()
     self._current_view = NewUserView(self._root, self._show_login_view)