diff options
author | Eugene Sandulenko | 2011-02-28 02:30:41 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2011-03-17 17:31:05 +0200 |
commit | 901b5e209743dc5fdee136758956809e7eaf7eda (patch) | |
tree | b0754a1ea2b6b948a9539cf175d77f0822139571 /engines | |
parent | c8133914550a7ac8bab3761406882bcdfc8347a5 (diff) | |
download | scummvm-rg350-901b5e209743dc5fdee136758956809e7eaf7eda.tar.gz scummvm-rg350-901b5e209743dc5fdee136758956809e7eaf7eda.tar.bz2 scummvm-rg350-901b5e209743dc5fdee136758956809e7eaf7eda.zip |
HUGO: Initial work on user input dialog
Diffstat (limited to 'engines')
-rw-r--r-- | engines/hugo/dialogs.cpp | 20 | ||||
-rw-r--r-- | engines/hugo/dialogs.h | 22 |
2 files changed, 41 insertions, 1 deletions
diff --git a/engines/hugo/dialogs.cpp b/engines/hugo/dialogs.cpp index 7bcdea5cb1..5907012fb6 100644 --- a/engines/hugo/dialogs.cpp +++ b/engines/hugo/dialogs.cpp @@ -230,4 +230,24 @@ void TopMenu::handleMouseUp(int x, int y, int button, int clickCount) { Dialog::handleMouseUp(x, y, button, clickCount); } +EntryDialog::EntryDialog(const Common::String &title, const Common::String &buttonLabel, const Common::String &defaultValue) : GUI::Dialog(20, 20, 100, 50) { + new GUI::StaticTextWidget(this, 0, 0, 10, 10, title, Graphics::kTextAlignCenter); + + _text = new GUI::EditTextWidget(this, 0, 0, 50, 10, ""); + _text->setEditString(defaultValue); + + new GUI::ButtonWidget(this, 20, 20, 30, 10, buttonLabel, 0, kCmdButton); +} + +void EntryDialog::handleCommand(GUI::CommandSender *sender, uint32 command, uint32 data) { + switch (command) { + case kCmdButton: + close(); + break; + default: + Dialog::handleCommand(sender, command, data); + } +} + + } // End of namespace Hugo diff --git a/engines/hugo/dialogs.h b/engines/hugo/dialogs.h index 6e2a9063bc..0b7560a92a 100644 --- a/engines/hugo/dialogs.h +++ b/engines/hugo/dialogs.h @@ -27,6 +27,7 @@ #define HUGO_TOPMENU_H #include "gui/dialog.h" +#include "gui/widgets/edittext.h" namespace Hugo { @@ -54,6 +55,7 @@ enum { }; enum { + // TopMenu commands kCmdWhat = 'WHAT', kCmdMusic = 'MUZK', kCmdSoundFX = 'SOUN', @@ -62,7 +64,10 @@ enum { kCmdRecall = 'RECL', kCmdTurbo = 'TURB', kCmdLook = 'LOOK', - kCmdInvent = 'INVT' + kCmdInvent = 'INVT', + + // EntryDialog commands + kCmdButton = 'BTNP' }; class TopMenu : public GUI::Dialog { @@ -95,6 +100,21 @@ protected: uint16 arraySize; }; +class EntryDialog : public GUI::Dialog { + EntryDialog(const Common::String &title, const Common::String &buttonLabel, const Common::String &defaultValue); + ~EntryDialog(); + + void reflowLayout(); + void handleCommand(GUI::CommandSender *sender, uint32 command, uint32 data); + + const Common::String &getEditString() const { return _text->getEditString(); } + +protected: + void init(); + + GUI::EditTextWidget *_text; +}; + } #endif // HUGO_TOPMENU_H |