Qwt User's Guide  5.2.3
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 QwtDoubleInterval;
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 QwtDoubleInterval &, double step = 0.0);
37  void setScale(const QwtScaleDiv &s);
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