Qwt Polar User's Guide  1.1.0-rc1
 All Classes Functions Typedefs Enumerations Enumerator Pages
qwt_polar_layout.h
1 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
2  * QwtPolar Widget Library
3  * Copyright (C) 2008 Uwe Rathmann
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the Qwt License, Version 1.0
7  *****************************************************************************/
8 
9 #ifndef QWT_POLAR_LAYOUT_H
10 #define QWT_POLAR_LAYOUT_H
11 
12 #include "qwt_polar_global.h"
13 #include "qwt_polar_plot.h"
14 
24 class QWT_POLAR_EXPORT QwtPolarLayout
25 {
26 public:
27 
29  enum Option
30  {
32  IgnoreScrollbars = 0x01,
33 
35  IgnoreFrames = 0x02,
36 
38  IgnoreTitle = 0x04,
39 
41  IgnoreLegend = 0x08
42  };
43 
45  typedef QFlags<Option> Options;
46 
47  explicit QwtPolarLayout();
48  virtual ~QwtPolarLayout();
49 
50  void setLegendPosition( QwtPolarPlot::LegendPosition pos, double ratio );
51  void setLegendPosition( QwtPolarPlot::LegendPosition pos );
52  QwtPolarPlot::LegendPosition legendPosition() const;
53 
54  void setLegendRatio( double ratio );
55  double legendRatio() const;
56 
57  virtual void activate( const QwtPolarPlot *,
58  const QRectF &rect, Options options = 0 );
59 
60  virtual void invalidate();
61 
62  const QRectF &titleRect() const;
63  const QRectF &legendRect() const;
64  const QRectF &canvasRect() const;
65 
66  class LayoutData;
67 
68 protected:
69  QRectF layoutLegend( Options options, QRectF & ) const;
70 
71 private:
72  class PrivateData;
73  PrivateData *d_data;
74 };
75 
76 Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPolarLayout::Options )
77 
78 #endif