KD Chart API Documentation 3.1
Loading...
Searching...
No Matches
kdganttglobal.cpp
Go to the documentation of this file.
1/****************************************************************************
2**
3** This file is part of the KD Chart library.
4**
5** SPDX-FileCopyrightText: 2001 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
6**
7** SPDX-License-Identifier: MIT
8**
9****************************************************************************/
10
11#include "kdganttglobal.h"
12
13using namespace KDGantt;
14
63
65 : m_start(start)
66 , m_end(end)
67{
68}
69
71{
72 *this = other;
73}
74
78
80{
81 if (this != &other) {
82 m_start = other.m_start;
83 m_end = other.m_end;
84 }
85 return *this;
86}
87
89{
90 return m_start.isValid() && m_end.isValid();
91}
92
93bool DateTimeSpan::equals(const DateTimeSpan &other) const
94{
95 return m_start == other.m_start && m_end == other.m_end;
96}
97
98#ifndef QT_NO_DEBUG_STREAM
99
101{
102 switch (r) {
104 dbg << "KDGantt::StartTimeRole";
105 break;
107 dbg << "KDGantt::EndTimeRole";
108 break;
110 dbg << "KDGantt::TaskCompletionRole";
111 break;
113 dbg << "KDGantt::ItemTypeRole";
114 break;
116 dbg << "KDGantt::LegendRole";
117 break;
118 default:
119 dbg << static_cast<Qt::ItemDataRole>(r);
120 }
121 return dbg;
122}
123
125{
126 switch (t) {
128 dbg << "KDGantt::TypeNone";
129 break;
131 dbg << "KDGantt::TypeEvent";
132 break;
134 dbg << "KDGantt::TypeTask";
135 break;
137 dbg << "KDGantt::TypeSummary";
138 break;
140 dbg << "KDGantt::TypeMulti";
141 break;
143 dbg << "KDGantt::TypeUser";
144 break;
145 default:
146 dbg << static_cast<int>(t);
147 }
148 return dbg;
149}
150
152{
153 dbg << "KDGantt::Span[ start=" << s.start() << " length=" << s.length() << "]";
154 return dbg;
155}
157{
158 dbg << "KDGantt::DateTimeSpan[ start=" << s.start() << " end=" << s.end() << "]";
159 return dbg;
160}
161
162#endif /* QT_NO_DEBUG_STREAM */
163
164#ifndef KDAB_NO_UNIT_TESTS
165
166#include <ostream>
167
168static std::ostream &operator<<(std::ostream &os, const Span &span)
169{
170 os << "Span[ start=" << span.start() << ", length=" << span.length() << "]";
171 return os;
172}
173
174static std::ostream &operator<<(std::ostream &os, const DateTimeSpan &span)
175{
176#ifdef QT_NO_STL
177 os << "DateTimeSpan[ start=" << span.start().toString().toLatin1().constData()
178 << ", end=" << span.end().toString().toLatin1().constData() << "]";
179#else
180 os << "DateTimeSpan[ start=" << span.start().toString().toStdString()
181 << ", end=" << span.end().toString().toStdString() << "]";
182#endif
183 return os;
184}
185
186#include "unittest/test.h"
187
189{
190 Span s1;
191 assertFalse(s1.isValid());
192 s1.setStart(10.);
193 s1.setLength(2.);
194
195 Span s2(s1.start(), s1.length());
196 assertEqual(s1, s2);
197}
198
200{
201 DateTimeSpan s1;
202 assertFalse(s1.isValid());
204 s1.setStart(dt);
205 assertTrue(dt.isValid());
206 s1.setEnd(dt.addDays(1));
207
208 DateTimeSpan s2(dt, dt.addDays(1));
209
210 assertEqual(s1, s2);
211
212 DateTimeSpan s3;
213
214 assertNotEqual(s1, s3);
215}
216#endif /* KDAB_NO_UNIT_TESTS */
QDebug operator<<(QDebug dbg, const KDChart::ThreeDBarAttributes &a)
QDateTime end() const
QDateTime start() const
bool equals(const DateTimeSpan &other) const
void setStart(const QDateTime &start)
DateTimeSpan & operator=(const DateTimeSpan &other)
void setEnd(const QDateTime &end)
A class representing a start point and a length.
qreal length() const
void setStart(qreal start)
bool isValid() const
qreal start() const
void setLength(qreal length)
KDAB_SCOPED_UNITTEST_SIMPLE(KDGantt, Constraint, "test")
Contains KDGantt macros.
ItemDataRole
KDGantt::KDGanttRoleBase The base value used for the KDGantt role enum values.
@ TaskCompletionRole
const char * constData() const const
QDateTime addDays(qint64 ndays) const const
QDateTime currentDateTime()
bool isValid() const const
QString toString(Qt::DateFormat format) const const
QByteArray toLatin1() const const
std::string toStdString() const const

© 2001 Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
https://www.kdab.com/development-resources/qt-tools/kd-chart/
Generated on Fri Apr 26 2024 00:04:57 for KD Chart API Documentation by doxygen 1.9.8