fix standby
[enigma2.git] / lib / gui / einput.h
index cab455890eb4cd61e79b4796dd27e3d7d6732ae8..7c65cc13ec6b5dd65d714d1a914339b979702e4e 100644 (file)
@@ -1,12 +1,12 @@
 #ifndef __lib_gui_einput_h
 #define __lib_gui_einput_h
 
-#include <lib/gui/elabel.h>
+#include <lib/gui/ewidget.h>
 #include <lib/python/connections.h>
 
 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<gFont> m_font;
+       int m_mode, m_have_focus;
        ePtr<eInputContent> 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