68 lines
1.4 KiB
C++
68 lines
1.4 KiB
C++
#ifndef ALTITUDEITEM_H
|
|
#define ALTITUDEITEM_H
|
|
|
|
#include <QGraphicsItem>
|
|
#include <QPainter>
|
|
#include <QLabel>
|
|
#include "pointlatlng.h"
|
|
#include "mapgraphicitem.h"
|
|
#include "waypointitem.h"
|
|
#include <QObject>
|
|
#include <QPoint>
|
|
#include <QGraphicsSceneMouseEvent>
|
|
|
|
|
|
namespace mapcontrol {
|
|
|
|
|
|
#ifdef QtopmapWidget
|
|
#include <mapwidgetglobal.h>
|
|
class OPMAPWIDGETSHARED_EXPORT AltitudeItem : public QObject, public QGraphicsItem {
|
|
#else
|
|
class AltitudeItem : public QObject, public QGraphicsItem {
|
|
#endif
|
|
|
|
Q_OBJECT Q_INTERFACES(QGraphicsItem)
|
|
|
|
public:
|
|
AltitudeItem(MapGraphicItem *map, QColor background = Qt::green);
|
|
|
|
QRectF boundingRect() const;
|
|
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
|
|
void setColor(const QColor &color)
|
|
{
|
|
myColor = color;
|
|
}
|
|
private:
|
|
MapGraphicItem *myMap;
|
|
QColor myColor;
|
|
|
|
float max;
|
|
float min;
|
|
|
|
float Altitude;//离开地面高度
|
|
float Elevation;//离开海平面高度
|
|
|
|
|
|
bool isDragging;
|
|
|
|
protected:
|
|
|
|
void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
|
|
void mousePressEvent(QGraphicsSceneMouseEvent *event);
|
|
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
|
|
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
|
|
|
|
|
|
public slots:
|
|
|
|
|
|
void RefreshPos();
|
|
void setOpacitySlot(qreal opacity);
|
|
|
|
};
|
|
|
|
|
|
} //NAME SPACE
|
|
#endif // ALTITUDEITEM_H
|