ListWindow: convert list_window_callback_fn_t to an abstract class
[ncmpc-debian.git] / src / ArtistListPage.hxx
index 075177c..5bff25c 100644 (file)
 #define NCMPC_ARTIST_LIST_PAGE_HXX
 
 #include "ListPage.hxx"
 #define NCMPC_ARTIST_LIST_PAGE_HXX
 
 #include "ListPage.hxx"
+#include "ListRenderer.hxx"
+#include "ListText.hxx"
 
 #include <vector>
 #include <string>
 
 class ScreenManager;
 
 
 #include <vector>
 #include <string>
 
 class ScreenManager;
 
-class ArtistListPage final : public ListPage {
+class ArtistListPage final : public ListPage, ListRenderer, ListText {
        ScreenManager &screen;
        std::vector<std::string> artist_list;
 
        ScreenManager &screen;
        std::vector<std::string> artist_list;
 
@@ -53,6 +55,13 @@ public:
        void Update(struct mpdclient &c, unsigned events) override;
        bool OnCommand(struct mpdclient &c, command_t cmd) override;
        const char *GetTitle(char *s, size_t size) const override;
        void Update(struct mpdclient &c, unsigned events) override;
        bool OnCommand(struct mpdclient &c, command_t cmd) override;
        const char *GetTitle(char *s, size_t size) const override;
+
+       /* virtual methods from class ListRenderer */
+       void PaintListItem(WINDOW *w, unsigned i, unsigned y, unsigned width,
+                          bool selected) const override;
+
+       /* virtual methods from class ListText */
+       const char *GetListItemText(unsigned i) const override;
 };
 
 #endif
 };
 
 #endif