add chip description tooltip for systems in new song dialog (#1242)

* add chip description tooltip for systems in new song dialog

* give BeginTooltip() for chip descriptions its own line in code
This commit is contained in:
June 2023-07-15 16:23:52 -07:00 committed by GitHub
parent 1c567224bf
commit d6a24cd32a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 28 additions and 0 deletions

View File

@ -113,7 +113,35 @@ void FurnaceGUI::drawNewSong() {
nextDescName=i.name;
accepted=true;
}
if (ImGui::IsItemHovered()) {
if (ImGui::BeginTooltip()) {
std::map<DivSystem, int> chipCounts;
std::vector<DivSystem> chips;
for (FurnaceGUISysDefChip chip: i.orig) {
if (chipCounts.find(chip.sys) == chipCounts.end()) {
chipCounts[chip.sys] = 1;
chips.push_back(chip.sys);
}
else {
chipCounts[chip.sys] += 1;
}
}
int num_chips = chips.size();
for (int chipIndex = 0; chipIndex < num_chips; chipIndex++) {
DivSystem chip = chips[chipIndex];
const DivSysDef* sysDef = e->getSystemDef(chip);
ImGui::Text("%s (x%d): ", sysDef->name, chipCounts[chip]);
ImGui::TextWrapped("%s", sysDef->description);
if (chipIndex + 1 < num_chips) {
ImGui::Separator();
}
}
ImGui::EndTooltip();
}
}
}
ImGui::EndTable();
}