summaryrefslogtreecommitdiff
path: root/src/gui/npc_text.cpp
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2004-12-29 20:41:14 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2004-12-29 20:41:14 +0000
commit7cf46d715e08b8a355ef9ea7be5421a2710d65fc (patch)
tree7aa0166030af099fd82b2d080229497d466009aa /src/gui/npc_text.cpp
parent9ddc6e0d5208820a374f3bc9b9c5678e013535b2 (diff)
downloadmana-client-7cf46d715e08b8a355ef9ea7be5421a2710d65fc.tar.gz
mana-client-7cf46d715e08b8a355ef9ea7be5421a2710d65fc.tar.bz2
mana-client-7cf46d715e08b8a355ef9ea7be5421a2710d65fc.tar.xz
mana-client-7cf46d715e08b8a355ef9ea7be5421a2710d65fc.zip
Ported the npc text dialog and some other small updates.
Diffstat (limited to 'src/gui/npc_text.cpp')
-rw-r--r--src/gui/npc_text.cpp75
1 files changed, 75 insertions, 0 deletions
diff --git a/src/gui/npc_text.cpp b/src/gui/npc_text.cpp
new file mode 100644
index 00000000..38c29688
--- /dev/null
+++ b/src/gui/npc_text.cpp
@@ -0,0 +1,75 @@
+/*
+ * 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$
+ */
+
+#include "npc_text.h"
+#include "scrollarea.h"
+#include "button.h"
+#include "../game.h"
+
+NpcTextDialog::NpcTextDialog(gcn::Container *parent):
+ Window(parent, "NPC")
+{
+ textBox = new gcn::TextBox();
+ textBox->setEditable(false);
+ scrollArea = new ScrollArea(textBox);
+ okButton = new Button("OK");
+
+ setSize(260, 175);
+ scrollArea->setDimension(gcn::Rectangle(5, 5, 250, 130));
+ okButton->setPosition(260 - 10 - okButton->getWidth(), 145);
+
+ okButton->setEventId("ok");
+ okButton->addActionListener(this);
+
+ add(scrollArea);
+ add(okButton);
+
+ setLocationRelativeTo(getParent());
+}
+
+NpcTextDialog::~NpcTextDialog()
+{
+ delete okButton;
+ delete textBox;
+ delete scrollArea;
+}
+
+void NpcTextDialog::setText(const char *text)
+{
+ textBox->setText(std::string(text));
+}
+
+void NpcTextDialog::addText(const char *text)
+{
+ textBox->setText(
+ textBox->getText() + std::string(text) + std::string("\n"));
+}
+
+void NpcTextDialog::action(const std::string& eventId)
+{
+ WFIFOW(0) = net_w_value(0x00b9);
+ WFIFOL(2) = net_l_value(current_npc);
+ WFIFOSET(6);
+ setText("");
+ setVisible(false);
+}