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

152 lines
3.4 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Interface of AbstractMapObject
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
// Own
#include "situation_map_types.h"
#include <Common/situation_map_logging.h>
#include <situation_map_export.h>
#include <Symbology/symbol_dictionary.h>
// Qt
#include <QString>
#include <QSettings>
//----------------------------------------------------------------------------
namespace SituationMap
{
/**
* @brief The MapSettings class is reading some values from an ini file using the QSettings.
* The main use case is the class MapInitializer.
*/
class SITUATIONMAP_EXPORT MapSettings : public QObject
{
Q_OBJECT
public:
/*! \name Construction, Destruction */
//@{
/**
* @brief Constructor
* @param inifile_ABSOLUTE_Path to read
*/
explicit MapSettings(const QString &inifile_ABSOLUTE_Path, QObject *parent = nullptr);
/**
* @brief ~MapSettings destructor
*/
virtual ~MapSettings();
//@}
/**
* @brief Get filename
* @return filename
*/
QString filename() const;
/*! \name Functions for error handling */
//@{
bool hasErrors() const;
bool exists() const;
bool accessError() const;
bool formatError() const;
//@}
/*! \name Get values */
//@{
QString licenseStr() const;
QStringList licenseExtensions();
EsriNetworkCacheSettings networkCacheSettings();
QString symbologyTypeStr() const;
AdvancedSymbology::SymbologyType symbologyType() const;
QString extraSymbolDirectory() const;
QString basemapLayernamePrefix();
QString localMapFile();
QVector<QPair<QString, QString>> mapUrlsWithNames();
QStringList mapUrls();
QStringList sceneUrls();
QVector<QPair<QString, QString>> sceneUrlsWithNames();
QStringList sceneObjectUrls();
QStringList elevationUrls();
QStringList operationalLayers();
QString participantLayername();
QString operationalLayerForCubes();
QString centerPointMgrs() const;
double scale() const;
double minScale() const;
double maxScale() const;
double scaleHasVisibility() const;
double zoomFactorBase() const;
QString gridStr() const;
GridType gridType() const;
double animationDuration() const;
double rocketDuration() const;
bool addMapWidgets() const;
bool addSideBar() const;
QString viewshedUrl() const;
QColor rubberbandDrawColor() const;
QColor rubberbandFillColor() const;
QColor rubberbandHandleDrawColor() const;
QColor rubberbandHandleFillColor() const;
QColor rubberbandSelectionColor() const;
QColor rubberbandFrameColor() const;
QColor rubberbandFrameFillColor() const;
int rubberbandFrameHandleMargin() const;
QPoint rubberbandPreviewOffset() const;
unsigned int rubberbandPreviewSize() const;
unsigned int rubberbandPickingRatio() const;
unsigned int rubberbandLineHandleWidth() const;
//@}
QString toString() const;
protected:
QSettings m_settings;
LOGGER_T m_logger; ///< Interface of the Logging-Facility
};
//-----------------------------------------------------------------------------
// 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 MapSettings &value);
} // namespace SituationMap