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

131 lines
3.4 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_MARKER_H
#define QWT_PLOT_MARKER_H
#include <qpen.h>
#include <qfont.h>
#include <qstring.h>
#include <qbrush.h>
#include "qwt_global.h"
#include "qwt_plot_item.h"
class QRectF;
15 years ago
class QwtText;
class QwtSymbol;
/*!
\brief A class for drawing markers
A marker can be a horizontal line, a vertical line,
a symbol, a label or any combination of them, which can
be drawn around a center point inside a bounding rectangle.
The setSymbol() member assigns a symbol to the marker.
15 years ago
The symbol is drawn at the specified point.
With setLabel(), a label can be assigned to the marker.
The setLabelAlignment() member specifies where the label is
15 years ago
drawn. All the Align*-constants in Qt::AlignmentFlags (see Qt documentation)
are valid. The interpretation of the alignment depends on the marker's
line style. The alignment refers to the center point of
the marker, which means, for example, that the label would be printed
left above the center point if the alignment was set to
Qt::AlignLeft | Qt::AlignTop.
\note QwtPlotTextLabel is intended to align a text label
according to the geometry of canvas
( unrelated to plot coordinates )
15 years ago
*/
class QWT_EXPORT QwtPlotMarker: public QwtPlotItem
{
public:
/*!
Line styles.
\sa setLineStyle(), lineStyle()
15 years ago
*/
enum LineStyle
{
//! No line
NoLine,
//! A horizontal line
HLine,
//! A vertical line
VLine,
//! A crosshair
Cross
};
explicit QwtPlotMarker( const QString &title = QString::null );
explicit QwtPlotMarker( const QwtText &title );
15 years ago
virtual ~QwtPlotMarker();
virtual int rtti() const;
double xValue() const;
double yValue() const;
QPointF value() const;
15 years ago
void setXValue( double );
void setYValue( double );
void setValue( double, double );
void setValue( const QPointF & );
15 years ago
void setLineStyle( LineStyle st );
15 years ago
LineStyle lineStyle() const;
void setLinePen( const QColor &, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine );
void setLinePen( const QPen &p );
15 years ago
const QPen &linePen() const;
void setSymbol( const QwtSymbol * );
const QwtSymbol *symbol() const;
15 years ago
void setLabel( const QwtText& );
15 years ago
QwtText label() const;
void setLabelAlignment( Qt::Alignment );
15 years ago
Qt::Alignment labelAlignment() const;
void setLabelOrientation( Qt::Orientation );
Qt::Orientation labelOrientation() const;
void setSpacing( int );
int spacing() const;
virtual void draw( QPainter *p,
const QwtScaleMap &xMap, const QwtScaleMap &yMap,
const QRectF & ) const;
virtual QRectF boundingRect() const;
virtual QwtGraphic legendIcon( int index, const QSizeF & ) const;
protected:
virtual void drawLines( QPainter *,
const QRectF &, const QPointF & ) const;
virtual void drawLabel( QPainter *,
const QRectF &, const QPointF & ) const;
15 years ago
private:
15 years ago
class PrivateData;
PrivateData *d_data;
};
#endif