summaryrefslogtreecommitdiff
path: root/src/gui/stats.cpp
diff options
context:
space:
mode:
authorMateusz Kaduk <mateusz.kaduk@gmail.com>2004-12-28 11:29:01 +0000
committerMateusz Kaduk <mateusz.kaduk@gmail.com>2004-12-28 11:29:01 +0000
commit51777892f80d950757a27591dca861cc41f7a8fa (patch)
tree796fc0d7dc2c8c36ea0dfb3d009d8b83884e7772 /src/gui/stats.cpp
parentf8a90f4964ad694e1d6166f82b51897629df487c (diff)
downloadmana-51777892f80d950757a27591dca861cc41f7a8fa.tar.gz
mana-51777892f80d950757a27591dca861cc41f7a8fa.tar.bz2
mana-51777892f80d950757a27591dca861cc41f7a8fa.tar.xz
mana-51777892f80d950757a27591dca861cc41f7a8fa.zip
Added new gui for stats window
Diffstat (limited to 'src/gui/stats.cpp')
-rw-r--r--src/gui/stats.cpp87
1 files changed, 87 insertions, 0 deletions
diff --git a/src/gui/stats.cpp b/src/gui/stats.cpp
new file mode 100644
index 00000000..3a1a206f
--- /dev/null
+++ b/src/gui/stats.cpp
@@ -0,0 +1,87 @@
+#include "stats_window.h"
+
+/*
+ * Constructor
+ */
+StatsWindow::StatsWindow(gcn::Container *parent)
+ : Window(parent, "Stats")
+{
+ stats_str[0] << "Strenght: " << char_info->STR;
+ stats_str[1] << "Agility: " << char_info->AGI;
+ stats_str[2] << "Vitality: " << char_info->VIT;
+ stats_str[3] << "Inteligence: " << char_info->INT;
+ stats_str[4] << "Dexternity: " << char_info->DEX;
+ stats_str[5] << "Luck: " << char_info->LUK;
+
+ /* New labels */
+ for(int i=0; i<5;i++)
+ statsLabel[i] = new gcn::Label(stats_str[i]);
+
+ /* New buttons */
+ for(i=0; i<5;i++)
+ statsButton[i] = new Button("+");
+
+ /* Set position */
+ for(i=0;i<5;i++) {
+ statsLabel[i]->setPosition(10,(i*22)+10);
+ statsButton[i]->setPosition(170,(i*22)+10);
+ }
+
+ /* Set button events Id */
+ statsButton[0]->setEventId("STR");
+ statsButton[1]->setEventId("AGI");
+ statsButton[2]->setEventId("VIT");
+ statsButton[3]->setEventId("INT");
+ statsButton[4]->setEventId("DEX");
+ statsButton[5]->setEventId("LUK");
+
+ /* Assemble */
+ for(i=0; i<5; i++) {
+ add(statsLabel[i]);
+ add(statsButton[i]);
+ }
+
+ setSize(200,150);
+ setLocationRelativeTo(getParent());
+}
+
+/*
+ * Destructor
+ */
+StatsWindow::~StatsWindow() {
+ for(int i=0; i<5; i++) {
+ delete statsStr[i];
+ delete statsLabel[i];
+ delete statsButton[i];
+ }
+}
+
+/*
+ * Static method for creating singleton objects
+ */
+StatsWindow * StatsWindow::ptr = NULL;
+StatsWindow * StatsWindow::create_statswindow() {
+ if(ptr == NULL)
+ ptr = new StatsWindow(guiTop);
+ else
+ ptr->setVisible(true);
+ return ptr;
+}
+
+/*
+ * Event handling method
+ */
+void StatsWindow::action(const std::string& eventId) {
+ if(eventId == "STR")
+ setVisible(false);
+ if(eventId == "AGI")
+ setVisible(false);
+ if(eventId == "VIT")
+ setVisible(false);
+ if(eventId == "INT")
+ setVisible(false);
+ if(eventId == "DEX")
+ setVisible(false);
+ if(eventId == "LUK")
+ setVisible(false);
+}