summaryrefslogtreecommitdiff
path: root/src/gui/npctextdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/npctextdialog.cpp')
-rw-r--r--src/gui/npctextdialog.cpp138
1 files changed, 0 insertions, 138 deletions
diff --git a/src/gui/npctextdialog.cpp b/src/gui/npctextdialog.cpp
deleted file mode 100644
index 849c94ec..00000000
--- a/src/gui/npctextdialog.cpp
+++ /dev/null
@@ -1,138 +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/npctextdialog.h"
-
-#include "gui/widgets/button.h"
-#include "gui/widgets/layout.h"
-#include "gui/widgets/scrollarea.h"
-#include "gui/widgets/textbox.h"
-
-#include "npc.h"
-
-#include "net/net.h"
-#include "net/npchandler.h"
-
-#include "utils/gettext.h"
-
-NpcTextDialog::NpcTextDialog()
- : Window(_("NPC"))
- , mState(NPC_TEXT_STATE_WAITING)
-{
- setWindowName("NPCText");
- setResizable(true);
-
- setMinWidth(200);
- setMinHeight(150);
-
- setDefaultSize(260, 200, ImageRect::CENTER);
-
- mTextBox = new TextBox;
- mTextBox->setEditable(false);
- mTextBox->setOpaque(false);
-
- mScrollArea = new ScrollArea(mTextBox);
- mButton = new Button(_("Waiting for server"), "ok", this);
-
- mScrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
- mScrollArea->setVerticalScrollPolicy(gcn::ScrollArea::SHOW_ALWAYS);
-
- place(0, 0, mScrollArea, 5).setPadding(3);
- place(4, 1, mButton);
-
- Layout &layout = getLayout();
- layout.setRowHeight(0, Layout::AUTO_SET);
-
- center();
- loadWindowState();
-}
-
-void NpcTextDialog::clearText()
-{
- NPC::isTalking = false;
- setText("");
-}
-
-void NpcTextDialog::setText(const std::string &text)
-{
- mText = text;
- mTextBox->setTextWrapped(mText, mScrollArea->getWidth() - 15);
-}
-
-void NpcTextDialog::addText(const std::string &text)
-{
- setText(mText + text + "\n");
- mScrollArea->setVerticalScrollAmount(mScrollArea->getVerticalMaxScroll());
-}
-
-void NpcTextDialog::showNextButton()
-{
- mButton->setCaption(_("Next"));
- mState = NPC_TEXT_STATE_NEXT;
- mButton->setEnabled(true);
-}
-
-void NpcTextDialog::showCloseButton()
-{
- mButton->setCaption(_("Close"));
- mState = NPC_TEXT_STATE_CLOSE;
- mButton->setEnabled(true);
-}
-
-void NpcTextDialog::action(const gcn::ActionEvent &event)
-{
- if (event.getId() == "ok")
- {
- if (mState == NPC_TEXT_STATE_NEXT && current_npc) {
- nextDialog();
- addText("\n> Next\n");
- } else if (mState == NPC_TEXT_STATE_CLOSE ||
- (mState == NPC_TEXT_STATE_NEXT && !current_npc)) {
- setText("");
- if (current_npc) nextDialog();
- setVisible(false);
- current_npc = 0;
- NPC::isTalking = false;
- } else return;
- }
- else return;
-
- mButton->setEnabled(false);
- mButton->setCaption(_("Waiting for server"));
- mState = NPC_TEXT_STATE_WAITING;
-}
-
-void NpcTextDialog::nextDialog(int npcID)
-{
- Net::getNpcHandler()->nextDialog(npcID);
-}
-
-void NpcTextDialog::closeDialog(int npcID)
-{
- Net::getNpcHandler()->closeDialog(npcID);
-}
-
-void NpcTextDialog::widgetResized(const gcn::Event &event)
-{
- Window::widgetResized(event);
-
- setText(mText);
-}