summaryrefslogtreecommitdiff
path: root/src/gui/status.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/status.cpp')
-rw-r--r--src/gui/status.cpp24
1 files changed, 24 insertions, 0 deletions
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());
+ }
+}