1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-07 12:54:00 +00:00
OpenMW/apps/openmw/mwgui/birth.hpp

60 lines
1.3 KiB
C++

#ifndef MWGUI_BIRTH_H
#define MWGUI_BIRTH_H
#include "window_base.hpp"
/*
This file contains the dialog for choosing a birth sign.
Layout is defined by resources/mygui/openmw_chargen_race.layout.
*/
namespace MWGui
{
/// \todo remove
using namespace MyGUI;
class BirthDialog : public WindowBase
{
public:
BirthDialog(MWBase::WindowManager& parWindowManager);
enum Gender
{
GM_Male,
GM_Female
};
const std::string &getBirthId() const { return mCurrentBirthId; }
void setBirthId(const std::string &raceId);
void setNextButtonShow(bool shown);
virtual void open();
// Events
typedef delegates::CMultiDelegate0 EventHandle_Void;
/** Event : Back button clicked.\n
signature : void method()\n
*/
EventHandle_Void eventBack;
protected:
void onSelectBirth(MyGUI::ListBox* _sender, size_t _index);
void onOkClicked(MyGUI::Widget* _sender);
void onBackClicked(MyGUI::Widget* _sender);
private:
void updateBirths();
void updateSpells();
MyGUI::ListBox* mBirthList;
MyGUI::WidgetPtr mSpellArea;
MyGUI::ImageBox* mBirthImage;
std::vector<MyGUI::WidgetPtr> mSpellItems;
std::string mCurrentBirthId;
};
}
#endif