From fe3c9ec0a9fb734e83eb70bc725c303a9d36cd6d Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 28 Mar 2014 14:51:26 +0200 Subject: Axis formatter customization example MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also refactored the formatter api somewhat: - Removed virtual from allowNegatives and allowZero and added a setter function for those. This will make it cleaner if we need to add similar properties to the axis formatter in the future, as no new virtual methods can be added without breaking BC. - Changed the labelValues array to labelStrings list, as it makes more sense to directly format the strings in recalculate. Change-Id: I3ea005afa984bb756845ca356b999762e0807415 Reviewed-by: Tomi Korpipää --- .../qmlaxisformatter/customformatter.h | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 examples/datavisualization/qmlaxisformatter/customformatter.h (limited to 'examples/datavisualization/qmlaxisformatter/customformatter.h') diff --git a/examples/datavisualization/qmlaxisformatter/customformatter.h b/examples/datavisualization/qmlaxisformatter/customformatter.h new file mode 100644 index 00000000..d439e56a --- /dev/null +++ b/examples/datavisualization/qmlaxisformatter/customformatter.h @@ -0,0 +1,71 @@ +/**************************************************************************** +** +** Copyright (C) 2014 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 QtDataVisualization module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise 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 +** +****************************************************************************/ + +#ifndef CUSTOMFORMATTER_H +#define CUSTOMFORMATTER_H + +#include +#include +#include + +using namespace QtDataVisualization; + +//! [2] +class CustomFormatter : public QValue3DAxisFormatter +{ + //! [2] + Q_OBJECT + + //! [1] + Q_PROPERTY(QDate originDate READ originDate WRITE setOriginDate NOTIFY originDateChanged) + //! [1] + //! [3] + Q_PROPERTY(QString selectionFormat READ selectionFormat WRITE setSelectionFormat NOTIFY selectionFormatChanged) + //! [3] +public: + explicit CustomFormatter(QObject *parent = 0); + virtual ~CustomFormatter(); + + //! [0] + virtual QValue3DAxisFormatter *createNewInstance() const; + virtual void populateCopy(QValue3DAxisFormatter ©) const; + virtual void recalculate(); + virtual QString stringForValue(qreal value, const QString &format) const; + //! [0] + + QDate originDate() const; + QString selectionFormat() const; + +public slots: + void setOriginDate(const QDate &date); + void setSelectionFormat(const QString &format); + +signals: + void originDateChanged(const QDate &date); + void selectionFormatChanged(const QString &format); + +private: + Q_DISABLE_COPY(CustomFormatter) + + QDateTime valueToDateTime(qreal value) const; + + QDate m_originDate; + QString m_selectionFormat; +}; + +#endif -- cgit v1.2.3