Qwt User's Guide
6.3.0
Loading...
Searching...
No Matches
qwt_plot_item.h
1
/******************************************************************************
2
* Qwt Widget Library
3
* Copyright (C) 1997 Josef Wilgen
4
* Copyright (C) 2002 Uwe Rathmann
5
*
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the Qwt License, Version 1.0
8
*****************************************************************************/
9
10
#ifndef QWT_PLOT_ITEM_H
11
#define QWT_PLOT_ITEM_H
12
13
#include "qwt_global.h"
14
#include "qwt_axis_id.h"
15
#include <qmetatype.h>
16
17
class
QwtScaleMap
;
18
class
QwtScaleDiv
;
19
class
QwtPlot
;
20
class
QwtText
;
21
class
QwtGraphic
;
22
class
QwtLegendData
;
23
class
QRectF;
24
class
QPainter;
25
class
QString;
26
template
<
typename
T >
class
QList
;
27
66
class
QWT_EXPORT
QwtPlotItem
67
{
68
public
:
75
enum
RttiValues
76
{
78
Rtti_PlotItem = 0,
79
81
Rtti_PlotGrid
,
82
84
Rtti_PlotScale
,
85
87
Rtti_PlotLegend
,
88
90
Rtti_PlotMarker
,
91
93
Rtti_PlotCurve
,
94
96
Rtti_PlotSpectroCurve
,
97
99
Rtti_PlotIntervalCurve
,
100
102
Rtti_PlotHistogram
,
103
105
Rtti_PlotSpectrogram
,
106
108
Rtti_PlotGraphic
,
109
111
Rtti_PlotTradingCurve
,
112
114
Rtti_PlotBarChart
,
115
117
Rtti_PlotMultiBarChart
,
118
120
Rtti_PlotShape
,
121
123
Rtti_PlotTextLabel
,
124
126
Rtti_PlotZone
,
127
129
Rtti_PlotVectorField
,
130
135
Rtti_PlotUserItem = 1000
136
};
137
147
enum
ItemAttribute
148
{
150
Legend = 0x01,
151
157
AutoScale = 0x02,
158
164
Margins = 0x04
165
};
166
167
Q_DECLARE_FLAGS(
ItemAttributes
,
ItemAttribute
)
168
169
179
enum
ItemInterest
180
{
185
ScaleInterest = 0x01,
186
197
LegendInterest = 0x02
198
};
199
200
Q_DECLARE_FLAGS(
ItemInterests
,
ItemInterest
)
201
202
203
enum
RenderHint
204
{
206
RenderAntialiased = 0x1
207
};
208
209
Q_DECLARE_FLAGS(
RenderHints
,
RenderHint
)
210
211
explicit
QwtPlotItem
();
212
explicit
QwtPlotItem
(
const
QString& title );
213
explicit
QwtPlotItem
(
const
QwtText
& title );
214
215
virtual
~QwtPlotItem
();
216
217
void
attach(
QwtPlot
* plot );
218
void
detach();
219
220
QwtPlot
* plot()
const
;
221
222
void
setTitle(
const
QString& title );
223
void
setTitle(
const
QwtText
& title );
224
const
QwtText
& title()
const
;
225
226
virtual
int
rtti()
const
;
227
228
void
setItemAttribute(
ItemAttribute
,
bool
on =
true
);
229
bool
testItemAttribute(
ItemAttribute
)
const
;
230
231
void
setItemInterest(
ItemInterest
,
bool
on =
true
);
232
bool
testItemInterest(
ItemInterest
)
const
;
233
234
void
setRenderHint(
RenderHint
,
bool
on =
true
);
235
bool
testRenderHint(
RenderHint
)
const
;
236
237
void
setRenderThreadCount( uint numThreads );
238
uint renderThreadCount()
const
;
239
240
void
setLegendIconSize(
const
QSize& );
241
QSize legendIconSize()
const
;
242
243
double
z()
const
;
244
void
setZ(
double
z );
245
246
void
show();
247
void
hide();
248
virtual
void
setVisible(
bool
);
249
bool
isVisible ()
const
;
250
251
void
setAxes( QwtAxisId xAxis, QwtAxisId yAxis );
252
253
void
setXAxis( QwtAxisId );
254
QwtAxisId xAxis()
const
;
255
256
void
setYAxis( QwtAxisId );
257
QwtAxisId yAxis()
const
;
258
259
virtual
void
itemChanged();
260
virtual
void
legendChanged();
261
270
virtual
void
draw
( QPainter* painter,
271
const
QwtScaleMap
& xMap,
const
QwtScaleMap
& yMap,
272
const
QRectF& canvasRect )
const
= 0;
273
274
virtual
QRectF boundingRect()
const
;
275
276
virtual
void
getCanvasMarginHint(
277
const
QwtScaleMap
& xMap,
const
QwtScaleMap
& yMap,
278
const
QRectF& canvasRect,
279
double
& left,
double
& top,
double
& right,
double
& bottom)
const
;
280
281
virtual
void
updateScaleDiv(
282
const
QwtScaleDiv
&,
const
QwtScaleDiv
& );
283
284
virtual
void
updateLegend(
const
QwtPlotItem
*,
285
const
QList< QwtLegendData >
& );
286
287
QRectF scaleRect(
const
QwtScaleMap
&,
const
QwtScaleMap
& )
const
;
288
QRectF paintRect(
const
QwtScaleMap
&,
const
QwtScaleMap
& )
const
;
289
290
virtual
QList< QwtLegendData >
legendData()
const
;
291
292
virtual
QwtGraphic
legendIcon(
int
index,
const
QSizeF& )
const
;
293
294
protected
:
295
QwtGraphic
defaultIcon(
const
QBrush&,
const
QSizeF& )
const
;
296
297
private
:
298
Q_DISABLE_COPY(
QwtPlotItem
)
299
300
class
PrivateData;
301
PrivateData* m_data;
302
};
303
304
Q_DECLARE_OPERATORS_FOR_FLAGS(
QwtPlotItem::ItemAttributes
)
305
Q_DECLARE_OPERATORS_FOR_FLAGS(
QwtPlotItem::ItemInterests
)
306
Q_DECLARE_OPERATORS_FOR_FLAGS(
QwtPlotItem::RenderHints
)
307
308
Q_DECLARE_METATYPE(
QwtPlotItem
* )
309
310
#endif
QList
Definition
qwt_abstract_legend.h:17
QwtGraphic
A paint device for scalable graphics.
Definition
qwt_graphic.h:76
QwtLegendData
Attributes of an entry on a legend.
Definition
qwt_legend_data.h:37
QwtPlot
A 2-D plotting widget.
Definition
qwt_plot.h:79
QwtPlotItem
Base class for items on the plot canvas.
Definition
qwt_plot_item.h:67
QwtPlotItem::ItemInterests
QFlags< ItemInterest > ItemInterests
Definition
qwt_plot_item.h:200
QwtPlotItem::draw
virtual void draw(QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const =0
Draw the item.
QwtPlotItem::RenderHints
QFlags< RenderHint > RenderHints
Definition
qwt_plot_item.h:209
QwtPlotItem::ItemAttributes
QFlags< ItemAttribute > ItemAttributes
Definition
qwt_plot_item.h:167
QwtPlotItem::RttiValues
RttiValues
Runtime type information.
Definition
qwt_plot_item.h:76
QwtPlotItem::Rtti_PlotVectorField
@ Rtti_PlotVectorField
For QwtPlotVectorField.
Definition
qwt_plot_item.h:129
QwtPlotItem::Rtti_PlotLegend
@ Rtti_PlotLegend
For QwtPlotLegendItem.
Definition
qwt_plot_item.h:87
QwtPlotItem::Rtti_PlotMarker
@ Rtti_PlotMarker
For QwtPlotMarker.
Definition
qwt_plot_item.h:90
QwtPlotItem::Rtti_PlotSpectroCurve
@ Rtti_PlotSpectroCurve
For QwtPlotSpectroCurve.
Definition
qwt_plot_item.h:96
QwtPlotItem::Rtti_PlotScale
@ Rtti_PlotScale
For QwtPlotScaleItem.
Definition
qwt_plot_item.h:84
QwtPlotItem::Rtti_PlotHistogram
@ Rtti_PlotHistogram
For QwtPlotHistogram.
Definition
qwt_plot_item.h:102
QwtPlotItem::Rtti_PlotZone
@ Rtti_PlotZone
For QwtPlotZoneItem.
Definition
qwt_plot_item.h:126
QwtPlotItem::Rtti_PlotIntervalCurve
@ Rtti_PlotIntervalCurve
For QwtPlotIntervalCurve.
Definition
qwt_plot_item.h:99
QwtPlotItem::Rtti_PlotMultiBarChart
@ Rtti_PlotMultiBarChart
For QwtPlotMultiBarChart.
Definition
qwt_plot_item.h:117
QwtPlotItem::Rtti_PlotBarChart
@ Rtti_PlotBarChart
For QwtPlotBarChart.
Definition
qwt_plot_item.h:114
QwtPlotItem::Rtti_PlotTradingCurve
@ Rtti_PlotTradingCurve
For QwtPlotTradingCurve.
Definition
qwt_plot_item.h:111
QwtPlotItem::Rtti_PlotSpectrogram
@ Rtti_PlotSpectrogram
For QwtPlotSpectrogram.
Definition
qwt_plot_item.h:105
QwtPlotItem::Rtti_PlotTextLabel
@ Rtti_PlotTextLabel
For QwtPlotTextLabel.
Definition
qwt_plot_item.h:123
QwtPlotItem::Rtti_PlotShape
@ Rtti_PlotShape
For QwtPlotShapeItem.
Definition
qwt_plot_item.h:120
QwtPlotItem::Rtti_PlotGrid
@ Rtti_PlotGrid
For QwtPlotGrid.
Definition
qwt_plot_item.h:81
QwtPlotItem::Rtti_PlotCurve
@ Rtti_PlotCurve
For QwtPlotCurve.
Definition
qwt_plot_item.h:93
QwtPlotItem::Rtti_PlotGraphic
@ Rtti_PlotGraphic
For QwtPlotGraphicItem, QwtPlotSvgItem.
Definition
qwt_plot_item.h:108
QwtPlotItem::RenderHint
RenderHint
Render hints.
Definition
qwt_plot_item.h:204
QwtPlotItem::ItemAttribute
ItemAttribute
Plot Item Attributes.
Definition
qwt_plot_item.h:148
QwtPlotItem::ItemInterest
ItemInterest
Plot Item Interests.
Definition
qwt_plot_item.h:180
QwtScaleDiv
A class representing a scale division.
Definition
qwt_scale_div.h:34
QwtScaleMap
A scale map.
Definition
qwt_scale_map.h:27
QwtText
A class representing a text.
Definition
qwt_text.h:52
src
qwt_plot_item.h
Generated by
1.10.0