地面站终端 App
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

111 lines
2.7 KiB

15 years ago
/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
* Qwt Widget Library
* Copyright (C) 1997 Josef Wilgen
* Copyright (C) 2002 Uwe Rathmann
*
15 years ago
* This library is free software; you can redistribute it and/or
* modify it under the terms of the Qwt License, Version 1.0
*****************************************************************************/
#ifndef QWT_SCALE_DIV_H
#define QWT_SCALE_DIV_H
#include "qwt_global.h"
#include "qwt_interval.h"
#include <qlist.h>
15 years ago
#ifndef QT_NO_DEBUG_STREAM
#include <qdebug.h>
#endif
15 years ago
/*!
\brief A class representing a scale division
A Qwt scale is defined by its boundaries and 3 list
for the positions of the major, medium and minor ticks.
The upperLimit() might be smaller than the lowerLimit()
to indicate inverted scales.
15 years ago
Scale divisions can be calculated from a QwtScaleEngine.
15 years ago
\sa QwtScaleEngine::divideScale(), QwtPlot::setAxisScaleDiv(),
QwtAbstractSlider::setScaleDiv()
15 years ago
*/
class QWT_EXPORT QwtScaleDiv
{
public:
//! Scale tick types
enum TickType
{
//! No ticks
15 years ago
NoTick = -1,
//! Minor ticks
15 years ago
MinorTick,
//! Medium ticks
15 years ago
MediumTick,
//! Major ticks
15 years ago
MajorTick,
//! Number of valid tick types
15 years ago
NTickTypes
};
explicit QwtScaleDiv( double lowerBound = 0.0,
double upperBound = 0.0 );
15 years ago
explicit QwtScaleDiv( const QwtInterval &, QList<double>[NTickTypes] );
explicit QwtScaleDiv( double lowerBound, double upperBound,
QList<double>[NTickTypes] );
15 years ago
explicit QwtScaleDiv( double lowerBound, double upperBound,
const QList<double> &minorTicks, const QList<double> &mediumTicks,
const QList<double> &majorTicks );
15 years ago
bool operator==( const QwtScaleDiv & ) const;
bool operator!=( const QwtScaleDiv & ) const;
15 years ago
void setInterval( double lowerBound, double upperBound );
void setInterval( const QwtInterval & );
QwtInterval interval() const;
15 years ago
void setLowerBound( double );
double lowerBound() const;
void setUpperBound( double );
double upperBound() const;
15 years ago
double range() const;
15 years ago
bool contains( double value ) const;
15 years ago
void setTicks( int tickType, const QList<double> & );
QList<double> ticks( int tickType ) const;
15 years ago
bool isEmpty() const;
bool isIncreasing() const;
15 years ago
void invert();
QwtScaleDiv inverted() const;
15 years ago
QwtScaleDiv bounded( double lowerBound, double upperBound ) const;
private:
double d_lowerBound;
double d_upperBound;
QList<double> d_ticks[NTickTypes];
};
Q_DECLARE_TYPEINFO( QwtScaleDiv, Q_MOVABLE_TYPE );
#ifndef QT_NO_DEBUG_STREAM
QWT_EXPORT QDebug operator<<( QDebug, const QwtScaleDiv & );
#endif
15 years ago
#endif