aboutsummaryrefslogtreecommitdiff
path: root/lib/gui/einputnumber.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gui/einputnumber.h')
-rw-r--r--lib/gui/einputnumber.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/gui/einputnumber.h b/lib/gui/einputnumber.h
new file mode 100644
index 00000000..c4f3013f
--- /dev/null
+++ b/lib/gui/einputnumber.h
@@ -0,0 +1,35 @@
+#ifndef __lib_gui_einputnumber_h
+#define __lib_gui_einputnumber_h
+
+#include <lib/gui/einput.h>
+
+class eInputContentNumber: public eInputContent
+{
+ DECLARE_REF(eInputContentNumber);
+public:
+ eInputContentNumber(int cur, int min, int max);
+
+ void getDisplay(std::string &res, int &cursor);
+ void moveCursor(int dir);
+ int haveKey(int code, int overwrite);
+ void deleteChar(int dir);
+ int isValid();
+
+ void validate();
+
+ void setValue(int num);
+ int getValue();
+
+private:
+ void recalcLen();
+
+ void insertDigit(int pos, int dig);
+
+ int m_value;
+ int m_cursor, m_len;
+
+ int m_min, m_max;
+};
+
+
+#endif