##// END OF EJS Templates
Fix zooming in crash...
Fix zooming in crash The bounding rect has to fit inside int limits when zooming in, meaning that the height and width both have to be within the int limits (INT_MAX). QWidget::update() uses a region (based on bounding rect) that has to be compatible with QRect. The geometry change is only done if the bounding rect fulfills this requirement. Task-number: QTRD-1907 Change-Id: I4e874de355390c5fc983ac1e0976bf0d21e2d10c Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>

File last commit:

r2574:599370d0561c
r2603:1e4c29e111d4
Show More
qlegend_p.h
100 lines | 2.6 KiB | text/x-c | CLexer
Michal Klocek
Adds qlegend pimpl...
r950 /****************************************************************************
**
Miikka Heikkinen
Fixed the copyright year 2012 -> 2013
r2432 ** Copyright (C) 2013 Digia Plc
Michal Klocek
Adds qlegend pimpl...
r950 ** All rights reserved.
** For any questions to Digia, please use contact form at http://qt.digia.com
**
Miikka Heikkinen
Qt Commercial -> Qt Enterprise...
r2574 ** This file is part of the Qt Enterprise Charts Add-on.
Michal Klocek
Adds qlegend pimpl...
r950 **
** $QT_BEGIN_LICENSE$
Miikka Heikkinen
Qt Commercial -> Qt Enterprise...
r2574 ** Licensees holding valid Qt Enterprise licenses may use this file in
** accordance with the Qt Enterprise License Agreement provided with the
Michal Klocek
Adds qlegend pimpl...
r950 ** 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
// -------------
//
Miikka Heikkinen
Qt Commercial -> Qt Enterprise...
r2574 // This file is not part of the Qt Enterprise Chart API. It exists purely as an
Michal Klocek
Adds qlegend pimpl...
r950 // implementation detail. This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
Michal Klocek
Fixes header guard style issues
r969 #ifndef QLEGEND_P_H
#define QLEGEND_P_H
Michal Klocek
Adds qlegend pimpl...
r950
#include "qlegend.h"
QTCOMMERCIALCHART_BEGIN_NAMESPACE
sauimone
legend example to documentation. minor legend fixes
r1300 class QChart;
Michal Klocek
Adds qlegend pimpl...
r950 class ChartPresenter;
Tero Ahola
Renamed QSeries to QAbstractSeries
r988 class QAbstractSeries;
Michal Klocek
Refactors layout managment...
r1534 class LegendLayout;
sauimone
linking fix
r2161 class QLegendMarker;
Michal Klocek
Adds qlegend pimpl...
r950
sauimone
better implementation of mouse event handling in legend
r2197 class QLegendPrivate : public QObject
Michal Klocek
Adds qlegend pimpl...
r950 {
Q_OBJECT
public:
sauimone
legend example to documentation. minor legend fixes
r1300 QLegendPrivate(ChartPresenter *presenter, QChart *chart, QLegend *q);
Michal Klocek
Adds qlegend pimpl...
r950 ~QLegendPrivate();
sauimone
Kinetic scrolling is back for legend
r2189 void setOffset(const QPointF &offset);
sauimone
moved legend offset to private side
r1458 QPointF offset() const;
sauimone
added roundness to legend background
r1453 int roundness(qreal size);
Michal Klocek
Refactors layout managment...
r1534
sauimone
first prototry of QLegendMarker API
r2160 QGraphicsItemGroup* items() { return m_items; }
sauimone
optional series parameter to markers function. code style fixes
r2193 QList<QLegendMarker*> markers(QAbstractSeries *series = 0);
Michal Klocek
Adds qlegend pimpl...
r950
public Q_SLOTS:
sauimone
some cleanup on legend and pie. No need for pie to know too much about legend
r2173 void handleSeriesAdded(QAbstractSeries *series);
Tero Ahola
Renamed QSeries to QAbstractSeries
r988 void handleSeriesRemoved(QAbstractSeries *series);
sauimone
fix: series visible now affects legend items also
r1459 void handleSeriesVisibleChanged();
Michal Klocek
Fixes legend markers updates
r2085 void handleCountChanged();
Michal Klocek
Adds qlegend pimpl...
r950
sauimone
Better handling for new or removed markers
r2182 private:
// Internal helpers
void addMarkers(QList<QLegendMarker *> markers);
void removeMarkers(QList<QLegendMarker *> markers);
void decorateMarkers(QList<QLegendMarker *> markers);
Michal Klocek
Adds qlegend pimpl...
r950 private:
QLegend *q_ptr;
ChartPresenter *m_presenter;
Michal Klocek
Refactors layout managment...
r1534 LegendLayout *m_layout;
sauimone
optional series parameter to markers function. code style fixes
r2193 QChart *m_chart;
QGraphicsItemGroup *m_items;
Tero Ahola
Qml ChartView properties; legend to use Qt alignments
r1357 Qt::Alignment m_alignment;
Michal Klocek
Adds qlegend pimpl...
r950 QBrush m_brush;
QPen m_pen;
sauimone
legend font fix
r1522 QFont m_font;
sauimone
legend theme fix
r1527 QBrush m_labelBrush;
Michal Klocek
Refactors layout managment...
r1534
sauimone
added roundness to legend background
r1453 qreal m_diameter;
Michal Klocek
Adds qlegend pimpl...
r950 bool m_attachedToChart;
bool m_backgroundVisible;
sauimone
optional series parameter to markers function. code style fixes
r2193 QList<QLegendMarker *> m_markers;
QList<QAbstractSeries *> m_series;
sauimone
first prototry of QLegendMarker API
r2160
sauimone
better implementation of mouse event handling in legend
r2197 QHash<QGraphicsItem *, QLegendMarker *> m_markerHash;
sauimone
Legend can now handle clicked and do scrolling
r2183 friend class QLegend;
friend class LegendMarkerItem;
sauimone
optional series parameter to markers function. code style fixes
r2193 friend class LegendLayout;
sauimone
fix to QTRD-1674: layout is not calculated correctly after the change in the text of legend marker
r2194 friend class QLegendMarkerPrivate;
sauimone
better implementation of mouse event handling in legend
r2197 friend class LegendScroller;
Michal Klocek
Adds qlegend pimpl...
r950 };
QTCOMMERCIALCHART_END_NAMESPACE
#endif