diff options
author | Eugene Sandulenko | 2011-04-16 16:18:59 +0300 |
---|---|---|
committer | Eugene Sandulenko | 2011-04-16 16:18:59 +0300 |
commit | 6224b74f34f0c055b6d9e2511bf9688d02c946c3 (patch) | |
tree | 12c06c28ddfdc4ce2e82f3a72c5be2df67c308d9 /gui/widgets | |
parent | 8df814b6256361d36a02bbddf8c5db5f070c23b6 (diff) | |
download | scummvm-rg350-6224b74f34f0c055b6d9e2511bf9688d02c946c3.tar.gz scummvm-rg350-6224b74f34f0c055b6d9e2511bf9688d02c946c3.tar.bz2 scummvm-rg350-6224b74f34f0c055b6d9e2511bf9688d02c946c3.zip |
GUI: Let EditTextWidget notify when the editing is finished
Diffstat (limited to 'gui/widgets')
-rw-r--r-- | gui/widgets/edittext.cpp | 8 | ||||
-rw-r--r-- | gui/widgets/edittext.h | 6 |
2 files changed, 10 insertions, 4 deletions
diff --git a/gui/widgets/edittext.cpp b/gui/widgets/edittext.cpp index 3ef813283e..159943fcdd 100644 --- a/gui/widgets/edittext.cpp +++ b/gui/widgets/edittext.cpp @@ -30,18 +30,20 @@ namespace GUI { -EditTextWidget::EditTextWidget(GuiObject *boss, int x, int y, int w, int h, const String &text, const char *tooltip, uint32 cmd) + EditTextWidget::EditTextWidget(GuiObject *boss, int x, int y, int w, int h, const String &text, const char *tooltip, uint32 cmd, uint32 finishCmd) : EditableWidget(boss, x, y - 1, w, h + 2, tooltip, cmd) { setFlags(WIDGET_ENABLED | WIDGET_CLEARBG | WIDGET_RETAIN_FOCUS | WIDGET_WANT_TICKLE); _type = kEditTextWidget; + _finishCmd = finishCmd; setEditString(text); } -EditTextWidget::EditTextWidget(GuiObject *boss, const String &name, const String &text, const char *tooltip, uint32 cmd) +EditTextWidget::EditTextWidget(GuiObject *boss, const String &name, const String &text, const char *tooltip, uint32 cmd, uint32 finishCmd) : EditableWidget(boss, name, tooltip, cmd) { setFlags(WIDGET_ENABLED | WIDGET_CLEARBG | WIDGET_RETAIN_FOCUS | WIDGET_WANT_TICKLE); _type = kEditTextWidget; + _finishCmd = finishCmd; setEditString(text); } @@ -107,6 +109,8 @@ void EditTextWidget::startEditMode() { void EditTextWidget::endEditMode() { releaseFocus(); + + sendCommand(_finishCmd, 0); } void EditTextWidget::abortEditMode() { diff --git a/gui/widgets/edittext.h b/gui/widgets/edittext.h index a2549882ca..b94e58780c 100644 --- a/gui/widgets/edittext.h +++ b/gui/widgets/edittext.h @@ -41,8 +41,8 @@ protected: int _rightPadding; public: - EditTextWidget(GuiObject *boss, int x, int y, int w, int h, const String &text, const char *tooltip = 0, uint32 cmd = 0); - EditTextWidget(GuiObject *boss, const String &name, const String &text, const char *tooltp = 0, uint32 cmd = 0); + EditTextWidget(GuiObject *boss, int x, int y, int w, int h, const String &text, const char *tooltip = 0, uint32 cmd = 0, uint32 finishCmd = 0); + EditTextWidget(GuiObject *boss, const String &name, const String &text, const char *tooltp = 0, uint32 cmd = 0, uint32 finishCmd = 0); void setEditString(const String &str); @@ -62,6 +62,8 @@ protected: void abortEditMode(); Common::Rect getEditRect() const; + + uint32 _finishCmd; }; } // End of namespace GUI |