15#ifndef __KDCHARTGLOBAL_H__
16#define __KDCHARTGLOBAL_H__
20#include "kdchart_export.h"
22#ifndef KDAB_SET_OBJECT_NAME
35#define KDAB_SET_OBJECT_NAME(x) __kdab__dereference_for_methodcall(x).setObjectName(QLatin1String(#x))
38#define KDCHART_DECLARE_PRIVATE_DERIVED(X) \
43 inline Private *d_func(); \
44 inline const Private *d_func() const; \
45 explicit inline X(Private *); \
50#define KDCHART_DECLARE_PRIVATE_DERIVED_PARENT(X, ParentType) \
55 inline Private *d_func(); \
56 inline const Private *d_func() const; \
57 explicit inline X(Private *, ParentType); \
62#define KDCHART_DECLARE_PRIVATE_DERIVED_QWIDGET(X) \
63 KDCHART_DECLARE_PRIVATE_DERIVED_PARENT(X, QWidget *)
65#define KDCHART_DECLARE_PRIVATE_BASE_VALUE(X) \
67 inline void swap(X &other) \
69 qSwap(_d, other._d); \
78 const Private *d_func() const \
87#define KDCHART_DECLARE_PRIVATE_BASE_POLYMORPHIC(X) \
96 const Private *d_func() const \
100 explicit inline X(Private *); \
106#define KDCHART_DECLARE_PRIVATE_BASE_POLYMORPHIC_QWIDGET(X) \
115 const Private *d_func() const \
119 explicit inline X(Private *, QWidget *); \
125#define KDCHART_DERIVED_PRIVATE_FOOTER(CLASS, PARENT) \
126 inline CLASS::CLASS(Private *p) \
131 inline CLASS::Private *CLASS::d_func() \
133 return static_cast<Private *>(PARENT::d_func()); \
135 inline const CLASS::Private *CLASS::d_func() const \
137 return static_cast<const Private *>(PARENT::d_func()); \
140#define KDCHART_DECLARE_DERIVED_DIAGRAM(X, PLANE) \
145 inline Private *d_func(); \
146 inline const Private *d_func() const; \
147 explicit inline X(Private *); \
148 explicit inline X(Private *, QWidget *, PLANE *); \
153#define KDCHART_IMPL_DERIVED_DIAGRAM(CLASS, PARENT, PLANE) \
154 inline CLASS::CLASS(Private *p) \
159 inline CLASS::CLASS( \
160 Private *p, QWidget *parent, PLANE *plane) \
161 : PARENT(p, parent, plane) \
165 inline CLASS::Private *CLASS::d_func() \
167 return static_cast<Private *>(PARENT::d_func()); \
169 inline const CLASS::Private *CLASS::d_func() const \
171 return static_cast<const Private *>(PARENT::d_func()); \
174#define KDCHART_IMPL_DERIVED_PLANE(CLASS, BASEPLANE) \
175 inline CLASS::CLASS(Private *p, Chart *parent) \
176 : BASEPLANE(p, parent) \
180 inline CLASS::Private *CLASS::d_func() \
182 return static_cast<Private *>(BASEPLANE::d_func()); \
184 inline const CLASS::Private *CLASS::d_func() const \
186 return static_cast<const Private *>(BASEPLANE::d_func()); \
189#include <QtAlgorithms>
192#define KDCHART_DECLARE_SWAP_SPECIALISATION(X) \
195 inline void qSwap<X>(X & lhs, X & rhs) \
202 inline void swap<X>(X & lhs, X &rhs) \
208#define KDCHART_DECLARE_SWAP_SPECIALISATION(X) \
211 inline void qSwap<X>(X & lhs, X & rhs) \
218#define KDCHART_DECLARE_SWAP_SPECIALISATION_DERIVED(X) \
219 KDCHART_DECLARE_SWAP_SPECIALISATION(X)
221#define KDCHART_DECLARE_SWAP_BASE(X) \
223 void doSwap(X &other) \
225 qSwap(_d, other._d); \
228#define KDCHART_DECLARE_SWAP_DERIVED(X) \
229 void swap(X &other) \
234#if defined(Q_OS_WIN) && defined(QT_DLL)
235#if defined(_MSC_VER) && _MSC_VER >= 1300
T & __kdab__dereference_for_methodcall(T &o)
@ DataValueLabelAttributesRole
@ ThreeDLineAttributesRole
@ ThreeDBarAttributesRole
@ ThreeDPieAttributesRole
@ ValueTrackerAttributesRole