aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/parallaction/saveload.cpp10
-rw-r--r--engines/scumm/dialogs.cpp20
-rw-r--r--gui/ScrollBarWidget.cpp4
-rw-r--r--gui/saveload.cpp28
-rw-r--r--gui/widget.cpp14
-rw-r--r--gui/widget.h4
6 files changed, 44 insertions, 36 deletions
diff --git a/engines/parallaction/saveload.cpp b/engines/parallaction/saveload.cpp
index bba4693b71..f20cb93779 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 05a677601b..6738e8d71a 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 2838ce19ee..797bf1fdab 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 dd75e5f7b1..29b63a0415 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 de81d9fc56..41576b5933 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 6fc4113ca6..6140e03a26 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: