Qwt User's Guide  6.0.2
qwt_plot_grid.h
1 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
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_GRID_H
11 #define QWT_PLOT_GRID_H
12 
13 #include "qwt_global.h"
14 #include "qwt_plot_item.h"
15 #include "qwt_scale_div.h"
16 
17 class QPainter;
18 class QPen;
19 class QwtScaleMap;
20 class QwtScaleDiv;
21 
34 class QWT_EXPORT QwtPlotGrid: public QwtPlotItem
35 {
36 public:
37  explicit QwtPlotGrid();
38  virtual ~QwtPlotGrid();
39 
40  virtual int rtti() const;
41 
42  void enableX( bool tf );
43  bool xEnabled() const;
44 
45  void enableY( bool tf );
46  bool yEnabled() const;
47 
48  void enableXMin( bool tf );
49  bool xMinEnabled() const;
50 
51  void enableYMin( bool tf );
52  bool yMinEnabled() const;
53 
54  void setXDiv( const QwtScaleDiv &sx );
55  const QwtScaleDiv &xScaleDiv() const;
56 
57  void setYDiv( const QwtScaleDiv &sy );
58  const QwtScaleDiv &yScaleDiv() const;
59 
60  void setPen( const QPen &p );
61 
62  void setMajPen( const QPen &p );
63  const QPen& majPen() const;
64 
65  void setMinPen( const QPen &p );
66  const QPen& minPen() const;
67 
68  virtual void draw( QPainter *p,
69  const QwtScaleMap &xMap, const QwtScaleMap &yMap,
70  const QRectF &rect ) const;
71 
72  virtual void updateScaleDiv(
73  const QwtScaleDiv &xMap, const QwtScaleDiv &yMap );
74 
75 private:
76  void drawLines( QPainter *painter, const QRectF &,
77  Qt::Orientation orientation, const QwtScaleMap &,
78  const QList<double> & ) const;
79 
80  class PrivateData;
81  PrivateData *d_data;
82 };
83 
84 #endif