Files
qt5-legatus-legacy/Lts/Viewer/SituationMap/MapObjectsImpl/geo_image_impl.h
T
2026-08-13 18:33:10 +02:00

102 lines
2.4 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Interface-Implementation of GeoImage
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
// Own
#include "abstract_single_point_map_object_impl.h"
#include <MapObjects/geo_image.h> // 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 <typename> 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