地面站终端 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.

95 lines
2.5 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_PLOT_SCALE_ITEM_H
#define QWT_PLOT_SCALE_ITEM_H
#include "qwt_global.h"
#include "qwt_plot_item.h"
#include "qwt_scale_draw.h"
class QPalette;
/*!
\brief A class which draws a scale inside the plot canvas
QwtPlotScaleItem can be used to draw an axis inside the plot canvas.
It might by synchronized to one of the axis of the plot, but can
also display its own ticks and labels.
It is allowed to synchronize the scale item with a disabled axis.
In plots with vertical and horizontal scale items, it might be
necessary to remove ticks at the intersections, by overloading
updateScaleDiv().
The scale might be at a specific position (f.e 0.0) or it might be
aligned to a canvas border.
\par Example
The following example shows how to replace the left axis, by a scale item
at the x position 0.0.
\verbatim
QwtPlotScaleItem *scaleItem =
15 years ago
new QwtPlotScaleItem(QwtScaleDraw::RightScale, 0.0);
scaleItem->setFont(plot->axisWidget(QwtPlot::yLeft)->font());
scaleItem->attach(plot);
plot->enableAxis(QwtPlot::yLeft, false);
\endverbatim
*/
class QWT_EXPORT QwtPlotScaleItem: public QwtPlotItem
{
public:
explicit QwtPlotScaleItem(
QwtScaleDraw::Alignment = QwtScaleDraw::BottomScale,
const double pos = 0.0 );
15 years ago
virtual ~QwtPlotScaleItem();
virtual int rtti() const;
void setScaleDiv( const QwtScaleDiv& );
15 years ago
const QwtScaleDiv& scaleDiv() const;
void setScaleDivFromAxis( bool on );
15 years ago
bool isScaleDivFromAxis() const;
void setPalette( const QPalette & );
15 years ago
QPalette palette() const;
void setFont( const QFont& );
15 years ago
QFont font() const;
void setScaleDraw( QwtScaleDraw * );
15 years ago
const QwtScaleDraw *scaleDraw() const;
QwtScaleDraw *scaleDraw();
void setPosition( double pos );
15 years ago
double position() const;
void setBorderDistance( int numPixels );
15 years ago
int borderDistance() const;
void setAlignment( QwtScaleDraw::Alignment );
15 years ago
virtual void draw( QPainter *p,
const QwtScaleMap &xMap, const QwtScaleMap &yMap,
const QRectF &rect ) const;
15 years ago
virtual void updateScaleDiv( const QwtScaleDiv &, const QwtScaleDiv & );
15 years ago
private:
class PrivateData;
PrivateData *d_data;
};
#endif