X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fgui%2Feinput.h;h=ae838978beb0a3e9fe9ba42a73def041a3bdcf58;hb=eca7d386b015423112c83badcdb3e4f7e6affe6e;hp=76342df6d02b0c24d725fc1dc4c553a5d745b150;hpb=16e1c26e4bfebd5960e9f4613da06c96556f5b4e;p=vuplus_dvbapp diff --git a/lib/gui/einput.h b/lib/gui/einput.h index 76342df..ae83897 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); @@ -14,7 +14,12 @@ public: PSignal0 changed; int m_cursor; - + + enum { + INPUT_ACTIONS, + ASCII_ACTIONS + }; + enum InputActions { moveLeft, moveRight, @@ -22,16 +27,22 @@ public: moveEnd, deleteForward, deleteBackward, - toggleOverwrite + toggleOverwrite, + accept }; - + + enum AsciiActions { + gotAsciiCode + }; + void setContent(eInputContent *cnt); void setOverwriteMode(int o); - int getNumber(); + void setFont(gFont *font); protected: - int m_mode; + ePtr m_font; + int m_mode, m_have_focus; ePtr m_content; int event(int event, void *data=0, void *data2=0); }; @@ -62,31 +73,9 @@ public: 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, int overwrite); - 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