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 one to align the symbol individually,
154       f.e 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
172       QwtPlotCurve::drawLines(), QwtPlotCurve::drawDots(),
173       QwtPlotCurve::drawSteps() and QwtPlotCurve::drawSticks() are virtual
174       now.
175

QwtPlot

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

Other

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

Summary of the new classes

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