/** * @RDE_HEADER@ * Interface of ObjectIndicator * $Id$ * $HeadURL$ * $Author$ */ #pragma once // Own #include "situation_map_types.h" #include // Qt #include //---------------------------------------------------------------------------- namespace SituationMap { /** * @brief The ObjectIndicator class creating a ObjectIndicator. */ class SITUATIONMAP_EXPORT ObjectIndicator { protected: ObjectIndicator() = default; ///< Contructor virtual ~ObjectIndicator() = default; ///< Destructor public: ObjectIndicator(const ObjectIndicator &other) = delete; ObjectIndicator &operator=(ObjectIndicator &other) = delete; /*! \name Specific data*/ //@{ /** * @brief Get uniqueId of mapObjectToPointTo * @return uniqueId of the object to be pointed to. */ virtual UniqueMapId mapObjectToPointTo() = 0; /** * @brief Set uniqueId of object should to be pointed to. * @param uniqueId of the object to be pointed to. */ virtual void setMapObjectToPointTo(const UniqueMapId &uniqueId, bool selected = false, int lifetimeMsec = -1) = 0; virtual void setPointToPointTo(const QPointF &targetGeo, int lifetimeMsec = -1) = 0; /** * @brief Remove the indicator * @return True on success, otherwise false. */ virtual void remove() = 0; //@} }; } // namespace SituationMap