#ifndef __enumber_h #define __enumber_h #include #include class eLabel; class gPainter; /** * \brief A widget to enter a number. */ class eNumber: public eDecoWidget { private: void redrawNumber(gPainter *, int n, const eRect &rect); void redrawWidget(gPainter *, const eRect &rect); eRect getNumberRect(int n); int eventHandler(const eWidgetEvent &event); int number[24]; int len, dspace, space_selected, active; gColor cursorB, cursorF, normalB, normalF; int oldmax; int have_focus; int min, max, digit, maxdigits, isactive; int flags; int base; eWidget* descr; eLabel* tmpDescr; // used for description Label in LCD bool neg; protected: int getActive() { return active; } int keyDown(int key); void gotFocus(); void lostFocus(); public: static void unpack(__u32 l, int *t); static void pack(__u32 &l, int *t); void invalidateNum(); Signal1 selected; Signal0 numberChanged; eNumber(eWidget *parent, int len, int min, int max, int maxdigits, int *init, int isactive=0, eWidget* descr=0, int grabfocus=1, const char* deco="eNumber" ); ~eNumber(); int getNumber(int f) { if ((f>=0) && (f