##// END OF EJS Templates
Added createLegendMarkers to private series. This will replace old createLegendMarker method. Notice the s in new method name. PIMPL for QLegendMarker. Newlegend example updated a bit
sauimone -
r2163:5397c9eef2aa
parent child
Show More
@@ -0,0 +1,121
1 /****************************************************************************
2 **
3 ** Copyright (C) 2012 Digia Plc
4 ** All rights reserved.
5 ** For any questions to Digia, please use contact form at http://qt.digia.com
6 **
7 ** This file is part of the Qt Commercial Charts Add-on.
8 **
9 ** $QT_BEGIN_LICENSE$
10 ** Licensees holding valid Qt Commercial licenses may use this file in
11 ** accordance with the Qt Commercial License Agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia.
14 **
15 ** If you have questions regarding the use of this file, please use
16 ** contact form at http://qt.digia.com
17 ** $QT_END_LICENSE$
18 **
19 ****************************************************************************/
20
21 // W A R N I N G
22 // -------------
23 //
24 // This file is not part of the QtCommercial Chart API. It exists purely as an
25 // implementation detail. This header file may change from version to
26 // version without notice, or even be removed.
27 //
28 // We mean it.
29
30 #ifndef QLEGENDMARKERPRIVATE_H
31 #define QLEGENDMARKERPRIVATE_H
32
33 #include "qchartglobal.h"
34 #include <QGraphicsObject>
35 #include <QBrush>
36 #include <QPen>
37 #include <QGraphicsSimpleTextItem>
38 #include <QGraphicsLayoutItem>
39
40 QTCOMMERCIALCHART_BEGIN_NAMESPACE
41
42 // TODO: check these
43 class QAbstractSeries;
44 class QAreaSeries;
45 class QXYSeries;
46 class QBarSet;
47 class QAbstractBarSeries;
48 class QPieSlice;
49 class QLegend;
50 class QPieSeries;
51
52 class QLegendMarker;
53
54 class QLegendMarkerPrivate : public QGraphicsObject, public QGraphicsLayoutItem
55 {
56 Q_OBJECT
57 Q_INTERFACES(QGraphicsLayoutItem)
58 public:
59 explicit QLegendMarkerPrivate(QAbstractSeries *series, QLegendMarker *q);
60 /*
61 void setPen(const QPen &pen);
62 QPen pen() const;
63
64 void setBrush(const QBrush &brush);
65 QBrush brush() const;
66
67 void setFont(const QFont &font);
68 QFont font() const;
69
70 void setLabel(const QString label);
71 QString label() const;
72
73 void setLabelBrush(const QBrush &brush);
74 QBrush labelBrush() const;
75 */
76 void setGeometry(const QRectF& rect);
77
78 QRectF boundingRect() const;
79
80 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
81
82 QSizeF sizeHint (Qt::SizeHint which, const QSizeF& constraint) const;
83
84 protected:
85 // From QGraphicsObject
86 void mousePressEvent(QGraphicsSceneMouseEvent *event);
87
88 public Q_SLOTS:
89 virtual void updated() {};
90
91 private:
92 QLegendMarker *q_ptr;
93
94 /*
95 QLegend* m_legend;
96 */
97
98 // New legend marker properties
99 QAbstractSeries* m_series;
100 QString m_label;
101 QBrush m_labelBrush;
102 QFont m_font;
103 QPen m_pen;
104 QBrush m_brush;
105 bool m_visible;
106
107 // Implementation details of new marker
108 QRectF m_markerRect;
109 QRectF m_boundingRect;
110 QGraphicsSimpleTextItem *m_textItem;
111 QGraphicsRectItem *m_rectItem;
112 qreal m_margin;
113 qreal m_space;
114
115 friend class QLegendPrivate; // TODO: Is this needed?
116 Q_DECLARE_PUBLIC(QLegendMarker)
117 };
118
119 QTCOMMERCIALCHART_END_NAMESPACE
120
121 #endif // QLEGENDMARKERPRIVATE_H
@@ -28,6 +28,7
28 28 #include <QFormLayout>
29 29 #include <QPieSeries>
30 30 #include <QPieSlice>
31 #include <QLegendMarker>
31 32
32 33 QTCOMMERCIALCHART_USE_NAMESPACE
33 34
@@ -53,11 +54,15 MainWidget::MainWidget(QWidget *parent) :
53 54
54 55 QPushButton *boldButton = new QPushButton("Toggle bold");
55 56 connect(boldButton, SIGNAL(clicked()), this, SLOT(toggleBold()));
56 m_buttonLayout->addWidget(boldButton, 8, 0);
57 m_buttonLayout->addWidget(boldButton, 5, 0);
57 58
58 59 QPushButton *italicButton = new QPushButton("Toggle italic");
59 60 connect(italicButton, SIGNAL(clicked()), this, SLOT(toggleItalic()));
60 m_buttonLayout->addWidget(italicButton, 9, 0);
61 m_buttonLayout->addWidget(italicButton, 6, 0);
62
63 QPushButton *infoButton = new QPushButton("Debug info");
64 connect(infoButton, SIGNAL(clicked()), this, SLOT(showDebugInfo()));
65 m_buttonLayout->addWidget(infoButton, 7, 0);
61 66
62 67 m_legendPosX = new QDoubleSpinBox();
63 68 m_legendPosY = new QDoubleSpinBox();
@@ -227,6 +232,14 void MainWidget::toggleItalic()
227 232 m_chart->legend()->setFont(font);
228 233 }
229 234
235 void MainWidget::showDebugInfo()
236 {
237 qDebug() << "marker count:" << m_chart->legend()->markers().count();
238 foreach (QLegendMarker* marker, m_chart->legend()->markers()) {
239 qDebug() << "label:" << marker->label();
240 }
241 }
242
230 243 void MainWidget::fontSizeChanged()
231 244 {
232 245 QFont font = m_chart->legend()->font();
@@ -55,6 +55,7 public slots:
55 55
56 56 void toggleBold();
57 57 void toggleItalic();
58 void showDebugInfo();
58 59 void fontSizeChanged();
59 60
60 61 void updateLegendLayout();
@@ -382,6 +382,15 QList<LegendMarker *> QAreaSeriesPrivate::createLegendMarker(QLegend *legend)
382 382 return list << new AreaLegendMarker(q, legend);
383 383 }
384 384
385 QList<QLegendMarker*> QAreaSeriesPrivate::createLegendMarkers(QLegend* legend)
386 {
387 Q_UNUSED(legend);
388 // Q_Q(QAreaSeries);
389 QList<QLegendMarker*> list;
390 // TODO:
391 // return list << new AreaLegendMarker(q,legend);
392 return list;
393 }
385 394
386 395 void QAreaSeriesPrivate::initializeAxis(QAbstractAxis *axis)
387 396 {
@@ -46,7 +46,9 public:
46 46 void scaleDomain(Domain &domain);
47 47 ChartElement *createGraphics(ChartPresenter *presenter);
48 48 QList<LegendMarker *> createLegendMarker(QLegend *legend);
49 QList<QLegendMarker*> createLegendMarkers(QLegend* legend);
49 50 void initializeAxis(QAbstractAxis *axis);
51
50 52 QAbstractAxis::AxisType defaultAxisType(Qt::Orientation orientation) const;
51 53
52 54 Q_SIGNALS:
@@ -659,6 +659,22 QList<LegendMarker *> QAbstractBarSeriesPrivate::createLegendMarker(QLegend *leg
659 659 return markers;
660 660 }
661 661
662 QList<QLegendMarker*> QAbstractBarSeriesPrivate::createLegendMarkers(QLegend* legend)
663 {
664 Q_UNUSED(legend);
665 // Q_Q(QAbstractBarSeries);
666 QList<QLegendMarker*> markers;
667 // TODO: when QBarLegendMarker is implemented
668 /*
669 foreach(QBarSet* set, q->barSets()) {
670 BarLegendMarker* marker = new BarLegendMarker(q,set,legend);
671 markers << marker;
672 }
673 */
674 return markers;
675 }
676
677
662 678 bool QAbstractBarSeriesPrivate::append(QBarSet *set)
663 679 {
664 680 if ((m_barSets.contains(set)) || (set == 0))
@@ -39,6 +39,7 QTCOMMERCIALCHART_BEGIN_NAMESPACE
39 39
40 40 class QBarModelMapper;
41 41 class QBarCategoryAxis;
42 class QLegendMarker;
42 43
43 44 class QAbstractBarSeriesPrivate : public QAbstractSeriesPrivate
44 45 {
@@ -56,6 +57,7 public:
56 57 void scaleDomain(Domain &domain);
57 58 ChartElement *createGraphics(ChartPresenter *presenter);
58 59 QList<LegendMarker *> createLegendMarker(QLegend *legend);
60 QList<QLegendMarker*> createLegendMarkers(QLegend* legend);
59 61
60 62 void initializeAxis(QAbstractAxis *axis);
61 63 virtual QAbstractAxis::AxisType defaultAxisType(Qt::Orientation orientation) const;
@@ -12,7 +12,8 PRIVATE_HEADERS += \
12 12 $$PWD/legendmarker_p.h \
13 13 $$PWD/legendscroller_p.h \
14 14 $$PWD/qlegend_p.h \
15 $$PWD/legendlayout_p.h
15 $$PWD/legendlayout_p.h \
16 $$PWD/qlegendmarker_p.h
16 17
17 18
18 19 PUBLIC_HEADERS += \
@@ -44,6 +44,8
44 44 #include <QTimer>
45 45 #include <QGraphicsSceneEvent>
46 46
47 #include <QLegendMarker>
48
47 49 QTCOMMERCIALCHART_BEGIN_NAMESPACE
48 50
49 51 /*!
@@ -465,7 +467,21 void QLegendPrivate::handleSeriesAdded(QAbstractSeries *series, Domain *domain)
465 467 {
466 468 Q_UNUSED(domain)
467 469
468 QList<LegendMarker *> markers = series->d_ptr->createLegendMarker(q_ptr);
470 // New markers --->
471 QList<QLegendMarker*> newMarkers = series->d_ptr->createLegendMarkers(q_ptr);
472 foreach (QLegendMarker* marker, newMarkers) {
473 marker->setFont(m_font);
474 marker->setLabelBrush(m_labelBrush);
475 marker->setVisible(series->isVisible());
476 // TODO: QLegendMarker has QGraphicsItem vs QLegendMarker is QGraphicsItem
477 // m_items->addToGroup(marker);
478 m_legendMarkers << marker;
479 }
480
481 QObject::connect(series, SIGNAL(visibleChanged()), this, SLOT(handleSeriesVisibleChanged()));
482 // <--- New markers
483
484 QList<LegendMarker*> markers = series->d_ptr->createLegendMarker(q_ptr);
469 485
470 486 foreach (LegendMarker *marker, markers) {
471 487 marker->setFont(m_font);
@@ -484,6 +500,17 void QLegendPrivate::handleSeriesAdded(QAbstractSeries *series, Domain *domain)
484 500
485 501 void QLegendPrivate::handleSeriesRemoved(QAbstractSeries *series)
486 502 {
503 // New markers --->
504 foreach (QLegendMarker *marker, m_legendMarkers) {
505 if (marker->series() == series) {
506 delete marker;
507 m_legendMarkers.removeAll(marker);
508 }
509 }
510
511 QObject::disconnect(series, SIGNAL(visibleChanged()), this, SLOT(handleSeriesVisibleChanged()));
512 // <--- New markers
513
487 514 foreach (LegendMarker *marker, m_markers) {
488 515 if (marker->series() == series) {
489 516 delete marker;
@@ -501,8 +528,17 void QLegendPrivate::handleSeriesVisibleChanged()
501 528 QAbstractSeries *series = qobject_cast<QAbstractSeries *> (sender());
502 529 Q_ASSERT(series);
503 530
504 foreach (LegendMarker *marker, m_markers) {
505 if (marker->series() == series)
531 // New markers --->
532 foreach (QLegendMarker* marker, m_legendMarkers) {
533 if (marker->series() == series) {
534 marker->setVisible(series->isVisible());
535 }
536 }
537
538 // <--- New markers
539
540 foreach (LegendMarker* marker, m_markers) {
541 if (marker->series() == series) {
506 542 marker->setVisible(series->isVisible());
507 543 }
508 544 m_layout->invalidate();
@@ -510,10 +546,13 void QLegendPrivate::handleSeriesVisibleChanged()
510 546
511 547 void QLegendPrivate::handleCountChanged()
512 548 {
513 QAbstractSeriesPrivate *series = qobject_cast<QAbstractSeriesPrivate *> (sender());
514 Q_ASSERT(series);
515 handleSeriesRemoved(series->q_ptr);
516 handleSeriesAdded(series->q_ptr, 0);
549 // With new markers, the series shoud notify markers directly?
550
551 // Handle new or removed markers
552 // Handle changes of marker pen/brush/label. every property that legend is interested
553 handleSeriesRemoved(series);
554 Domain domain;
555 handleSeriesAdded(series, &domain);
517 556 }
518 557
519 558 #include "moc_qlegend.cpp"
@@ -19,15 +19,15
19 19 ****************************************************************************/
20 20
21 21 #include "qlegendmarker.h"
22 //#include "qlegendmarker_p.h"
22 #include "qlegendmarker_p.h"
23 23 #include <QDebug>
24 #include <QFontMetrics>
24 25
25 26 QTCOMMERCIALCHART_BEGIN_NAMESPACE
26 27
27 28 QLegendMarker::QLegendMarker(QAbstractSeries* series, QObject *parent) :
28 29 QObject(parent),
29 m_series(series)
30 // d_ptr(new QLegendMarkerPrivate(this))
30 d_ptr(new QLegendMarkerPrivate(series, this))
31 31 {
32 32 }
33 33
@@ -37,50 +37,149 QLegendMarker::~QLegendMarker()
37 37
38 38 QString QLegendMarker::label() const
39 39 {
40 return m_label;
40 return d_ptr->m_label;
41 41 }
42 42
43 43 void QLegendMarker::setLabel(const QString &label)
44 44 {
45 m_label = label;
45 d_ptr->m_label = label;
46 }
47
48 QBrush QLegendMarker::labelBrush() const
49 {
50 return d_ptr->m_labelBrush;
51 }
52
53 void QLegendMarker::setLabelBrush(const QBrush &brush)
54 {
55 d_ptr->m_labelBrush = brush;
56 }
57
58 QFont QLegendMarker::font() const
59 {
60 return d_ptr->m_font;
61 }
62
63 void QLegendMarker::setFont(const QFont &font)
64 {
65 d_ptr->m_font = font;
46 66 }
47 67
48 68 QPen QLegendMarker::pen() const
49 69 {
50 return m_pen;
70 return d_ptr->m_pen;
51 71 }
52 72
53 73 void QLegendMarker::setPen(const QPen &pen)
54 74 {
55 m_pen = pen;
75 d_ptr->m_pen = pen;
56 76 }
57 77
58 78 QBrush QLegendMarker::brush() const
59 79 {
60 return m_brush;
80 return d_ptr->m_brush;
61 81 }
62 82
63 83 void QLegendMarker::setBrush(const QBrush &brush)
64 84 {
65 m_brush = brush;
85 d_ptr->m_brush = brush;
66 86 }
67 87
68 88 bool QLegendMarker::isVisible() const
69 89 {
70 return m_visible;
90 return d_ptr->m_visible;
71 91 }
72 92
73 93 void QLegendMarker::setVisible(bool visible)
74 94 {
75 m_visible = visible;
95 d_ptr->m_visible = visible;
76 96 }
77 97
78 void QLegendMarker::markersUpdated()
98 QAbstractSeries* QLegendMarker::series()
79 99 {
80 // TODO:
100 return d_ptr->m_series;
81 101 }
82 102
103 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
104
105 QLegendMarkerPrivate::QLegendMarkerPrivate(QAbstractSeries *series, QLegendMarker *q) :
106 q_ptr(q),
107 m_series(series)
108 {
109
110 }
111
112 void QLegendMarkerPrivate::setGeometry(const QRectF& rect)
113 {
114 QFontMetrics fn (m_font);
115
116
117 int width = rect.width();
118 qreal x = m_margin + m_markerRect.width() + m_space + m_margin;
119 qreal y = qMax(m_markerRect.height()+2*m_margin,fn.height()+2*m_margin);
120
121 if (fn.boundingRect(m_label).width() + x > width)
122 {
123 QString string = m_label + "...";
124 while(fn.boundingRect(string).width() + x > width && string.length() > 3)
125 string.remove(string.length() - 4, 1);
126 m_textItem->setText(string);
127 }
128 else
129 m_textItem->setText(m_label);
130
131 const QRectF& textRect = m_textItem->boundingRect();
132
133
134 m_textItem->setPos(x-m_margin,y/2 - textRect.height()/2);
135 m_rectItem->setRect(m_markerRect);
136 m_rectItem->setPos(m_margin,y/2 - m_markerRect.height()/2);
137
138 prepareGeometryChange();
139 m_boundingRect = QRectF(0,0,x+textRect.width()+m_margin,y);
140 }
141
142 QRectF QLegendMarkerPrivate::boundingRect() const
143 {
144 return m_boundingRect;
145 }
146
147 void QLegendMarkerPrivate::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
148 {
149 Q_UNUSED(option)
150 Q_UNUSED(widget)
151 Q_UNUSED(painter)
152 }
153
154 QSizeF QLegendMarkerPrivate::sizeHint(Qt::SizeHint which, const QSizeF& constraint) const
155 {
156 Q_UNUSED(constraint)
157
158 QFontMetrics fn(m_textItem->font());
159 QSizeF sh;
160
161 switch (which) {
162 case Qt::MinimumSize:
163 sh = QSizeF(fn.boundingRect("...").width() + 2*m_margin + m_space +m_markerRect.width(),qMax(m_markerRect.height()+2*m_margin,fn.height()+2*m_margin));
164 break;
165 case Qt::PreferredSize:
166 sh = QSizeF(fn.boundingRect(m_label).width() + 2*m_margin + m_space +m_markerRect.width(),qMax(m_markerRect.height()+2*m_margin,fn.height()+2*m_margin));
167 break;
168 default:
169 break;
170 }
171
172 return sh;
173 }
174
175 void QLegendMarkerPrivate::mousePressEvent(QGraphicsSceneMouseEvent *event)
176 {
177 QGraphicsObject::mousePressEvent(event);
178 //TODO: selected signal removed for now
179 }
180
181
83 182 #include "moc_qlegendmarker.cpp"
84 //#include "moc_qlegendmarker_p.cpp"
183 #include "moc_qlegendmarker_p.cpp"
85 184
86 185 QTCOMMERCIALCHART_END_NAMESPACE
@@ -25,14 +25,14
25 25 #include <QObject>
26 26 #include <QPen>
27 27 #include <QBrush>
28 #include <QFont>
28 29
29 30 QTCOMMERCIALCHART_BEGIN_NAMESPACE
30 31
31 // TODO:
32 //class QLegendMarkerPrivate;
32 class QLegendMarkerPrivate;
33 33 class QAbstractSeries;
34 34
35 // TODO: should this be abstract?
35 // TODO: should this be QAbstractLegendMarker?
36 36 class QTCOMMERCIALCHART_EXPORT QLegendMarker : public QObject
37 37 {
38 38 Q_OBJECT
@@ -49,6 +49,12 public:
49 49 QString label() const;
50 50 void setLabel(const QString &label);
51 51
52 QBrush labelBrush() const;
53 void setLabelBrush(const QBrush &brush);
54
55 QFont font() const;
56 void setFont(const QFont &font);
57
52 58 QPen pen() const;
53 59 void setPen(const QPen &pen);
54 60
@@ -59,7 +65,7 public:
59 65 void setVisible(bool visible);
60 66
61 67 // virtual QAbstractSeries::SeriesType type() = 0;
62 virtual QAbstractSeries* series() { return m_series; }
68 virtual QAbstractSeries* series();
63 69 virtual QObject* peerObject() = 0;
64 70
65 71 Q_SIGNALS:
@@ -67,19 +73,12 Q_SIGNALS:
67 73 void hovered(bool status);
68 74
69 75 public Q_SLOTS:
70 void markersUpdated(); // TODO: private? Idea is that series signals, when for example pieslices have been added/removed.
76 virtual void updated() = 0; // TODO: private. Idea is that series signals, when some property has changed
71 77
72 78 public:
73 // TODO:
74 // QScopedPointer<QLegendMarkerPrivate> d_ptr;
79 QScopedPointer<QLegendMarkerPrivate> d_ptr;
75 80 Q_DISABLE_COPY(QLegendMarker)
76 81
77 // TODO: move to PIMPL
78 QAbstractSeries* m_series;
79 QString m_label;
80 QPen m_pen;
81 QBrush m_brush;
82 bool m_visible;
83 82 };
84 83
85 84 QTCOMMERCIALCHART_END_NAMESPACE
@@ -27,8 +27,17 QPieLegendMarker::QPieLegendMarker(QPieSeries* series, QPieSlice* slice, QObject
27 27 QLegendMarker(series, parent),
28 28 m_slice(slice)
29 29 {
30 QObject::connect(slice, SIGNAL(labelChanged()), this, SLOT(updated()));
31 QObject::connect(slice, SIGNAL(brushChanged()), this, SLOT(updated()));
32 updated();
30 33 }
31 34
35 void QPieLegendMarker::updated()
36 {
37 // TODO: to PIMPL.
38 setBrush(m_slice->brush());
39 setLabel(m_slice->label());
40 }
32 41
33 42 #include "moc_qpielegendmarker.cpp"
34 43 //#include "moc_qpielegendmarker_p.cpp"
@@ -36,6 +36,9 public:
36 36
37 37 virtual QPieSlice* peerObject() { return m_slice; }
38 38
39 // TODO: to pimp.
40 void updated();
41
39 42 //Q_SIGNALS:
40 43
41 44 //public Q_SLOTS:
@@ -29,6 +29,8
29 29 #include "qabstractaxis.h"
30 30 #include "pieanimation_p.h"
31 31
32 #include "qpielegendmarker.h"
33
32 34 QTCOMMERCIALCHART_BEGIN_NAMESPACE
33 35
34 36 /*!
@@ -861,6 +863,17 QList<LegendMarker *> QPieSeriesPrivate::createLegendMarker(QLegend *legend)
861 863 return markers;
862 864 }
863 865
866 QList<QLegendMarker*> QPieSeriesPrivate::createLegendMarkers(QLegend* legend)
867 {
868 Q_Q(QPieSeries);
869 QList<QLegendMarker*> markers;
870 foreach(QPieSlice* slice, q->slices()) {
871 QPieLegendMarker* marker = new QPieLegendMarker(q,slice,legend);
872 markers << marker;
873 }
874 return markers;
875 }
876
864 877 void QPieSeriesPrivate::initializeAxis(QAbstractAxis *axis)
865 878 {
866 879 Q_UNUSED(axis);
@@ -47,6 +47,7 public:
47 47 void scaleDomain(Domain &domain);
48 48 ChartElement *createGraphics(ChartPresenter *presenter);
49 49 QList<LegendMarker *> createLegendMarker(QLegend *legend);
50 QList<QLegendMarker *> createLegendMarkers(QLegend *legend);
50 51 void initializeAxis(QAbstractAxis *axis);
51 52 QAbstractAxis::AxisType defaultAxisType(Qt::Orientation orientation) const;
52 53
@@ -41,6 +41,7 class LegendMarker;
41 41 class QLegend;
42 42 class ChartDataSet;
43 43 class QAbstractAxis;
44 class QLegendMarker;
44 45
45 46 class QAbstractSeriesPrivate : public QObject
46 47 {
@@ -52,6 +53,7 public:
52 53 virtual void scaleDomain(Domain &domain) = 0;
53 54 virtual ChartElement *createGraphics(ChartPresenter *presenter) = 0;
54 55 virtual QList<LegendMarker *> createLegendMarker(QLegend *legend) = 0;
56 virtual QList<QLegendMarker*> createLegendMarkers(QLegend* legend) = 0;
55 57 virtual void initializeAxis(QAbstractAxis *axis) = 0;
56 58 virtual QAbstractAxis::AxisType defaultAxisType(Qt::Orientation) const = 0;
57 59
@@ -454,6 +454,16 QList<LegendMarker *> QXYSeriesPrivate::createLegendMarker(QLegend *legend)
454 454 return list << new XYLegendMarker(q, legend);
455 455 }
456 456
457 QList<QLegendMarker*> QXYSeriesPrivate::createLegendMarkers(QLegend* legend)
458 {
459 Q_UNUSED(legend);
460 // Q_Q(QXYSeries);
461 QList<QLegendMarker*> list;
462 // TODO:
463 // return list << new QXYLegendMarker(q,legend);
464 return list;
465 }
466
457 467 void QXYSeriesPrivate::initializeAxis(QAbstractAxis *axis)
458 468 {
459 469 Q_UNUSED(axis);
@@ -46,6 +46,7 public:
46 46
47 47 void scaleDomain(Domain &domain);
48 48 QList<LegendMarker *> createLegendMarker(QLegend *legend);
49 QList<QLegendMarker*> createLegendMarkers(QLegend* legend);
49 50
50 51 void initializeAxis(QAbstractAxis *axis);
51 52 QAbstractAxis::AxisType defaultAxisType(Qt::Orientation orientation) const;
General Comments 0
You need to be logged in to leave comments. Login now