Qwt User's Guide svn
qwt_abstract_scale.h
00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * Qwt Widget Library
00003  * Copyright (C) 1997   Josef Wilgen
00004  * Copyright (C) 2002   Uwe Rathmann
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the Qwt License, Version 1.0
00008  *****************************************************************************/
00009 
00010 #ifndef QWT_ABSTRACT_SCALE_H
00011 #define QWT_ABSTRACT_SCALE_H
00012 
00013 #include "qwt_global.h"
00014 
00015 class QwtScaleEngine;
00016 class QwtAbstractScaleDraw;
00017 class QwtScaleDiv;
00018 class QwtScaleMap;
00019 class QwtInterval;
00020 
00029 class QWT_EXPORT QwtAbstractScale
00030 {
00031 public:
00032     QwtAbstractScale();
00033     virtual ~QwtAbstractScale();
00034 
00035     void setScale( double vmin, double vmax, double step = 0.0 );
00036     void setScale( const QwtInterval &, double step = 0.0 );
00037     void setScale( const QwtScaleDiv & );
00038 
00039     void setAutoScale();
00040     bool autoScale() const;
00041 
00042     void setScaleMaxMajor( int ticks );
00043     int scaleMaxMinor() const;
00044 
00045     void setScaleMaxMinor( int ticks );
00046     int scaleMaxMajor() const;
00047 
00048     void setScaleEngine( QwtScaleEngine * );
00049     const QwtScaleEngine *scaleEngine() const;
00050     QwtScaleEngine *scaleEngine();
00051 
00052     const QwtScaleMap &scaleMap() const;
00053 
00054 protected:
00055     void rescale( double vmin, double vmax, double step = 0.0 );
00056 
00057     void setAbstractScaleDraw( QwtAbstractScaleDraw * );
00058     const QwtAbstractScaleDraw *abstractScaleDraw() const;
00059     QwtAbstractScaleDraw *abstractScaleDraw();
00060 
00061     virtual void scaleChange();
00062 
00063 private:
00064     void updateScaleDraw();
00065 
00066     class PrivateData;
00067     PrivateData *d_data;
00068 };
00069 
00070 #endif
qmi style