diff --git a/apps/openmw/mwgui/birth.cpp b/apps/openmw/mwgui/birth.cpp index e232fc371f..7db93a5087 100644 --- a/apps/openmw/mwgui/birth.cpp +++ b/apps/openmw/mwgui/birth.cpp @@ -92,7 +92,7 @@ void BirthDialog::setBirthId(const std::string &birthId) void BirthDialog::onOkClicked(MyGUI::Widget* _sender) { - eventDone(); + eventDone(this); } void BirthDialog::onBackClicked(MyGUI::Widget* _sender) diff --git a/apps/openmw/mwgui/birth.hpp b/apps/openmw/mwgui/birth.hpp index b3a4b5eb11..a55a774a5b 100644 --- a/apps/openmw/mwgui/birth.hpp +++ b/apps/openmw/mwgui/birth.hpp @@ -39,11 +39,6 @@ namespace MWGui */ EventHandle_Void eventBack; - /** Event : Dialog finished, OK button clicked.\n - signature : void method()\n - */ - EventHandle_Void eventDone; - protected: void onSelectBirth(MyGUI::List* _sender, size_t _index); diff --git a/apps/openmw/mwgui/class.cpp b/apps/openmw/mwgui/class.cpp index 39af863c8a..2ca727ea75 100644 --- a/apps/openmw/mwgui/class.cpp +++ b/apps/openmw/mwgui/class.cpp @@ -55,7 +55,7 @@ void GenerateClassResultDialog::setClassId(const std::string &classId) void GenerateClassResultDialog::onOkClicked(MyGUI::Widget* _sender) { - eventDone(); + eventDone(this); } void GenerateClassResultDialog::onBackClicked(MyGUI::Widget* _sender) @@ -166,7 +166,7 @@ void PickClassDialog::setClassId(const std::string &classId) void PickClassDialog::onOkClicked(MyGUI::Widget* _sender) { - eventDone(); + eventDone(this); } void PickClassDialog::onBackClicked(MyGUI::Widget* _sender) @@ -639,7 +639,7 @@ void CreateClassDialog::onDescriptionClicked(MyGUI::Widget* _sender) descDialog->setVisible(true); } -void CreateClassDialog::onDescriptionEntered() +void CreateClassDialog::onDescriptionEntered(WindowBase* parWindow) { description = descDialog->getTextInput(); mWindowManager.removeDialog(descDialog); @@ -647,7 +647,7 @@ void CreateClassDialog::onDescriptionEntered() void CreateClassDialog::onOkClicked(MyGUI::Widget* _sender) { - eventDone(); + eventDone(this); } void CreateClassDialog::onBackClicked(MyGUI::Widget* _sender) @@ -858,5 +858,5 @@ DescriptionDialog::DescriptionDialog(WindowManager& parWindowManager) void DescriptionDialog::onOkClicked(MyGUI::Widget* _sender) { - eventDone(); + eventDone(this); } diff --git a/apps/openmw/mwgui/class.hpp b/apps/openmw/mwgui/class.hpp index 113afa755c..5f1734b195 100644 --- a/apps/openmw/mwgui/class.hpp +++ b/apps/openmw/mwgui/class.hpp @@ -85,11 +85,6 @@ namespace MWGui */ EventHandle_Void eventBack; - /** Event : Dialog finished, OK button clicked.\n - signature : void method()\n - */ - EventHandle_Void eventDone; - protected: void onOkClicked(MyGUI::Widget* _sender); void onBackClicked(MyGUI::Widget* _sender); @@ -120,11 +115,6 @@ namespace MWGui */ EventHandle_Void eventBack; - /** Event : Dialog finished, OK button clicked.\n - signature : void method()\n - */ - EventHandle_Void eventDone; - protected: void onSelectClass(MyGUI::List* _sender, size_t _index); @@ -250,14 +240,6 @@ namespace MWGui std::string getTextInput() const { return textEdit ? textEdit->getOnlyText() : ""; } void setTextInput(const std::string &text) { if (textEdit) textEdit->setOnlyText(text); } - // Events - typedef delegates::CDelegate0 EventHandle_Void; - - /** Event : Dialog finished, OK button clicked.\n - signature : void method()\n - */ - EventHandle_Void eventDone; - protected: void onOkClicked(MyGUI::Widget* _sender); @@ -289,11 +271,6 @@ namespace MWGui */ EventHandle_Void eventBack; - /** Event : Dialog finished, OK button clicked.\n - signature : void method()\n - */ - EventHandle_Void eventDone; - protected: void onOkClicked(MyGUI::Widget* _sender); void onBackClicked(MyGUI::Widget* _sender); @@ -305,7 +282,7 @@ namespace MWGui void onSkillClicked(Widgets::MWSkillPtr _sender); void onSkillSelected(); void onDescriptionClicked(MyGUI::Widget* _sender); - void onDescriptionEntered(); + void onDescriptionEntered(WindowBase* parWindow); void onDialogCancel(); private: diff --git a/apps/openmw/mwgui/race.cpp b/apps/openmw/mwgui/race.cpp index f859518b1b..65e6afd2ea 100644 --- a/apps/openmw/mwgui/race.cpp +++ b/apps/openmw/mwgui/race.cpp @@ -149,7 +149,7 @@ int wrap(int index, int max) void RaceDialog::onOkClicked(MyGUI::Widget* _sender) { - eventDone(); + eventDone(this); } void RaceDialog::onBackClicked(MyGUI::Widget* _sender) diff --git a/apps/openmw/mwgui/race.hpp b/apps/openmw/mwgui/race.hpp index 0c56703ddc..f2aac3a18c 100644 --- a/apps/openmw/mwgui/race.hpp +++ b/apps/openmw/mwgui/race.hpp @@ -53,11 +53,6 @@ namespace MWGui */ EventHandle_Void eventBack; - /** Event : Dialog finished, OK button clicked.\n - signature : void method()\n - */ - EventHandle_Void eventDone; - protected: void onHeadRotate(MyGUI::VScroll* _sender, size_t _position); diff --git a/apps/openmw/mwgui/review.cpp b/apps/openmw/mwgui/review.cpp index b4c07cc160..81e4d9991c 100644 --- a/apps/openmw/mwgui/review.cpp +++ b/apps/openmw/mwgui/review.cpp @@ -336,7 +336,7 @@ void ReviewDialog::updateScroller() void ReviewDialog::onOkClicked(MyGUI::Widget* _sender) { - eventDone(); + eventDone(this); } void ReviewDialog::onBackClicked(MyGUI::Widget* _sender) diff --git a/apps/openmw/mwgui/review.hpp b/apps/openmw/mwgui/review.hpp index 1f9307ea8b..6140cc23d4 100644 --- a/apps/openmw/mwgui/review.hpp +++ b/apps/openmw/mwgui/review.hpp @@ -57,11 +57,6 @@ namespace MWGui */ EventHandle_Void eventBack; - /** Event : Dialog finished, OK button clicked.\n - signature : void method()\n - */ - EventHandle_Void eventDone; - EventHandle_Int eventActivateDialog; protected: diff --git a/apps/openmw/mwgui/text_input.cpp b/apps/openmw/mwgui/text_input.cpp index ec2c332c66..83ebef6576 100644 --- a/apps/openmw/mwgui/text_input.cpp +++ b/apps/openmw/mwgui/text_input.cpp @@ -53,10 +53,10 @@ void TextInputDialog::open() void TextInputDialog::onOkClicked(MyGUI::Widget* _sender) { - eventDone(); + eventDone(this); } void TextInputDialog::onTextAccepted(MyGUI::Edit* _sender) { - eventDone(); + eventDone(this); } diff --git a/apps/openmw/mwgui/text_input.hpp b/apps/openmw/mwgui/text_input.hpp index 90edbb74c9..fe355655f4 100644 --- a/apps/openmw/mwgui/text_input.hpp +++ b/apps/openmw/mwgui/text_input.hpp @@ -27,14 +27,6 @@ namespace MWGui void setTextLabel(const std::string &label); void open(); - // Events - typedef delegates::CDelegate0 EventHandle_Void; - - /** Event : Dialog finished, OK button clicked.\n - signature : void method()\n - */ - EventHandle_Void eventDone; - protected: void onOkClicked(MyGUI::Widget* _sender); void onTextAccepted(MyGUI::Edit* _sender); diff --git a/apps/openmw/mwgui/window_base.hpp b/apps/openmw/mwgui/window_base.hpp index b97c2eb677..84fb601e32 100644 --- a/apps/openmw/mwgui/window_base.hpp +++ b/apps/openmw/mwgui/window_base.hpp @@ -12,9 +12,17 @@ namespace MWGui public: WindowBase(const std::string& parLayout, WindowManager& parWindowManager); + // Events + typedef MyGUI::delegates::CDelegate1 EventHandle_WindowBase; + virtual void open(); void center(); + /** Event : Dialog finished, OK button clicked.\n + signature : void method()\n + */ + EventHandle_WindowBase eventDone; + protected: WindowManager& mWindowManager; }; diff --git a/apps/openmw/mwgui/window_manager.cpp b/apps/openmw/mwgui/window_manager.cpp index 77f10ddc0a..f0c409cbe3 100644 --- a/apps/openmw/mwgui/window_manager.cpp +++ b/apps/openmw/mwgui/window_manager.cpp @@ -464,7 +464,7 @@ const std::string &WindowManager::getGameSettingString(const std::string &id, co return default_; } -void WindowManager::onNameDialogDone() +void WindowManager::onNameDialogDone(WindowBase* parWindow) { if (nameDialog) { @@ -485,7 +485,7 @@ void WindowManager::onNameDialogDone() } } -void WindowManager::onRaceDialogDone() +void WindowManager::onRaceDialogDone(WindowBase* parWindow) { if (raceDialog) { @@ -764,7 +764,7 @@ void WindowManager::onGenerateClassBack() setGuiMode(GM_Class); } -void WindowManager::onGenerateClassDone() +void WindowManager::onGenerateClassDone(WindowBase* parWindow) { if (generateClassResultDialog) removeDialog(generateClassResultDialog); @@ -783,7 +783,7 @@ void WindowManager::onGenerateClassDone() } -void WindowManager::onPickClassDialogDone() +void WindowManager::onPickClassDialogDone(WindowBase* parWindow) { if (pickClassDialog) { @@ -821,7 +821,7 @@ void WindowManager::onPickClassDialogBack() setGuiMode(GM_Class); } -void WindowManager::onCreateClassDialogDone() +void WindowManager::onCreateClassDialogDone(WindowBase* parWindow) { if (createClassDialog) { @@ -871,7 +871,7 @@ void WindowManager::onCreateClassDialogBack() setGuiMode(GM_Class); } -void WindowManager::onBirthSignDialogDone() +void WindowManager::onBirthSignDialogDone(WindowBase* parWindow) { if (birthSignDialog) { @@ -902,7 +902,7 @@ void WindowManager::onBirthSignDialogBack() setGuiMode(GM_Class); } -void WindowManager::onReviewDialogDone() +void WindowManager::onReviewDialogDone(WindowBase* parWindow) { if (reviewDialog) removeDialog(reviewDialog); diff --git a/apps/openmw/mwgui/window_manager.hpp b/apps/openmw/mwgui/window_manager.hpp index 2714ec5efd..1bf6204969 100644 --- a/apps/openmw/mwgui/window_manager.hpp +++ b/apps/openmw/mwgui/window_manager.hpp @@ -44,6 +44,7 @@ namespace OEngine namespace MWGui { + class WindowBase; class HUD; class MapWindow; class MainMenu; @@ -263,10 +264,10 @@ namespace MWGui void onDialogueWindowBye(); // Character generation: Name dialog - void onNameDialogDone(); + void onNameDialogDone(WindowBase* parWindow); // Character generation: Race dialog - void onRaceDialogDone(); + void onRaceDialogDone(WindowBase* parWindow); void onRaceDialogBack(); // Character generation: Choose class process @@ -276,22 +277,22 @@ namespace MWGui void showClassQuestionDialog(); void onClassQuestionChosen(int _index); void onGenerateClassBack(); - void onGenerateClassDone(); + void onGenerateClassDone(WindowBase* parWindow); // Character generation: Pick Class dialog - void onPickClassDialogDone(); + void onPickClassDialogDone(WindowBase* parWindow); void onPickClassDialogBack(); // Character generation: Create Class dialog - void onCreateClassDialogDone(); + void onCreateClassDialogDone(WindowBase* parWindow); void onCreateClassDialogBack(); // Character generation: Birth sign dialog - void onBirthSignDialogDone(); + void onBirthSignDialogDone(WindowBase* parWindow); void onBirthSignDialogBack(); // Character generation: Review dialog - void onReviewDialogDone(); + void onReviewDialogDone(WindowBase* parWindow); void onReviewDialogBack(); void onReviewActivateDialog(int parDialog);