Qwt Polar User's Guide  0.1.0
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_global.h"
13 #include "qwt_polar_plot.h"
14 
24 class QWT_POLAR_EXPORT QwtPolarLayout
25 {
26 public:
42  enum Options
43  {
44  IgnoreScrollbars = 1,
45  IgnoreFrames = 2,
46  IgnoreTitle = 4,
47  IgnoreLegend = 8
48  };
49 
50  explicit QwtPolarLayout();
51  virtual ~QwtPolarLayout();
52 
53  void setLegendPosition(QwtPolarPlot::LegendPosition pos, double ratio);
54  void setLegendPosition(QwtPolarPlot::LegendPosition pos);
55  QwtPolarPlot::LegendPosition legendPosition() const;
56 
57  void setLegendRatio(double ratio);
58  double legendRatio() const;
59 
60  virtual QSize minimumSizeHint(const QwtPolarPlot *) const;
61 
62  virtual void activate(const QwtPolarPlot *,
63  const QRect &rect, int options = 0);
64 
65  virtual void invalidate();
66 
67  const QRect &titleRect() const;
68  const QRect &legendRect() const;
69  const QRect &canvasRect() const;
70 
71  class LayoutData;
72 
73 protected:
74  QRect layoutLegend(int options, const QRect &) const;
75 
76 private:
77  class PrivateData;
78  PrivateData *d_data;
79 };
80 
81 #endif