146 lines
3.4 KiB
C++
Executable File
146 lines
3.4 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* SymbolProperties
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
// Own
|
|
#include "advanced_symbology_export.h"
|
|
#include "symbol_dictionary_types.h"
|
|
|
|
|
|
// Qt
|
|
#include <QStringList>
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
namespace AdvancedSymbology
|
|
{
|
|
|
|
/**
|
|
* @brief The SymbolProperties class stores some symbol properties like name, keywords etc.
|
|
*/
|
|
class ADVANCED_SYMBOLOGY_EXPORT SymbolProperties
|
|
{
|
|
public:
|
|
SymbolProperties() = default;
|
|
// TODO: sidc: lowerCase vs. upperCase
|
|
|
|
|
|
/*! \name Basic functions*/
|
|
//@{
|
|
QString key() const;
|
|
void setKey(const QString &key);
|
|
|
|
QString name() const;
|
|
void setName(const QString &name);
|
|
|
|
QString category() const;
|
|
void setCategory(const QString &category);
|
|
|
|
QString symbolClass() const;
|
|
void setSymbolClass(const QString &symbolClass);
|
|
|
|
QStringList tags() const;
|
|
QString gctString() const;
|
|
void setTags(const QStringList &tags);
|
|
|
|
GeometryType geometryType() const;
|
|
void setGeometryType(const GeometryType &geometryType);
|
|
|
|
QString sidc() const;
|
|
void setSidc(const QString &sidc);
|
|
//@}
|
|
|
|
QString originalKey() const;
|
|
void setOriginalKey(const QString &originalKey);
|
|
|
|
|
|
/*! \name Convenience functions*/
|
|
//@{
|
|
QString key_SymbolSet() const;
|
|
QString key_Entity() const;
|
|
QString key_SymbolSetEntity() const;
|
|
//@}
|
|
|
|
/*! \name ColorToBeReplaced
|
|
* \note Some symbols (like ETS symbols) may have a certain color.
|
|
* This is to be replaced by concrete partyColor */
|
|
//@{
|
|
/**
|
|
* @brief colorToBeReplaced
|
|
* @return colorToBeReplaced
|
|
*/
|
|
|
|
QColor colorToBeReplaced() const;
|
|
/**
|
|
* @brief setColorToBeReplaced
|
|
* @param colorToBeReplaced
|
|
*/
|
|
void setColorToBeReplaced(const QColor &colorToBeReplaced);
|
|
//@}
|
|
|
|
|
|
// int minNumberOfPoints() const;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @brief operator== Compare two objects
|
|
* @param other to be compared with
|
|
* @return true if identical, otherwise false.
|
|
*/
|
|
bool operator==(const SymbolProperties &other) const
|
|
{
|
|
return ((this->m_key == other.m_key) &&
|
|
(this->m_name == other.m_name) &&
|
|
(this->m_category == other.m_category) &&
|
|
(this->m_symbolClass == other.m_symbolClass) &&
|
|
(this->m_tags == other.m_tags) &&
|
|
(this->m_geometryType == other.m_geometryType) &&
|
|
(this->m_sidc == other.m_sidc) &&
|
|
(this->m_originalKey == other.m_originalKey) &&
|
|
(this->m_colorToBeReplaced == other.m_colorToBeReplaced)
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @brief operator!= Compare two objects
|
|
* @param other to be compared with
|
|
* @return true if NOT identical, otherwise false.
|
|
*/
|
|
bool operator!=(const SymbolProperties &other) const
|
|
{
|
|
return !(*this == other);
|
|
}
|
|
|
|
|
|
private :
|
|
QString m_key;
|
|
QString m_name;
|
|
QString m_category;
|
|
QString m_symbolClass;
|
|
QStringList m_tags;
|
|
GeometryType m_geometryType = GeometryType::Undefined;
|
|
|
|
QString m_sidc;
|
|
QString m_originalKey;
|
|
|
|
QColor m_colorToBeReplaced; // color of ETS symbols to be replaced by concrete partyColor
|
|
|
|
};
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// output operator:
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
} // namespace AdvancedSymbology
|
|
|