30class Top100HaikuWindow :
public BWindow {
33 bool QuitRequested()
override;
34 void MessageReceived(BMessage* msg)
override;
39 kMsgListSelection =
'lsel',
40 kMsgSortChanged =
'srtC',
41 kMsgOpenImdb =
'oimb',
43 kMsgDoDelete =
'delM',
44 kMsgDoRefresh =
'rfrs',
45 kMsgDoUpdate =
'updm',
50 static constexpr uint32 kMsgAddByImdbOk =
'adbk';
53 BMenuBar* menubar_ =
nullptr;
54 BSplitView* split_ =
nullptr;
56 BView* leftBox_ =
nullptr;
57 BStringView* moviesHdr_ =
nullptr;
58 BMenuField* sortField_ =
nullptr;
59 BPopUpMenu* sortMenu_ =
nullptr;
60 BListView* listView_ =
nullptr;
61 BScrollView* listScroll_ =
nullptr;
63 BView* rightBox_ =
nullptr;
64 BStringView* detailsHdr_ =
nullptr;
65 BStringView* titleLabel_ =
nullptr;
66 BStringView* directorLabel_=
nullptr;
67 BStringView* directorValue_=
nullptr;
68 BStringView* actorsLabel_ =
nullptr;
69 BStringView* actorsValue_ =
nullptr;
70 BStringView* genresLabel_ =
nullptr;
71 BStringView* genresValue_ =
nullptr;
72 BStringView* runtimeLabel_ =
nullptr;
73 BStringView* runtimeValue_ =
nullptr;
74 BStringView* imdbLabel_ =
nullptr;
75 BButton* imdbButton_ =
nullptr;
77 BButton* addBtn_ =
nullptr;
78 BButton* delBtn_ =
nullptr;
79 BButton* refreshBtn_ =
nullptr;
80 BButton* updateBtn_ =
nullptr;
81 BView* posterView_ =
nullptr;
82 BTextView* plotText_ =
nullptr;
83 BScrollView* plotScroll_ =
nullptr;
85 BStringView* statusLabel_ =
nullptr;
88 std::vector<std::string> imdbForRow_;
93 void RebuildSortMenu(
int currentIndex);
94 void ReloadModel(
const std::string& selectImdb = std::string());
95 void UpdateDetails(
int rowIndex);
96 void UpdateStatusCount();
97 void SetSortOrder(
int idx);
98 static std::string Join(
const std::vector<std::string>& v,
const std::string& sep);