diff options
Diffstat (limited to 'src/gui/npc_text.cpp')
-rw-r--r-- | src/gui/npc_text.cpp | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/src/gui/npc_text.cpp b/src/gui/npc_text.cpp index 052b5f33..a8edc1db 100644 --- a/src/gui/npc_text.cpp +++ b/src/gui/npc_text.cpp @@ -55,28 +55,21 @@ 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; @@ -89,10 +82,12 @@ void NpcTextDialog::draw() 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") { |