added tooltips to DeveloperDialog

This commit is contained in:
thrust26 2020-11-20 20:12:30 +01:00
parent bf9b5b5557
commit 83da128ee9
1 changed files with 35 additions and 1 deletions

View File

@ -115,10 +115,11 @@ void DeveloperDialog::addEmulationTab(const GUI::Font& font)
"Console info overlay");
wid.push_back(myFrameStatsWidget);
myDetectedInfoWidget = new CheckboxWidget(myTab, font,
myFrameStatsWidget->getRight() + fontWidth * 2.5, ypos + 1,
"Detected settings info");
myDetectedInfoWidget->setToolTip("Display detected controllers, bankswitching\n"
"and TV types at ROM start.");
wid.push_back(myDetectedInfoWidget);
ypos += lineHeight + VGAP;
@ -131,6 +132,8 @@ void DeveloperDialog::addEmulationTab(const GUI::Font& font)
myConsoleWidget = new PopUpWidget(myTab, font, HBORDER + INDENT * 1, ypos, pwidth, lineHeight, items,
"Console ", lwidth, kConsole);
myConsoleWidget->setToolTip("Emulate Color/B&W/Pause key and zero\n"
"page RAM initialization differenly.");
wid.push_back(myConsoleWidget);
ypos += lineHeight + VGAP;
@ -141,6 +144,8 @@ void DeveloperDialog::addEmulationTab(const GUI::Font& font)
myRandomBankWidget = new CheckboxWidget(myTab, font, HBORDER + INDENT * 2, ypos + 1,
"Random startup bank");
myRandomBankWidget->setToolTip("Randomize the startup bank for\n"
"most classic bankswitching types.");
wid.push_back(myRandomBankWidget);
ypos += lineHeight + VGAP;
@ -168,17 +173,23 @@ void DeveloperDialog::addEmulationTab(const GUI::Font& font)
// How to handle undriven TIA pins
myUndrivenPinsWidget = new CheckboxWidget(myTab, font, HBORDER + INDENT * 1, ypos + 1,
"Drive unused TIA pins randomly on a read/peek");
myUndrivenPinsWidget->setToolTip("Read TIA pins random instead of last databus values.\n"
"Helps detecting missing '#' for immediate loads.");
wid.push_back(myUndrivenPinsWidget);
ypos += lineHeight + VGAP;
#ifdef DEBUGGER_SUPPORT
myRWPortBreakWidget = new CheckboxWidget(myTab, font, HBORDER + INDENT * 1, ypos + 1,
"Break on reads from write ports");
myRWPortBreakWidget->setToolTip("Cause reads from write ports to interrupt\n"
"emulation and enter debugger.");
wid.push_back(myRWPortBreakWidget);
ypos += lineHeight + VGAP;
myWRPortBreakWidget = new CheckboxWidget(myTab, font, HBORDER + INDENT * 1, ypos + 1,
"Break on writes to read ports");
myWRPortBreakWidget->setToolTip("Cause writes to read ports to interrupt\n"
"emulation and enter debugger.");
wid.push_back(myWRPortBreakWidget);
ypos += lineHeight + VGAP;
#endif
@ -186,12 +197,16 @@ void DeveloperDialog::addEmulationTab(const GUI::Font& font)
// Thumb ARM emulation exception
myThumbExceptionWidget = new CheckboxWidget(myTab, font, HBORDER + INDENT * 1, ypos + 1,
"Fatal ARM emulation error throws exception");
myThumbExceptionWidget->setToolTip("Cause Thumb ARM emulation to throw exceptions\n"
"on fatal errors and enter the debugger.");
wid.push_back(myThumbExceptionWidget);
ypos += lineHeight + VGAP;
// AtariVox/SaveKey EEPROM access
myEEPROMAccessWidget = new CheckboxWidget(myTab, font, HBORDER + INDENT * 1, ypos + 1,
"Display AtariVox/SaveKey EEPROM R/W access");
myEEPROMAccessWidget->setToolTip("Cause message display when AtariVox/\n"
"SaveKey EEPROM is read or written.");
wid.push_back(myEEPROMAccessWidget);
// Add items for tab 0
@ -239,11 +254,15 @@ void DeveloperDialog::addTiaTab(const GUI::Font& font)
VarList::push_back(items, "Custom", "custom");
myTIATypeWidget = new PopUpWidget(myTab, font, HBORDER + INDENT, ypos - 1,
pwidth, lineHeight, items, "Chip type ", 0, kTIAType);
myTIATypeWidget->setToolTip("Select which TIA chip type to emulate.\n"
"Some types cause defined glitches.");
wid.push_back(myTIATypeWidget);
ypos += lineHeight + VGAP * 1;
myInvPhaseLabel = new StaticTextWidget(myTab, font, HBORDER + INDENT * 2, ypos + 1,
"Inverted HMOVE clock phase for");
myInvPhaseLabel->setToolTip("Objects react different to too\n"
"early HM" + ELLIPSIS + " after HMOVE changes.");
wid.push_back(myInvPhaseLabel);
ypos += lineHeight + VGAP * 1;
@ -262,6 +281,7 @@ void DeveloperDialog::addTiaTab(const GUI::Font& font)
myPlayfieldLabel = new StaticTextWidget(myTab, font, HBORDER + INDENT * 2, ypos + 1,
"Delayed playfield");
myPlayfieldLabel->setToolTip("Playfield reacts one color clock slower to updates.");
wid.push_back(myPlayfieldLabel);
ypos += lineHeight + VGAP * 1;
@ -275,6 +295,7 @@ void DeveloperDialog::addTiaTab(const GUI::Font& font)
myBackgroundLabel = new StaticTextWidget(myTab, font, HBORDER + INDENT * 2, ypos + 1,
"Delayed background");
myBackgroundLabel->setToolTip("Background color reacts one color clock slower to updates.");
wid.push_back(myBackgroundLabel);
ypos += lineHeight + VGAP * 1;
@ -285,6 +306,7 @@ void DeveloperDialog::addTiaTab(const GUI::Font& font)
ostringstream ss;
ss << "Delayed VDEL" << ELLIPSIS << " swap for";
mySwapLabel = new StaticTextWidget(myTab, font, HBORDER + INDENT * 2, ypos + 1, ss.str());
mySwapLabel->setToolTip("VDELed objects react one color clock slower to updates.");
wid.push_back(mySwapLabel);
ypos += lineHeight + VGAP * 1;
@ -332,12 +354,14 @@ void DeveloperDialog::addVideoTab(const GUI::Font& font)
// TV jitter effect
myTVJitterWidget = new CheckboxWidget(myTab, font, HBORDER + INDENT * 1, ypos + 1,
"Jitter/roll effect", kTVJitter);
myTVJitterWidget->setToolTip("Enable to emulate TV loss of sync.");
wid.push_back(myTVJitterWidget);
myTVJitterRecWidget = new SliderWidget(myTab, font,
myTVJitterWidget->getRight() + fontWidth * 3, ypos - 1,
"Recovery ", 0, kTVJitterChanged);
myTVJitterRecWidget->setMinValue(1); myTVJitterRecWidget->setMaxValue(20);
myTVJitterRecWidget->setTickmarkIntervals(5);
myTVJitterRecWidget->setToolTip("Define speed of sync revovery.");
wid.push_back(myTVJitterRecWidget);
myTVJitterRecLabelWidget = new StaticTextWidget(myTab, font,
myTVJitterRecWidget->getRight() + 4,
@ -347,6 +371,8 @@ void DeveloperDialog::addVideoTab(const GUI::Font& font)
myColorLossWidget = new CheckboxWidget(myTab, font, HBORDER + INDENT * 1, ypos + 1,
"PAL color-loss");
myColorLossWidget->setToolTip("PAL games with odd scanline count\n"
"will be displayed without color.");
wid.push_back(myColorLossWidget);
ypos += lineHeight + VGAP;
@ -485,6 +511,7 @@ void DeveloperDialog::addTimeMachineTab(const GUI::Font& font)
#endif
myStateSizeWidget->setStepValue(20);
myStateSizeWidget->setTickmarkIntervals(5);
myStateSizeWidget->setToolTip("Define the total Time Machine buffer size.");
wid.push_back(myStateSizeWidget);
ypos += lineHeight + VGAP;
@ -498,6 +525,9 @@ void DeveloperDialog::addTimeMachineTab(const GUI::Font& font)
#endif
myUncompressedWidget->setStepValue(20);
myUncompressedWidget->setTickmarkIntervals(5);
myUncompressedWidget->setToolTip("Define the number of completely kept states.\n"
"States beyond this number will be slowly removed\n"
"to fit the requested horizon into the buffer.");
wid.push_back(myUncompressedWidget);
ypos += lineHeight + VGAP;
@ -507,6 +537,7 @@ void DeveloperDialog::addTimeMachineTab(const GUI::Font& font)
int pwidth = font.getStringWidth("10 seconds");
myStateIntervalWidget = new PopUpWidget(myTab, font, xpos, ypos, pwidth,
lineHeight, items, "Interval ", 0, kIntervalChanged);
myStateIntervalWidget->setToolTip("Define the interval between each saved state.");
wid.push_back(myStateIntervalWidget);
ypos += lineHeight + VGAP;
@ -515,6 +546,8 @@ void DeveloperDialog::addTimeMachineTab(const GUI::Font& font)
VarList::push_back(items, HORIZONS[i], HOR_SETTINGS[i]);
myStateHorizonWidget = new PopUpWidget(myTab, font, xpos, ypos, pwidth,
lineHeight, items, "Horizon ~ ", 0, kHorizonChanged);
myStateHorizonWidget->setToolTip("Define how far the Time Machine\n"
"will allow moving back in time.");
wid.push_back(myStateHorizonWidget);
// Add message concerning usage
@ -598,6 +631,7 @@ void DeveloperDialog::addDebuggerTab(const GUI::Font& font)
myGhostReadsTrapWidget = new CheckboxWidget(myTab, font, HBORDER, ypos + 1,
"Trap on 'ghost' reads");
myGhostReadsTrapWidget->setToolTip("Traps will consider CPU 'ghost' reads too.");
wid.push_back(myGhostReadsTrapWidget);
// Add message concerning usage