From f26f85ee96625003edc08b370e6f3a08505a075d Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sat, 27 Dec 2008 14:36:28 +0000 Subject: [PATCH] GUI: Added Widget::setVisible convenience wrapper svn-id: r35572 --- engines/parallaction/saveload.cpp | 10 +++++----- engines/scumm/dialogs.cpp | 20 ++++++++++---------- gui/ScrollBarWidget.cpp | 4 ++-- gui/saveload.cpp | 28 ++++++++++------------------ gui/widget.cpp | 14 ++++++++++++++ gui/widget.h | 4 +++- 6 files changed, 44 insertions(+), 36 deletions(-) diff --git a/engines/parallaction/saveload.cpp b/engines/parallaction/saveload.cpp index bba4693b71b..f20cb93779e 100644 --- a/engines/parallaction/saveload.cpp +++ b/engines/parallaction/saveload.cpp @@ -319,11 +319,11 @@ void SaveLoadChooser::handleCommand(GUI::CommandSender *sender, uint32 cmd, uint } void SaveLoadChooser::reflowLayout() { - _container->setFlags(GUI::WIDGET_INVISIBLE); - _gfxWidget->setFlags(GUI::WIDGET_INVISIBLE); - _date->setFlags(GUI::WIDGET_INVISIBLE); - _time->setFlags(GUI::WIDGET_INVISIBLE); - _playtime->setFlags(GUI::WIDGET_INVISIBLE); + _container->setVisible(false); + _gfxWidget->setVisible(false); + _date->setVisible(false); + _time->setVisible(false); + _playtime->setVisible(false); Dialog::reflowLayout(); } diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp index 05a677601b7..6738e8d71a7 100644 --- a/engines/scumm/dialogs.cpp +++ b/engines/scumm/dialogs.cpp @@ -342,22 +342,22 @@ void SaveLoadChooser::reflowLayout() { _playtime->resize(thumbX, height, kThumbnailWidth, kLineHeight); - _container->clearFlags(GUI::WIDGET_INVISIBLE); - _gfxWidget->clearFlags(GUI::WIDGET_INVISIBLE); - _date->clearFlags(GUI::WIDGET_INVISIBLE); - _time->clearFlags(GUI::WIDGET_INVISIBLE); - _playtime->clearFlags(GUI::WIDGET_INVISIBLE); + _container->setVisible(true); + _gfxWidget->setVisible(true); + _date->setVisible(true); + _time->setVisible(true); + _playtime->setVisible(true); _fillR = 0; //g_gui.evaluator()->getVar("scummsaveload_thumbnail.fillR"); _fillG = 0; //g_gui.evaluator()->getVar("scummsaveload_thumbnail.fillG"); _fillB = 0; //g_gui.evaluator()->getVar("scummsaveload_thumbnail.fillB"); updateInfos(false); } else { - _container->setFlags(GUI::WIDGET_INVISIBLE); - _gfxWidget->setFlags(GUI::WIDGET_INVISIBLE); - _date->setFlags(GUI::WIDGET_INVISIBLE); - _time->setFlags(GUI::WIDGET_INVISIBLE); - _playtime->setFlags(GUI::WIDGET_INVISIBLE); + _container->setVisible(false); + _gfxWidget->setVisible(false); + _date->setVisible(false); + _time->setVisible(false); + _playtime->setVisible(false); } Dialog::reflowLayout(); diff --git a/gui/ScrollBarWidget.cpp b/gui/ScrollBarWidget.cpp index 2838ce19eeb..797bf1fdabb 100644 --- a/gui/ScrollBarWidget.cpp +++ b/gui/ScrollBarWidget.cpp @@ -175,11 +175,11 @@ void ScrollBarWidget::recalc() { UP_DOWN_BOX_HEIGHT + (_h - 2 * UP_DOWN_BOX_HEIGHT - _sliderHeight) * _currentPos / (_numEntries - _entriesPerPage); if (_sliderPos < 0) _sliderPos = 0; - clearFlags(WIDGET_INVISIBLE); + setVisible(true); } else { _sliderHeight = _h - 2 * UP_DOWN_BOX_HEIGHT; _sliderPos = UP_DOWN_BOX_HEIGHT; - setFlags(WIDGET_INVISIBLE); + setVisible(false); } } diff --git a/gui/saveload.cpp b/gui/saveload.cpp index dd75e5f7b1e..29b63a04155 100644 --- a/gui/saveload.cpp +++ b/gui/saveload.cpp @@ -197,32 +197,24 @@ void SaveLoadChooser::reflowLayout() { if (_playTimeSupport) _playtime->resize(thumbX, height, kThumbnailWidth, kLineHeight); - _container->clearFlags(GUI::WIDGET_INVISIBLE); - _gfxWidget->clearFlags(GUI::WIDGET_INVISIBLE); + _container->setVisible(true); + _gfxWidget->setVisible(true); - if (_saveDateSupport) { - _date->clearFlags(GUI::WIDGET_INVISIBLE); - _time->clearFlags(GUI::WIDGET_INVISIBLE); - } else { - _date->setFlags(GUI::WIDGET_INVISIBLE); - _time->setFlags(GUI::WIDGET_INVISIBLE); - } + _date->setVisible(_saveDateSupport); + _time->setVisible(_saveDateSupport); - if (_playTimeSupport) - _playtime->clearFlags(GUI::WIDGET_INVISIBLE); - else - _playtime->setFlags(GUI::WIDGET_INVISIBLE); + _playtime->setVisible(_playTimeSupport); _fillR = 0; _fillG = 0; _fillB = 0; updateSelection(false); } else { - _container->setFlags(GUI::WIDGET_INVISIBLE); - _gfxWidget->setFlags(GUI::WIDGET_INVISIBLE); - _date->setFlags(GUI::WIDGET_INVISIBLE); - _time->setFlags(GUI::WIDGET_INVISIBLE); - _playtime->setFlags(GUI::WIDGET_INVISIBLE); + _container->setVisible(false); + _gfxWidget->setVisible(false); + _date->setVisible(false); + _time->setVisible(false); + _playtime->setVisible(false); } Dialog::reflowLayout(); diff --git a/gui/widget.cpp b/gui/widget.cpp index de81d9fc562..41576b59335 100644 --- a/gui/widget.cpp +++ b/gui/widget.cpp @@ -145,6 +145,13 @@ Widget *Widget::findWidgetInChain(Widget *w, const char *name) { return 0; } +void Widget::setEnabled(bool e) { + if (e) + setFlags(WIDGET_ENABLED); + else + clearFlags(WIDGET_ENABLED); +} + bool Widget::isEnabled() const { if (g_gui.xmlEval()->getVar("Dialog." + _name + ".Enabled", 1) == 0) { return false; @@ -152,6 +159,13 @@ bool Widget::isEnabled() const { return ((_flags & WIDGET_ENABLED) != 0); } +void Widget::setVisible(bool e) { + if (e) + clearFlags(WIDGET_INVISIBLE); + else + setFlags(WIDGET_INVISIBLE); +} + bool Widget::isVisible() const { if (g_gui.xmlEval()->getVar("Dialog." + _name + ".Visible", 1) == 0) return false; diff --git a/gui/widget.h b/gui/widget.h index 6fc4113ca65..6140e03a26e 100644 --- a/gui/widget.h +++ b/gui/widget.h @@ -122,8 +122,10 @@ public: void clearFlags(int flags); int getFlags() const { return _flags; } - void setEnabled(bool e) { if (e) setFlags(WIDGET_ENABLED); else clearFlags(WIDGET_ENABLED); } + void setEnabled(bool e); bool isEnabled() const; + + void setVisible(bool e); bool isVisible() const; protected: