109 lines
2.5 KiB
C++
Executable File
109 lines
2.5 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Interface of AbstractMapObject
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
// Own
|
|
#include <Map/overlay_handler.h>
|
|
#include <Common/situation_map_logging.h>
|
|
#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<int> &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<int> 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
|
|
|