qpiemodelmapper_p.h
101 lines
| 2.8 KiB
| text/x-c
|
CLexer
Marek Rosa
|
r1309 | /**************************************************************************** | ||
** | ||||
** 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$ | ||||
** | ||||
****************************************************************************/ | ||||
// 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
|
r1229 | #ifndef QPIEMODELMAPPER_P_H | ||
#define QPIEMODELMAPPER_P_H | ||||
#include "qpiemodelmapper.h" | ||||
#include <QObject> | ||||
class QModelIndex; | ||||
class QAbstractItemModel; | ||||
QTCOMMERCIALCHART_BEGIN_NAMESPACE | ||||
class QPieModelMapper; | ||||
class QPieSeries; | ||||
Marek Rosa
|
r1230 | class QPieSlice; | ||
Marek Rosa
|
r1229 | |||
class QPieModelMapperPrivate : public QObject | ||||
{ | ||||
Q_OBJECT | ||||
public: | ||||
QPieModelMapperPrivate(QPieModelMapper *q); | ||||
public Q_SLOTS: | ||||
// for the model | ||||
void modelUpdated(QModelIndex topLeft, QModelIndex bottomRight); | ||||
Marek Rosa
|
r1230 | void modelRowsAdded(QModelIndex parent, int start, int end); | ||
void modelRowsRemoved(QModelIndex parent, int start, int end); | ||||
void modelColumnsAdded(QModelIndex parent, int start, int end); | ||||
void modelColumnsRemoved(QModelIndex parent, int start, int end); | ||||
Marek Rosa
|
r1229 | |||
// for the series | ||||
Marek Rosa
|
r1231 | void slicesAdded(QList<QPieSlice*> slices); | ||
void slicesRemoved(QList<QPieSlice*> slices); | ||||
Marek Rosa
|
r1236 | void sliceLabelChanged(); | ||
void sliceValueChanged(); | ||||
Marek Rosa
|
r1229 | |||
Marek Rosa
|
r1230 | void initializePieFromModel(); | ||
Marek Rosa
|
r1229 | |||
private: | ||||
Marek Rosa
|
r1230 | QPieSlice* pieSlice(QModelIndex index) const; | ||
Marek Rosa
|
r1251 | bool isLabelIndex(QModelIndex index) const; | ||
bool isValueIndex(QModelIndex index) const; | ||||
Marek Rosa
|
r1230 | QModelIndex valueModelIndex(int slicePos); | ||
QModelIndex labelModelIndex(int slicePos); | ||||
void insertData(int start, int end); | ||||
void removeData(int start, int end); | ||||
Marek Rosa
|
r1229 | |||
Marek Rosa
|
r1231 | void blockModelSignals(bool block = true); | ||
void blockSeriesSignals(bool block = true); | ||||
Marek Rosa
|
r1229 | private: | ||
Marek Rosa
|
r1230 | QPieSeries *m_series; | ||
Marek Rosa
|
r1236 | QList<QPieSlice*> m_slices; | ||
Marek Rosa
|
r1230 | QAbstractItemModel *m_model; | ||
Marek Rosa
|
r1229 | int m_first; | ||
int m_count; | ||||
Qt::Orientation m_orientation; | ||||
Marek Rosa
|
r1230 | int m_valuesIndex; | ||
int m_labelsIndex; | ||||
Tero Ahola
|
r1249 | bool m_seriesSignalsBlock; | ||
bool m_modelSignalsBlock; | ||||
Marek Rosa
|
r1229 | |||
private: | ||||
Marek Rosa
|
r1230 | |||
Marek Rosa
|
r1229 | QPieModelMapper *q_ptr; | ||
Q_DECLARE_PUBLIC(QPieModelMapper) | ||||
friend class QPieSeriesPrivate; | ||||
}; | ||||
QTCOMMERCIALCHART_END_NAMESPACE | ||||
#endif // QPIEMODELMAPPER_P_H | ||||