# 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