summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKiyoshi Kyokai <kiyoshi.kyokai@gmail.com>2005-02-20 23:29:51 +0000
committerKiyoshi Kyokai <kiyoshi.kyokai@gmail.com>2005-02-20 23:29:51 +0000
commitf7214b33bf5cbb85df57e8d0035af7a25826e985 (patch)
treebb50161bc366d94f9b0a6782a7f8e6ded9e699c8
parentf59f38910b5ed7acb22cb9713431a4e8343b0c4b (diff)
downloadmana-client-f7214b33bf5cbb85df57e8d0035af7a25826e985.tar.gz
mana-client-f7214b33bf5cbb85df57e8d0035af7a25826e985.tar.bz2
mana-client-f7214b33bf5cbb85df57e8d0035af7a25826e985.tar.xz
mana-client-f7214b33bf5cbb85df57e8d0035af7a25826e985.zip
Ok, for real this time: You can use the new skill dialog with ALT+n.
-rw-r--r--src/gui/newskill.cpp102
-rw-r--r--src/gui/newskill.h63
2 files changed, 165 insertions, 0 deletions
diff --git a/src/gui/newskill.cpp b/src/gui/newskill.cpp
new file mode 100644
index 00000000..341fe046
--- /dev/null
+++ b/src/gui/newskill.cpp
@@ -0,0 +1,102 @@
+/*
+ * The Mana World
+ * Copyright 2004 The Mana World Development Team
+ *
+ * This file is part of The Mana World.
+ *
+ * The Mana World is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * The Mana World is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with The Mana World; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Id$
+ */
+
+ /* This file implements the new skill dialog for use under the latest
+ * version of the skill system as of 2005/02/20
+ */
+
+#include "newskill.h"
+#include "listbox.h"
+#include "scrollarea.h"
+#include "button.h"
+#include "../main.h"
+
+char *skill_name[] = {
+ // 0-99
+ // weapon skills 0-9
+ "Short Blades", "Long Blades", "Hammers", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "", "", ""
+};
+
+NewSkillDialog::NewSkillDialog():
+ Window("Skills")
+{
+ // the window
+ setSize(400, 300);
+
+ // the skill labels
+ skillLabel = new gcn::Label[N_SKILL];
+ for(int a=0;a<N_SKILL;a++) {
+ skillLabel[a].setCaption(skill_name[a]);
+ skillLabel[a].setDimension(gcn::Rectangle(8, 190, 200, 16));
+ }
+
+ // the close button
+ closeButton = new Button("Close");
+ closeButton->setEventId("close");
+ closeButton->setPosition(160, 210);
+ add(closeButton);
+
+ // setting up the container
+ skillList = new gcn::Container();
+ skillList->setDimension(gcn::Rectangle(0,0,230,600));
+ for(int b=0;b<N_SKILL;b++) {
+ skillList->add(&skillLabel[b],20,20*b);
+ }
+
+ // the scroll area (content = container)
+ skillScrollArea = new gcn::ScrollArea();
+ skillScrollArea->setDimension(gcn::Rectangle(5, 5, 229, 300));
+ skillScrollArea->setContent(skillList);
+ add(skillScrollArea);
+
+
+
+
+ closeButton->addActionListener(this);
+
+ setLocationRelativeTo(getParent());
+}
+
+NewSkillDialog::~NewSkillDialog()
+{
+ delete skillScrollArea;
+ delete skillLabel;
+ delete closeButton;
+}
+
+void NewSkillDialog::action(const std::string& eventId)
+{
+ if (eventId == "close")
+ {
+ setVisible(false);
+ }
+} \ No newline at end of file
diff --git a/src/gui/newskill.h b/src/gui/newskill.h
new file mode 100644
index 00000000..203a686e
--- /dev/null
+++ b/src/gui/newskill.h
@@ -0,0 +1,63 @@
+/*
+ * The Mana World
+ * Copyright 2004 The Mana World Development Team
+ *
+ * This file is part of The Mana World.
+ *
+ * The Mana World is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * The Mana World is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with The Mana World; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Id$
+ */
+
+#ifndef _TMW_NSKILL_H
+#define _TMW_NSKILL_H
+
+#include <guichan.hpp>
+#include "window.h"
+
+#define N_SKILL 100 // skill count constant
+
+struct nSkill {
+ short level;
+ short exp;
+};
+
+class NewSkillDialog : public Window, public gcn::ActionListener
+{
+ private:
+ // members
+
+ gcn::ScrollArea *skillScrollArea;
+ gcn::Container *skillList;
+ gcn::Label *skillLabel;
+ gcn::Button *groupButtons;
+ gcn::Button *closeButton;
+
+ public:
+ /**
+ * Constructor.
+ */
+ NewSkillDialog();
+
+ /**
+ * Destructor.
+ */
+ ~NewSkillDialog();
+
+ // action listener
+ void action(const std::string&);
+};
+
+#endif _TMW_NSKILL_H \ No newline at end of file