summaryrefslogtreecommitdiff
path: root/src/gui/skilldialog.h
diff options
context:
space:
mode:
authorPhilipp Sehmisch <crush@themanaworld.org>2009-08-16 17:47:51 +0200
committerPhilipp Sehmisch <crush@themanaworld.org>2009-08-16 17:47:51 +0200
commite0ba8f7f67ddd08c54f0d453a316b3620d52529d (patch)
tree7324fa33f2c6af04067b77e0ce7f73d9effed1c6 /src/gui/skilldialog.h
parent346d68307553c18777df4c49f9b3fe57955c5c0d (diff)
parent6460413ee2f50be561fd0824e3eaa9c2c09415b1 (diff)
downloadmana-e0ba8f7f67ddd08c54f0d453a316b3620d52529d.tar.gz
mana-e0ba8f7f67ddd08c54f0d453a316b3620d52529d.tar.bz2
mana-e0ba8f7f67ddd08c54f0d453a316b3620d52529d.tar.xz
mana-e0ba8f7f67ddd08c54f0d453a316b3620d52529d.zip
Merged changes from last month with a commit I forgot to commit before I went on vacation.
Diffstat (limited to 'src/gui/skilldialog.h')
-rw-r--r--src/gui/skilldialog.h40
1 files changed, 31 insertions, 9 deletions
diff --git a/src/gui/skilldialog.h b/src/gui/skilldialog.h
index 56192273..ce8f091a 100644
--- a/src/gui/skilldialog.h
+++ b/src/gui/skilldialog.h
@@ -29,10 +29,14 @@
#include <guichan/actionlistener.hpp>
#include <list>
+#include <map>
-class ProgressBar;
-class Icon;
-class SkillTab;
+class Label;
+class ScrollArea;
+class Tab;
+class TabbedArea;
+
+struct SkillInfo;
/**
* The skill dialog.
@@ -52,17 +56,35 @@ class SkillDialog : public Window, public gcn::ActionListener
void action(const gcn::ActionEvent &event);
/**
- * Update the tabs in this dialog
+ * Called when the widget changes size. Used for adapting the size of
+ * the tabbed area.
*/
- void update();
+ void widgetResized(const gcn::Event &event);
+
+ void logic();
/**
- * Draw this window.
- */
- void draw(gcn::Graphics *g);
+ * Update the given skill's display
+ */
+ std::string update(int id);
+
+ /**
+ * Update other parts of the display
+ */
+ void update();
+
+ void loadSkills(const std::string &file);
+
+ void setModifiable(int id, bool modifiable);
private:
- std::list<SkillTab*> mTabs;
+ void adjustTabSize();
+
+ typedef std::map<int, SkillInfo*> SkillMap;
+ SkillMap mSkills;
+ Tab *mCurrentTab;
+ TabbedArea *mTabs;
+ Label *mPointsLabel;
};
extern SkillDialog *skillDialog;