kdatetbl.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KDATETBL_H
00021 #define KDATETBL_H
00022
00023 #include <qvalidator.h>
00024 #include <qgridview.h>
00025 #include <qlineedit.h>
00026 #include <qdatetime.h>
00027
00033 class KDateInternalWeekSelector : public QLineEdit
00034 {
00035 Q_OBJECT
00036 protected:
00037 QIntValidator *val;
00038 int result;
00039 public slots:
00040 void weekEnteredSlot();
00041 signals:
00042 void closeMe(int);
00043 public:
00044 KDateInternalWeekSelector(int fontsize,
00045 QWidget* parent=0,
00046 const char* name=0);
00047 int getWeek();
00048 void setWeek(int week);
00049
00050 private:
00051 class KDateInternalWeekPrivate;
00052 KDateInternalWeekPrivate *d;
00053 };
00054
00061 class KDateInternalMonthPicker : public QGridView
00062 {
00063 Q_OBJECT
00064 protected:
00068 int result;
00072 short int activeCol;
00073 short int activeRow;
00077 QRect max;
00078 signals:
00082 void closeMe(int);
00083 public:
00087 KDateInternalMonthPicker(int fontsize, QWidget* parent, const char* name=0);
00091 QSize sizeHint() const;
00096 int getResult() const;
00097 protected:
00101 void setupPainter(QPainter *p);
00105 virtual void viewportResizeEvent(QResizeEvent*);
00109 virtual void paintCell(QPainter* painter, int row, int col);
00113 virtual void contentsMousePressEvent(QMouseEvent *e);
00114 virtual void contentsMouseMoveEvent(QMouseEvent *e);
00118 virtual void contentsMouseReleaseEvent(QMouseEvent *e);
00119
00120 private:
00121 class KDateInternalMonthPrivate;
00122 KDateInternalMonthPrivate *d;
00123 };
00124
00130 class KDateInternalYearSelector : public QLineEdit
00131 {
00132 Q_OBJECT
00133 protected:
00134 QIntValidator *val;
00135 int result;
00136 public slots:
00137 void yearEnteredSlot();
00138 signals:
00139 void closeMe(int);
00140 public:
00141 KDateInternalYearSelector(int fontsize,
00142 QWidget* parent=0,
00143 const char* name=0);
00144 int getYear();
00145 void setYear(int year);
00146
00147 private:
00148 class KDateInternalYearPrivate;
00149 KDateInternalYearPrivate *d;
00150 };
00151
00157 class KPopupFrame : public QFrame
00158 {
00159 Q_OBJECT
00160 protected:
00164 int result;
00168 virtual void keyPressEvent(QKeyEvent* e);
00172 QWidget *main;
00173 public slots:
00178 void close(int r);
00179 public:
00183 KPopupFrame(QWidget* parent=0, const char* name=0);
00191 void setMainWidget(QWidget* m);
00196 virtual void resizeEvent(QResizeEvent*);
00200 void popup(const QPoint &pos);
00204 int exec(QPoint p);
00208 int exec(int x, int y);
00209
00210 private:
00211
00212 virtual bool close(bool alsoDelete) { return QFrame::close(alsoDelete); }
00213 protected:
00214 virtual void virtual_hook( int id, void* data );
00215 private:
00216 class KPopupFramePrivate;
00217 KPopupFramePrivate *d;
00218 };
00219
00223 class KDateValidator : public QValidator
00224 {
00225 public:
00226 KDateValidator(QWidget* parent=0, const char* name=0);
00227 virtual State validate(QString&, int&) const;
00228 virtual void fixup ( QString & input ) const;
00229 State date(const QString&, QDate&) const;
00230 };
00231
00245 class KDateTable : public QGridView
00246 {
00247 Q_OBJECT
00248 public:
00252 KDateTable(QWidget *parent=0,
00253 QDate date=QDate::currentDate(),
00254 const char* name=0, WFlags f=0);
00262 virtual QSize sizeHint() const;
00266 void setFontSize(int size);
00270 bool setDate(const QDate&);
00271 const QDate& getDate() const;
00272
00273
00274 protected:
00278 virtual void paintCell(QPainter*, int, int);
00282 virtual void viewportResizeEvent(QResizeEvent *);
00286 virtual void contentsMousePressEvent(QMouseEvent *);
00287 virtual void wheelEvent( QWheelEvent * e );
00288 virtual void keyPressEvent( QKeyEvent *e );
00289 virtual void focusInEvent( QFocusEvent *e );
00290 virtual void focusOutEvent( QFocusEvent *e );
00294 int fontsize;
00298 QDate date;
00302 int firstday;
00306 int numdays;
00310 int numDaysPrevMonth;
00315 bool unused_hasSelection;
00319 QRect maxCell;
00320 signals:
00324 void dateChanged(QDate);
00328 void tableClicked();
00329
00330 protected:
00331 virtual void virtual_hook( int id, void* data );
00332 private:
00333 class KDateTablePrivate;
00334 KDateTablePrivate *d;
00335 };
00336
00337 #endif // KDATETBL_H
This file is part of the documentation for kdelibs Version 3.1.4.