Qwt User's Guide  6.2.0
qwt_plot_layout.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_LAYOUT_H
11 #define QWT_PLOT_LAYOUT_H
12 
13 #include "qwt_global.h"
14 #include "qwt_plot.h"
15 #include "qwt_axis_id.h"
16 
27 class QWT_EXPORT QwtPlotLayout
28 {
29  public:
34  enum Option
35  {
37  AlignScales = 0x01,
38 
43  IgnoreScrollbars = 0x02,
44 
46  IgnoreFrames = 0x04,
47 
49  IgnoreLegend = 0x08,
50 
52  IgnoreTitle = 0x10,
53 
55  IgnoreFooter = 0x20
56  };
57 
58  Q_DECLARE_FLAGS( Options, Option )
59 
60  explicit QwtPlotLayout();
61  virtual ~QwtPlotLayout();
62 
63  void setCanvasMargin( int margin, int axis = -1 );
64  int canvasMargin( int axisId ) const;
65 
66  void setAlignCanvasToScales( bool );
67 
68  void setAlignCanvasToScale( int axisId, bool );
69  bool alignCanvasToScale( int axisId ) const;
70 
71  void setSpacing( int );
72  int spacing() const;
73 
74  void setLegendPosition( QwtPlot::LegendPosition pos, double ratio );
75  void setLegendPosition( QwtPlot::LegendPosition pos );
76  QwtPlot::LegendPosition legendPosition() const;
77 
78  void setLegendRatio( double ratio );
79  double legendRatio() const;
80 
81  virtual QSize minimumSizeHint( const QwtPlot* ) const;
82 
83  virtual void activate( const QwtPlot*,
84  const QRectF& plotRect, Options options = Options() );
85 
86  virtual void invalidate();
87 
88  QRectF titleRect() const;
89  QRectF footerRect() const;
90  QRectF legendRect() const;
91  QRectF scaleRect( QwtAxisId ) const;
92  QRectF canvasRect() const;
93 
94  protected:
95 
96  void setTitleRect( const QRectF& );
97  void setFooterRect( const QRectF& );
98  void setLegendRect( const QRectF& );
99  void setScaleRect( QwtAxisId, const QRectF& );
100  void setCanvasRect( const QRectF& );
101 
102  private:
103  Q_DISABLE_COPY(QwtPlotLayout)
104 
105  class PrivateData;
106  PrivateData* m_data;
107 };
108 
109 Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotLayout::Options )
110 
111 #endif
A 2-D plotting widget.
Definition: qwt_plot.h:79
LegendPosition
Definition: qwt_plot.h:94
Layout engine for QwtPlot.
QFlags< Option > Options