kdgantt
kdganttdatetimegrid.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef KDGANTTDATETIMEGRID_H
00024 #define KDGANTTDATETIMEGRID_H
00025
00026 #include "kdganttabstractgrid.h"
00027
00028 #include <QDateTime>
00029 #include <QSet>
00030
00031 namespace KDGantt {
00032 class KDGANTT_EXPORT DateTimeGrid : public AbstractGrid {
00033 Q_OBJECT
00034 KDGANTT_DECLARE_PRIVATE_DERIVED( DateTimeGrid )
00035 public:
00036 enum Scale { ScaleAuto, ScaleHour, ScaleDay, ScaleWeek };
00037
00038 DateTimeGrid();
00039 virtual ~DateTimeGrid();
00040
00041 QDateTime startDateTime() const;
00042 void setStartDateTime( const QDateTime& dt );
00043
00044 qreal dayWidth() const;
00045 void setDayWidth( qreal );
00046
00047 void setWeekStart( Qt::DayOfWeek );
00048 Qt::DayOfWeek weekStart() const;
00049
00050 void setFreeDays( const QSet<Qt::DayOfWeek>& fd );
00051 QSet<Qt::DayOfWeek> freeDays() const;
00052
00053 void setScale( Scale s );
00054 Scale scale() const;
00055
00056 bool rowSeparators() const;
00057 void setRowSeparators( bool enable );
00058
00059 Span mapToChart( const QModelIndex& idx ) const;
00060 bool mapFromChart( const Span& span, const QModelIndex& idx,
00061 const QList<Constraint>& constraints=QList<Constraint>() ) const;
00062 void paintGrid( QPainter* painter, const QRectF& sceneRect, const QRectF& exposedRect,
00063 AbstractRowController* rowController = 0,
00064 QWidget* widget=0 );
00065 void paintHeader( QPainter* painter, const QRectF& headerRect, const QRectF& exposedRect,
00066 qreal offset, QWidget* widget=0 );
00067
00068 void render( QPainter* painter, const QRectF &target, const QRectF& headerRect, const QRectF& exposedRect, QWidget *widget, Qt::AspectRatioMode aspectRatioMode = Qt::KeepAspectRatio );
00069
00070 protected:
00071 virtual void paintHourScaleHeader( QPainter* painter, const QRectF& headerRect, const QRectF& exposedRect,
00072 qreal offset, QWidget* widget=0 );
00073 virtual void paintDayScaleHeader( QPainter* painter, const QRectF& headerRect, const QRectF& exposedRect,
00074 qreal offset, QWidget* widget=0 );
00075 virtual void paintWeekScaleHeader( QPainter* painter, const QRectF& headerRect, const QRectF& exposedRect,
00076 qreal offset, QWidget* widget=0 );
00077
00078 };
00079 }
00080
00081 #endif
00082