aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/dialogs.h
diff options
context:
space:
mode:
authorBastien Bouclet2016-07-04 20:40:44 +0200
committerBastien Bouclet2016-07-04 20:47:16 +0200
commit0440ff64f15f00597d82841fd1ef6febc905302e (patch)
tree82e48cd03fef0c208bf02e8b6ade03e6e7a4df0e /engines/mohawk/dialogs.h
parentd35d8efc5041813fd5fdd1fc55025c7835ab358e (diff)
downloadscummvm-rg350-0440ff64f15f00597d82841fd1ef6febc905302e.tar.gz
scummvm-rg350-0440ff64f15f00597d82841fd1ef6febc905302e.tar.bz2
scummvm-rg350-0440ff64f15f00597d82841fd1ef6febc905302e.zip
MOHAWK: Have the Myst and Riven options dialog share a base class
Now the Riven options dialog has the same features as the Myst one: - Screen centering - Save / Load / Quit buttons
Diffstat (limited to 'engines/mohawk/dialogs.h')
-rw-r--r--engines/mohawk/dialogs.h56
1 files changed, 37 insertions, 19 deletions
diff --git a/engines/mohawk/dialogs.h b/engines/mohawk/dialogs.h
index 6c9862e43f..3cfb628f9d 100644
--- a/engines/mohawk/dialogs.h
+++ b/engines/mohawk/dialogs.h
@@ -28,7 +28,6 @@
#include "common/events.h"
#include "common/str.h"
#include "gui/dialog.h"
-#include "gui/options.h"
namespace GUI {
class SaveLoadChooser;
@@ -72,18 +71,44 @@ public:
virtual void handleKeyDown(Common::KeyState state);
};
+#if defined(ENABLE_MYST) || defined(ENABLE_RIVEN)
+
+class MohawkOptionsDialog : public GUI::Dialog {
+public:
+ MohawkOptionsDialog(MohawkEngine *_vm);
+ virtual ~MohawkOptionsDialog();
+
+ virtual void open() override;
+ virtual void reflowLayout() override;
+ virtual void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) override;
+
+private:
+ MohawkEngine *_vm;
+
+ GUI::ButtonWidget *_loadButton;
+ GUI::ButtonWidget *_saveButton;
+
+ GUI::SaveLoadChooser *_loadDialog;
+ GUI::SaveLoadChooser *_saveDialog;
+
+ void save();
+ void load();
+};
+
+#endif
+
#ifdef ENABLE_MYST
class MohawkEngine_Myst;
-class MystOptionsDialog : public GUI::Dialog {
+class MystOptionsDialog : public MohawkOptionsDialog {
public:
MystOptionsDialog(MohawkEngine_Myst *vm);
- ~MystOptionsDialog();
- void open();
+ virtual ~MystOptionsDialog();
+
+ virtual void open() override;
+ virtual void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data);
- virtual void reflowLayout() override;
- virtual void handleCommand(GUI::CommandSender*, uint32, uint32);
private:
MohawkEngine_Myst *_vm;
@@ -93,15 +118,6 @@ private:
GUI::ButtonWidget *_dropPageButton;
GUI::ButtonWidget *_showMapButton;
GUI::ButtonWidget *_returnToMenuButton;
-
- GUI::ButtonWidget *_loadButton;
- GUI::ButtonWidget *_saveButton;
-
- GUI::SaveLoadChooser *_loadDialog;
- GUI::SaveLoadChooser *_saveDialog;
-
- void save();
- void load();
};
#endif
@@ -110,15 +126,17 @@ private:
class MohawkEngine_Riven;
-class RivenOptionsDialog : public GUI::Dialog {
+class RivenOptionsDialog : public MohawkOptionsDialog {
public:
RivenOptionsDialog(MohawkEngine_Riven *vm);
- ~RivenOptionsDialog();
- void open();
+ virtual ~RivenOptionsDialog();
+
+ virtual void open() override;
+ virtual void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) override;
- virtual void handleCommand(GUI::CommandSender*, uint32, uint32);
private:
MohawkEngine_Riven *_vm;
+
GUI::CheckboxWidget *_zipModeCheckbox;
GUI::CheckboxWidget *_waterEffectCheckbox;
};