/** * @RDE_HEADER@ * Interface-Implementation of GeoImage * $Id$ * $HeadURL$ * $Author$ */ #pragma once // Own #include "abstract_single_point_map_object_impl.h" #include // Interface // Qt //---------------------------------------------------------------------------- namespace SituationMap { // inherent 'public', to get that implementation // inherent 'public virtual' to get that interface class SITUATIONMAPOBJECTS_EXPORT GeoImageImpl : public AbstractSinglePointMapObjectImpl, public virtual GeoImage { using BaseClass = AbstractSinglePointMapObjectImpl; template friend class GenericObjectFactory; protected: explicit GeoImageImpl(const QString &debugInfo = QString()); virtual ~GeoImageImpl(); public: GeoImageImpl(const GeoImageImpl &other) = delete; GeoImageImpl &operator=(GeoImageImpl &other) = delete; QString toString() const override; GeoImageData geoImageData() const override; void setGeoImageData(const GeoImageData &geoImageData) override; MarkerSymbolType proxyMarker() const override; void setProxyMarker(const MarkerSymbolType &proxyMarker) override; int proxyMarkerSize() const override; void setProxyMarkerSize(int proxyMarkerSize) override; QColor proxyMarkerColor() const override; void setProxyMarkerColor(const QColor &proxyMarkerColor) override; QImage proxyImage() const override; QSize proxyImageDefaultSize() const override; void setProxyImage(const QImage &proxyImage, const QSize &proxyImageDefaultSize) override; QImage mainImage() const override; void setMainImage(const QImage &mainImage) override; QImage previewImageTypical() const override; QString description() const override; void setDescription(const QString &description) override; void setPinEnabled(bool enablePin) override; bool isPinEnabled() const override; QWidget *createWidget(QWidget *parent = nullptr) const override; protected: virtual bool updateViewImpl() override; friend class MapImpl; bool init(MapImpl *mapImpl, const QString &logicalLayerName) override; bool onMapExtentChanged() override; // internal/admin // logical class Private; /** * The private d-pointer to not break BC when changing internals of this class */ Private *d = nullptr; private: LOGGER_T m_logger; ///< Interface of the Logging-Facility }; } // namespace SituationMap