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