00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef DATEEDITWIDGET_H
00023 #define DATEEDITWIDGET_H
00024
00025 #include <QtCore/QDate>
00026 #include <QtGui/QLabel>
00027 #include <QtGui/QWidget>
00028
00029 class KDatePickerPopup;
00030
00031 class QContextMenuEvent;
00032 class QToolButton;
00033
00034 class DateView : public QLabel
00035 {
00036 Q_OBJECT
00037
00038 public:
00039 DateView( QWidget *parent = 0 );
00040
00041 Q_SIGNALS:
00042 void resetDate();
00043
00044 protected:
00045 virtual void contextMenuEvent( QContextMenuEvent* );
00046
00047 private Q_SLOTS:
00048 void emitSignal();
00049 };
00050
00051 class DateEditWidget : public QWidget
00052 {
00053 Q_OBJECT
00054
00055 public:
00056 enum Type {
00057 General,
00058 Birthday,
00059 Anniversary
00060 };
00061
00062 explicit DateEditWidget( Type type = General, QWidget *parent = 0 );
00063 ~DateEditWidget();
00064
00065 void setDate( const QDate &date );
00066 QDate date() const;
00067
00068 void setReadOnly( bool readOnly );
00069
00070 private Q_SLOTS:
00071 void dateSelected( const QDate& );
00072 void resetDate();
00073 void updateView();
00074
00075 private:
00076 QDate mDate;
00077 DateView *mView;
00078 QToolButton *mSelectButton;
00079 QToolButton *mClearButton;
00080 KDatePickerPopup *mMenu;
00081 bool mReadOnly;
00082 };
00083
00084 #endif