##// END OF EJS Templates
Adaptive layout to legend. Tries to fit all items inside given maximum size
Adaptive layout to legend. Tries to fit all items inside given maximum size

File last commit:

r626:b05202e4f2ef
r626:b05202e4f2ef
Show More
qlegend.h
80 lines | 2.0 KiB | text/x-c | CLexer
sauimone
framework for legend
r524 #ifndef QLEGEND_H
#define QLEGEND_H
#include "qchartglobal.h"
#include "qseries.h"
#include <QGraphicsObject>
QTCOMMERCIALCHART_BEGIN_NAMESPACE
class Domain;
sauimone
First version of legend. Simple markers and serie names. Using drilldown as example for now.
r529 class LegendMarker;
sauimone
more intelligent legend. fixed compiler warning in bar.cpp
r565 class QPieSlice;
class QXYSeries;
class QBarSet;
class QBarSeries;
class QPieSeries;
sauimone
framework for legend
r524
sauimone
First version of legend. Simple markers and serie names. Using drilldown as example for now.
r529 class QTCOMMERCIALCHART_EXPORT QLegend : public QGraphicsObject
sauimone
framework for legend
r524 {
Q_OBJECT
public:
sauimone
legend layouting change
r616 enum PreferredLayout {
PreferredLayoutHorizontal,
PreferredLayoutVertical
};
sauimone
framework for legend
r524 explicit QLegend(QGraphicsItem *parent = 0);
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
QRectF boundingRect() const;
sauimone
background to legend, theme applies
r540 void setBackgroundBrush(const QBrush& brush);
QBrush backgroundBrush() const;
sauimone
legend layouting change
r616 void setPreferredLayout(QLegend::PreferredLayout preferred);
QSizeF maximumSize() const;
void setMaximumSize(const QSizeF size);
sauimone
legend scaling with chart
r582
sauimone
Adaptive layout to legend. Tries to fit all items inside given maximum size
r626 void setSize(const QSizeF size);
void setPos(const QPointF &pos);
sauimone
framework for legend
r524 signals:
sauimone
Separated legend marker to private header. Added signals for left and right mouse click
r547 // for interactions.
sauimone
combined clicked and rightclicked events of legend to one event with parameter
r567 void clicked(QSeries* series, Qt::MouseButton button);
void clicked(QBarSet* barset, Qt::MouseButton button);
void clicked(QPieSlice* slice, Qt::MouseButton button);
sauimone
Separated legend marker to private header. Added signals for left and right mouse click
r547
sauimone
framework for legend
r524 public slots:
void handleSeriesAdded(QSeries* series,Domain* domain);
void handleSeriesRemoved(QSeries* series);
private:
sauimone
more intelligent legend. fixed compiler warning in bar.cpp
r565 // PIMPL --->
sauimone
handleThemeChanged slot to legend.
r586 void createMarkers(QSeries* series);
sauimone
Adaptive layout to legend. Tries to fit all items inside given maximum size
r626 void appendMarkers(QXYSeries* series); // All line series are derived from QXYSeries, so this works for now
sauimone
handleThemeChanged slot to legend.
r586 void appendMarkers(QBarSeries* series);
void appendMarkers(QPieSeries* series);
sauimone
Legend can handle removing of series
r576 void deleteMarkers(QSeries* series);
sauimone
legend layouting change
r616 void layoutChanged(); // TODO: rename this to layoutChanged and remove original layoutChanged, when ready
sauimone
more intelligent legend. fixed compiler warning in bar.cpp
r565 // <--- PIMPL
sauimone
framework for legend
r524
sauimone
Adaptive layout to legend. Tries to fit all items inside given maximum size
r626 // QRectF mBoundingRect;
QPointF mPos;
QSizeF mSize;
QSizeF mMinimumSize;
QSizeF mMaximumSize;
sauimone
framework for legend
r524 QList<QSeries*> mSeriesList;
sauimone
First version of legend. Simple markers and serie names. Using drilldown as example for now.
r529 QList<LegendMarker*> mMarkers;
sauimone
background to legend, theme applies
r540
QBrush mBackgroundBrush;
sauimone
legend layouting change
r616 QLegend::PreferredLayout mPreferredLayout;
sauimone
framework for legend
r524 };
QTCOMMERCIALCHART_END_NAMESPACE
#endif // QLEGEND_H