blob: d23c434d14b299cfeaafbb1f1763a8130d14e7bb (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#include "achievements_pane.h"
#include "ap_state.h"
#include "game_data.h"
AchievementsPane::AchievementsPane(wxWindow* parent)
: wxListView(parent, wxID_ANY) {
AppendColumn("Achievement");
for (int panel_id : GD_GetAchievementPanels()) {
const Panel& panel = GD_GetPanel(panel_id);
achievements_.emplace_back(panel.achievement_name, panel.solve_index);
}
std::sort(std::begin(achievements_), std::end(achievements_));
for (int i = 0; i < achievements_.size(); i++) {
InsertItem(i, std::get<0>(achievements_.at(i)));
}
SetColumnWidth(0, wxLIST_AUTOSIZE_USEHEADER);
UpdateIndicators();
}
void AchievementsPane::UpdateIndicators() {
for (int i = 0; i < achievements_.size(); i++) {
if (AP_IsPanelSolved(std::get<1>(achievements_.at(i)))) {
SetItemTextColour(i, *wxBLACK);
} else {
SetItemTextColour(i, *wxRED);
}
}
}
|