aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2011-04-16 16:18:59 +0300
committerEugene Sandulenko2011-04-16 16:18:59 +0300
commit6224b74f34f0c055b6d9e2511bf9688d02c946c3 (patch)
tree12c06c28ddfdc4ce2e82f3a72c5be2df67c308d9
parent8df814b6256361d36a02bbddf8c5db5f070c23b6 (diff)
downloadscummvm-rg350-6224b74f34f0c055b6d9e2511bf9688d02c946c3.tar.gz
scummvm-rg350-6224b74f34f0c055b6d9e2511bf9688d02c946c3.tar.bz2
scummvm-rg350-6224b74f34f0c055b6d9e2511bf9688d02c946c3.zip
GUI: Let EditTextWidget notify when the editing is finished
-rw-r--r--gui/widgets/edittext.cpp8
-rw-r--r--gui/widgets/edittext.h6
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