summaryrefslogtreecommitdiff
path: root/src/gui/npclistdialog.cpp
diff options
context:
space:
mode:
authorJared Adams <jaxad0127@gmail.com>2009-05-01 14:35:41 -0600
committerJared Adams <jaxad0127@gmail.com>2009-05-01 14:35:41 -0600
commit6a7d3f9343f29bd9b46f3bbac917aa190b42b14d (patch)
tree6de65bfdc540ea9ea1a065b013179f02a968d35d /src/gui/npclistdialog.cpp
parentb6fb2326ffa687f6028d991e2d6203b3f2a92c5a (diff)
downloadmana-client-6a7d3f9343f29bd9b46f3bbac917aa190b42b14d.tar.gz
mana-client-6a7d3f9343f29bd9b46f3bbac917aa190b42b14d.tar.bz2
mana-client-6a7d3f9343f29bd9b46f3bbac917aa190b42b14d.tar.xz
mana-client-6a7d3f9343f29bd9b46f3bbac917aa190b42b14d.zip
Merge the NPC dialogs into one
Also add support for the new TMWServ NPC packets
Diffstat (limited to 'src/gui/npclistdialog.cpp')
-rw-r--r--src/gui/npclistdialog.cpp150
1 files changed, 0 insertions, 150 deletions
diff --git a/src/gui/npclistdialog.cpp b/src/gui/npclistdialog.cpp
deleted file mode 100644
index 65e4263e..00000000
--- a/src/gui/npclistdialog.cpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * The Mana World
- * Copyright (C) 2004 The Mana World Development Team
- *
- * This file is part of The Mana World.
- *
- * This program 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.
- *
- * This program 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 this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "gui/npclistdialog.h"
-
-#include "gui/npctextdialog.h"
-
-#include "gui/widgets/button.h"
-#include "gui/widgets/layout.h"
-#include "gui/widgets/listbox.h"
-#include "gui/widgets/scrollarea.h"
-
-#include "npc.h"
-
-#include "net/net.h"
-#include "net/npchandler.h"
-
-#include "utils/gettext.h"
-#include "utils/strprintf.h"
-
-#include <sstream>
-
-NpcListDialog::NpcListDialog()
- : Window("NPC")
-{
- setWindowName("NPCList");
- setResizable(true);
-
- setMinWidth(200);
- setMinHeight(150);
-
- setDefaultSize(260, 200, ImageRect::CENTER);
-
- mItemList = new ListBox(this);
- mItemList->setWrappingEnabled(true);
-
- gcn::ScrollArea *scrollArea = new ScrollArea(mItemList);
-
- gcn::Button *okButton = new Button(_("OK"), "ok", this);
- gcn::Button *cancelButton = new Button(_("Cancel"), "cancel", this);
-
- setContentSize(260, 175);
- scrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
-
- place(0, 0, scrollArea, 5).setPadding(3);
- place(3, 1, cancelButton);
- place(4, 1, okButton);
-
- Layout &layout = getLayout();
- layout.setRowHeight(0, Layout::AUTO_SET);
-
- center();
- loadWindowState();
-}
-
-int NpcListDialog::getNumberOfElements()
-{
- return mItems.size();
-}
-
-std::string NpcListDialog::getElementAt(int i)
-{
- return mItems[i];
-}
-
-void NpcListDialog::addItem(const std::string &item)
-{
- mItems.push_back(item);
-}
-
-void NpcListDialog::parseItems(const std::string &itemString)
-{
- std::istringstream iss(itemString);
-
- std::string tmp;
- while (getline(iss, tmp, ':'))
- mItems.push_back(tmp);
-}
-
-void NpcListDialog::reset()
-{
- NPC::isTalking = false;
- mItemList->setSelected(-1);
- mItems.clear();
-}
-
-void NpcListDialog::action(const gcn::ActionEvent &event)
-{
- int choice = 0;
- if (event.getId() == "ok")
- {
- // Send the selected index back to the server
- int selectedIndex = mItemList->getSelected();
-
- if (selectedIndex > -1)
- {
- choice = selectedIndex + 1;
- npcTextDialog->addText(strprintf("\n> \"%s\"\n",
- mItems[selectedIndex].c_str()));
- }
- }
- else if (event.getId() == "cancel")
- {
- choice = 0xff; // 0xff means cancel
- npcTextDialog->addText(_("\n> Cancel\n"));
- npcTextDialog->showCloseButton();
- }
-
- if (choice)
- {
- setVisible(false);
- saveWindowState();
- reset();
-
- Net::getNpcHandler()->listInput(current_npc, choice);
- }
-}
-
-void NpcListDialog::setVisible(bool visible)
-{
- if (visible) {
- npcTextDialog->setVisible(true);
- }
-
- Window::setVisible(visible);
-}
-
-void NpcListDialog::requestFocus()
-{
- mItemList->requestFocus();
- mItemList->setSelected(0);
-}