qwtchangelog.html
29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3.1"/>
<title>Qwt User's Guide: What's new in Qwt 6.1</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">Qwt User's Guide
 <span id="projectnumber">6.1-rc3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">What's new in Qwt 6.1 </div> </div>
</div><!--header-->
<div class="contents">
<div class="toc"><h3>Table of Contents</h3>
<ul><li class="level1"><a href="#ITEMS">New plot items</a></li>
<li class="level1"><a href="#SCALES">Scales beyond linear and logarithmic transformations</a><ul><li class="level2"><a href="#DATETIME">Datetime scales</a></li>
</ul>
</li>
<li class="level1"><a href="#CONTROLS">Redesign of the dial and meter widgets</a></li>
<li class="level1"><a href="#OPENGL">Basic support for an OpenGL plot canvas</a></li>
<li class="level1"><a href="#LEGEND">A new system for plot legends</a></li>
<li class="level1"><a href="#GRAPHIC">Off-screen paint device for vector graphics</a></li>
<li class="level1"><a href="#OVERLAY">QwtWidgetOverlay</a></li>
<li class="level1"><a href="#SYMBOL">QwtSymbol</a></li>
<li class="level1"><a href="#PLOTCURVE">QwtPlotCurve</a></li>
<li class="level1"><a href="#PLOT">QwtPlot</a></li>
<li class="level1"><a href="#OTHER">Other</a><ul><li class="level2"><a href="#SCALEDIV">QwtScaleDiv</a></li>
<li class="level2"><a href="#SCALEENGINE">QwtScaleEngine</a></li>
<li class="level2"><a href="#PLOTLAYOUT">QwtPlotLayout</a></li>
<li class="level2"><a href="#PLOTCANVAS">QwtPlotCanvas</a></li>
<li class="level2"><a href="#OTHERS">Other changes</a></li>
</ul>
</li>
<li class="level1"><a href="#CLASSES">Summary of the new classes</a></li>
</ul>
</div>
<div class="textblock"><h1><a class="anchor" id="ITEMS"></a>
New plot items</h1>
<ul>
<li><a class="el" href="class_qwt_plot_bar_chart.html" title="QwtPlotBarChart displays a series of a values as bars.">QwtPlotBarChart</a><br/>
Bar chart, see "examples/distrowatch"</li>
</ul>
<ul>
<li><a class="el" href="class_qwt_plot_multi_bar_chart.html" title="QwtPlotMultiBarChart displays a series of a samples that consist each of a set of values...">QwtPlotMultiBarChart</a><br/>
Chart of grouped bars - stacked or aligned side by side. See "examples/barchart"</li>
</ul>
<ul>
<li><a class="el" href="class_qwt_plot_trading_curve.html" title="QwtPlotTradingCurve illustrates movements in the price of a financial instrument over time...">QwtPlotTradingCurve</a><br/>
Candlestick or OHLC charts typically used to describe price movements over time. See "examples/stockchart"</li>
</ul>
<ul>
<li><a class="el" href="class_qwt_plot_shape_item.html" title="A plot item, which displays any graphical shape, that can be defined by a QPainterPath.">QwtPlotShapeItem</a><br/>
A plot item to display rectangles, circles, polygons and all other type of shapes ( built from intersections or unifications ), that can be expressed by a QPainterPath. See "examples/itemeditor"</li>
</ul>
<ul>
<li><a class="el" href="class_qwt_plot_legend_item.html" title="A class which draws a legend inside the plot canvas.">QwtPlotLegendItem</a><br/>
A legend on the plot canvas. See "examples/legends"</li>
</ul>
<ul>
<li><a class="el" href="class_qwt_plot_zone_item.html" title="A plot item, which displays a zone.">QwtPlotZoneItem</a><br/>
A horizontal or vertical section</li>
</ul>
<ul>
<li><a class="el" href="class_qwt_plot_text_label.html" title="A plot item, which displays a text label.">QwtPlotTextLabel</a><br/>
In opposite to a <a class="el" href="class_qwt_plot_marker.html" title="A class for drawing markers.">QwtPlotMarker</a> the text is not aligned to a plot coordinate but according to the geometry of the canvas ( f.e top/centered for a title ). See "playground/curvetracker".</li>
</ul>
<h1><a class="anchor" id="SCALES"></a>
Scales beyond linear and logarithmic transformations</h1>
<p>QwtScaleTransformation has been replaced by <a class="el" href="class_qwt_transform.html" title="A transformation between coordinate systems.">QwtTransform</a> and its derived classes:</p>
<ul>
<li><a class="el" href="class_qwt_transform.html" title="A transformation between coordinate systems.">QwtTransform</a></li>
<li><a class="el" href="class_qwt_null_transform.html" title="Null transformation.">QwtNullTransform</a></li>
<li><a class="el" href="class_qwt_log_transform.html" title="Logarithmic transformation.">QwtLogTransform</a></li>
<li><a class="el" href="class_qwt_power_transform.html" title="A transformation using pow()">QwtPowerTransform</a></li>
</ul>
<p>Individual transformations ( f.e. different scaling for special sections ) can be implemented by overloading <a class="el" href="class_qwt_transform.html" title="A transformation between coordinate systems.">QwtTransform</a> ( see playground/scaleengine ).</p>
<p><a class="el" href="class_qwt_linear_scale_engine.html" title="A scale engine for linear scales.">QwtLinearScaleEngine</a> and <a class="el" href="class_qwt_log_scale_engine.html" title="A scale engine for logarithmic scales.">QwtLogScaleEngine</a> are not limited to base 10 anymore.</p>
<h2><a class="anchor" id="DATETIME"></a>
Datetime scales</h2>
<p>A set of a new classes for displaying datetime values:</p>
<ul>
<li><a class="el" href="class_qwt_date.html" title="A collection of methods around date/time values.">QwtDate</a><br/>
A collection of methods to convert between QDateTime and doubles</li>
</ul>
<ul>
<li><a class="el" href="class_qwt_date_scale_engine.html" title="A scale engine for date/time values.">QwtDateScaleEngine</a><br/>
A scale engine that aligns and finds ticks in terms of datetime units.</li>
</ul>
<ul>
<li><a class="el" href="class_qwt_date_scale_draw.html" title="A class for drawing datetime scales.">QwtDateScaleDraw</a><br/>
A scale draw mapping values to datetime strings.</li>
</ul>
<p>Scales for Qt::UTC and Qt::LocalTime are supported.</p>
<h1><a class="anchor" id="CONTROLS"></a>
Redesign of the dial and meter widgets</h1>
<p>Many parts of the class design of the dial and meter widgets were left over from the 90s ( Qwt 0.2, Qt 1.1 ).</p>
<p>The derivation tree is simpler and more logical:</p>
<ul>
<li><a class="el" href="class_qwt_abstract_scale.html" title="An abstract base class for widgets having a scale.">QwtAbstractScale</a> is a QWidget</li>
<li><a class="el" href="class_qwt_abstract_slider.html" title="An abstract base class for slider widgets with a scale.">QwtAbstractSlider</a> is a <a class="el" href="class_qwt_abstract_scale.html" title="An abstract base class for widgets having a scale.">QwtAbstractScale</a>. ( for sliders without scales QAbstractSlider should be the base class )</li>
<li><a class="el" href="class_qwt_thermo.html" title="The Thermometer Widget.">QwtThermo</a> is also a <a class="el" href="class_qwt_abstract_scale.html" title="An abstract base class for widgets having a scale.">QwtAbstractScale</a></li>
<li><a class="el" href="class_qwt_dial.html" title="QwtDial class provides a rounded range control.">QwtDial</a>, <a class="el" href="class_qwt_knob.html" title="The Knob Widget.">QwtKnob</a>, <a class="el" href="class_qwt_slider.html" title="The Slider Widget.">QwtSlider</a> are derived from <a class="el" href="class_qwt_abstract_slider.html" title="An abstract base class for slider widgets with a scale.">QwtAbstractSlider</a></li>
<li><a class="el" href="class_qwt_counter.html" title="The Counter Widget.">QwtCounter</a> is derived from QWidget</li>
</ul>
<p>QwtDoubleRange has been removed.</p>
<p>All classes use the terminology known from QAbstractSlider - as far as possible. The extended <a class="el" href="qwtchangelog.html#SCALES">system for scales</a> is completely supported.</p>
<h1><a class="anchor" id="OPENGL"></a>
Basic support for an OpenGL plot canvas</h1>
<p><a class="el" href="class_qwt_plot_g_l_canvas.html" title="An alternative canvas for a QwtPlot derived from QGLWidget.">QwtPlotGLCanvas</a> offers the option to draw plot items using an OpenGL paint engine ( QPaintEngine::OpenGL/OpenGL2 ), This is not what could be implemented with native OpenGL, but it offers hardware acceleration in environments, where the raster paint engine is the only option. ( f.e Qt4/Windows, or Qt5 on all platforms ).</p>
<p><a class="el" href="class_qwt_plot_g_l_canvas.html" title="An alternative canvas for a QwtPlot derived from QGLWidget.">QwtPlotGLCanvas</a> is in an experimental state and is not recommended for average use cases.</p>
<h1><a class="anchor" id="LEGEND"></a>
A new system for plot legends</h1>
<p><a class="el" href="class_qwt_legend.html" title="The legend widget.">QwtLegend</a> has been decoupled from <a class="el" href="class_qwt_plot.html" title="A 2-D plotting widget.">QwtPlot</a> and can be replaced by application specific implementations. Plot items and the legend exchange the information using <a class="el" href="class_qwt_legend_data.html" title="Attributes of an entry on a legend.">QwtLegendData</a>.</p>
<p><a class="el" href="class_qwt_plot_legend_item.html" title="A class which draws a legend inside the plot canvas.">QwtPlotLegendItem</a> is a new plot item that displays a legend on the plot canvas.</p>
<p>The following examples demonstrate how to use the new system:</p>
<ul>
<li>examples/legends<br/>
shows how to use the new legend system</li>
<li>examples/stockchart<br/>
implementats a QTreeView with checkable items as legend</li>
</ul>
<h1><a class="anchor" id="GRAPHIC"></a>
Off-screen paint device for vector graphics</h1>
<p><a class="el" href="class_qwt_graphic.html" title="A paint device for scalable graphics.">QwtGraphic</a> can be copied like QImage or QPixmap but is scalable like QSvgGenerator. It is implemented as a record/replay paint device like QPicture.</p>
<h1><a class="anchor" id="OVERLAY"></a>
QwtWidgetOverlay</h1>
<p><a class="el" href="class_qwt_widget_overlay.html" title="An overlay for a widget.">QwtWidgetOverlay</a> is a base class for implementing widget overlays - primarily used for use cases like graphical editors or running cursors for the plot canvas.</p>
<p>The following examples show how to use overlays:</p>
<ul>
<li>examples/itemeditor</li>
<li>examples/curvetracker</li>
</ul>
<p><a class="el" href="class_qwt_picker.html" title="QwtPicker provides selections on a widget.">QwtPicker</a> ( -> <a class="el" href="class_qwt_plot_picker.html" title="QwtPlotPicker provides selections on a plot canvas.">QwtPlotPicker</a>, <a class="el" href="class_qwt_plot_zoomer.html" title="QwtPlotZoomer provides stacked zooming for a plot widget.">QwtPlotZoomer</a> ) internally uses <a class="el" href="class_qwt_widget_overlay.html" title="An overlay for a widget.">QwtWidgetOverlay</a> now, making it easier to implement individual rubber bands.</p>
<h1><a class="anchor" id="SYMBOL"></a>
QwtSymbol</h1>
<p>New symbol types have been introduced:</p>
<ul>
<li><a class="el" href="class_qwt_symbol.html#a62f457952470c2076962e83ef2c24d2faa3cc8fec7843b850f3cde81a6b04394c">QwtSymbol::Path</a></li>
<li><a class="el" href="class_qwt_symbol.html#a62f457952470c2076962e83ef2c24d2fa45c8273247748316e5dd359b2d00216c">QwtSymbol::Pixmap</a></li>
<li><a class="el" href="class_qwt_symbol.html#a62f457952470c2076962e83ef2c24d2faa24a49671ffa302f19f28a5c56c6ec0e">QwtSymbol::Graphic</a></li>
<li><a class="el" href="class_qwt_symbol.html#a62f457952470c2076962e83ef2c24d2fa6e9400c5e295122c0fa825d40d13bb73">QwtSymbol::SvgDocument</a></li>
</ul>
<p><a class="el" href="class_qwt_symbol.html" title="A class for drawing symbols.">QwtSymbol</a> autodetect the most performant paint strategy for a paint device what is in most situations using a QPixmap cache.</p>
<p><a class="el" href="class_qwt_symbol.html#a78643c91d94690b91745f10f0601579e" title="Set and enable a pin point.">QwtSymbol::setPinPoint()</a> allows to align the symbol individually, f.e to the position of the peak of an arrow.</p>
<h1><a class="anchor" id="PLOTCURVE"></a>
QwtPlotCurve</h1>
<p>Some optimizations that got lost with introducing the floating point based render code with Qwt 6.0 have been reenabled. Other specific optimizations have been added.</p>
<p>New paint attributes:</p>
<ul>
<li><a class="el" href="class_qwt_plot_curve.html#a96db1b854c63bfbc452c943251a11b66af09c1c6ec8c8198124f0e41c391f8391">QwtPlotCurve::FilterPoints</a></li>
<li><a class="el" href="class_qwt_plot_curve.html#a96db1b854c63bfbc452c943251a11b66a154c720d852e71b7909adf5e56a3500d">QwtPlotCurve::MinimizeMemory</a></li>
<li><a class="el" href="class_qwt_plot_curve.html#a96db1b854c63bfbc452c943251a11b66a5e80434a35db4325ef8cdcb4dcb52282">QwtPlotCurve::ImageBuffer</a></li>
</ul>
<p>QwtPlotCurve::CacheSymbols has been removed, as caching is implemented in <a class="el" href="class_qwt_symbol.html" title="A class for drawing symbols.">QwtSymbol</a> now.</p>
<p><a class="el" href="class_qwt_plot_curve.html#a20948ab52983ee8c2058b2b2689e97a0" title="Draw lines.">QwtPlotCurve::drawLines()</a>, <a class="el" href="class_qwt_plot_curve.html#a9d5c81d3340aebf2ab8cf0dfee7e9c81">QwtPlotCurve::drawDots()</a>, <a class="el" href="class_qwt_plot_curve.html#aa55bd22c153a15b7cba082c499536602">QwtPlotCurve::drawSteps()</a> and <a class="el" href="class_qwt_plot_curve.html#a732c4a8b905be4f635d8558b6d959b52">QwtPlotCurve::drawSticks()</a> are virtual now.</p>
<h1><a class="anchor" id="PLOT"></a>
QwtPlot</h1>
<p>A footer similar to a title has been added.</p>
<p>QwtPlot::ExternalLegend is obsolete with the new <a class="el" href="qwtchangelog.html#LEGEND">system for legends</a>. The signals QwtPlot::legendClicked(), QwtPlot::legendChecked() have been removed. Applications need to connect to <a class="el" href="class_qwt_legend.html#a26619e20d875f1e8c666b982a897244b">QwtLegend::clicked()</a> and <a class="el" href="class_qwt_legend.html#ae54179a767337c154beaa826c57dda87">QwtLegend::checked()</a>.</p>
<p>To support using an OpenGL canvas <a class="el" href="class_qwt_plot.html#aea67c885034219789b360c0e624bfeaf" title="Set the drawing canvas of the plot widget.">QwtPlot::setCanvas</a> has been added. This has 2 important implications for the application code:</p>
<ul>
<li><a class="el" href="class_qwt_plot.html#a53f836bb4ec09c766e3d871ea4be28f7">QwtPlot::canvas()</a> returns QWidget and needs to be casted, when using methods of <a class="el" href="class_qwt_plot_canvas.html" title="Canvas of a QwtPlot.">QwtPlotCanvas</a>.</li>
<li><a class="el" href="class_qwt_plot_canvas.html" title="Canvas of a QwtPlot.">QwtPlotCanvas</a> can be created and assigned in application code, what makes it possible to derive and overload methods.</li>
</ul>
<p>The initialization of a plot canvas with Qwt 6.1 will probably look like this:</p>
<div class="fragment"><div class="line"><a class="code" href="class_qwt_plot_canvas.html" title="Canvas of a QwtPlot.">QwtPlotCanvas</a>* canvas = <span class="keyword">new</span> <a class="code" href="class_qwt_plot_canvas.html" title="Canvas of a QwtPlot.">QwtPlotCanvas</a>();</div>
<div class="line">canvas->setXY( ... );</div>
<div class="line">...</div>
<div class="line"></div>
<div class="line"><a class="code" href="class_qwt_plot_canvas.html#a1b720b99dc1b686f58e789b13f339f63" title="Return parent plot widget.">plot</a>-><a class="code" href="class_qwt_plot.html#aea67c885034219789b360c0e624bfeaf" title="Set the drawing canvas of the plot widget.">setCanvas</a>( canvas );</div>
</div><!-- fragment --><p>To have a consistent API <a class="el" href="class_qwt_plot.html#a08e258f9ba498662a8be9a559c9c7e44" title="Assign a new plot layout.">QwtPlot::setPlotLayout()</a> has been added,</p>
<h1><a class="anchor" id="OTHER"></a>
Other</h1>
<h2><a class="anchor" id="SCALEDIV"></a>
QwtScaleDiv</h2>
<p>The following methods have been added:</p>
<ul>
<li><a class="el" href="class_qwt_scale_div.html#a3e35d44b9b41656fb3b241a9b11ddaa4">QwtScaleDiv::inverted()</a></li>
<li><a class="el" href="class_qwt_scale_div.html#a9b73d97caf5ee1020d4d5f60716d4274">QwtScaleDiv::bounded()</a></li>
<li><a class="el" href="class_qwt_scale_div.html#a76e4ef37b52fcf224de98a913635fdf6" title="Check if the scale division is empty( lowerBound() == upperBound() )">QwtScaleDiv::isEmpty()</a></li>
<li><a class="el" href="class_qwt_scale_div.html#ab4623880c2c2f789fdc3a9f5e6058484" title="Check if the scale division is increasing( lowerBound() <= upperBound() )">QwtScaleDiv::isIncreasing()</a></li>
<li>QDebug operator</li>
</ul>
<p>The following methods have been removed:</p>
<ul>
<li>QwtScaleDiv::isValid(), QwtScaleDiv::invalidate()<br/>
The valid state was left over from early Qwt versions indicating a state of the autoscaler.</li>
</ul>
<h2><a class="anchor" id="SCALEENGINE"></a>
QwtScaleEngine</h2>
<p>The following methods have been added:</p>
<ul>
<li><a class="el" href="class_qwt_scale_engine.html#afdabe4fd2a89b7cd5a21cdc9ac2269d6">QwtScaleEngine::setBase()</a></li>
<li><a class="el" href="class_qwt_scale_engine.html#ad063f4bb947996191be5c2a5fa0dbaf6">QwtScaleEngine::setTransformation()</a></li>
</ul>
<h2><a class="anchor" id="PLOTLAYOUT"></a>
QwtPlotLayout</h2>
<p>The following flags have been added:</p>
<ul>
<li><a class="el" href="class_qwt_plot_layout.html#ad0d2d60e86a4c69ec105524041d5221da00feaacfa819204f09074fc9b128b22c" title="Ignore the title.">QwtPlotLayout::IgnoreTitle</a></li>
<li><a class="el" href="class_qwt_plot_layout.html#ad0d2d60e86a4c69ec105524041d5221da132d4fc728c0826a269a143f2d655215" title="Ignore the footer.">QwtPlotLayout::IgnoreFooter</a></li>
<li><a class="el" href="class_qwt_plot_layout.html#ad243b9afc9b5ce9530b500dc35096d67">QwtPlotLayout::setAlignCanvasToScale()</a></li>
</ul>
<h2><a class="anchor" id="PLOTCANVAS"></a>
QwtPlotCanvas</h2>
<p>Rounded borders ( like with style sheets ) can configured using <a class="el" href="class_qwt_plot_canvas.html#a1e5c325697c0e892bf0e4e514d50177c">QwtPlotCanvas::setBorderRadius()</a>;</p>
<h2><a class="anchor" id="OTHERS"></a>
Other changes</h2>
<ul>
<li><a class="el" href="class_qwt_weeding_curve_fitter.html" title="A curve fitter implementing Douglas and Peucker algorithm.">QwtWeedingCurveFitter</a><br/>
<a class="el" href="class_qwt_weeding_curve_fitter.html#a9f17a819447cba0e733bd71d90ee2766">QwtWeedingCurveFitter::setChunkSize()</a> has been added, with drastic performance improvements for huge sets of points.</li>
</ul>
<ul>
<li><a class="el" href="class_qwt_plot_renderer.html" title="Renderer for exporting a plot to a document, a printer or anything else, that is supported by QPainte...">QwtPlotRenderer</a> The frame of the plot canvas can be rendered, what makes the result even closer to WYSWYG. <a class="el" href="class_qwt_plot_renderer.html#ac1912ef59ba1a3085f87c0ab49cbcd8b" title="Execute a file dialog and render the plot to the selected file.">QwtPlotRenderer::exportTo()</a> has been added.</li>
</ul>
<ul>
<li><a class="el" href="class_qwt_system_clock.html" title="QwtSystemClock provides high resolution clock time functions.">QwtSystemClock</a> For Qt >= 4.9 <a class="el" href="class_qwt_system_clock.html" title="QwtSystemClock provides high resolution clock time functions.">QwtSystemClock</a> uses QElapsedTimer internally. As it doesn't support a similar feature, QwtSystemClock::precision() has been removed.</li>
</ul>
<ul>
<li>QwtPlotAbstractSeriesItem<br/>
QwtPlotAbstractSeriesItem has been split into <a class="el" href="class_qwt_plot_series_item.html" title="Base class for plot items representing a series of samples.">QwtPlotSeriesItem</a> and QwtPlotAbstractSeriesStore.</li>
</ul>
<ul>
<li><a class="el" href="class_qwt_text.html" title="A class representing a text.">QwtText</a><br/>
A metatype declaration has been added, so that <a class="el" href="class_qwt_text.html" title="A class representing a text.">QwtText</a> can be used with QVariant.</li>
</ul>
<ul>
<li><a class="el" href="class_qwt_event_pattern.html" title="A collection of event patterns.">QwtEventPattern</a>, <a class="el" href="class_qwt_panner.html" title="QwtPanner provides panning of a widget.">QwtPanner</a>, <a class="el" href="class_qwt_magnifier.html" title="QwtMagnifier provides zooming, by magnifying in steps.">QwtMagnifier</a><br/>
Forgotten Qt3 leftovers have been fixed: int -> Qt::KeyboardModifiers</li>
</ul>
<ul>
<li>QPen Qt5/Qt4 incompatibility The default pen width for Qt5 is 1, what makes it a non cosmetic. To hide this nasty incompatibility several setPen() methods have been added the build pens with a width 0. See QPen::isCosmetic(),</li>
</ul>
<ul>
<li>qwtUpperSampleIndex()<br/>
A binary search algorithm for sorted samples</li>
</ul>
<ul>
<li><a class="el" href="class_qwt_matrix_raster_data.html" title="A class representing a matrix of values as raster data.">QwtMatrixRasterData</a> <a class="el" href="class_qwt_matrix_raster_data.html#a4601944bceabd921cdaa544180576274" title="Change a single value in the matrix.">QwtMatrixRasterData::setValue()</a> has been added</li>
</ul>
<ul>
<li><a class="el" href="class_qwt_picker.html" title="QwtPicker provides selections on a widget.">QwtPicker</a> QwtPicker::rubberBandWidget(), QwtPicker::trackerWidget() have been replaced by <a class="el" href="class_qwt_picker.html#aa4bdb9e280b226fe2743be0aef11eca8">QwtPicker::rubberBandOverlay()</a>, <a class="el" href="class_qwt_picker.html#afeba8fa29515e673efec3684f2e878d9">QwtPicker::trackerOverlay()</a>. <a class="el" href="class_qwt_picker.html#a9894c9ca37f06ad79cff26a3c63f6c66">QwtPicker::rubberBandMask()</a> has been added. QwtPicker::pickRect() has been replaced by <a class="el" href="class_qwt_picker.html#accba1f639a7e0a0fa978bf638b5f7500">QwtPicker::pickArea()</a></li>
</ul>
<ul>
<li><a class="el" href="class_qwt_plot_item.html" title="Base class for items on the plot canvas.">QwtPlotItem</a> <a class="el" href="class_qwt_plot_item.html#affbc42460ace9ac725fa825a3f8bfb66" title="Plot Item Interests.">QwtPlotItem::ItemInterest</a> has been added. <a class="el" href="class_qwt_plot_item.html#a188ae18fbbce9adcf259ebe2f0de1f6b">QwtPlotItem::setRenderThreadCount()</a> was shifted from <a class="el" href="class_qwt_plot_raster_item.html" title="A class, which displays raster data.">QwtPlotRasterItem</a>.</li>
</ul>
<ul>
<li>...</li>
</ul>
<h1><a class="anchor" id="CLASSES"></a>
Summary of the new classes</h1>
<ul>
<li><a class="el" href="class_qwt_abstract_legend.html" title="Abstract base class for legend widgets.">QwtAbstractLegend</a></li>
<li><a class="el" href="class_qwt_date.html" title="A collection of methods around date/time values.">QwtDate</a></li>
<li><a class="el" href="class_qwt_date_scale_draw.html" title="A class for drawing datetime scales.">QwtDateScaleDraw</a></li>
<li><a class="el" href="class_qwt_date_scale_engine.html" title="A scale engine for date/time values.">QwtDateScaleEngine</a></li>
<li><a class="el" href="class_qwt_graphic.html" title="A paint device for scalable graphics.">QwtGraphic</a></li>
<li><a class="el" href="class_qwt_legend_data.html" title="Attributes of an entry on a legend.">QwtLegendData</a></li>
<li><a class="el" href="class_qwt_legend_label.html" title="A widget representing something on a QwtLegend.">QwtLegendLabel</a></li>
<li><a class="el" href="class_qwt_painter_command.html">QwtPainterCommand</a></li>
<li><a class="el" href="class_qwt_pixel_matrix.html" title="A bit field corresponding to the pixels of a rectangle.">QwtPixelMatrix</a></li>
<li><a class="el" href="class_qwt_plot_abstract_bar_chart.html" title="Abstract base class for bar chart items.">QwtPlotAbstractBarChart</a></li>
<li><a class="el" href="class_qwt_plot_bar_chart.html" title="QwtPlotBarChart displays a series of a values as bars.">QwtPlotBarChart</a></li>
<li><a class="el" href="class_qwt_plot_multi_bar_chart.html" title="QwtPlotMultiBarChart displays a series of a samples that consist each of a set of values...">QwtPlotMultiBarChart</a></li>
<li><a class="el" href="class_qwt_plot_g_l_canvas.html" title="An alternative canvas for a QwtPlot derived from QGLWidget.">QwtPlotGLCanvas</a></li>
<li><a class="el" href="class_qwt_plot_legend_item.html" title="A class which draws a legend inside the plot canvas.">QwtPlotLegendItem</a></li>
<li><a class="el" href="class_qwt_plot_shape_item.html" title="A plot item, which displays any graphical shape, that can be defined by a QPainterPath.">QwtPlotShapeItem</a></li>
<li><a class="el" href="class_qwt_plot_text_label.html" title="A plot item, which displays a text label.">QwtPlotTextLabel</a></li>
<li><a class="el" href="class_qwt_plot_trading_curve.html" title="QwtPlotTradingCurve illustrates movements in the price of a financial instrument over time...">QwtPlotTradingCurve</a></li>
<li><a class="el" href="class_qwt_plot_zone_item.html" title="A plot item, which displays a zone.">QwtPlotZoneItem</a></li>
<li>QwtPointData</li>
<li><a class="el" href="class_qwt_point_mapper.html" title="A helper class for translating a series of points.">QwtPointMapper</a></li>
<li><a class="el" href="class_qwt_transform.html" title="A transformation between coordinate systems.">QwtTransform</a>, <a class="el" href="class_qwt_null_transform.html" title="Null transformation.">QwtNullTransform</a>, <a class="el" href="class_qwt_log_transform.html" title="Logarithmic transformation.">QwtLogTransform</a>, <a class="el" href="class_qwt_power_transform.html" title="A transformation using pow()">QwtPowerTransform</a></li>
<li><a class="el" href="class_qwt_widget_overlay.html" title="An overlay for a widget.">QwtWidgetOverlay</a> </li>
</ul>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3.1
</small></address>
</body>
</html>