summaryrefslogtreecommitdiff
path: root/src/gui/npc_text.cpp
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2008-12-07 02:00:41 +0100
committerBjørn Lindeijer <bjorn@lindeijer.nl>2008-12-07 02:00:41 +0100
commitceb3ff6bba5a4133000142920a21899114e91cd1 (patch)
tree0a2ecbae0fbae1584c766efe10b224851a110ec4 /src/gui/npc_text.cpp
parent48edf44d7fafe90321e92e05cb22b300d9cad6d9 (diff)
downloadmana-ceb3ff6bba5a4133000142920a21899114e91cd1.tar.gz
mana-ceb3ff6bba5a4133000142920a21899114e91cd1.tar.bz2
mana-ceb3ff6bba5a4133000142920a21899114e91cd1.tar.xz
mana-ceb3ff6bba5a4133000142920a21899114e91cd1.zip
Fixed wrapping in some cases, removed draw method
The 'draw' method was confusingly named, and was actually for updating the GUI after a resize. Its functionality has been merged into 'widgetResized'. The wrapping was broken in the case where text was added to the NPC dialog, cause it was added to an already wrapped string, causing the wrapping to become permanent. Sorry for all the reformatting. Signed-off-by: Bjørn Lindeijer <bjorn@lindeijer.nl> (cherry picked from eAthena commit 43eb6ba950dd8bf978e539c7c7460ef5096438de) Conflicts: src/gui/npclistdialog.cpp src/gui/npclistdialog.h
Diffstat (limited to 'src/gui/npc_text.cpp')
-rw-r--r--src/gui/npc_text.cpp23
1 files changed, 8 insertions, 15 deletions
diff --git a/src/gui/npc_text.cpp b/src/gui/npc_text.cpp
index 60505794..c9ace303 100644
--- a/src/gui/npc_text.cpp
+++ b/src/gui/npc_text.cpp
@@ -60,43 +60,36 @@ NpcTextDialog::NpcTextDialog():
setLocationRelativeTo(getParent());
}
-void
-NpcTextDialog::setText(const std::string &text)
+void NpcTextDialog::setText(const std::string &text)
{
mText = text;
- draw();
+ mTextBox->setTextWrapped(mText);
}
-void
-NpcTextDialog::addText(const std::string &text)
+void NpcTextDialog::addText(const std::string &text)
{
- mText = mTextBox->getText() + text + "\n";
- draw();
+ setText(mText + text + "\n");
}
void NpcTextDialog::widgetResized(const gcn::Event &event)
{
Window::widgetResized(event);
- draw();
-}
-void NpcTextDialog::draw()
-{
const gcn::Rectangle &area = getChildrenArea();
const int width = area.width;
const int height = area.height;
- mTextBox->setTextWrapped(mText);
-
scrollArea->setDimension(gcn::Rectangle(
5, 5, width - 10, height - 15 - okButton->getHeight()));
okButton->setPosition(
width - 5 - okButton->getWidth(),
height - 5 - okButton->getHeight());
+
+ // Set the text again so that it gets wrapped according to the new size
+ mTextBox->setTextWrapped(mText);
}
-void
-NpcTextDialog::action(const gcn::ActionEvent &event)
+void NpcTextDialog::action(const gcn::ActionEvent &event)
{
if (event.getId() == "ok")
{