GUI: add an effect list window

This commit is contained in:
tildearrow 2022-04-19 18:44:05 -05:00
parent b6026e76c5
commit d4380e1524
11 changed files with 161 additions and 65 deletions

View file

@ -2523,6 +2523,7 @@ bool FurnaceGUI::loop() {
ImGui::EndMenu();
}
if (ImGui::BeginMenu("help")) {
if (ImGui::MenuItem("effect list",BIND_FOR(GUI_ACTION_WINDOW_EFFECT_LIST),effectListOpen)) effectListOpen=!effectListOpen;
if (ImGui::MenuItem("debug menu",BIND_FOR(GUI_ACTION_WINDOW_DEBUG))) debugOpen=!debugOpen;
if (ImGui::MenuItem("panic",BIND_FOR(GUI_ACTION_PANIC))) e->syncReset();
if (ImGui::MenuItem("about...",BIND_FOR(GUI_ACTION_WINDOW_ABOUT))) {
@ -2581,7 +2582,7 @@ bool FurnaceGUI::loop() {
default: // effect
int actualCursor=((cursor.xFine+1)&(~1));
if (p->data[cursor.y][actualCursor]>-1) {
info=e->getEffectDesc(p->data[cursor.y][actualCursor],cursor.xCoarse);
info=e->getEffectDesc(p->data[cursor.y][actualCursor],cursor.xCoarse,true);
hasInfo=true;
}
break;
@ -2626,6 +2627,7 @@ bool FurnaceGUI::loop() {
drawChannels();
drawRegView();
drawLog();
drawEffectList();
if (inspectorOpen) ImGui::ShowMetricsWindow(&inspectorOpen);
@ -3234,6 +3236,7 @@ bool FurnaceGUI::init() {
channelsOpen=e->getConfBool("channelsOpen",false);
regViewOpen=e->getConfBool("regViewOpen",false);
logOpen=e->getConfBool("logOpen",false);
effectListOpen=e->getConfBool("effectListOpen",false);
tempoView=e->getConfBool("tempoView",true);
waveHex=e->getConfBool("waveHex",false);
@ -3404,6 +3407,7 @@ bool FurnaceGUI::finish() {
e->setConf("channelsOpen",channelsOpen);
e->setConf("regViewOpen",regViewOpen);
e->setConf("logOpen",logOpen);
e->setConf("effectListOpen",effectListOpen);
// commit last window size
e->setConf("lastWindowWidth",scrW);
@ -3510,6 +3514,7 @@ FurnaceGUI::FurnaceGUI():
channelsOpen(false),
regViewOpen(false),
logOpen(false),
effectListOpen(false),
/*
editControlsDocked(false),
ordersDocked(false),
@ -3534,6 +3539,8 @@ FurnaceGUI::FurnaceGUI():
notesDocked(false),
channelsDocked(false),
regViewDocked(false),
logDocked(false),
effectListDocked(false),
*/
selecting(false),
curNibble(false),