1qwtchangelog(3)                Qwt User's Guide                qwtchangelog(3)
2
3
4

NAME

6       qwtchangelog - What's new in Qwt 6.1
7
8

New plot items

10       · QwtPlotBarChart
11          Bar chart, see 'examples/distrowatch'
12
13       · QwtPlotMultiBarChart
14          Chart of grouped bars - stacked or aligned side by side. See
15         'examples/barchart'
16
17       · QwtPlotTradingCurve
18          Candlestick or OHLC charts typically used to describe price
19         movements over time. See 'examples/stockchart'
20
21       · QwtPlotShapeItem
22          A plot item to display rectangles, circles, polygons and all other
23         type of shapes ( built from intersections or unifications ), that can
24         be expressed by a QPainterPath. See 'examples/itemeditor'
25
26       · QwtPlotLegendItem
27          A legend on the plot canvas. See 'examples/legends'
28
29       · QwtPlotZoneItem
30          A horizontal or vertical section
31
32       · QwtPlotTextLabel
33          In opposite to a QwtPlotMarker the text is not aligned to a plot
34         coordinate but according to the geometry of the canvas ( f.e
35         top/centered for a title ). See 'playground/curvetracker'.
36

Scales beyond linear and logarithmic transformations

38       QwtScaleTransformation has been replaced by QwtTransform and its
39       derived classes:
40
41       · QwtTransform
42
43       · QwtNullTransform
44
45       · QwtLogTransform
46
47       · QwtPowerTransform
48
49       Individual transformations ( f.e. different scaling for special
50       sections ) can be implemented by overloading QwtTransform ( see
51       playground/scaleengine ).
52
53       QwtLinearScaleEngine and QwtLogScaleEngine are not limited to base 10
54       anymore.
55
56   Datetime scales
57       A set of a new classes for displaying datetime values:
58
59       · QwtDate
60          A collection of methods to convert between QDateTime and doubles
61
62       · QwtDateScaleEngine
63          A scale engine that aligns and finds ticks in terms of datetime
64         units.
65
66       · QwtDateScaleDraw
67          A scale draw mapping values to datetime strings.
68
69       Scales for Qt::UTC and Qt::LocalTime are supported.
70

Redesign of the dial and meter widgets

72       Many parts of the class design of the dial and meter widgets were left
73       over from the 90s ( Qwt 0.2, Qt 1.1 ).
74
75       The derivation tree is simpler and more logical:
76
77       · QwtAbstractScale is a QWidget
78
79       · QwtAbstractSlider is a QwtAbstractScale. ( for sliders without scales
80         QAbstractSlider should be the base class )
81
82       · QwtThermo is also a QwtAbstractScale
83
84       · QwtDial, QwtKnob, QwtSlider are derived from QwtAbstractSlider
85
86       · QwtCounter is derived from QWidget
87
88       QwtDoubleRange has been removed.
89
90       All classes use the terminology known from QAbstractSlider - as far as
91       possible. The extended system for scales is completely supported.
92

Basic support for an OpenGL plot canvas

94       QwtPlotGLCanvas offers the option to draw plot items using an OpenGL
95       paint engine ( QPaintEngine::OpenGL/OpenGL2 ), This is not what could
96       be implemented with native OpenGL, but it offers hardware acceleration
97       in environments, where the raster paint engine is the only option. (
98       f.e Qt4/Windows, or Qt5 on all platforms ).
99
100       QwtPlotGLCanvas is in an experimental state and is not recommended for
101       average use cases.
102

A new system for plot legends

104       QwtLegend has been decoupled from QwtPlot and can be replaced by
105       application specific implementations. Plot items and the legend
106       exchange the information using QwtLegendData.
107
108       QwtPlotLegendItem is a new plot item that displays a legend on the plot
109       canvas.
110
111       The following examples demonstrate how to use the new system:
112
113       · examples/legends
114          shows how to use the new legend system
115
116       · examples/stockchart
117          implementats a QTreeView with checkable items as legend
118

Off-screen paint device for vector graphics

120       QwtGraphic can be copied like QImage or QPixmap but is scalable like
121       QSvgGenerator. It is implemented as a record/replay paint device like
122       QPicture.
123

QwtWidgetOverlay

125       QwtWidgetOverlay is a base class for implementing widget overlays -
126       primarily used for use cases like graphical editors or running cursors
127       for the plot canvas.
128
129       The following examples show how to use overlays:
130
131       · examples/itemeditor
132
133       · examples/curvetracker
134
135       QwtPicker ( -> QwtPlotPicker, QwtPlotZoomer ) internally uses
136       QwtWidgetOverlay now, making it easier to implement individual rubber
137       bands.
138

QwtSymbol

140       New symbol types have been introduced:
141
142       · QwtSymbol::Path
143
144       · QwtSymbol::Pixmap
145
146       · QwtSymbol::Graphic
147
148       · QwtSymbol::SvgDocument
149
150       QwtSymbol autodetect the most performant paint strategy for a paint
151       device what is in most situations using a QPixmap cache.
152
153       QwtSymbol::setPinPoint() allows to align the symbol individually, f.e
154       to the position of the peak of an arrow.
155

QwtPlotCurve

157       Some optimizations that got lost with introducing the floating point
158       based render code with Qwt 6.0 have been reenabled. Other specific
159       optimizations have been added.
160
161       New paint attributes:
162
163       · QwtPlotCurve::FilterPoints
164
165       · QwtPlotCurve::MinimizeMemory
166
167       · QwtPlotCurve::ImageBuffer
168
169       QwtPlotCurve::CacheSymbols has been removed, as caching is implemented
170       in QwtSymbol now.
171        QwtPlotCurve::drawLines(), QwtPlotCurve::drawDots(),
172       QwtPlotCurve::drawSteps() and QwtPlotCurve::drawSticks() are virtual
173       now.
174

