Qwt User's Guide  6.0.2
qwt_abstract_scale.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_ABSTRACT_SCALE_H
11 #define QWT_ABSTRACT_SCALE_H
12 
13 #include "qwt_global.h"
14 
15 class QwtScaleEngine;
17 class QwtScaleDiv;
18 class QwtScaleMap;
19 class QwtInterval;
20 
29 class QWT_EXPORT QwtAbstractScale
30 {
31 public:
33  virtual ~QwtAbstractScale();
34 
35  void setScale( double vmin, double vmax, double step = 0.0 );
36  void setScale( const QwtInterval &, double step = 0.0 );
37  void setScale( const QwtScaleDiv & );
38 
39  void setAutoScale();
40  bool autoScale() const;
41 
42  void setScaleMaxMajor( int ticks );
43  int scaleMaxMinor() const;
44 
45  void setScaleMaxMinor( int ticks );
46  int scaleMaxMajor() const;
47 
48  void setScaleEngine( QwtScaleEngine * );
49  const QwtScaleEngine *scaleEngine() const;
50  QwtScaleEngine *scaleEngine();
51 
52  const QwtScaleMap &scaleMap() const;
53 
54 protected:
55  void rescale( double vmin, double vmax, double step = 0.0 );
56 
57  void setAbstractScaleDraw( QwtAbstractScaleDraw * );
58  const QwtAbstractScaleDraw *abstractScaleDraw() const;
59  QwtAbstractScaleDraw *abstractScaleDraw();
60 
61  virtual void scaleChange();
62 
63 private:
64  void updateScaleDraw();
65 
66  class PrivateData;
67  PrivateData *d_data;
68 };
69 
70 #endif