aboutsummaryrefslogtreecommitdiff
path: root/gui/dialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/dialog.cpp')
-rw-r--r--gui/dialog.cpp25
1 files changed, 18 insertions, 7 deletions
diff --git a/gui/dialog.cpp b/gui/dialog.cpp
index c2b96fe824..82a98085a0 100644
--- a/gui/dialog.cpp
+++ b/gui/dialog.cpp
@@ -57,6 +57,24 @@ void Dialog::teardownScreenBuf()
}
}
+void Dialog::open()
+{
+ _gui->openDialog(this);
+}
+
+void Dialog::close()
+{
+ if (_mouseWidget) {
+ _mouseWidget->handleMouseLeft(0);
+ _mouseWidget = 0;
+ }
+ if (_focusedWidget) {
+ _focusedWidget->lostFocus();
+ _focusedWidget = 0;
+ }
+ _gui->closeTopDialog();
+}
+
void Dialog::draw()
{
Widget *w = _firstWidget;
@@ -220,13 +238,6 @@ Widget *Dialog::findWidget(int x, int y)
return w;
}
-void Dialog::close()
-{
- _mouseWidget = 0;
- _focusedWidget = 0;
- _gui->closeTopDialog();
-}
-
void Dialog::addResText(int x, int y, int w, int h, int resID)
{
// Get the string