11 #ifndef KDGANTTDATETIMEGRID_H
12 #define KDGANTTDATETIMEGRID_H
21 class DateTimeScaleFormatter;
41 QDateTime startDateTime()
const;
42 void setStartDateTime(
const QDateTime &dt);
44 qreal dayWidth()
const;
45 void setDayWidth(qreal);
47 qreal mapFromDateTime(
const QDateTime &dt)
const;
48 QDateTime mapToDateTime(qreal x)
const;
50 void setWeekStart(Qt::DayOfWeek);
51 Qt::DayOfWeek weekStart()
const;
53 void setFreeDays(
const QSet<Qt::DayOfWeek> &fd);
54 QSet<Qt::DayOfWeek> freeDays()
const;
56 void setFreeDaysBrush(
const QBrush brush);
57 QBrush freeDaysBrush()
const;
59 void setScale(Scale s);
67 bool rowSeparators()
const;
68 void setRowSeparators(
bool enable);
70 void setNoInformationBrush(
const QBrush &brush);
71 QBrush noInformationBrush()
const;
73 Span mapToChart(
const QModelIndex &idx)
const override;
74 bool mapFromChart(
const Span &span,
const QModelIndex &idx,
75 const QList<Constraint> &constraints = QList<Constraint>())
const override;
76 qreal mapToChart(
const QVariant &value)
const override;
77 QVariant mapFromChart(qreal x)
const override;
78 void paintGrid(QPainter *painter,
79 const QRectF &sceneRect,
const QRectF &exposedRect,
81 QWidget *widget =
nullptr)
override;
82 void paintHeader(QPainter *painter,
83 const QRectF &headerRect,
const QRectF &exposedRect,
84 qreal offset, QWidget *widget =
nullptr)
override;
87 virtual void paintHourScaleHeader(QPainter *painter,
88 const QRectF &headerRect,
const QRectF &exposedRect,
89 qreal offset, QWidget *widget =
nullptr);
90 virtual void paintDayScaleHeader(QPainter *painter,
91 const QRectF &headerRect,
const QRectF &exposedRect,
92 qreal offset, QWidget *widget =
nullptr);
93 virtual void paintWeekScaleHeader(QPainter *painter,
94 const QRectF &headerRect,
const QRectF &exposedRect,
95 qreal offset, QWidget *widget =
nullptr);
96 virtual void paintMonthScaleHeader(QPainter *painter,
97 const QRectF &headerRect,
const QRectF &exposedRect,
98 qreal offset, QWidget *widget =
nullptr);
100 virtual void paintUserDefinedHeader(QPainter *painter,
101 const QRectF &headerRect,
const QRectF &exposedRect,
103 QWidget *widget =
nullptr);
105 virtual void drawDayBackground(QPainter *painter,
const QRectF &rect,
const QDate &date);
106 virtual void drawDayForeground(QPainter *painter,
const QRectF &rect,
const QDate &date);
108 QRectF computeRect(
const QDateTime &from,
const QDateTime &to,
const QRectF &rect)
const;
109 QPair<QDateTime, QDateTime> dateTimeRange(
const QRectF &rect)
const;
111 void drawBackground(QPainter *paint,
const QRectF &rect)
override;
112 void drawForeground(QPainter *paint,
const QRectF &rect)
override;
131 Qt::Alignment alignment = Qt::AlignCenter);
133 const QString &templ, Qt::Alignment alignment = Qt::AlignCenter);
139 QString format()
const;
141 Qt::Alignment alignment()
const;
143 virtual QDateTime nextRangeBegin(
const QDateTime &datetime)
const;
144 virtual QDateTime currentRangeBegin(
const QDateTime &datetime)
const;
146 QString format(
const QDateTime &datetime)
const;
147 virtual QString text(
const QDateTime &datetime)
const;
151 #ifndef QT_NO_DEBUG_STREAM
Abstract baseclass for grids.
Abstract baseclass for row controllers.
This implementation of AbstractGrid works with QDateTime and shows days and week numbers in the heade...
A class representing a start point and a length.
QDebug KDGANTT_EXPORT operator<<(QDebug dbg, KDGantt::DateTimeScaleFormatter::Range)
#define KDGANTT_DECLARE_PRIVATE_BASE_POLYMORPHIC(X)
#define KDGANTT_DECLARE_PRIVATE_DERIVED(X)