From 31695863de6e4b82c2374f7efdb969472cf8d23e Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Tue, 12 Oct 2021 10:13:02 -0400 Subject: [PATCH] sidebar: Create a TableWindow scrolled window Signed-off-by: Anna Schumaker --- sidebar/test_view.py | 14 ++++++++++++++ sidebar/view.py | 15 +++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/sidebar/test_view.py b/sidebar/test_view.py index 921a487..3ab3c14 100644 --- a/sidebar/test_view.py +++ b/sidebar/test_view.py @@ -36,6 +36,20 @@ class TestTableView(unittest.TestCase): self.assertEqual(table.get_factory(), row.LibraryFactory) +class TestTableWindow(unittest.TestCase): + def test_init(self): + window = view.TableWindow(db.artist.Table) + self.assertIsInstance(window, Gtk.ScrolledWindow) + self.assertIsInstance(window.get_child(), view.TableView) + self.assertEqual(window.get_table(), db.artist.Table) + + def test_selection(self): + artist = db.artist.Table.find("Test Artist", "Test Sort") + window = view.TableWindow(db.artist.Table) + self.assertEqual(window.get_selection(), window.get_child().get_selection()) + self.assertEqual(window.get_selected_playlist(), artist) + + class TestUserView(unittest.TestCase): def test_init(self): user = view.UserView() diff --git a/sidebar/view.py b/sidebar/view.py index 2a20b39..e94eddd 100644 --- a/sidebar/view.py +++ b/sidebar/view.py @@ -28,6 +28,21 @@ class TableView(Gtk.ListView): return self.get_model().get_table() +class TableWindow(Gtk.ScrolledWindow): + def __init__(self, table): + Gtk.ScrolledWindow.__init__(self) + self.set_child(TableView(table)) + + def get_selection(self): + return self.get_child().get_selection() + + def get_selected_playlist(self): + return self.get_child().get_selected_playlist() + + def get_table(self): + return self.get_child().get_table() + + class UserView(Gtk.ListView): def __init__(self): Gtk.ListView.__init__(self)