summaryrefslogtreecommitdiff
path: root/src/gui/inttextbox.cpp
diff options
context:
space:
mode:
authorDavid Athay <ko2fan@gmail.com>2009-01-13 00:28:58 +0000
committerDavid Athay <ko2fan@gmail.com>2009-01-13 00:28:58 +0000
commit224da21ea258450fcc78dd7635de84aba1d1df5e (patch)
treedc4df492779986aff60ed785f4821daae968d023 /src/gui/inttextbox.cpp
parentd7a5438d3c7b140c0966243bae98ff447385d246 (diff)
parented60c53eb2fe5ef377fc726df796d0aaf2005c6c (diff)
downloadmana-client-224da21ea258450fcc78dd7635de84aba1d1df5e.tar.gz
mana-client-224da21ea258450fcc78dd7635de84aba1d1df5e.tar.bz2
mana-client-224da21ea258450fcc78dd7635de84aba1d1df5e.tar.xz
mana-client-224da21ea258450fcc78dd7635de84aba1d1df5e.zip
Merge branch 'master' of git://gitorious.org/tmw/eathena
Diffstat (limited to 'src/gui/inttextbox.cpp')
-rw-r--r--src/gui/inttextbox.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/gui/inttextbox.cpp b/src/gui/inttextbox.cpp
index 4825fbf5..a995f084 100644
--- a/src/gui/inttextbox.cpp
+++ b/src/gui/inttextbox.cpp
@@ -21,7 +21,7 @@
#include "inttextbox.h"
-#include <guichan/key.hpp>
+#include "sdlinput.h"
#include "../utils/tostring.h"
@@ -35,17 +35,20 @@ IntTextBox::keyPressed(gcn::KeyEvent &event)
{
const gcn::Key &key = event.getKey();
- if (key.isNumber() || key.getValue() == gcn::Key::BACKSPACE
- || key.getValue() == gcn::Key::DELETE)
+ if (key.getValue() == Key::BACKSPACE ||
+ key.getValue() == Key::DELETE)
{
- gcn::TextBox::keyPressed(event);
+ setText(std::string());
+ event.consume();
}
- std::stringstream s(gcn::TextBox::getText());
+ if (!key.isNumber()) return;
+ TextField::keyPressed(event);
+
+ std::istringstream s(getText());
int i;
s >> i;
- if (gcn::TextBox::getText() != "")
- setInt(i);
+ setInt(i);
}
void IntTextBox::setRange(int min, int max)
@@ -56,9 +59,7 @@ void IntTextBox::setRange(int min, int max)
int IntTextBox::getInt()
{
- if (gcn::TextBox::getText() == "")
- return 0;
- return mValue;
+ return getText().empty() ? mMin : mValue;
}
void IntTextBox::setInt(int i)