46 Q_PROPERTY(QRect viewport READ viewport WRITE setViewport)
47 Q_PROPERTY(QPixmap background READ background WRITE setBackground)
48 Q_PROPERTY(
bool backgroundScaled READ backgroundScaled WRITE setBackgroundScaled)
49 Q_PROPERTY(Qt::AspectRatioMode backgroundScaledMode READ backgroundScaledMode WRITE setBackgroundScaledMode)
51 Q_PROPERTY(
bool autoAddPlottableToLegend READ autoAddPlottableToLegend WRITE setAutoAddPlottableToLegend)
52 Q_PROPERTY(
int selectionTolerance READ selectionTolerance WRITE setSelectionTolerance)
53 Q_PROPERTY(
bool noAntialiasingOnDrag READ noAntialiasingOnDrag WRITE setNoAntialiasingOnDrag)
54 Q_PROPERTY(Qt::KeyboardModifier multiSelectModifier READ multiSelectModifier WRITE setMultiSelectModifier)
65 Q_ENUMS(LayerInsertMode)
71 QRect viewport()
const {
return mViewport; }
72 QPixmap background()
const {
return mBackgroundPixmap; }
73 bool backgroundScaled()
const {
return mBackgroundScaled; }
74 Qt::AspectRatioMode backgroundScaledMode()
const {
return mBackgroundScaledMode; }
76 QCP::AntialiasedElements antialiasedElements()
const {
return mAntialiasedElements; }
77 QCP::AntialiasedElements notAntialiasedElements()
const {
return mNotAntialiasedElements; }
78 bool autoAddPlottableToLegend()
const {
return mAutoAddPlottableToLegend; }
79 const QCP::Interactions interactions()
const {
return mInteractions; }
80 int selectionTolerance()
const {
return mSelectionTolerance; }
81 bool noAntialiasingOnDrag()
const {
return mNoAntialiasingOnDrag; }
82 QCP::PlottingHints plottingHints()
const {
return mPlottingHints; }
83 Qt::KeyboardModifier multiSelectModifier()
const {
return mMultiSelectModifier; }
86 void setViewport(
const QRect &rect);
87 void setBackground(
const QPixmap &pm);
88 void setBackground(
const QPixmap &pm,
bool scaled, Qt::AspectRatioMode mode=Qt::KeepAspectRatioByExpanding);
89 void setBackground(
const QBrush &brush);
90 void setBackgroundScaled(
bool scaled);
91 void setBackgroundScaledMode(Qt::AspectRatioMode mode);
92 void setAntialiasedElements(
const QCP::AntialiasedElements &antialiasedElements);
94 void setNotAntialiasedElements(
const QCP::AntialiasedElements ¬AntialiasedElements);
96 void setAutoAddPlottableToLegend(
bool on);
97 void setInteractions(
const QCP::Interactions &interactions);
99 void setSelectionTolerance(
int pixels);
100 void setNoAntialiasingOnDrag(
bool enabled);
101 void setPlottingHints(
const QCP::PlottingHints &hints);
103 void setMultiSelectModifier(Qt::KeyboardModifier modifier);
111 bool removePlottable(
int index);
112 int clearPlottables();
113 int plottableCount()
const;
114 QList<QCPAbstractPlottable*> selectedPlottables()
const;
123 bool removeGraph(
int index);
125 int graphCount()
const;
126 QList<QCPGraph*> selectedGraphs()
const;
133 bool removeItem(
int index);
135 int itemCount()
const;
136 QList<QCPAbstractItem*> selectedItems()
const;
137 QCPAbstractItem *itemAt(
const QPointF &pos,
bool onlySelectable=
false)
const;
141 QCPLayer *layer(
const QString &name)
const;
144 bool setCurrentLayer(
const QString &name);
145 bool setCurrentLayer(
QCPLayer *layer);
146 int layerCount()
const;
147 bool addLayer(
const QString &name,
QCPLayer *otherLayer=0, LayerInsertMode insertMode=limAbove);
149 bool moveLayer(
QCPLayer *layer,
QCPLayer *otherLayer, LayerInsertMode insertMode=limAbove);
152 int axisRectCount()
const;
154 QList<QCPAxisRect*> axisRects()
const;
156 Q_SLOT
void rescaleAxes(
bool onlyVisiblePlottables=
false);
158 QList<QCPAxis*> selectedAxes()
const;
159 QList<QCPLegend*> selectedLegends()
const;
160 Q_SLOT
void deselectAll();
162 bool savePdf(
const QString &fileName,
bool noCosmeticPen=
false,
int width=0,
int height=0);
163 bool savePng(
const QString &fileName,
int width=0,
int height=0,
double scale=1.0,
int quality=-1);
164 bool saveJpg(
const QString &fileName,
int width=0,
int height=0,
double scale=1.0,
int quality=-1);
165 bool saveBmp(
const QString &fileName,
int width=0,
int height=0,
double scale=1.0);
166 bool saveRastered(
const QString &fileName,
int width,
int height,
double scale,
const char *format,
int quality=-1);
167 QPixmap toPixmap(
int width=0,
int height=0,
double scale=1.0);
168 void toPainter(
QCPPainter *painter,
int width=0,
int height=0);
169 Q_SLOT
void replot();
171 QCPAxis *xAxis, *yAxis, *xAxis2, *yAxis2;
175 void mouseDoubleClick(QMouseEvent *event);
176 void mousePress(QMouseEvent *event);
177 void mouseMove(QMouseEvent *event);
178 void mouseRelease(QMouseEvent *event);
179 void mouseWheel(QWheelEvent *event);
189 void titleClick(QMouseEvent *event,
QCPPlotTitle *title);
190 void titleDoubleClick(QMouseEvent *event,
QCPPlotTitle *title);
192 void selectionChangedByUser();
200 bool mAutoAddPlottableToLegend;
201 QList<QCPAbstractPlottable*> mPlottables;
202 QList<QCPGraph*> mGraphs;
203 QList<QCPAbstractItem*> mItems;
204 QList<QCPLayer*> mLayers;
205 QCP::AntialiasedElements mAntialiasedElements, mNotAntialiasedElements;
206 QCP::Interactions mInteractions;
207 int mSelectionTolerance;
208 bool mNoAntialiasingOnDrag;
209 QBrush mBackgroundBrush;
210 QPixmap mBackgroundPixmap;
211 QPixmap mScaledBackgroundPixmap;
212 bool mBackgroundScaled;
213 Qt::AspectRatioMode mBackgroundScaledMode;
215 QCP::PlottingHints mPlottingHints;
216 Qt::KeyboardModifier mMultiSelectModifier;
219 QPixmap mPaintBuffer;
220 QPoint mMousePressPos;
225 virtual QSize minimumSizeHint()
const;
226 virtual QSize sizeHint()
const;
227 virtual void paintEvent(QPaintEvent *event);
228 virtual void resizeEvent(QResizeEvent *event);
229 virtual void mouseDoubleClickEvent(QMouseEvent *event);
230 virtual void mousePressEvent(QMouseEvent *event);
231 virtual void mouseMoveEvent(QMouseEvent *event);
232 virtual void mouseReleaseEvent(QMouseEvent *event);
233 virtual void wheelEvent(QWheelEvent *event);
237 virtual void axisRemoved(
QCPAxis *axis);
238 virtual void legendRemoved(
QCPLegend *legend);
241 void updateLayerIndices()
const;
242 QCPLayerable *layerableAt(
const QPointF &pos,
bool onlySelectable, QVariant *selectionDetails=0)
const;