mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-02 23:26:44 +00:00
GUI: Allow tooltips to be changed after widget creation.
This commit is contained in:
parent
72ea449431
commit
80ae9d7d34
@ -37,7 +37,7 @@ Tooltip::Tooltip() :
|
||||
}
|
||||
|
||||
void Tooltip::setup(Dialog *parent, Widget *widget, int x, int y) {
|
||||
assert(widget->getTooltip());
|
||||
assert(widget->hasTooltip());
|
||||
|
||||
_maxWidth = g_gui.xmlEval()->getVar("Globals.Tooltip.MaxWidth", 100);
|
||||
_xdelta = g_gui.xmlEval()->getVar("Globals.Tooltip.XDelta", 0);
|
||||
|
@ -381,7 +381,7 @@ void GuiManager::runLoop() {
|
||||
|
||||
if (tooltipCheck && _lastMousePosition.time + kTooltipDelay < _system->getMillis()) {
|
||||
Widget *wdg = activeDialog->findWidget(_lastMousePosition.x, _lastMousePosition.y);
|
||||
if (wdg && wdg->getTooltip() && !(wdg->getFlags() & WIDGET_PRESSED)) {
|
||||
if (wdg && wdg->hasTooltip() && !(wdg->getFlags() & WIDGET_PRESSED)) {
|
||||
Tooltip *tooltip = new Tooltip();
|
||||
tooltip->setup(activeDialog, wdg, _lastMousePosition.x, _lastMousePosition.y);
|
||||
tooltip->runModal();
|
||||
|
@ -88,7 +88,7 @@ protected:
|
||||
uint16 _id;
|
||||
bool _hasFocus;
|
||||
ThemeEngine::WidgetStateInfo _state;
|
||||
const char *_tooltip;
|
||||
Common::String _tooltip;
|
||||
|
||||
private:
|
||||
uint16 _flags;
|
||||
@ -142,7 +142,9 @@ public:
|
||||
uint8 parseHotkey(const Common::String &label);
|
||||
Common::String cleanupHotkey(const Common::String &label);
|
||||
|
||||
const char *getTooltip() const { return _tooltip; }
|
||||
bool hasTooltip() const { return !_tooltip.empty(); }
|
||||
const Common::String &getTooltip() const { return _tooltip; }
|
||||
void setTooltip(const Common::String &tooltip) { _tooltip = tooltip; }
|
||||
|
||||
protected:
|
||||
void updateState(int oldFlags, int newFlags);
|
||||
|
Loading…
Reference in New Issue
Block a user