1#ifndef QWTPLOTLAYOUTENGINE_H
2#define QWTPLOTLAYOUTENGINE_H
10#include "qwt_axis_id.h"
34 int dimAxis(QwtAxisId axisId)
const;
37 void setDimAxis(QwtAxisId axisId,
int dim);
41 int dimAxes(
int axisPos)
const;
47 int captionExtra(
int axisPos)
const;
50 void setCaptionExtra(
int axisPos,
int extra);
59 QRectF centered(
const QRectF& rect,
const QRectF& labelRect)
const;
62 QRectF innerRect(
const QRectF& rect)
const;
68 int m_dimAxes[ QwtAxis::AxisPositions ];
69 int m_captionExtra[ QwtAxis::AxisPositions ];
140 void init(
const QWidget* canvas);
142 int contentsMargins[ QwtAxis::AxisPositions ];
161 bool hasSymmetricYAxes()
const;
164 ScaleData& axisData(QwtAxisId axisId);
167 const ScaleData& axisData(QwtAxisId axisId)
const;
170 double tickOffset(
int axisPos)
const;
172 LegendData legendData;
173 LabelData labelData[ NumLabels ];
174 CanvasData canvasData;
181 int parasiteCaptionHeight[ QwtAxis::AxisPositions ];
184 ScaleData m_scaleData[ QwtAxis::AxisPositions ];
192 QRectF layoutLegend(
int plotLayoutOptions,
193 const LayoutData::LegendData& legendData,
195 const QSize& legendHint)
const;
198 QRectF alignLegend(
const QSize& legendHint,
const QRectF& canvasRect,
const QRectF& legendRect)
const;
201 void alignScales(
int plotLayoutOptions,
202 const LayoutData& layoutData,
204 QRectF scaleRect[ QwtAxis::AxisPositions ])
const;
207 void alignScalesToCanvas(
int plotLayoutOptions,
208 const LayoutData& layoutData,
209 const QRectF& canvasRect,
210 QRectF scaleRect[ QwtAxis::AxisPositions ])
const;
213 Dimensions layoutDimensions(
int plotLayoutOptions,
const LayoutData& layoutData,
const QRectF& rect)
const;
216 void setSpacing(
unsigned int spacing);
219 unsigned int spacing()
const;
222 void setAlignCanvas(
int axisPos,
bool on);
225 bool alignCanvas(
int axisPos)
const;
231 void setFixedCanvas(
int axisPos,
bool on);
234 bool isFixedCanvas(
int axisPos)
const;
238 void setFixedCanvasSize(
const QSize& size);
241 QSize fixedCanvasSize()
const;
244 bool isFixedCanvasWidth()
const;
247 bool isFixedCanvasHeight()
const;
250 void setCanvasMargin(
int axisPos,
int margin);
253 int canvasMargin(
int axisPos)
const;
262 void setLegendRatio(
double ratio);
265 double legendRatio()
const;
271 int heightForWidth(LayoutData::Label labelType,
272 const LayoutData& layoutData,
273 int plotLayoutOptions,
275 int axesWidth)
const;
278 double m_legendRatio;
280 unsigned int m_canvasMargin[ QwtAxis::AxisPositions ] = { 0, 0, 0, 0 };
281 bool m_alignCanvas[ QwtAxis::AxisPositions ];
283 bool m_fixedCanvas[ QwtAxis::AxisPositions ] = {
false,
false,
false,
false };
284 QSize m_fixedCanvasSize { -1, -1 };
286 unsigned int m_spacing;
Abstract base class for legend widgets
Definition qwt_abstract_legend.h:47
Data structure for layout calculation
Definition qwt_plot_layout_engine.h:77
Label
Label type enumeration
Definition qwt_plot_layout_engine.h:150
@ Title
Title label
Definition qwt_plot_layout_engine.h:151
@ Footer
Footer label
Definition qwt_plot_layout_engine.h:152
Layout engine for QwtPlot components
Definition qwt_plot_layout_engine.h:22
A 2-D plotting widget
Definition qwt_plot.h:100
LegendPosition
Position of the legend, relative to the canvas
Definition qwt_plot.h:117
A Widget which displays a QwtText
Definition qwt_text_label.h:47
A class representing a text
Definition qwt_text.h:70
Structure holding dimension values for layout calculation
Definition qwt_plot_layout_engine.h:29
Data for canvas layout calculation
Definition qwt_plot_layout_engine.h:138
Data for title/footer label layout calculation
Definition qwt_plot_layout_engine.h:102
Data for legend layout calculation
Definition qwt_plot_layout_engine.h:84
Data for axis scale widget layout calculation
Definition qwt_plot_layout_engine.h:115