Migrates ./Lts/Viewer successfully to Qt6

This commit is contained in:
torsten committed 2026-09-23 10:14:59 +02:00
1 parent cdb8c754e9
commit ed9fc51e7a
28 files changed
+250 -129

No files matched your search

@@ -185,9 +185,11 @@ IF(WIN32)
ELSE() ELSE()
# Linux: ArcGIS SDK Pfad konfigurieren (nur wenn BUILD_ARCGIS=ON) # Linux: ArcGIS SDK Pfad konfigurieren (nur wenn BUILD_ARCGIS=ON)
IF(BUILD_ARCGIS) IF(BUILD_ARCGIS)
# Use environment variable ARCGIS_ROOT if set, otherwise default to /repo/external/... # Use environment variable ARCGIS_ROOT if set, otherwise default to /workspace/external/... (Docker) or host path
IF(DEFINED ENV{ARCGIS_ROOT}) IF(DEFINED ENV{ARCGIS_ROOT})
SET(ARCGIS_SDK_DIR "$ENV{ARCGIS_ROOT}" CACHE STRING "ArcGIS Runtime SDK for Qt directory") SET(ARCGIS_SDK_DIR "$ENV{ARCGIS_ROOT}" CACHE STRING "ArcGIS Runtime SDK for Qt directory")
ELSEIF(EXISTS "/workspace/external/ArcGIS/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk")
SET(ARCGIS_SDK_DIR "/workspace/external/ArcGIS/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk" CACHE STRING "ArcGIS Runtime SDK for Qt directory")
ELSE() ELSE()
SET(ARCGIS_SDK_DIR "/repo/external/ArcGIS/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk" CACHE STRING "ArcGIS Runtime SDK for Qt directory") SET(ARCGIS_SDK_DIR "/repo/external/ArcGIS/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk" CACHE STRING "ArcGIS Runtime SDK for Qt directory")
ENDIF() ENDIF()
@@ -150,6 +150,8 @@ NGL_WRAP_UI(ltswidgets_SRCS
NGL_ADD_BIG_RESOURCES(ltswidgets_SRCS resources/lts_resources.qrc) NGL_ADD_BIG_RESOURCES(ltswidgets_SRCS resources/lts_resources.qrc)
NGL_ADD_LIBRARY(WS TOOLSWS TOOLSSV LtsWidgets SHARED ${ltswidgets_SRCS}) NGL_ADD_LIBRARY(WS TOOLSWS TOOLSSV LtsWidgets SHARED ${ltswidgets_SRCS})
# ui_requirement.h is not a UI file but regular C++ code - disable AUTOUIC
set_target_properties(LtsWidgets PROPERTIES AUTOUIC OFF)
NGL_TARGET_INCLUDE_DIRECTORIES(LtsWidgets NGL_TARGET_INCLUDE_DIRECTORIES(LtsWidgets
PUBLIC PUBLIC
@@ -162,6 +164,7 @@ NGL_TARGET_LINK_LIBRARIES(LtsWidgets
Qt6::Svg Qt6::Svg
ngltools ngltools
ngltranslator ngltranslator
NGLLogger
TabBarTabStyle TabBarTabStyle
LtsSessionData LtsSessionData
LtsUtilsSettings LtsUtilsSettings
@@ -24,7 +24,7 @@ DataDelegate::DataDelegate(QObject *parent)
QString DataDelegate::displayText(const QVariant &value, const QLocale &locale) const QString DataDelegate::displayText(const QVariant &value, const QLocale &locale) const
{ {
if (value.type() == QVariant::Type::DateTime) if (value.userType() == QMetaType::QDateTime)
return DTG::toString(value.toDateTime()); return DTG::toString(value.toDateTime());
return QStyledItemDelegate::displayText(value, locale); return QStyledItemDelegate::displayText(value, locale);
} }
@@ -35,6 +35,7 @@
#include <QtCore/QJsonArray> #include <QtCore/QJsonArray>
#include <QtCore/QJsonDocument> #include <QtCore/QJsonDocument>
#include <QtCore/QDebug> #include <QtCore/QDebug>
#include <utility>
/// get the list of visual index as they are display /// get the list of visual index as they are display
namespace LtsDataView namespace LtsDataView
@@ -1233,7 +1234,7 @@ void LtsDataView::slotCsvExport() // TODO: maybe save to dds (office/filemanagem
} }
} }
for (const int logicalIndex : qAsConst(colsHeader)) for (const int logicalIndex : std::as_const(colsHeader))
colsList.append(m_columnFilterProxy->headerData(logicalIndex, Qt::Horizontal).toString()); colsList.append(m_columnFilterProxy->headerData(logicalIndex, Qt::Horizontal).toString());
//qCritical() << "slotCsvExport: header colsList = " << colsList; //qCritical() << "slotCsvExport: header colsList = " << colsList;
@@ -1253,7 +1254,7 @@ void LtsDataView::slotCsvExport() // TODO: maybe save to dds (office/filemanagem
for (int row = 0; row < rows; ++row) for (int row = 0; row < rows; ++row)
{ {
colsList.clear(); colsList.clear();
for (const int logicalIndex : qAsConst(colsHeader)) for (const int logicalIndex : std::as_const(colsHeader))
colsList.append(m_columnFilterProxy->data(m_columnFilterProxy->index(row, logicalIndex)).toString()); colsList.append(m_columnFilterProxy->data(m_columnFilterProxy->index(row, logicalIndex)).toString());
// for (int col = 0; col < cols; col++) // for (int col = 0; col < cols; col++)
// if (m_ui->stackedWidget->currentIndex() != TABLE || !m_ui->tableView->isColumnHidden(col)) // if (m_ui->stackedWidget->currentIndex() != TABLE || !m_ui->tableView->isColumnHidden(col))
@@ -51,7 +51,7 @@ QVariant SearchModel::data(const QModelIndex &index, int role) const
return m_displayData.value(index.column()); return m_displayData.value(index.column());
case Qt::EditRole: // Editor Text case Qt::EditRole: // Editor Text
return m_columnFilters.value(index.column()); return m_columnFilters.value(index.column());
case Qt::TextColorRole: // Text-Color case Qt::ForegroundRole: // Text-Color
if (!m_columnFilters.contains(index.column())) if (!m_columnFilters.contains(index.column()))
return QGuiApplication::palette().color(QPalette::Disabled, QPalette::ButtonText); return QGuiApplication::palette().color(QPalette::Disabled, QPalette::ButtonText);
break; break;
@@ -16,6 +16,7 @@
// Qt // Qt
#include <QtCore/QDir> #include <QtCore/QDir>
#include <QtCore/QVector> #include <QtCore/QVector>
#include <utility>
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -38,7 +39,7 @@ QString getResourcePath()
pathsToSearch += QLatin1String("/usr/share/arcgis/resources"); pathsToSearch += QLatin1String("/usr/share/arcgis/resources");
#endif #endif
for (const QString &path : qAsConst(pathsToSearch)) for (const QString &path : std::as_const(pathsToSearch))
{ {
if (QDir(path).exists()) if (QDir(path).exists())
return path + QLatin1Char('/'); return path + QLatin1Char('/');
@@ -26,6 +26,7 @@
#include <QtCore/QJsonArray> #include <QtCore/QJsonArray>
#include <QNetworkProxy> #include <QNetworkProxy>
#include <QtWidgets/QMessageBox> #include <QtWidgets/QMessageBox>
#include <utility>
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -592,7 +593,7 @@ bool MapInitializer::initializeBasemapsQSettings(Mode mapMode)
bool success = true; bool success = true;
int localLayerCount = 0; int localLayerCount = 0;
// item => val, name // item => val, name
for (const QPair<QString, QString> &item : qAsConst(basemapUrls)) for (const QPair<QString, QString> &item : std::as_const(basemapUrls))
{ {
QString layername = QStringLiteral("%1%2").arg(m_map.layerFactory().basemapLayernamePrefix()).arg(localLayerCount); QString layername = QStringLiteral("%1%2").arg(m_map.layerFactory().basemapLayernamePrefix()).arg(localLayerCount);
@@ -658,7 +659,7 @@ bool MapInitializer::initializeBasemapsJson(const QVector<BaseUrl> &baseUrls)
bool success = true; bool success = true;
int localLayerCount = 0; int localLayerCount = 0;
for (const BaseUrl &baseUrl : qAsConst(baseUrls)) for (const BaseUrl &baseUrl : std::as_const(baseUrls))
{ {
const QString &layername = QStringLiteral("%1%2").arg(m_map.layerFactory().basemapLayernamePrefix()).arg(localLayerCount); const QString &layername = QStringLiteral("%1%2").arg(m_map.layerFactory().basemapLayernamePrefix()).arg(localLayerCount);
@@ -688,7 +689,7 @@ bool MapInitializer::initializeSceneObjectLayers()
return true; // handle as successful return true; // handle as successful
bool success = true; bool success = true;
for (const QString &item : qAsConst(sceneObjectUrls)) for (const QString &item : std::as_const(sceneObjectUrls))
{ {
QChar seperator(QLatin1Char('#')); QChar seperator(QLatin1Char('#'));
QStringList slUrlExt = item.split(seperator); QStringList slUrlExt = item.split(seperator);
@@ -730,7 +731,7 @@ bool MapInitializer::initializeSceneObjectLayersJson()
return true; // handle as successful return true; // handle as successful
bool success = true; bool success = true;
for (const BaseUrl &item : qAsConst(urls)) for (const BaseUrl &item : std::as_const(urls))
{ {
const QString &urlVal = item.url(); const QString &urlVal = item.url();
@@ -15,6 +15,7 @@
#include <QtCore/QJsonDocument> #include <QtCore/QJsonDocument>
#include <QtCore/QJsonObject> #include <QtCore/QJsonObject>
#include <QtCore/QJsonArray> #include <QtCore/QJsonArray>
#include <utility>
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -71,7 +72,7 @@ QJsonObject OperatorMapSettings::toJsonObject() const
// orderedLayers // orderedLayers
{ {
QJsonArray jArray; QJsonArray jArray;
for (const QPair<QString, LayerParameter> &pair : qAsConst(orderedLayers)) for (const QPair<QString, LayerParameter> &pair : std::as_const(orderedLayers))
{ {
const QString &layername = pair.first; const QString &layername = pair.first;
const LayerParameter &lp = pair.second; const LayerParameter &lp = pair.second;
@@ -19,6 +19,7 @@
#include <QtGui/QColor> #include <QtGui/QColor>
#include <QtCore/QList> #include <QtCore/QList>
#include <QtCore/QPointF> #include <QtCore/QPointF>
#include <utility>
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -306,7 +307,7 @@ inline PositionCont convert2D3D(const QList<QPointF> &lst)
{ {
PositionCont posCont; PositionCont posCont;
posCont.reserve(lst.size()); posCont.reserve(lst.size());
for (auto i : qAsConst(lst) ) for (auto i : std::as_const(lst) )
posCont.append(Point3D::fromQPointF(i)); posCont.append(Point3D::fromQPointF(i));
return posCont; return posCont;
} }
@@ -315,7 +316,7 @@ inline PositionCont convert2D3D(const QVector<QPointF> &vec)
{ {
PositionCont posCont; PositionCont posCont;
posCont.reserve(vec.size()); posCont.reserve(vec.size());
for (auto i : qAsConst(vec) ) for (auto i : std::as_const(vec) )
posCont.append(Point3D::fromQPointF(i)); posCont.append(Point3D::fromQPointF(i));
return posCont; return posCont;
} }
@@ -10,6 +10,8 @@
#include "sidc_builder.h" #include "sidc_builder.h"
#include "sidc_codec.h" #include "sidc_codec.h"
#include <QStringView>
// 1234567890 // 1234567890
qint32 AdvancedSymbology::SidcBuilder::_smallest = 1000000000; qint32 AdvancedSymbology::SidcBuilder::_smallest = 1000000000;
@@ -73,7 +75,7 @@ void SidcBuilder::setStandardIdentity(const SidcDefinitions::StandardIdentity &s
SidcDefinitions::Context SidcBuilder::context() const SidcDefinitions::Context SidcBuilder::context() const
{ {
return static_cast<Context>(QStringRef(&m_first10_mil2525D, 2, 1).toInt()); return static_cast<Context>(QStringView(m_first10_mil2525D).slice(2, 1).toInt());
} }
void SidcBuilder::setContext(SidcDefinitions::Context context) void SidcBuilder::setContext(SidcDefinitions::Context context)
{ {
@@ -81,7 +83,7 @@ void SidcBuilder::setContext(SidcDefinitions::Context context)
} }
SidcDefinitions::Identity SidcBuilder::identity() const SidcDefinitions::Identity SidcBuilder::identity() const
{ {
return static_cast<Identity>(QStringRef(&m_first10_mil2525D, 3, 1).toInt()); return static_cast<Identity>(QStringView(m_first10_mil2525D).slice(3, 1).toInt());
} }
void SidcBuilder::setIdentity(SidcDefinitions::Identity identity) void SidcBuilder::setIdentity(SidcDefinitions::Identity identity)
@@ -110,7 +112,7 @@ bool SidcBuilder::isIdentityAssumed() const
SidcDefinitions::SymbolSet SidcBuilder::symbolSet() const SidcDefinitions::SymbolSet SidcBuilder::symbolSet() const
{ {
SymbolSet sset = static_cast<SymbolSet>(QStringRef(&m_first10_mil2525D, 4, 2).toString().toInt()); SymbolSet sset = static_cast<SymbolSet>(QStringView(m_first10_mil2525D).slice(4, 2).toString().toInt());
return sset; return sset;
} }
void SidcBuilder::setSymbolSet(const SymbolSet &symbolSet) void SidcBuilder::setSymbolSet(const SymbolSet &symbolSet)
@@ -121,7 +123,7 @@ void SidcBuilder::setSymbolSet(const SymbolSet &symbolSet)
SidcDefinitions::Status SidcBuilder::status() const SidcDefinitions::Status SidcBuilder::status() const
{ {
Status status = static_cast<Status>(QStringRef(&m_first10_mil2525D, 6, 1).toInt()); Status status = static_cast<Status>(QStringView(m_first10_mil2525D).slice(6, 1).toInt());
return status; return status;
} }
@@ -154,7 +156,7 @@ void SidcBuilder::setSymbolEntityCode(const QString &entityCode)
SidcDefinitions::HQTFDummy SidcBuilder::hqTfFd() const SidcDefinitions::HQTFDummy SidcBuilder::hqTfFd() const
{ {
HQTFDummy hdtffd = static_cast<HQTFDummy>(QStringRef(&m_first10_mil2525D, 7, 1).toInt()); HQTFDummy hdtffd = static_cast<HQTFDummy>(QStringView(m_first10_mil2525D).slice(7, 1).toInt());
return hdtffd; return hdtffd;
} }
@@ -198,7 +200,7 @@ bool SidcBuilder::feintDummy() const
SidcDefinitions::AmplifierGroup SidcBuilder::amplifierGroup() const SidcDefinitions::AmplifierGroup SidcBuilder::amplifierGroup() const
{ {
AmplifierGroup amplifierGroup = static_cast<AmplifierGroup>(QStringRef(&m_first10_mil2525D, 8, 1).toInt()); AmplifierGroup amplifierGroup = static_cast<AmplifierGroup>(QStringView(m_first10_mil2525D).slice(8, 1).toInt());
return amplifierGroup; return amplifierGroup;
} }
void SidcBuilder::setAmplifierGroup(const AmplifierGroup &amplifierGroup) void SidcBuilder::setAmplifierGroup(const AmplifierGroup &amplifierGroup)
@@ -208,7 +210,7 @@ void SidcBuilder::setAmplifierGroup(const AmplifierGroup &amplifierGroup)
unsigned int SidcBuilder::amplifier2ndDigit() const unsigned int SidcBuilder::amplifier2ndDigit() const
{ {
return QStringRef(&m_first10_mil2525D, 9, 1).toUInt(); return QStringView(m_first10_mil2525D).slice(9, 1).toUInt();
} // unsigned int SidcBuilder::amplifier2ndDigit() const } // unsigned int SidcBuilder::amplifier2ndDigit() const
@@ -220,13 +222,13 @@ void SidcBuilder::setAmplifier2ndDigit(unsigned int amplifierSecondDigit)
unsigned int SidcBuilder::sectorModifier1Digit() unsigned int SidcBuilder::sectorModifier1Digit()
{ {
return QStringRef(&m_second10_mil2525D, 6, 2).toUInt(); return QStringView(m_second10_mil2525D).slice(6, 2).toUInt();
} // unsigned int SidcBuilder::sectorModifier1Digit() } // unsigned int SidcBuilder::sectorModifier1Digit()
unsigned int SidcBuilder::sectorModifier2Digit() unsigned int SidcBuilder::sectorModifier2Digit()
{ {
return QStringRef(&m_second10_mil2525D, 8, 2).toUInt(); return QStringView(m_second10_mil2525D).slice(8, 2).toUInt();
} // unsigned int SidcBuilder::sectorModifier2Digit() } // unsigned int SidcBuilder::sectorModifier2Digit()
@@ -311,7 +313,7 @@ bool SidcBuilder::initFromSymbologyType(SymbologyType symbologyType, const QStri
} }
// check version // check version
if (QStringRef(&rawSidc, 0, 2) != QLatin1String("10")) if (QStringView(rawSidc).slice(0, 2) != QLatin1String("10"))
{ {
ERROR_LOG(m_logger) << LOGFUNCTION ERROR_LOG(m_logger) << LOGFUNCTION
<< " sidc='" << sidc << "'" << " sidc='" << sidc << "'"
@@ -369,7 +371,7 @@ bool SidcBuilder::initFromSymbologyTypeBaseSymbolCode(SymbologyType symbologyTyp
init(); init();
// set SymbolSet: // set SymbolSet:
SymbolSet sSet = static_cast<SymbolSet>(QStringRef(&rawBaseSymbolCode, 0, 2).toInt()); SymbolSet sSet = static_cast<SymbolSet>(QStringView(rawBaseSymbolCode).slice(0, 2).toInt());
this->setSymbolSet(sSet); this->setSymbolSet(sSet);
// set Entity: // set Entity:
@@ -16,6 +16,7 @@
// Qt // Qt
#include <QtCore/QDebug> #include <QtCore/QDebug>
#include <QtCore/QRegularExpression> #include <QtCore/QRegularExpression>
#include <QStringView>
namespace AdvancedSymbology namespace AdvancedSymbology
@@ -162,8 +163,8 @@ QString SidcBuilderBase::concreteSidcToBaseSymbolCode(const QString &sidcCodec)
return QString(); return QString();
QString baseSymbolCode( QString baseSymbolCode(
QStringRef(&rawSidc, 4, 2).toString() + QStringView(rawSidc).slice(4, 2).toString() +
QStringRef(&rawSidc, 10, 6).toString()); QStringView(rawSidc).slice(10, 6).toString());
return SidcCodec::encodeBaseSymbolCode(symbologyType, baseSymbolCode); return SidcCodec::encodeBaseSymbolCode(symbologyType, baseSymbolCode);
} break; } break;
@@ -39,7 +39,7 @@ QString encode(SymbologyType symbologyType)
return QLatin1String("EROR"); return QLatin1String("EROR");
} }
SymbologyType decodeSymbology(const QStringRef &symbologyTypeStr) SymbologyType decodeSymbology(const QStringView &symbologyTypeStr)
{ {
SymbologyType symbologyType = SymbologyType::None; SymbologyType symbologyType = SymbologyType::None;
if (symbologyTypeStr.compare(QLatin1String("NONE")) == 0) symbologyType = SymbologyType::None; if (symbologyTypeStr.compare(QLatin1String("NONE")) == 0) symbologyType = SymbologyType::None;
@@ -63,7 +63,7 @@ QString encode(SidcCodec::SidcType sidcType)
return QLatin1String("EROR"); return QLatin1String("EROR");
} }
SidcCodec::SidcType decodeSidc(const QStringRef &sidcTypeStr) SidcCodec::SidcType decodeSidc(const QStringView &sidcTypeStr)
{ {
SidcCodec::SidcType symbologyType = SidcCodec::SidcType::None; SidcCodec::SidcType symbologyType = SidcCodec::SidcType::None;
if ( sidcTypeStr.compare(QLatin1String("NONE")) == 0) symbologyType = SidcCodec::SidcType::None; if ( sidcTypeStr.compare(QLatin1String("NONE")) == 0) symbologyType = SidcCodec::SidcType::None;
@@ -92,9 +92,9 @@ bool SidcCodec::checkSidcSyntax(const QString &encodedSidc)
{ {
if (!isEncoded(encodedSidc)) return false; if (!isEncoded(encodedSidc)) return false;
SidcCodec::SidcType sidcType = SidcCodecHelper::decodeSidc(QStringRef(&encodedSidc, 5, 4)); SidcCodec::SidcType sidcType = SidcCodecHelper::decodeSidc(QStringView(encodedSidc).slice(5, 4));
const QStringRef symbologyTypeStr(&encodedSidc, 0, 4); const QStringView symbologyTypeStr = QStringView(encodedSidc).slice(0, 4);
if (symbologyTypeStr.compare(QLatin1String("NONE")) == 0) return true; if (symbologyTypeStr.compare(QLatin1String("NONE")) == 0) return true;
else if (symbologyTypeStr.compare(QLatin1String("AP6B")) == 0) return true; else if (symbologyTypeStr.compare(QLatin1String("AP6B")) == 0) return true;
@@ -156,18 +156,18 @@ int SidcCodec::decodeCivilXml(const QString &civilSidc)
// //
// DECODE // DECODE
// //
// QStringRef(const QString *string, int position, int size); // QStringView(const QString &string, int position, int size);
// QString mid(int position, int n = -1) const Q_REQUIRED_RESULT; // QString mid(int position, int n = -1) const Q_REQUIRED_RESULT;
// //
SymbologyType SidcCodec::decodeSymbologyType(const QString &encodedSidc) SymbologyType SidcCodec::decodeSymbologyType(const QString &encodedSidc)
{ {
return SidcCodecHelper::decodeSymbology(QStringRef(&encodedSidc, 0, 4)); return SidcCodecHelper::decodeSymbology(QStringView(encodedSidc).slice(0, 4));
} }
SidcCodec::SidcType SidcCodec::decodeSidcType(const QString &encodedSidc) SidcCodec::SidcType SidcCodec::decodeSidcType(const QString &encodedSidc)
{ {
return SidcCodecHelper::decodeSidc(QStringRef(&encodedSidc, 5, 4)); return SidcCodecHelper::decodeSidc(QStringView(encodedSidc).slice(5, 4));
} }
QString SidcCodec::decodeRawSidc(const QString &encodedSidc) QString SidcCodec::decodeRawSidc(const QString &encodedSidc)
@@ -202,19 +202,19 @@ QString SidcCodec::extractCivilXmlBaseSidc( const QString &sidc )
// //
// Some convenience functions // Some convenience functions
QString SidcCodec::encodeBaseSymbolCode(SymbologyType symbologyType, const QStringRef &baseSymboCodeSidc) { return encodeBaseSymbolCode(symbologyType, *baseSymboCodeSidc.string()); } QString SidcCodec::encodeBaseSymbolCode(SymbologyType symbologyType, const QStringView &baseSymboCodeSidc) { return encodeBaseSymbolCode(symbologyType, baseSymboCodeSidc.toString()); }
QString SidcCodec::encodeBaseSymbolCode(SymbologyType symbologyType, const std::string &baseSymboCodeSidc) { return encodeBaseSymbolCode(symbologyType, QString::fromStdString(baseSymboCodeSidc));} QString SidcCodec::encodeBaseSymbolCode(SymbologyType symbologyType, const std::string &baseSymboCodeSidc) { return encodeBaseSymbolCode(symbologyType, QString::fromStdString(baseSymboCodeSidc));}
QString SidcCodec::encodeBaseSymbolCode(SymbologyType symbologyType, const char *baseSymboCodeSidc) { return encodeBaseSymbolCode(symbologyType, QString::fromLatin1(baseSymboCodeSidc));} QString SidcCodec::encodeBaseSymbolCode(SymbologyType symbologyType, const char *baseSymboCodeSidc) { return encodeBaseSymbolCode(symbologyType, QString::fromLatin1(baseSymboCodeSidc));}
QString SidcCodec::encodeComplete(SymbologyType symbologyType, const QStringRef &completeSidc) { return encodeComplete(symbologyType, *completeSidc.string());} QString SidcCodec::encodeComplete(SymbologyType symbologyType, const QStringView &completeSidc) { return encodeComplete(symbologyType, completeSidc.toString());}
QString SidcCodec::encodeComplete(SymbologyType symbologyType, const std::string &completeSidc) { return encodeComplete(symbologyType, QString::fromStdString(completeSidc)); } QString SidcCodec::encodeComplete(SymbologyType symbologyType, const std::string &completeSidc) { return encodeComplete(symbologyType, QString::fromStdString(completeSidc)); }
QString SidcCodec::encodeComplete(SymbologyType symbologyType, const char *completeSidc) { return encodeComplete(symbologyType, QString::fromLatin1(completeSidc)); } QString SidcCodec::encodeComplete(SymbologyType symbologyType, const char *completeSidc) { return encodeComplete(symbologyType, QString::fromLatin1(completeSidc)); }
QString SidcCodec::encodeCivilEts(const QStringRef &civilSidc) { return encodeCivilEts(*civilSidc.string());} QString SidcCodec::encodeCivilEts(const QStringView &civilSidc) { return encodeCivilEts(civilSidc.toString());}
QString SidcCodec::encodeCivilEts(const std::string &civilSidc) { return encodeCivilEts(QString::fromStdString(civilSidc)); } QString SidcCodec::encodeCivilEts(const std::string &civilSidc) { return encodeCivilEts(QString::fromStdString(civilSidc)); }
QString SidcCodec::encodeCivilEts(const char *civilSidc) { return encodeCivilEts(QString::fromLatin1(civilSidc)); } QString SidcCodec::encodeCivilEts(const char *civilSidc) { return encodeCivilEts(QString::fromLatin1(civilSidc)); }
QString SidcCodec::encodeCivilXml(const QStringRef &civilSidc) { return encodeCivilXml(*civilSidc.string());} QString SidcCodec::encodeCivilXml(const QStringView &civilSidc) { return encodeCivilXml(civilSidc.toString());}
QString SidcCodec::encodeCivilXml(const std::string &civilSidc) { return encodeCivilXml(QString::fromStdString(civilSidc)); } QString SidcCodec::encodeCivilXml(const std::string &civilSidc) { return encodeCivilXml(QString::fromStdString(civilSidc)); }
QString SidcCodec::encodeCivilXml(const char *civilSidc) { return encodeCivilXml(QString::fromLatin1(civilSidc)); } QString SidcCodec::encodeCivilXml(const char *civilSidc) { return encodeCivilXml(QString::fromLatin1(civilSidc)); }
@@ -16,7 +16,7 @@
// Qt // Qt
#include <QtCore/QHash> #include <QtCore/QHash>
#include <QtCore/QString> #include <QtCore/QString>
#include <QStringRef> #include <QStringView>
namespace AdvancedSymbology namespace AdvancedSymbology
{ {
@@ -121,10 +121,10 @@ ADVANCED_SYMBOLOGY_EXPORT int decodeCivilXml(const QString &civilSidc)
* Some convience functions ... * Some convience functions ...
* @{ * @{
*/ */
ADVANCED_SYMBOLOGY_EXPORT QString encodeBaseSymbolCode(SymbologyType symbologyType, const QStringRef &baseSymboCodeSidc); ADVANCED_SYMBOLOGY_EXPORT QString encodeBaseSymbolCode(SymbologyType symbologyType, const QStringView &baseSymboCodeSidc);
ADVANCED_SYMBOLOGY_EXPORT QString encodeComplete(SymbologyType symbologyType, const QStringRef &completeSidc); ADVANCED_SYMBOLOGY_EXPORT QString encodeComplete(SymbologyType symbologyType, const QStringView &completeSidc);
ADVANCED_SYMBOLOGY_EXPORT QString encodeCivilEts(const QStringRef &civilSidc); ADVANCED_SYMBOLOGY_EXPORT QString encodeCivilEts(const QStringView &civilSidc);
ADVANCED_SYMBOLOGY_EXPORT QString encodeCivilXml(const QStringRef &civilSidc); ADVANCED_SYMBOLOGY_EXPORT QString encodeCivilXml(const QStringView &civilSidc);
ADVANCED_SYMBOLOGY_EXPORT QString encodeBaseSymbolCode(SymbologyType symbologyType, const std::string &baseSymboCodeSidc); ADVANCED_SYMBOLOGY_EXPORT QString encodeBaseSymbolCode(SymbologyType symbologyType, const std::string &baseSymboCodeSidc);
ADVANCED_SYMBOLOGY_EXPORT QString encodeComplete(SymbologyType symbologyType, const std::string &completeSidc); ADVANCED_SYMBOLOGY_EXPORT QString encodeComplete(SymbologyType symbologyType, const std::string &completeSidc);
@@ -15,7 +15,7 @@
// Qt // Qt
#include <QStringRef> #include <QStringView>
namespace AdvancedSymbology namespace AdvancedSymbology
@@ -117,20 +117,20 @@ void SymbolProperties::setOriginalKey(const QString &originalKey)
QString SymbolProperties::key_SymbolSet() const QString SymbolProperties::key_SymbolSet() const
{ {
if (m_key.count() < 8) if (m_key.size() < 8)
return QString(); return QString();
return QStringRef(&m_key, 0, 2).toString(); return QStringView(m_key).slice(0, 2).toString();
} }
QString SymbolProperties::key_Entity() const QString SymbolProperties::key_Entity() const
{ {
if (m_key.count() < 8) if (m_key.size() < 8)
return QString(); return QString();
return QStringRef(&m_key, 2, 6).toString(); return QStringView(m_key).slice(2, 6).toString();
} }
QString SymbolProperties::key_SymbolSetEntity() const QString SymbolProperties::key_SymbolSetEntity() const
{ {
if (m_key.count() < 8) if (m_key.size() < 8)
return QString(); return QString();
return key_SymbolSet() + key_Entity(); return key_SymbolSet() + key_Entity();
@@ -18,8 +18,8 @@
// arcgis // arcgis
#include <arcgis/TaskWatcher.h> #include <TaskWatcher.h>
#include <arcgis/DictionarySymbolStyle.h> #include <DictionarySymbolStyle.h>
// Qt // Qt
@@ -28,6 +28,7 @@
#include <QtCore/QUuid> #include <QtCore/QUuid>
#include <QtCore/QByteArray> #include <QtCore/QByteArray>
#include <QtCore/QBuffer> #include <QtCore/QBuffer>
#include <utility>
#include <QMimeData> #include <QMimeData>
#include <QtCore/QTimer> #include <QtCore/QTimer>
@@ -441,7 +442,7 @@ void BaseSymbolModel::initModel(SymbolDictionary *symbolDictionary,
int itemCounter = 0; int itemCounter = 0;
QVector<DATA_T> vecData; QVector<DATA_T> vecData;
vecData.reserve(searchResultList.size()); vecData.reserve(searchResultList.size());
for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &searchResult : qAsConst(searchResultList)) for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &searchResult : std::as_const(searchResultList))
{ {
GeometryType gt = GeometryType::Undefined; GeometryType gt = GeometryType::Undefined;
auto it = baseSymbolCodeToSymbolPropertyTable.find(searchResult.key().left(8)); auto it = baseSymbolCodeToSymbolPropertyTable.find(searchResult.key().left(8));
@@ -593,7 +594,7 @@ QVariant BaseSymbolModel::headerData(int section, Qt::Orientation orientation, i
cfc.sortItems = true; cfc.sortItems = true;
cfc.data.reserve(d->m_usedOperator.size()); cfc.data.reserve(d->m_usedOperator.size());
LtsWidgets::ComboboxFilterData cfd; LtsWidgets::ComboboxFilterData cfd;
for (const QString &opName : qAsConst(d->m_usedOperator)) for (const QString &opName : std::as_const(d->m_usedOperator))
{ {
cfd.data = opName; cfd.data = opName;
cfd.text = opName; cfd.text = opName;
@@ -606,7 +607,7 @@ QVariant BaseSymbolModel::headerData(int section, Qt::Orientation orientation, i
LtsWidgets::ComboboxFilterContent cfc; LtsWidgets::ComboboxFilterContent cfc;
cfc.data.reserve(d->m_usedSymbolSet.size()); cfc.data.reserve(d->m_usedSymbolSet.size());
LtsWidgets::ComboboxFilterData cfd; LtsWidgets::ComboboxFilterData cfd;
for (const auto &symSet : qAsConst(d->m_usedSymbolSet)) for (const auto &symSet : std::as_const(d->m_usedSymbolSet))
{ {
cfd.data = symSet; cfd.data = symSet;
cfd.text = symSet; cfd.text = symSet;
@@ -619,7 +620,7 @@ QVariant BaseSymbolModel::headerData(int section, Qt::Orientation orientation, i
LtsWidgets::ComboboxFilterContent cfc; LtsWidgets::ComboboxFilterContent cfc;
cfc.data.reserve(d->m_usedSymbolClass.size()); cfc.data.reserve(d->m_usedSymbolClass.size());
LtsWidgets::ComboboxFilterData cfd; LtsWidgets::ComboboxFilterData cfd;
for (const auto &sc : qAsConst(d->m_usedSymbolClass)) for (const auto &sc : std::as_const(d->m_usedSymbolClass))
{ {
cfd.data = sc; cfd.data = sc;
cfd.text = sc; cfd.text = sc;
@@ -633,7 +634,7 @@ QVariant BaseSymbolModel::headerData(int section, Qt::Orientation orientation, i
cfc.sortItems = true; cfc.sortItems = true;
cfc.data.reserve(d->m_usedXmlSymbolScale.size()); cfc.data.reserve(d->m_usedXmlSymbolScale.size());
LtsWidgets::ComboboxFilterData cfd; LtsWidgets::ComboboxFilterData cfd;
for (const auto &symScale : qAsConst(d->m_usedXmlSymbolScale)) for (const auto &symScale : std::as_const(d->m_usedXmlSymbolScale))
{ {
cfd.data = symScale; cfd.data = symScale;
cfd.text = QString::number(symScale); cfd.text = QString::number(symScale);
@@ -646,7 +647,7 @@ QVariant BaseSymbolModel::headerData(int section, Qt::Orientation orientation, i
LtsWidgets::ComboboxFilterContent cfc; LtsWidgets::ComboboxFilterContent cfc;
cfc.data.reserve(d->m_usedGeometryTypes.size()); cfc.data.reserve(d->m_usedGeometryTypes.size());
LtsWidgets::ComboboxFilterData cfd; LtsWidgets::ComboboxFilterData cfd;
for (const AdvancedSymbology::GeometryType &gt : qAsConst(d->m_usedGeometryTypes)) for (const AdvancedSymbology::GeometryType &gt : std::as_const(d->m_usedGeometryTypes))
{ {
cfd.data = (int)gt; cfd.data = (int)gt;
cfd.text = geometryTypeToDisplayString(gt); cfd.text = geometryTypeToDisplayString(gt);
@@ -660,7 +661,7 @@ QVariant BaseSymbolModel::headerData(int section, Qt::Orientation orientation, i
cfc.sortItems = true; cfc.sortItems = true;
cfc.data.reserve(d->m_usedCategory.size()); cfc.data.reserve(d->m_usedCategory.size());
LtsWidgets::ComboboxFilterData cfd; LtsWidgets::ComboboxFilterData cfd;
for (const auto &cat : qAsConst(d->m_usedCategory)) for (const auto &cat : std::as_const(d->m_usedCategory))
{ {
cfd.data = cat; cfd.data = cat;
cfd.text = cat; cfd.text = cat;
@@ -674,7 +675,7 @@ QVariant BaseSymbolModel::headerData(int section, Qt::Orientation orientation, i
cfc.sortItems = true; cfc.sortItems = true;
cfc.data.reserve(d->m_usedGctStrings.size()); cfc.data.reserve(d->m_usedGctStrings.size());
LtsWidgets::ComboboxFilterData cfd; LtsWidgets::ComboboxFilterData cfd;
for (const auto &gctStr : qAsConst(d->m_usedGctStrings)) for (const auto &gctStr : std::as_const(d->m_usedGctStrings))
{ {
cfd.data = gctStr; cfd.data = gctStr;
cfd.text = gctStr; cfd.text = gctStr;
@@ -922,7 +923,7 @@ void BaseSymbolModel::onUpdateUsedItemsForComboBox()
d->m_usedCategory.clear(); d->m_usedCategory.clear();
d->m_usedGctStrings.clear(); d->m_usedGctStrings.clear();
for (const QSharedPointer<BaseSymbolItem> &item : qAsConst(m_vecData)) for (const QSharedPointer<BaseSymbolItem> &item : std::as_const(m_vecData))
{ {
if (!item) if (!item)
continue; continue;
@@ -944,7 +945,7 @@ SymbolProperties BaseSymbolModel::symbolProperties(const QString &baseSymbolCode
// bisher aus m_baseSymbolCodeToSymbolPropertyTable beantwortet: // bisher aus m_baseSymbolCodeToSymbolPropertyTable beantwortet:
SymbolProperties symbolProperties; SymbolProperties symbolProperties;
for (const auto &item : qAsConst(m_vecData)) for (const auto &item : std::as_const(m_vecData))
{ {
if (item->baseSymbolCode() != baseSymbolCode) if (item->baseSymbolCode() != baseSymbolCode)
continue; continue;
@@ -19,13 +19,13 @@
// ESRI // ESRI
#include <arcgis/Symbol.h> #include <Symbol.h>
#include <arcgis/Loadable.h> #include <Loadable.h>
#include <arcgis/DictionarySymbolStyle.h> #include <DictionarySymbolStyle.h>
#include <arcgis/SymbolStyleSearchParameters.h> #include <SymbolStyleSearchParameters.h>
#include <arcgis/SymbolStyleSearchResultListModel.h> #include <SymbolStyleSearchResultListModel.h>
#include <arcgis/SymbolStyleSearchResult.h> #include <SymbolStyleSearchResult.h>
// XML: // XML:
#include <SymbologyXML/symbol.h> #include <SymbologyXML/symbol.h>
@@ -14,15 +14,16 @@
// ESRI // ESRI
#include <arcgis/TaskWatcher.h> #include <TaskWatcher.h>
#include <arcgis/Symbol.h> #include <Symbol.h>
#include <arcgis/SymbolStyleSearchParameters.h> #include <SymbolStyleSearchParameters.h>
#include <arcgis/SymbolStyleSearchResultListModel.h> #include <SymbolStyleSearchResultListModel.h>
#include <arcgis/SymbolStyleSearchResult.h> #include <SymbolStyleSearchResult.h>
// Qt // Qt
#include <QtConcurrent> #include <QtConcurrent>
#include <utility>
#include <QtCore/QFuture> #include <QtCore/QFuture>
#define CREATE_ESRI_SYMBOL_ON_DEMAND // save time on startup #define CREATE_ESRI_SYMBOL_ON_DEMAND // save time on startup
@@ -291,7 +292,7 @@ void EsriDictionaryProcessor::syncTableWithinMainThread()
TRACE_LOG(m_logger) << LOGFUNCTION << " START"; TRACE_LOG(m_logger) << LOGFUNCTION << " START";
// for ALL searchResuls (for valid baseSymbolCodes, for modifierTable...) // for ALL searchResuls (for valid baseSymbolCodes, for modifierTable...)
for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : qAsConst(m_searchResultList)) for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : std::as_const(m_searchResultList))
{ {
const QString &originalKey = resultItem.key(); const QString &originalKey = resultItem.key();
@@ -19,7 +19,7 @@
// Esri // Esri
#include <arcgis/DictionarySymbolStyle.h> #include <DictionarySymbolStyle.h>
@@ -16,6 +16,7 @@
// Qt // Qt
#include <QtConcurrent> #include <QtConcurrent>
#include <QtCore/QFuture> #include <QtCore/QFuture>
#include <utility>
namespace AdvancedSymbology namespace AdvancedSymbology
@@ -130,7 +131,7 @@ bool EsriDictionaryProcessorApp6::processBaseSymbolCodeToPropertyTable()
int resultItemCounter = 0; int resultItemCounter = 0;
int gctStringEmptyCounter = 0; int gctStringEmptyCounter = 0;
for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : qAsConst(m_searchResultList)) for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : std::as_const(m_searchResultList))
{ {
// canceled? // canceled?
@@ -229,11 +230,11 @@ bool EsriDictionaryProcessorApp6::processBaseSymbolCodeToPropertyTable()
/* /*
const QString cat = resultItem.category(); const QString cat = resultItem.category();
const QVector<QStringRef> &slCategory = cat.splitRef(QLatin1Char(':')); const QVector<QStringView> &slCategory = cat.split(QLatin1Char(':'));
if (!slCategory.isEmpty()) if (!slCategory.isEmpty())
{ {
const QStringRef &geometryStr = slCategory.last().trimmed(); const QStringView geometryStr = slCategory.last().trimmed();
bool isPoint = geometryStr.compare(QLatin1String("Point"), Qt::CaseInsensitive) == 0; bool isPoint = geometryStr.compare(QLatin1String("Point"), Qt::CaseInsensitive) == 0;
bool isMainIcon = geometryStr.compare(QLatin1String("Main Icon"), Qt::CaseInsensitive) == 0; bool isMainIcon = geometryStr.compare(QLatin1String("Main Icon"), Qt::CaseInsensitive) == 0;
bool isLine = geometryStr.compare(QLatin1String("Line"), Qt::CaseInsensitive) == 0; bool isLine = geometryStr.compare(QLatin1String("Line"), Qt::CaseInsensitive) == 0;
@@ -35,10 +35,12 @@
// Qt // Qt
#include <QtCore/QThread> #include <QtCore/QThread>
#include <utility>
#include <QStringView>
#include <arcgis/arcgisversion.h> // This file is created by RME, not ESRI #include <arcgisversion.h> // This file is created by RME, not ESRI
namespace AdvancedSymbology namespace AdvancedSymbology
@@ -243,7 +245,7 @@ bool EsriDictionaryProcessorApp6D::processBaseSymbolCodeToPropertyTable()
int resultItemCounter = 0; int resultItemCounter = 0;
int gctStringEmptyCounter = 0; int gctStringEmptyCounter = 0;
for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : qAsConst(m_searchResultList)) for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : std::as_const(m_searchResultList))
{ {
// canceled? // canceled?
@@ -316,10 +318,10 @@ bool EsriDictionaryProcessorApp6D::processBaseSymbolCodeToPropertyTable()
symProps.setSidc(SidcCodec::encodeBaseSymbolCode(m_baseSymbolCodeToSymbolPropertyTable.symbologyType(), key8)); symProps.setSidc(SidcCodec::encodeBaseSymbolCode(m_baseSymbolCodeToSymbolPropertyTable.symbologyType(), key8));
// retrieve GeometryType // retrieve GeometryType
const QString cat = resultItem.category(); const QString cat = resultItem.category();
const QVector<QStringRef> &slCategory = cat.splitRef(QLatin1Char(':')); const QVector<QStringView> &slCategory = cat.split(QLatin1Char(':'));
if (!slCategory.isEmpty()) if (!slCategory.isEmpty())
{ {
const QStringRef &geometryStr = slCategory.last().trimmed(); const QStringView geometryStr = slCategory.last().trimmed();
bool isPoint = geometryStr.compare(QLatin1String("Point"), Qt::CaseInsensitive) == 0; bool isPoint = geometryStr.compare(QLatin1String("Point"), Qt::CaseInsensitive) == 0;
bool isMainIcon = geometryStr.compare(QLatin1String("Main Icon"), Qt::CaseInsensitive) == 0; bool isMainIcon = geometryStr.compare(QLatin1String("Main Icon"), Qt::CaseInsensitive) == 0;
bool isLine = geometryStr.compare(QLatin1String("Line"), Qt::CaseInsensitive) == 0; bool isLine = geometryStr.compare(QLatin1String("Line"), Qt::CaseInsensitive) == 0;
@@ -385,7 +387,7 @@ bool EsriDictionaryProcessorApp6D::processModifierTable()
} }
int counter = 0; int counter = 0;
for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : qAsConst(m_searchResultList)) for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : std::as_const(m_searchResultList))
{ {
++counter; ++counter;
@@ -415,8 +417,8 @@ bool EsriDictionaryProcessorApp6D::processModifierTable()
if (isDigit) if (isDigit)
{ {
const QString &resultItemName = resultItem.name(); // store result item name locally to guaranty following splitRef const QString &resultItemName = resultItem.name(); // store result item name locally to guaranty following split
const QVector<QStringRef> &sl = resultItemName.splitRef(QLatin1String(" : ")); // otherwise ("resultItem.name().splitRef(...)") unpredictable results are possible const QVector<QStringView> &sl = resultItemName.split(QLatin1String(" : ")); // otherwise ("resultItem.name().split(...)") unpredictable results are possible
// log multiple keys: // log multiple keys:
if (m_modifierTable.contains(originalKey)) if (m_modifierTable.contains(originalKey))
@@ -428,7 +430,7 @@ bool EsriDictionaryProcessorApp6D::processModifierTable()
modData.m_modifierKey = originalKey; modData.m_modifierKey = originalKey;
QStringRef symbolSetStringRef = originalKey.midRef(0, 2); QStringView symbolSetStringRef = originalKey.mid(0, 2);
SidcDefinitions::SymbolSet symbolSetEnum = static_cast<SidcDefinitions::SymbolSet>(symbolSetStringRef.toUInt()); SidcDefinitions::SymbolSet symbolSetEnum = static_cast<SidcDefinitions::SymbolSet>(symbolSetStringRef.toUInt());
if (!SidcDefinitions::symbolSets().contains(symbolSetEnum)) if (!SidcDefinitions::symbolSets().contains(symbolSetEnum))
@@ -15,6 +15,8 @@
// Qt // Qt
#include <QtCore/QThread> #include <QtCore/QThread>
#include <utility>
#include <QStringView>
namespace AdvancedSymbology namespace AdvancedSymbology
@@ -243,7 +245,7 @@ bool EsriDictionaryProcessorMil2525D::processBaseSymbolCodeToPropertyTable()
int resultItemCounter = 0; int resultItemCounter = 0;
int gctStringEmptyCounter = 0; int gctStringEmptyCounter = 0;
for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : qAsConst(m_searchResultList)) for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : std::as_const(m_searchResultList))
{ {
// canceled? // canceled?
@@ -315,10 +317,10 @@ bool EsriDictionaryProcessorMil2525D::processBaseSymbolCodeToPropertyTable()
symProps.setSidc(SidcCodec::encodeBaseSymbolCode(m_baseSymbolCodeToSymbolPropertyTable.symbologyType(), key8)); symProps.setSidc(SidcCodec::encodeBaseSymbolCode(m_baseSymbolCodeToSymbolPropertyTable.symbologyType(), key8));
// retrieve GeometryType // retrieve GeometryType
const QString cat = resultItem.category(); const QString cat = resultItem.category();
const QVector<QStringRef> &slCategory = cat.splitRef(QLatin1Char(':')); const QVector<QStringView> &slCategory = cat.split(QLatin1Char(':'));
if (!slCategory.isEmpty()) if (!slCategory.isEmpty())
{ {
const QStringRef &geometryStr = slCategory.last().trimmed(); const QStringView geometryStr = slCategory.last().trimmed();
bool isPoint = geometryStr.compare(QLatin1String("Point"), Qt::CaseInsensitive) == 0; bool isPoint = geometryStr.compare(QLatin1String("Point"), Qt::CaseInsensitive) == 0;
bool isMainIcon = geometryStr.compare(QLatin1String("Main Icon"), Qt::CaseInsensitive) == 0; bool isMainIcon = geometryStr.compare(QLatin1String("Main Icon"), Qt::CaseInsensitive) == 0;
bool isLine = geometryStr.compare(QLatin1String("Line"), Qt::CaseInsensitive) == 0; bool isLine = geometryStr.compare(QLatin1String("Line"), Qt::CaseInsensitive) == 0;
@@ -383,7 +385,7 @@ bool EsriDictionaryProcessorMil2525D::processModifierTable()
int counter = 0; int counter = 0;
for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : qAsConst(m_searchResultList)) for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : std::as_const(m_searchResultList))
{ {
++counter; ++counter;
@@ -413,8 +415,8 @@ bool EsriDictionaryProcessorMil2525D::processModifierTable()
if (isDigit) if (isDigit)
{ {
const QString &resultItemName = resultItem.name(); // store result item name locally to guaranty following splitRef const QString &resultItemName = resultItem.name(); // store result item name locally to guaranty following split
const QVector<QStringRef> &sl = resultItemName.splitRef(QLatin1String(" : ")); // otherwise ("resultItem.name().splitRef(...)") unpredictable results are possible const QVector<QStringView> &sl = resultItemName.split(QLatin1String(" : ")); // otherwise ("resultItem.name().split(...)") unpredictable results are possible
// log multiple keys: // log multiple keys:
if (m_modifierTable.contains(originalKey)) if (m_modifierTable.contains(originalKey))
@@ -424,7 +426,7 @@ bool EsriDictionaryProcessorMil2525D::processModifierTable()
modData.m_modifierKey = originalKey; modData.m_modifierKey = originalKey;
SidcDefinitions::SymbolSet symbolSetEnum = static_cast<SidcDefinitions::SymbolSet>(originalKey.midRef(0, 2).toUInt()); SidcDefinitions::SymbolSet symbolSetEnum = static_cast<SidcDefinitions::SymbolSet>(originalKey.mid(0, 2).toUInt());
if (!SidcDefinitions::symbolSets().contains(symbolSetEnum)) if (!SidcDefinitions::symbolSets().contains(symbolSetEnum))
{ {
@@ -434,8 +436,8 @@ bool EsriDictionaryProcessorMil2525D::processModifierTable()
} }
modData.m_symbolSet = symbolSetEnum; modData.m_symbolSet = symbolSetEnum;
modData.m_modifierSector = originalKey.midRef(4, 1).toUInt(); modData.m_modifierSector = originalKey.mid(4, 1).toUInt();
modData.m_modifierValue = originalKey.midRef(2, 2).toUInt(); modData.m_modifierValue = originalKey.mid(2, 2).toUInt();
modData.m_modifierName = (sl.size() == 2) ? sl.last().toString() : resultItem.name(); modData.m_modifierName = (sl.size() == 2) ? sl.last().toString() : resultItem.name();
m_modifierTable[originalKey] = modData; m_modifierTable[originalKey] = modData;
@@ -27,11 +27,11 @@
#include <SymbologyXML/xml_symbol_codec.h> #include <SymbologyXML/xml_symbol_codec.h>
// ESRI // ESRI
#include <arcgis/TaskWatcher.h> #include <TaskWatcher.h>
#include <arcgis/Symbol.h> #include <Symbol.h>
#include <arcgis/SymbolStyleSearchParameters.h> #include <SymbolStyleSearchParameters.h>
#include <arcgis/SymbolStyleSearchResultListModel.h> #include <SymbolStyleSearchResultListModel.h>
#include <arcgis/SymbolStyleSearchResult.h> #include <SymbolStyleSearchResult.h>
# include <arcgis/arcgisversion.h> // This file is created by RME, not ESRI # include <arcgis/arcgisversion.h> // This file is created by RME, not ESRI
@@ -48,6 +48,8 @@
#include <QtWidgets/QTreeView> #include <QtWidgets/QTreeView>
#include <QtWidgets/QHBoxLayout> #include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QDialog> #include <QtWidgets/QDialog>
#include <QStringView>
#include <utility>
#include <QtCore/QRegularExpression> #include <QtCore/QRegularExpression>
#include <QtCore/QDir> #include <QtCore/QDir>
#include <QtCore/QThread> #include <QtCore/QThread>
@@ -785,7 +787,7 @@ int SymbolDictionaryImpl::addEtsSymbols(const QString &path)
// iterate over sorted files: // iterate over sorted files:
int fileId_substitute = 0; int fileId_substitute = 0;
for (const auto &filePath : qAsConst(slFilePaths)) for (const auto &filePath : std::as_const(slFilePaths))
{ {
++fileId_substitute; ++fileId_substitute;
// DEBUG_LOG(m_logger) << LOGFUNCTION << " found file= '" << filePath << "'"; // DEBUG_LOG(m_logger) << LOGFUNCTION << " found file= '" << filePath << "'";
@@ -819,10 +821,10 @@ int SymbolDictionaryImpl::addEtsSymbols(const QString &path)
// rootDir.absolutePath(): ':/advancedSymbology/CivilSymbols' // rootDir.absolutePath(): ':/advancedSymbology/CivilSymbols'
// filepath : ':/advancedSymbology/CivilSymbols/Sonstige/Bundeswehr_Stelle.gif' // filepath : ':/advancedSymbology/CivilSymbols/Sonstige/Bundeswehr_Stelle.gif'
// remove path from filePath: // remove path from filePath:
QStringRef filePathReduced = filePath.midRef(rootDir.absolutePath().size() + 1); QStringView filePathReduced = filePath.mid(rootDir.absolutePath().size() + 1);
// filepath 'Sonstige/Bundeswehr_Stelle.gif' // filepath 'Sonstige/Bundeswehr_Stelle.gif'
QVector<QStringRef> parts = filePathReduced.split(QLatin1Char('/')); QVector<QStringView> parts = filePathReduced.split(QLatin1Char('/'));
// remove filename (to get dirname's as tags: // remove filename (to get dirname's as tags:
parts.removeLast(); parts.removeLast();
@@ -840,7 +842,7 @@ int SymbolDictionaryImpl::addEtsSymbols(const QString &path)
QStringList tags; QStringList tags;
tags.reserve(parts.size() + 2); tags.reserve(parts.size() + 2);
tags.append(ETS_SYMBOL_KEYWORD); // 'ETS' tags.append(ETS_SYMBOL_KEYWORD); // 'ETS'
for (const auto &item : qAsConst(parts)) for (const auto &item : std::as_const(parts))
tags.append(item.toString()); tags.append(item.toString());
tags.append(humanReadableName); tags.append(humanReadableName);
@@ -1441,7 +1443,7 @@ QSharedPointer<SymbolResult> SymbolDictionaryImpl::fetchSymbol(const SymbolDataT
} }
// linear search - maybe optimize. But how many different icons are really rendered in parallel? // linear search - maybe optimize. But how many different icons are really rendered in parallel?
for (const QWeakPointer<SymbolResult> &res : qAsConst(m_findSymbol2symbolResult)) for (const QWeakPointer<SymbolResult> &res : std::as_const(m_findSymbol2symbolResult))
{ {
auto sp = res.toStrongRef(); auto sp = res.toStrongRef();
if (!sp) if (!sp)
@@ -1988,7 +1990,7 @@ QImage renderXML_Symbol(const QSharedPointer<SymbologyXML::PixmapSymbolCache> &x
} }
additionalSymbolData.m_vbg.color = injuryColor; additionalSymbolData.m_vbg.color = injuryColor;
for (const AdditionalSymbolType additionalSymbolType : qAsConst(symbolDataToRender.additionalSymbols)) for (const AdditionalSymbolType additionalSymbolType : std::as_const(symbolDataToRender.additionalSymbols))
{ {
switch (additionalSymbolType) switch (additionalSymbolType)
{ {
@@ -2089,7 +2091,7 @@ QImage renderExtensions(QImage &coreImage,
// coreImage.save(QLatin1String("/tmp/dummy.png")); // coreImage.save(QLatin1String("/tmp/dummy.png"));
for (const QColor &oldColor : qAsConst(oldColorVec)) for (const QColor &oldColor : std::as_const(oldColorVec))
{ {
if (oldColor.isValid()) if (oldColor.isValid())
{ {
@@ -2128,7 +2130,7 @@ QImage renderExtensions(QImage &coreImage,
#endif // USE_ARCADE_SYMBOLOGY #endif // USE_ARCADE_SYMBOLOGY
// replace honoring the hotSpot by simple scaling : // replace honoring the hotSpot by simple scaling :
int hqFdTf = QStringRef(&sidc, 7, 1).toInt(); int hqFdTf = QStringView(sidc).slice(7, 1).toInt();
// int amplifierDescriptor = QStringRef(&sidc, 8, 2).toInt(); // int amplifierDescriptor = QStringRef(&sidc, 8, 2).toInt();
if (((hqFdTf > 0) && ((hqFdTf < 8)))) // HeadQuarter/FeintDummy/TaskFore have more height then width if (((hqFdTf > 0) && ((hqFdTf < 8)))) // HeadQuarter/FeintDummy/TaskFore have more height then width
newSize = fullImage.size(); newSize = fullImage.size();
@@ -13,7 +13,7 @@
#include "advanced_symbology_logging.h" #include "advanced_symbology_logging.h"
// Esri // Esri
#include <arcgis/DictionarySymbolStyle.h> #include <DictionarySymbolStyle.h>
class QStandardItemModel; class QStandardItemModel;
@@ -36,6 +36,7 @@
#include <QtCore/QChar> #include <QtCore/QChar>
#include <QtCore/QString> #include <QtCore/QString>
#include <QStringView>
/** /**
* \brief The SidcCodec namespace enables the encoding and decoding of a (base) symbol id of xml symbols. * \brief The SidcCodec namespace enables the encoding and decoding of a (base) symbol id of xml symbols.
@@ -90,7 +91,7 @@ namespace SymbologyXML
, SymbolTypes::t_affil &affil , SymbolTypes::t_affil &affil
, SymbolTypes::t_mob &mob) , SymbolTypes::t_mob &mob)
{ {
QVector<QStringRef> tokenVector = encodedId.splitRef( QLatin1Char('-') ); auto tokenVector = encodedId.split(QLatin1Char('-'));
if (tokenVector.size() == 5) if (tokenVector.size() == 5)
{ {
bool ok = false; bool ok = false;
@@ -34,8 +34,14 @@ ELSE()
RETURN() RETURN()
ENDIF() ENDIF()
SET(_arcgis_include_hint "${CMAKE_SOURCE_DIR}/../../external/ArcGIS/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk/include") SET(_arcgis_include_hint "${CMAKE_SOURCE_DIR}/external/ArcGIS/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk/include")
SET(_arcgis_library_hint "${CMAKE_SOURCE_DIR}/../../external/ArcGIS/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk/linux/x64/lib") SET(_arcgis_library_hint "${CMAKE_SOURCE_DIR}/external/ArcGIS/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk/linux/x64/lib")
# Check if paths exist, if not try alternative paths
IF(NOT EXISTS "${_arcgis_include_hint}")
SET(_arcgis_include_hint "${CMAKE_SOURCE_DIR}/../../external/ArcGIS/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk/include")
SET(_arcgis_library_hint "${CMAKE_SOURCE_DIR}/../../external/ArcGIS/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk/linux/x64/lib")
ENDIF()
SET(_arcgis_lib_dir $ENV{ARCGIS_LIB_DIR}) SET(_arcgis_lib_dir $ENV{ARCGIS_LIB_DIR})
SET(_arcgis_inc_dir $ENV{ARCGIS_INC_DIR}) SET(_arcgis_inc_dir $ENV{ARCGIS_INC_DIR})
@@ -66,13 +72,13 @@ ELSE()
ENDIF() ENDIF()
ENDIF() ENDIF()
FIND_PATH(ARCGIS_INCLUDE_DIR arcgis/ArcGISQt_global.h HINTS ${_arcgis_include_hint}) FIND_PATH(ARCGIS_INCLUDE_DIR ArcGISQt_global.h HINTS ${_arcgis_include_hint})
FIND_LIBRARY_WITH_DEBUG(ARCGIS_LIBRARY WIN32_DEBUG_POSTFIX d NAMES EsriRuntimeQt HINTS ${_arcgis_library_hint}) FIND_LIBRARY(ARCGIS_LIBRARY NAMES EsriRuntimeQt HINTS ${_arcgis_library_hint})
FIND_LIBRARY_WITH_DEBUG(ARCGIS_COMMON_LIBRARY WIN32_DEBUG_POSTFIX d NAMES EsriCommonQt HINTS ${_arcgis_library_hint}) FIND_LIBRARY(ARCGIS_COMMON_LIBRARY NAMES EsriCommonQt HINTS ${_arcgis_library_hint})
IF (UNIX) IF (UNIX)
FIND_LIBRARY_WITH_DEBUG(ARCGIS_CPP_LIBRARY WIN32_DEBUG_POSTFIX d NAMES runtimecore HINTS ${_arcgis_library_hint}) FIND_LIBRARY(ARCGIS_CPP_LIBRARY NAMES runtimecore HINTS ${_arcgis_library_hint})
ENDIF() ENDIF()
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ArcGIS DEFAULT_MSG ARCGIS_LIBRARY ARCGIS_INCLUDE_DIR) FIND_PACKAGE_HANDLE_STANDARD_ARGS(ArcGIS DEFAULT_MSG ARCGIS_LIBRARY ARCGIS_INCLUDE_DIR)
+1
View File
@@ -0,0 +1 @@
/workspace/external/ArcGIS
+50
View File
@@ -0,0 +1,50 @@
#!/bin/bash
# install_arcgis.sh - Install/setup ArcGIS Runtime SDK for Qt in Docker container
# This script prepares the ArcGIS SDK for use with Qt6 builds
set -e
ARCGIS_SRC="/workspace/external/ArcGIS"
ARCGIS_DEST="/workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus/external/ArcGIS"
echo "=== ArcGIS SDK Setup ==="
echo "Source: ${ARCGIS_SRC}"
echo "Destination: ${ARCGIS_DEST}"
# Check if source exists
if [ ! -d "${ARCGIS_SRC}" ]; then
echo "ERROR: ArcGIS SDK not found at ${ARCGIS_SRC}"
echo "Make sure the SDK is mounted in the Docker container"
exit 1
fi
# Create destination directory if needed
mkdir -p "$(dirname ${ARCGIS_DEST})"
# Remove existing symlink/directory if it exists
if [ -e "${ARCGIS_DEST}" ]; then
echo "Removing existing ArcGIS SDK at ${ARCGIS_DEST}"
rm -rf "${ARCGIS_DEST}"
fi
# Create symlink to the SDK
echo "Creating symlink: ${ARCGIS_DEST} -> ${ARCGIS_SRC}"
ln -s "${ARCGIS_SRC}" "${ARCGIS_DEST}"
# Verify the SDK structure
SDK_PATH="${ARCGIS_DEST}/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk"
if [ -d "${SDK_PATH}" ]; then
echo "✓ ArcGIS SDK found at: ${SDK_PATH}"
echo " Include dir: ${SDK_PATH}/include"
echo " Library dir: ${SDK_PATH}/linux/x64/lib"
# List available libraries
echo " Available libraries:"
ls -lh "${SDK_PATH}/linux/x64/lib/" | grep -E '\.(so|a)$' || true
else
echo "WARNING: Expected SDK structure not found at ${SDK_PATH}"
echo "Available contents:"
ls -la "${ARCGIS_DEST}/" || true
fi
echo "=== ArcGIS SDK Setup Complete ==="
@@ -30,6 +30,9 @@ BUILD_RTI:
BUILD_GRANTLEE: BUILD_GRANTLEE:
--grantlee / --no-grantlee Enable/disable BUILD_GRANTLEE (default: ON) --grantlee / --no-grantlee Enable/disable BUILD_GRANTLEE (default: ON)
BUILD_ARCGIS:
--arcgis / --no-arcgis Enable/disable BUILD_ARCGIS (default: OFF)
Build groups: Build groups:
--group1 / --no-group1 Enable/disable DDS core libraries build --group1 / --no-group1 Enable/disable DDS core libraries build
--group2 / --no-group2 Enable/disable migration_tests build --group2 / --no-group2 Enable/disable migration_tests build
@@ -56,6 +59,7 @@ Prebuilt Docker image management:
Environment variable overrides: Environment variable overrides:
BUILD_RTI=ON|OFF BUILD_RTI=ON|OFF
BUILD_GRANTLEE=ON|OFF BUILD_GRANTLEE=ON|OFF
BUILD_ARCGIS=ON|OFF
BUILD_GROUP1=ON|OFF BUILD_GROUP1=ON|OFF
BUILD_GROUP2=ON|OFF BUILD_GROUP2=ON|OFF
BUILD_GROUP3=ON|OFF BUILD_GROUP3=ON|OFF
@@ -78,6 +82,7 @@ Expected file:
Defaults: Defaults:
BUILD_RTI=ON BUILD_RTI=ON
BUILD_GRANTLEE=ON BUILD_GRANTLEE=ON
BUILD_ARCGIS=OFF
BUILD_GROUP1=ON BUILD_GROUP1=ON
BUILD_GROUP2=ON BUILD_GROUP2=ON
BUILD_GROUP3=ON BUILD_GROUP3=ON
@@ -209,6 +214,8 @@ APT_PACKAGES=(
libqt6core6 libqt6core6
libqt6gui6 libqt6gui6
libqt6widgets6 libqt6widgets6
libqt6sql6
libqt6test6
qt6-base-dev qt6-base-dev
qt6-tools-dev-tools qt6-tools-dev-tools
qt6-tools-dev qt6-tools-dev
@@ -320,17 +327,6 @@ GROUP4_TARGETS=(
Tetra_dgps_simulator Tetra_dgps_simulator
) )
GROUP5_TARGETS=(
# Viewer module
situationMapCommon
advancedSymbology
advancedSymbologyXML
advancedSymbologyXML_Gui
LtsDataView
LtsFileDialog
LtsReportDisplay
)
APT_PACKAGES_STRING="$(join_by ' ' "${APT_PACKAGES[@]}")" APT_PACKAGES_STRING="$(join_by ' ' "${APT_PACKAGES[@]}")"
build_prebuilt_image() { build_prebuilt_image() {
@@ -408,6 +404,7 @@ set +a
BUILD_ALL="${BUILD_ALL:-ON}" BUILD_ALL="${BUILD_ALL:-ON}"
BUILD_RTI="${BUILD_RTI:-ON}" BUILD_RTI="${BUILD_RTI:-ON}"
BUILD_GRANTLEE="${BUILD_GRANTLEE:-ON}" BUILD_GRANTLEE="${BUILD_GRANTLEE:-ON}"
BUILD_ARCGIS="${BUILD_ARCGIS:-OFF}"
BUILD_GROUP1="${BUILD_GROUP1:-ON}" BUILD_GROUP1="${BUILD_GROUP1:-ON}"
BUILD_GROUP2="${BUILD_GROUP2:-ON}" BUILD_GROUP2="${BUILD_GROUP2:-ON}"
BUILD_GROUP3="${BUILD_GROUP3:-ON}" BUILD_GROUP3="${BUILD_GROUP3:-ON}"
@@ -477,6 +474,12 @@ while [[ $# -gt 0 ]]; do
--no-grantlee) --no-grantlee)
BUILD_GRANTLEE=OFF BUILD_GRANTLEE=OFF
;; ;;
--arcgis)
BUILD_ARCGIS=ON
;;
--no-arcgis)
BUILD_ARCGIS=OFF
;;
--no-ctest) --no-ctest)
RUN_CTEST=OFF RUN_CTEST=OFF
;; ;;
@@ -530,6 +533,7 @@ DELETE_PREBUILT_IMAGE="${DELETE_PREBUILT_IMAGE:-OFF}"
BUILD_ALL="$(normalize_on_off "$BUILD_ALL" "BUILD_ALL")" BUILD_ALL="$(normalize_on_off "$BUILD_ALL" "BUILD_ALL")"
BUILD_RTI="$(normalize_on_off "$BUILD_RTI" "BUILD_RTI")" BUILD_RTI="$(normalize_on_off "$BUILD_RTI" "BUILD_RTI")"
BUILD_GRANTLEE="$(normalize_on_off "$BUILD_GRANTLEE" "BUILD_GRANTLEE")" BUILD_GRANTLEE="$(normalize_on_off "$BUILD_GRANTLEE" "BUILD_GRANTLEE")"
BUILD_ARCGIS="$(normalize_on_off "$BUILD_ARCGIS" "BUILD_ARCGIS")"
BUILD_GROUP1="$(normalize_on_off "$BUILD_GROUP1" "BUILD_GROUP1")" BUILD_GROUP1="$(normalize_on_off "$BUILD_GROUP1" "BUILD_GROUP1")"
BUILD_GROUP2="$(normalize_on_off "$BUILD_GROUP2" "BUILD_GROUP2")" BUILD_GROUP2="$(normalize_on_off "$BUILD_GROUP2" "BUILD_GROUP2")"
BUILD_GROUP3="$(normalize_on_off "$BUILD_GROUP3" "BUILD_GROUP3")" BUILD_GROUP3="$(normalize_on_off "$BUILD_GROUP3" "BUILD_GROUP3")"
@@ -543,7 +547,29 @@ BUILD_PREBUILT_IMAGE="$(normalize_on_off "$BUILD_PREBUILT_IMAGE" "BUILD_PREBUILT
DELETE_PREBUILT_IMAGE="$(normalize_on_off "$DELETE_PREBUILT_IMAGE" "DELETE_PREBUILT_IMAGE")" DELETE_PREBUILT_IMAGE="$(normalize_on_off "$DELETE_PREBUILT_IMAGE" "DELETE_PREBUILT_IMAGE")"
# Export variables for Docker container # Export variables for Docker container
export BUILD_ALL BUILD_RTI BUILD_GRANTLEE BUILD_GROUP1 BUILD_GROUP2 BUILD_GROUP3 BUILD_GROUP4 BUILD_GROUP5 RUN_CTEST TESTS_ONLY INTEGRATION_TEST USE_PREBUILT_IMAGE BUILD_PREBUILT_IMAGE DELETE_PREBUILT_IMAGE DOCKER_IMAGE export BUILD_ALL BUILD_RTI BUILD_GRANTLEE BUILD_ARCGIS BUILD_GROUP1 BUILD_GROUP2 BUILD_GROUP3 BUILD_GROUP4 BUILD_GROUP5 RUN_CTEST TESTS_ONLY INTEGRATION_TEST USE_PREBUILT_IMAGE BUILD_PREBUILT_IMAGE DELETE_PREBUILT_IMAGE DOCKER_IMAGE
# Group 5: Viewer module targets (conditional on BUILD_ARCGIS)
if [[ "${BUILD_ARCGIS}" == "ON" ]]; then
GROUP5_TARGETS=(
# Viewer module with ArcGIS
situationMapCommon
advancedSymbology
advancedSymbologyXML
LtsDataView
LtsFileDialog
LtsReportDisplay
)
else
GROUP5_TARGETS=(
# Viewer module without ArcGIS (advancedSymbology requires ArcGIS)
situationMapCommon
advancedSymbologyXML
LtsDataView
LtsFileDialog
LtsReportDisplay
)
fi
require_non_empty "${DOCKER_IMAGE}" "DOCKER_IMAGE" require_non_empty "${DOCKER_IMAGE}" "DOCKER_IMAGE"
@@ -620,6 +646,7 @@ USE_PREBUILT_IMAGE="${USE_PREBUILT_IMAGE:-OFF}"
BUILD_ALL="${BUILD_ALL:-ON}" BUILD_ALL="${BUILD_ALL:-ON}"
BUILD_RTI="${BUILD_RTI:-ON}" BUILD_RTI="${BUILD_RTI:-ON}"
BUILD_GRANTLEE="${BUILD_GRANTLEE:-ON}" BUILD_GRANTLEE="${BUILD_GRANTLEE:-ON}"
BUILD_ARCGIS="${BUILD_ARCGIS:-OFF}"
BUILD_GROUP1="${BUILD_GROUP1:-ON}" BUILD_GROUP1="${BUILD_GROUP1:-ON}"
BUILD_GROUP2="${BUILD_GROUP2:-ON}" BUILD_GROUP2="${BUILD_GROUP2:-ON}"
BUILD_GROUP3="${BUILD_GROUP3:-ON}" BUILD_GROUP3="${BUILD_GROUP3:-ON}"
@@ -685,6 +712,16 @@ fi
export RTI_LICENSE_FILE=/workspace/rti_license.dat export RTI_LICENSE_FILE=/workspace/rti_license.dat
export QT_QPA_PLATFORM=offscreen export QT_QPA_PLATFORM=offscreen
# Setup ArcGIS SDK if enabled
if [[ "${BUILD_ARCGIS}" == "ON" ]]; then
log_info "Setting up ArcGIS SDK"
if [[ -f "/workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus/install_arcgis.sh" ]]; then
bash /workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus/install_arcgis.sh
else
log_info "install_arcgis.sh not found, skipping ArcGIS SDK setup"
fi
fi
cd /workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus cd /workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus
rm -rf build4 rm -rf build4
@@ -695,10 +732,10 @@ cmake .. \
-DBUILD_TESTING=ON \ -DBUILD_TESTING=ON \
-DBUILD_RTI="${BUILD_RTI}" \ -DBUILD_RTI="${BUILD_RTI}" \
-DBUILD_GRANTLEE="${BUILD_GRANTLEE}" \ -DBUILD_GRANTLEE="${BUILD_GRANTLEE}" \
-DBUILD_ARCGIS=OFF \ -DBUILD_ARCGIS="${BUILD_ARCGIS}" \
-DCMAKE_CXX_STANDARD=17 \ -DCMAKE_CXX_STANDARD=17 \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH="${QT_BASE_DIR}/${QT_VERSION}/${QT_ARCH_DIR}" -DCMAKE_PREFIX_PATH="${QT_BASE_DIR}/${QT_VERSION}/${QT_ARCH_DIR}${BUILD_ARCGIS:+;/workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus/external/ArcGIS/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk}"
read -r -a GROUP1_ARRAY <<< "${GROUP1_TARGETS}" read -r -a GROUP1_ARRAY <<< "${GROUP1_TARGETS}"
read -r -a GROUP2_ARRAY <<< "${GROUP2_TARGETS}" read -r -a GROUP2_ARRAY <<< "${GROUP2_TARGETS}"
@@ -708,7 +745,7 @@ read -r -a GROUP5_ARRAY <<< "${GROUP5_TARGETS}"
if [[ "${TESTS_ONLY}" != "ON" ]]; then if [[ "${TESTS_ONLY}" != "ON" ]]; then
run_build_group "Group 1" "${BUILD_GROUP1}" "group1_build.log" "${GROUP1_ARRAY[@]}" run_build_group "Group 1" "${BUILD_GROUP1}" "group1_build.log" "${GROUP1_ARRAY[@]}"
run_build_group "Group 4 (DDS Tests)" "${BUILD_GROUP1}" "group4_build.log" "${GROUP4_ARRAY[@]}" run_build_group "Group 4 (DDS Tests)" "${BUILD_GROUP4}" "group4_build.log" "${GROUP4_ARRAY[@]}"
run_build_group "Group 2" "${BUILD_GROUP2}" "group2_build.log" "${GROUP2_ARRAY[@]}" run_build_group "Group 2" "${BUILD_GROUP2}" "group2_build.log" "${GROUP2_ARRAY[@]}"
run_build_group "Group 3" "${BUILD_GROUP3}" "group3_build.log" "${GROUP3_ARRAY[@]}" run_build_group "Group 3" "${BUILD_GROUP3}" "group3_build.log" "${GROUP3_ARRAY[@]}"
run_build_group "Group 4" "${BUILD_GROUP4}" "group4_build.log" "${GROUP4_ARRAY[@]}" run_build_group "Group 4" "${BUILD_GROUP4}" "group4_build.log" "${GROUP4_ARRAY[@]}"
@@ -737,10 +774,13 @@ docker run --rm \
-e LANG \ -e LANG \
-e LC_ALL \ -e LC_ALL \
-e BUILD_RTI \ -e BUILD_RTI \
-e BUILD_GRANTLEE \
-e BUILD_ARCGIS \
-e BUILD_GROUP1 \ -e BUILD_GROUP1 \
-e BUILD_GROUP2 \ -e BUILD_GROUP2 \
-e BUILD_GROUP3 \ -e BUILD_GROUP3 \
-e BUILD_GROUP4 \ -e BUILD_GROUP4 \
-e BUILD_GROUP5 \
-e RUN_CTEST \ -e RUN_CTEST \
-e TESTS_ONLY \ -e TESTS_ONLY \
-e INTEGRATION_TEST \ -e INTEGRATION_TEST \
@@ -757,6 +797,7 @@ docker run --rm \
-e GROUP5_TARGETS="${GROUP5_TARGETS_STRING}" \ -e GROUP5_TARGETS="${GROUP5_TARGETS_STRING}" \
-v "${WORKSPACE_ROOT_HOST}:/workspace" \ -v "${WORKSPACE_ROOT_HOST}:/workspace" \
-v "${RTI_LICENSE_FILE_HOST}:/workspace/rti_license.dat" \ -v "${RTI_LICENSE_FILE_HOST}:/workspace/rti_license.dat" \
-v "${MIGRATE_PIPELINE_ROOT}/external:/workspace/external:ro" \
-v "${CONTAINER_SCRIPT_HOST}:/tmp/run-build-inside-container.sh:ro" \ -v "${CONTAINER_SCRIPT_HOST}:/tmp/run-build-inside-container.sh:ro" \
"${DOCKER_IMAGE}" \ "${DOCKER_IMAGE}" \
bash /tmp/run-build-inside-container.sh bash /tmp/run-build-inside-container.sh