f39fcce94e375e5c8d9f51431807ab429aa2b7f5
[toast/confclerk.git] / src / gui / daynavigatorwidget.h
1 /*
2  * Copyright (C) 2010 Ixonos Plc.
3  *
4  * This file is part of fosdem-schedule.
5  *
6  * fosdem-schedule is free software: you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License as published by the Free
8  * Software Foundation, either version 2 of the License, or (at your option)
9  * any later version.
10  *
11  * fosdem-schedule is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
14  * more details.
15  *
16  * You should have received a copy of the GNU General Public License along with
17  * fosdem-schedule.  If not, see <http://www.gnu.org/licenses/>.
18  */
19 #ifndef DAYNAVIGATORWIDGET_H
20 #define DAYNAVIGATORWIDGET_H
21
22 #include "ui_daynavigatorwidget.h"
23 #include <QObject>
24 #include <QDate>
25
26 /*#include <QPainter>*/
27 /*#include <QLabel>*/
28
29 /*class QFontMetrics;*/
30
31 /*class VerticalLabel : public QWidget*/
32 /*{*/
33
34 /*public:*/
35 /*VerticalLabel(QWidget *aParent = NULL)*/
36 /*: QWidget(aParent)*/
37 /*, mText("")*/
38 /*{*/
39 /*mFont = QLabel().font();*/
40 /*}   */
41
42 /*void paintEvent(QPaintEvent *)*/
43 /*{   */
44 /*QPainter p(this);*/
45 /*drawRotatedText(&p, 270, width()/2, height()/2, mText);*/
46 /*}   */
47
48 /*void drawRotatedText(QPainter *aPainter, qreal aDegrees, int x, int y, const QString &aText)*/
49 /*{   */
50
51 /*aPainter->save();*/
52 /*aPainter->setFont(mFont);*/
53 /*aPainter->translate(x, y); */
54 /*aPainter->rotate(aDegrees);*/
55 /*QFontMetrics fm(mFont);*/
56 /*QRect r = fm.boundingRect(aText);*/
57 /*aPainter->drawText(-r.width()/2, fm.descent()/2, aText);*/
58 /*aPainter->restore();*/
59 /*}   */
60
61 /*void setText(const QString &aText)*/
62 /*{*/
63 /*mText = aText;*/
64 /*update();*/
65 /*}*/
66
67 /*private:*/
68 /*QString mText;*/
69 /*QFont mFont;*/
70 /*};*/
71
72 class DayNavigatorWidget : public QWidget, private Ui::DayNavigatorWidget
73 {
74     Q_OBJECT
75     public:
76         DayNavigatorWidget(QWidget *aParent = NULL);
77         ~DayNavigatorWidget() {}
78         void setDates(const QDate &aStartDate, const QDate &aEndDate);
79     protected:
80         void paintEvent(QPaintEvent *);
81     private slots:
82         void prevDayButtonClicked();
83         void nextDayButtonClicked();
84     signals:
85         void dateChanged(const QDate &aDate);
86     private:
87         QDate mStartDate;
88         QDate mEndDate;
89         QDate mCurDate;
90         QFontMetrics *mFontMetrics;
91 };
92
93 #endif /* DAYNAVIGATORWIDGET_H */
94