QwtPlot

176       A footer similar to a title has been added.
177
178       QwtPlot::ExternalLegend is obsolete with the new system for legends.
179       The signals QwtPlot::legendClicked(), QwtPlot::legendChecked() have
180       been removed. Applications need to connect to QwtLegend::clicked() and
181       QwtLegend::checked().
182
183       To support using an OpenGL canvas QwtPlot::setCanvas has been added.
184       This has 2 important implications for the application code:
185
186       · QwtPlot::canvas() returns QWidget and needs to be casted, when using
187         methods of QwtPlotCanvas.
188
189       · QwtPlotCanvas can be created and assigned in application code, what
190         makes it possible to derive and overload methods.
191
192       The initialization of a plot canvas with Qwt 6.1 will probably look
193       like this:
194
195       QwtPlotCanvas* canvas = new QwtPlotCanvas();
196       canvas->setXY( ... );
197       ...
198
199       plot->setCanvas( canvas );
200
201       To have a consistent API QwtPlot::setPlotLayout() has been added,
202

Other

204   QwtScaleDiv
205       The following methods have been added:
206
207       · QwtScaleDiv::inverted()
208
209       · QwtScaleDiv::bounded()
210
211       · QwtScaleDiv::isEmpty()
212
213       · QwtScaleDiv::isIncreasing()
214
215       · QDebug operator
216
217       The following methods have been removed:
218
219       · QwtScaleDiv::isValid(), QwtScaleDiv::invalidate()
220          The valid state was left over from early Qwt versions indicating a
221         state of the autoscaler.
222
223   QwtScaleEngine
224       The following methods have been added:
225
226       · QwtScaleEngine::setBase()
227
228       · QwtScaleEngine::setTransformation()
229
230   QwtPlotLayout
231       The following flags have been added:
232
233       · QwtPlotLayout::IgnoreTitle
234
235       · QwtPlotLayout::IgnoreFooter
236
237       · QwtPlotLayout::setAlignCanvasToScale()
238
239   QwtPlotCanvas
240       Rounded borders ( like with style sheets ) can configured using
241       QwtPlotCanvas::setBorderRadius();
242
243   Other changes
244       · QwtWeedingCurveFitter
245          QwtWeedingCurveFitter::setChunkSize() has been added, with drastic
246         performance improvements for huge sets of points.
247
248       · QwtPlotRenderer The frame of the plot canvas can be rendered, what
249         makes the result even closer to WYSWYG. QwtPlotRenderer::exportTo()
250         has been added.
251
252       · QwtSystemClock For Qt >= 4.9 QwtSystemClock uses QElapsedTimer
253         internally. As it doesn't support a similar feature,
254         QwtSystemClock::precision() has been removed.
255
256       · QwtPlotAbstractSeriesItem
257          QwtPlotAbstractSeriesItem has been split into QwtPlotSeriesItem and
258         QwtPlotAbstractSeriesStore.
259
260       · QwtText
261          A metatype declaration has been added, so that QwtText can be used
262         with QVariant.
263
264       · QwtEventPattern, QwtPanner, QwtMagnifier
265          Forgotten Qt3 leftovers have been fixed: int ->
266         Qt::KeyboardModifiers
267
268       · QPen Qt5/Qt4 incompatibility The default pen width for Qt5 is 1, what
269         makes it a non cosmetic. To hide this nasty incompatibility several
270         setPen() methods have been added the build pens with a width 0. See
271         QPen::isCosmetic(),
272
273       · qwtUpperSampleIndex()
274          A binary search algorithm for sorted samples
275
276       · QwtMatrixRasterData QwtMatrixRasterData::setValue() has been added
277
278       · QwtPicker QwtPicker::rubberBandWidget(), QwtPicker::trackerWidget()
279         have been replaced by QwtPicker::rubberBandOverlay(),
280         QwtPicker::trackerOverlay(). QwtPicker::rubberBandMask() has been
281         added. QwtPicker::pickRect() has been replaced by
282         QwtPicker::pickArea()
283
284       · QwtPlotItem QwtPlotItem::ItemInterest has been added.
285         QwtPlotItem::setRenderThreadCount() was shifted from
286         QwtPlotRasterItem.
287
288       · ...
289

Summary of the new classes

291       · QwtAbstractLegend
292
293       · QwtDate
294
295       · QwtDateScaleDraw
296
297       · QwtDateScaleEngine
298
299       · QwtGraphic
300
301       · QwtLegendData
302
303       · QwtLegendLabel
304
305       · QwtPainterCommand
306
307       · QwtPixelMatrix
308
309       · QwtPlotAbstractBarChart
310
311       · QwtPlotBarChart
312
313       · QwtPlotMultiBarChart
314
315       · QwtPlotGLCanvas
316
317       · QwtPlotLegendItem
318
319       · QwtPlotShapeItem
320
321       · QwtPlotTextLabel
322
323       · QwtPlotTradingCurve
324
325       · QwtPlotZoneItem
326
327       · QwtPointData
328
329       · QwtPointMapper
330
331       · QwtTransform, QwtNullTransform, QwtLogTransform, QwtPowerTransform
332
333       · QwtWidgetOverlay
334
335Version 6.1.4                   Wed Jan 2 2019                 qwtchangelog(3)
Impressum