00001 #ifndef DATECALENDAR_H
00002 #define DATECALENDAR_H
00003
00004 #include <QCalendarWidget>
00005 #include <QLineEdit>
00006 #include <QList>
00007 #include <QObject>
00008 #include <QWidget>
00009 #include <QMainWindow>
00010 class ALineEdit;
00011
00012 class DateCalendar: public QCalendarWidget
00013 {
00014 Q_OBJECT
00015
00016 public:
00017 DateCalendar(QWidget *parent = 0);
00018 virtual ~DateCalendar();
00019 void enableOn(ALineEdit *editor);
00020 void disableOn(ALineEdit *editor);
00021 void setMainWindow(QMainWindow *mw) { mainWindow = mw; }
00022
00023 public slots:
00024 void dateClicked(const QDate &date);
00025 void editReturnPressed();
00026 void textChanged(const QString &text);
00027 void focusChanged(QWidget *old, QWidget *now);
00028
00029 private:
00030 ALineEdit *current;
00031 QList<ALineEdit *> editors;
00032 QWidget *mainWindow;
00033 int count;
00034 bool singleSkip;
00035
00036 QPoint addPS(const QPoint& p, const QSize& s);
00037 QPoint subPS(const QPoint& p, const QSize& s);
00038 QPoint widgetPos(QWidget *widget, int depth = 10);
00039 };
00040
00041 #endif // DATECALENDAR_H