##// END OF EJS Templates
Fix axis geometry when there is no axis title...
Fix axis geometry when there is no axis title SizeHint won't include title padding when there is no title, yet updateGeometry() always assumed it was there when determining space for labels, causing truncated labels when title was missing. Also made missing/empty/hidden axis title work consistently. Now axis geometries should be updated correctly always when title text or visibility status changes. Task-number: QTRD-1903 Reviewed-by: Mika Salmela

File last commit:

r2356:c0053ad31507
r2415:65ea14fdb747
Show More
abstractdomain_p.h
113 lines | 3.6 KiB | text/x-c | CLexer
/ src / domain / abstractdomain_p.h
Jani Honkonen
Add license headers
r794 /****************************************************************************
**
** Copyright (C) 2012 Digia Plc
** All rights reserved.
** For any questions to Digia, please use contact form at http://qt.digia.com
**
** This file is part of the Qt Commercial Charts Add-on.
**
** $QT_BEGIN_LICENSE$
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.
**
** If you have questions regarding the use of this file, please use
** contact form at http://qt.digia.com
** $QT_END_LICENSE$
**
****************************************************************************/
unknown
Added missing warning about private implementation
r1366 // W A R N I N G
// -------------
//
// This file is not part of the QtCommercial Chart API. It exists purely as an
// implementation detail. This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
Marek Rosa
Domains added
r2275 #ifndef ABSTRACTDOMAIN_H
#define ABSTRACTDOMAIN_H
Michal Klocek
Refactors qchart , adds line animation...
r131 #include "qchartglobal.h"
Michal Klocek
Refactor domain model...
r439 #include <QRectF>
#include <QSizeF>
Michal Klocek
Improves build configuration...
r996 #include <QDebug>
Michal Klocek
Refactors qchart , adds line animation...
r131
QTCOMMERCIALCHART_BEGIN_NAMESPACE
Michal Klocek
Adds domains swap logic
r2284 class QAbstractAxis;
Marek Rosa
Domains added
r2275 class QTCOMMERCIALCHART_AUTOTEST_EXPORT AbstractDomain: public QObject
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 {
Michal Klocek
Refactor domain model...
r439 Q_OBJECT
Michal Klocek
Adds domains swap logic
r2284 public:
Marek Rosa
Added domain->type() implementation for log domains
r2286 enum DomainType { UndefinedDomain, XYDomain, XLogYDomain, LogXYDomain, LogXLogYDomain };
Michal Klocek
Refactors qchart , adds line animation...
r131 public:
Marek Rosa
Domains added
r2275 explicit AbstractDomain(QObject *object = 0);
virtual ~AbstractDomain();
Michal Klocek
Refactor domain model...
r439
Michal Klocek
Refactors internals...
r2273 void setSize(const QSizeF& size);
QSizeF size() const;
Michal Klocek
Adds domains swap logic
r2284 virtual DomainType type() = 0;
Marek Rosa
Domains added
r2275 virtual void setRange(qreal minX, qreal maxX, qreal minY, qreal maxY) = 0;
Michal Klocek
Refactor domain model...
r439 void setRangeX(qreal min, qreal max);
void setRangeY(qreal min, qreal max);
void setMinX(qreal min);
void setMaxX(qreal max);
void setMinY(qreal min);
void setMaxY(qreal max);
Tero Ahola
Internal review: Removed extra semicolons
r760 qreal minX() const { return m_minX; }
qreal maxX() const { return m_maxX; }
qreal minY() const { return m_minY; }
qreal maxY() const { return m_maxY; }
Michal Klocek
Refactor domain model...
r439
qreal spanX() const;
qreal spanY() const;
bool isEmpty() const;
Michal Klocek
Bugfix resize event during zoomin
r2289 void blockRangeSignals(bool block);
bool rangeSignalsBlocked() const { return m_signalsBlocked; }
Michal Klocek
Refactors internals...
r2273
Marek Rosa
Domains added
r2275 friend bool QTCOMMERCIALCHART_AUTOTEST_EXPORT operator== (const AbstractDomain &domain1, const AbstractDomain &domain2);
friend bool QTCOMMERCIALCHART_AUTOTEST_EXPORT operator!= (const AbstractDomain &domain1, const AbstractDomain &domain2);
friend QDebug QTCOMMERCIALCHART_AUTOTEST_EXPORT operator<<(QDebug dbg, const AbstractDomain &domain);
Michal Klocek
Refactor domain model...
r439
Marek Rosa
Log domains zoomin, zoomout and move added
r2280 virtual void zoomIn(const QRectF &rect) = 0;
virtual void zoomOut(const QRectF &rect) = 0;
virtual void move(qreal dx, qreal dy) = 0;
Michal Klocek
Refactors internals...
r2273
Marek Rosa
Negative values with log axis handled
r2356 virtual QPointF calculateGeometryPoint(const QPointF &point, bool &ok) const = 0;
Marek Rosa
Domains added
r2275 virtual QPointF calculateDomainPoint(const QPointF &point) const = 0;
virtual QVector<QPointF> calculateGeometryPoints(const QList<QPointF>& vector) const = 0;
Michal Klocek
Refactors internals...
r2273
Michal Klocek
Adds domains swap logic
r2284 virtual bool attachAxis(QAbstractAxis* axis);
virtual bool detachAxis(QAbstractAxis* axis);
Michal Klocek
Refactors internals...
r2273 static void looseNiceNumbers(qreal &min, qreal &max, int &ticksCount);
static qreal niceNumber(qreal x, bool ceiling);
Michal Klocek
Refactor domain model...
r439
sauimone
Q_SIGNALS and Q_SLOTS
r775 Q_SIGNALS:
Michal Klocek
Refactors Domain and Axis...
r1698 void updated();
Michal Klocek
Refactors internals...
r2273 void rangeHorizontalChanged(qreal min, qreal max);
void rangeVerticalChanged(qreal min, qreal max);
Michal Klocek
Adds scroll support...
r531
sauimone
Q_SIGNALS and Q_SLOTS
r775 public Q_SLOTS:
Michal Klocek
Refactors internals...
r2273 void handleVerticalAxisRangeChanged(qreal min,qreal max);
void handleHorizontalAxisRangeChanged(qreal min,qreal max);
Michal Klocek
Refactor domain model...
r439
Marek Rosa
Domains added
r2275 protected:
Michal Klocek
Refactor domain model...
r439 qreal m_minX;
qreal m_maxX;
qreal m_minY;
qreal m_maxY;
Michal Klocek
Refactors internals...
r2273 QSizeF m_size;
Michal Klocek
Bugfix resize event during zoomin
r2289 bool m_signalsBlocked;
Michal Klocek
Refactors qchart , adds line animation...
r131 };
QTCOMMERCIALCHART_END_NAMESPACE
Marek Rosa
Domains added
r2275 #endif // ABSTRACTDOMAIN_H