X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/290f949e2e213b912a4b44250a38a2c5b4ae3fd3..f3b1a20b183c612caf5122ebc4540a8fe4fff486:/lib/gui/einput.h?ds=sidebyside diff --git a/lib/gui/einput.h b/lib/gui/einput.h index cab45589..7c65cc13 100644 --- a/lib/gui/einput.h +++ b/lib/gui/einput.h @@ -1,12 +1,12 @@ #ifndef __lib_gui_einput_h #define __lib_gui_einput_h -#include +#include #include class eInputContent; -class eInput: public eLabel +class eInput: public eWidget { public: eInput(eWidget *parent); @@ -21,13 +21,19 @@ public: moveHome, moveEnd, deleteForward, - deleteBackward + deleteBackward, + toggleOverwrite, + accept }; void setContent(eInputContent *cnt); - int getNumber(); + void setOverwriteMode(int o); + + void setFont(gFont *font); protected: + ePtr m_font; + int m_mode, m_have_focus; ePtr m_content; int event(int event, void *data=0, void *data2=0); }; @@ -55,34 +61,12 @@ public: virtual void deleteChar(int dir)=0; /* no movement keys except stuff like '.' or so*/ - virtual int haveKey(int code)=0; + virtual int haveKey(int code, int overwrite)=0; virtual int isValid()=0; + virtual void validate()=0; protected: eInput *m_input; }; -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); - void deleteChar(int dir); - int isValid(); - -private: - void recalcLen(); - - void insertDigit(int pos, int dig); - - int m_value; - int m_cursor, m_len; - - int m_min, m_max; -}; - #endif