#ifndef ALTITUDEITEM_H #define ALTITUDEITEM_H #include #include #include #include "pointlatlng.h" #include "mapgraphicitem.h" #include "waypointitem.h" #include #include #include //#pragma execution_character_set("utf-8") namespace mapcontrol { //class OPMapWidget; #ifdef QtopmapWidget #include 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; } int Number(void) { return number; } static float max; static float min; private: MapGraphicItem *myMap; QColor myColor; QColor AltColor = "#00ff33"; QColor EleColor = "#ffcc00"; QMap Altitude;//离开地面高度 QMap Elevation;//离开海平面高度 int currentPoint = -1; bool isDragging; int number; QPointF pos_old; void Bezier(QPainter *painter); protected: void mouseMoveEvent(QGraphicsSceneMouseEvent *event); void mousePressEvent(QGraphicsSceneMouseEvent *event); void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event); public slots: void setCurrentPoint(int value); void setNumber(int value); void setElevation(QMap value); void setAltitude(QMap value); void RefreshPos(); void setOpacitySlot(qreal opacity); }; } //NAME SPACE #endif // ALTITUDEITEM_H