/** * @RDE_HEADER@ * Interface of AbstractMapObject * $Id$ * $HeadURL$ * $Author$ */ #pragma once // Own #include #include #include "situation_map_export.h" // Qt //---------------------------------------------------------------------------- namespace SituationMap { class SITUATIONMAP_EXPORT OverlayHandlerImpl : public OverlayHandler { using BaseClass = SituationMap::OverlayHandler; public: /*! \name Construction, Destruction */ //@{ explicit OverlayHandlerImpl(Map *map); ~OverlayHandlerImpl(); OverlayHandlerImpl(const OverlayHandlerImpl &other) = delete; OverlayHandlerImpl &operator=(OverlayHandlerImpl &other) = delete; //@} QString toString() const; /*! \name Adding / Updating */ //@{ bool setOverlay(int key, const QString &name, const QByteArray &overlayContent, bool isSnapshot = false) override; QByteArray content(int key) const override; double minScale(int key) const override; bool setMinScale(int key, double minScale) override; double maxScale(int key) const override; bool setMaxScale(int key, double maxScale) override; double opacity(int key) const override; bool setOpacity(int key, double opacity) override; //@} bool reorderOverlays(const QVector &orderOfIds) override; /*! \name Visibility */ //@{ bool setOverlayVisibility(int key, bool visibility) override; bool overlayVisibility(int key) const override; //@} /*! \name Removing */ //@{ bool removeOverlay(int key) override; int removeAllOverlays() override; //@} /*! \name Retrieving */ //@{ int overlayCount() const override; QList overlays() const override; bool containsOverlay(int key) const override; // QString getOverlay(int key); //@} protected: LOGGER_T m_logger; ///< Interface of the Logging-Facility class Private; /** * The private d->pointer to not break BC when changing internals of this class */ Private *d = nullptr; }; //----------------------------------------------------------------------------- // output operator: //----------------------------------------------------------------------------- /** * @brief Output operator * @param stream used to stream into. * @param value to be streamed. * @return appended stream. */ SITUATIONMAP_EXPORT std::ostream &operator<< (std::ostream &stream, const OverlayHandlerImpl &value); } // namespace SituationMap