diff options
author | Yohann Ferreira <bertram@cegetel.net> | 2005-01-25 22:25:29 +0000 |
---|---|---|
committer | Yohann Ferreira <bertram@cegetel.net> | 2005-01-25 22:25:29 +0000 |
commit | add62901031e1c981d98779536a0ad16ceddf897 (patch) | |
tree | 809727a877a6646c6650f28d4df9655282488d1d /src | |
parent | eb20715f6788956392cb89f94211b5f502237dd0 (diff) | |
download | mana-add62901031e1c981d98779536a0ad16ceddf897.tar.gz mana-add62901031e1c981d98779536a0ad16ceddf897.tar.bz2 mana-add62901031e1c981d98779536a0ad16ceddf897.tar.xz mana-add62901031e1c981d98779536a0ad16ceddf897.zip |
*** empty log message ***
Diffstat (limited to 'src')
-rw-r--r-- | src/graphic/graphic.cpp | 3 | ||||
-rw-r--r-- | src/gui/status.cpp | 24 | ||||
-rw-r--r-- | src/gui/status.h | 9 |
3 files changed, 33 insertions, 3 deletions
diff --git a/src/graphic/graphic.cpp b/src/graphic/graphic.cpp index c5bed789..8cd117b9 100644 --- a/src/graphic/graphic.cpp +++ b/src/graphic/graphic.cpp @@ -235,7 +235,7 @@ Engine::Engine() // Create dialogs statusWindow = new StatusWindow(); - statusWindow->setPosition(screen->w - statusWindow->getWidth() - 10, 10); + statusWindow->setPosition(screen->w - statusWindow->getWidth(), 0); buyDialog = new BuyDialog(); buyDialog->setVisible(false); @@ -262,7 +262,6 @@ Engine::Engine() statsWindow = new StatsWindow(); statsWindow->setVisible(false); - // Give focus to the chat input chatInput->requestFocus(); diff --git a/src/gui/status.cpp b/src/gui/status.cpp index 40b7d8c4..e5482f09 100644 --- a/src/gui/status.cpp +++ b/src/gui/status.cpp @@ -40,8 +40,16 @@ StatusWindow::StatusWindow(): jobExpLabel = new gcn::Label("Job"); statsButton = new Button("Stats"); + statsButton->setEventId("Stats"); + statsButton->addActionListener(this); + skillsButton = new Button("Skills"); + skillsButton->setEventId("Skills"); + skillsButton->addActionListener(this); + inventoryButton = new Button("Inventory"); + inventoryButton->setEventId("Inventory"); + inventoryButton->addActionListener(this); hp->setPosition(WIN_BORDER, WIN_BORDER); sp->setPosition(WIN_BORDER, hp->getY() + hp->getHeight() + CONTROLS_SEPARATOR); @@ -150,3 +158,19 @@ void StatusWindow::update() delete[] tempstr; } + +void StatusWindow::action(const std::string& eventId) { + + if (eventId == "Stats") { + // Show / Hide the stats dialog + statsWindow->setVisible(!statsWindow->isVisible()); + } + if (eventId == "Skills") { + // Show / Hide the skills dialog + skillDialog->setVisible(!skillDialog->isVisible()); + } + if (eventId == "Inventory") { + // Show / Hide the inventory dialog + inventoryWindow->setVisible(!inventoryWindow->isVisible()); + } +} diff --git a/src/gui/status.h b/src/gui/status.h index 4f16ef23..7406f977 100644 --- a/src/gui/status.h +++ b/src/gui/status.h @@ -24,6 +24,8 @@ #ifndef _TMW_STATS_H #define _TMW_STATS_H +#include <string> + #include "window.h" #include "progressbar.h" @@ -32,7 +34,7 @@ * * \ingroup GUI */ -class StatusWindow : public Window { +class StatusWindow : public Window, public gcn::ActionListener { public: /** * Constructor. @@ -44,6 +46,11 @@ class StatusWindow : public Window { */ ~StatusWindow(); + /** + * Called when receiving actions from widget. + */ + void action(const std::string& eventId); + /** * Updates this dialog with values from PLAYER_INFO *char_info */ |