diff options
Diffstat (limited to 'gui/dialog.cpp')
-rw-r--r-- | gui/dialog.cpp | 25 |
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 |