diff options
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 | 
