mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 04:10:06 +00:00
Merge pull request #56 from dpaulat/feature/linux-pstl
Use Parallel STL with gcc on Linux (oneTBB)
This commit is contained in:
commit
ef437a830f
29 changed files with 155 additions and 103 deletions
27
.github/workflows/ci.yml
vendored
27
.github/workflows/ci.yml
vendored
|
|
@ -125,6 +125,24 @@ jobs:
|
||||||
-DCMAKE_BUILD_TYPE="${{ matrix.build_type }}" `
|
-DCMAKE_BUILD_TYPE="${{ matrix.build_type }}" `
|
||||||
-DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/supercell-wx"
|
-DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/supercell-wx"
|
||||||
ninja supercell-wx wxtest
|
ninja supercell-wx wxtest
|
||||||
|
|
||||||
|
- name: Separate Debug Symbols (Linux)
|
||||||
|
if: matrix.os == 'ubuntu-22.04'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cd build/
|
||||||
|
cd bin/
|
||||||
|
objcopy --only-keep-debug supercell-wx supercell-wx.debug
|
||||||
|
objcopy --strip-debug --strip-unneeded supercell-wx
|
||||||
|
cd ..
|
||||||
|
cd lib/
|
||||||
|
objcopy --only-keep-debug libQMapLibreGL.so libQMapLibreGL.so.debug
|
||||||
|
objcopy --strip-debug --strip-unneeded libQMapLibreGL.so
|
||||||
|
|
||||||
|
- name: Install Supercell Wx
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
cd build
|
||||||
cmake --install . --component supercell-wx
|
cmake --install . --component supercell-wx
|
||||||
|
|
||||||
- name: Collect Artifacts
|
- name: Collect Artifacts
|
||||||
|
|
@ -162,6 +180,15 @@ jobs:
|
||||||
name: supercell-wx-${{ matrix.artifact_suffix }}
|
name: supercell-wx-${{ matrix.artifact_suffix }}
|
||||||
path: ${{ github.workspace }}/supercell-wx-${{ matrix.artifact_suffix }}.tar.gz
|
path: ${{ github.workspace }}/supercell-wx-${{ matrix.artifact_suffix }}.tar.gz
|
||||||
|
|
||||||
|
- name: Upload Debug Artifacts (Linux)
|
||||||
|
if: matrix.os == 'ubuntu-22.04'
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: supercell-wx-debug-${{ matrix.artifact_suffix }}
|
||||||
|
path: |
|
||||||
|
${{ github.workspace }}/build/bin/*.debug
|
||||||
|
${{ github.workspace }}/build/lib/*.debug
|
||||||
|
|
||||||
- name: Test Supercell Wx
|
- name: Test Supercell Wx
|
||||||
working-directory: ${{ github.workspace }}/build
|
working-directory: ${{ github.workspace }}/build
|
||||||
run: ctest -C ${{ matrix.build_type }} --exclude-regex mbgl-test-runner
|
run: ctest -C ${{ matrix.build_type }} --exclude-regex mbgl-test-runner
|
||||||
|
|
|
||||||
33
conanfile.py
Normal file
33
conanfile.py
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
from conans import ConanFile
|
||||||
|
|
||||||
|
class SupercellWxConan(ConanFile):
|
||||||
|
settings = ("os", "compiler", "build_type", "arch")
|
||||||
|
requires = ("boost/1.81.0",
|
||||||
|
"cpr/1.9.3",
|
||||||
|
"freetype/2.12.1",
|
||||||
|
"geographiclib/1.52",
|
||||||
|
"glew/2.2.0",
|
||||||
|
"glm/cci.20220420",
|
||||||
|
"gtest/cci.20210126",
|
||||||
|
"libcurl/7.86.0",
|
||||||
|
"libxml2/2.10.3",
|
||||||
|
"openssl/3.1.0",
|
||||||
|
"spdlog/1.11.0",
|
||||||
|
"sqlite3/3.40.1",
|
||||||
|
"vulkan-loader/1.3.236.0",
|
||||||
|
"zlib/1.2.13")
|
||||||
|
generators = ("cmake",
|
||||||
|
"cmake_find_package",
|
||||||
|
"cmake_paths")
|
||||||
|
default_options = {"libiconv:shared" : True,
|
||||||
|
"openssl:no_module": True,
|
||||||
|
"openssl:shared" : True}
|
||||||
|
|
||||||
|
def requirements(self):
|
||||||
|
if self.settings.os == "Linux":
|
||||||
|
self.requires("onetbb/2021.9.0")
|
||||||
|
|
||||||
|
def imports(self):
|
||||||
|
self.copy("*.dll", dst="bin", src="bin")
|
||||||
|
self.copy("*.dylib", dst="bin", src="lib")
|
||||||
|
self.copy("license*", dst="licenses", src=".", folder=True, ignore_case=True)
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
[requires]
|
|
||||||
boost/1.81.0
|
|
||||||
cpr/1.9.3
|
|
||||||
freetype/2.12.1
|
|
||||||
geographiclib/1.52
|
|
||||||
glew/2.2.0
|
|
||||||
glm/cci.20220420
|
|
||||||
gtest/cci.20210126
|
|
||||||
libcurl/7.86.0
|
|
||||||
libxml2/2.10.3
|
|
||||||
openssl/3.1.0
|
|
||||||
spdlog/1.11.0
|
|
||||||
sqlite3/3.40.1
|
|
||||||
vulkan-loader/1.3.236.0
|
|
||||||
zlib/1.2.13
|
|
||||||
|
|
||||||
[generators]
|
|
||||||
cmake
|
|
||||||
cmake_find_package
|
|
||||||
cmake_paths
|
|
||||||
|
|
||||||
[options]
|
|
||||||
libiconv:shared=True
|
|
||||||
openssl:no_module=True
|
|
||||||
openssl:shared=True
|
|
||||||
|
|
||||||
[imports]
|
|
||||||
bin, *.dll -> ./bin
|
|
||||||
lib, *.dylib -> ./bin
|
|
||||||
., license* -> ./licenses @ folder=True, ignore_case=True
|
|
||||||
3
external/mapbox-gl-native.cmake
vendored
3
external/mapbox-gl-native.cmake
vendored
|
|
@ -17,6 +17,9 @@ if (MSVC)
|
||||||
target_link_options(qmaplibregl PRIVATE "$<$<CONFIG:Release>:/DEBUG>")
|
target_link_options(qmaplibregl PRIVATE "$<$<CONFIG:Release>:/DEBUG>")
|
||||||
target_link_options(qmaplibregl PRIVATE "$<$<CONFIG:Release>:/OPT:REF>")
|
target_link_options(qmaplibregl PRIVATE "$<$<CONFIG:Release>:/OPT:REF>")
|
||||||
target_link_options(qmaplibregl PRIVATE "$<$<CONFIG:Release>:/OPT:ICF>")
|
target_link_options(qmaplibregl PRIVATE "$<$<CONFIG:Release>:/OPT:ICF>")
|
||||||
|
else()
|
||||||
|
target_compile_options(mbgl-core PRIVATE "$<$<CONFIG:Release>:-g>")
|
||||||
|
target_compile_options(qmaplibregl PRIVATE "$<$<CONFIG:Release>:-g>")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(MBGL_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/mapbox-gl-native/include
|
set(MBGL_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/mapbox-gl-native/include
|
||||||
|
|
|
||||||
|
|
@ -371,6 +371,12 @@ if (WIN32)
|
||||||
target_compile_definitions(supercell-wx PUBLIC WIN32_LEAN_AND_MEAN)
|
target_compile_definitions(supercell-wx PUBLIC WIN32_LEAN_AND_MEAN)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (NOT MSVC)
|
||||||
|
# Qt emit keyword is incompatible with TBB
|
||||||
|
target_compile_definitions(scwx-qt PRIVATE QT_NO_EMIT)
|
||||||
|
target_compile_definitions(supercell-wx PRIVATE QT_NO_EMIT)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_include_directories(scwx-qt PUBLIC ${scwx-qt_SOURCE_DIR}/source
|
target_include_directories(scwx-qt PUBLIC ${scwx-qt_SOURCE_DIR}/source
|
||||||
${FTGL_INCLUDE_DIR}
|
${FTGL_INCLUDE_DIR}
|
||||||
${IMGUI_INCLUDE_DIRS}
|
${IMGUI_INCLUDE_DIRS}
|
||||||
|
|
@ -395,6 +401,9 @@ if (MSVC)
|
||||||
target_link_options(supercell-wx PRIVATE "$<$<CONFIG:Release>:/DEBUG>")
|
target_link_options(supercell-wx PRIVATE "$<$<CONFIG:Release>:/DEBUG>")
|
||||||
target_link_options(supercell-wx PRIVATE "$<$<CONFIG:Release>:/OPT:REF>")
|
target_link_options(supercell-wx PRIVATE "$<$<CONFIG:Release>:/OPT:REF>")
|
||||||
target_link_options(supercell-wx PRIVATE "$<$<CONFIG:Release>:/OPT:ICF>")
|
target_link_options(supercell-wx PRIVATE "$<$<CONFIG:Release>:/OPT:ICF>")
|
||||||
|
else()
|
||||||
|
target_compile_options(scwx-qt PRIVATE "$<$<CONFIG:Release>:-g>")
|
||||||
|
target_compile_options(supercell-wx PRIVATE "$<$<CONFIG:Release>:-g>")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(scwx-qt PUBLIC Qt${QT_VERSION_MAJOR}::Widgets
|
target_link_libraries(scwx-qt PUBLIC Qt${QT_VERSION_MAJOR}::Widgets
|
||||||
|
|
|
||||||
|
|
@ -611,7 +611,7 @@ void MainWindowImpl::ConnectMapSignals()
|
||||||
{
|
{
|
||||||
if (mapWidget == activeMap_)
|
if (mapWidget == activeMap_)
|
||||||
{
|
{
|
||||||
emit mainWindow_->ActiveMapMoved(latitude, longitude);
|
Q_EMIT mainWindow_->ActiveMapMoved(latitude, longitude);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
Qt::QueuedConnection);
|
Qt::QueuedConnection);
|
||||||
|
|
|
||||||
|
|
@ -631,9 +631,10 @@ void RadarProductManagerImpl::RefreshData(
|
||||||
|
|
||||||
if (newObjects > 0)
|
if (newObjects > 0)
|
||||||
{
|
{
|
||||||
emit providerManager->NewDataAvailable(providerManager->group_,
|
Q_EMIT providerManager->NewDataAvailable(
|
||||||
providerManager->product_,
|
providerManager->group_,
|
||||||
latestTime);
|
providerManager->product_,
|
||||||
|
latestTime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (providerManager->refreshEnabled_)
|
else if (providerManager->refreshEnabled_)
|
||||||
|
|
@ -904,7 +905,7 @@ void RadarProductManager::LoadFile(
|
||||||
else if (request != nullptr)
|
else if (request != nullptr)
|
||||||
{
|
{
|
||||||
request->set_radar_product_record(existingRecord);
|
request->set_radar_product_record(existingRecord);
|
||||||
emit request->RequestComplete(request);
|
Q_EMIT request->RequestComplete(request);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -940,7 +941,7 @@ void RadarProductManagerImpl::LoadNexradFile(
|
||||||
if (request != nullptr)
|
if (request != nullptr)
|
||||||
{
|
{
|
||||||
request->set_radar_product_record(record);
|
request->set_radar_product_record(record);
|
||||||
emit request->RequestComplete(request);
|
Q_EMIT request->RequestComplete(request);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -1044,7 +1045,7 @@ RadarProductManagerImpl::GetLevel2ProductRecord(
|
||||||
{
|
{
|
||||||
if (request->radar_product_record() != nullptr)
|
if (request->radar_product_record() != nullptr)
|
||||||
{
|
{
|
||||||
emit self_->DataReloaded(request->radar_product_record());
|
Q_EMIT self_->DataReloaded(request->radar_product_record());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -1109,7 +1110,7 @@ RadarProductManagerImpl::GetLevel3ProductRecord(
|
||||||
{
|
{
|
||||||
if (request->radar_product_record() != nullptr)
|
if (request->radar_product_record() != nullptr)
|
||||||
{
|
{
|
||||||
emit self_->DataReloaded(request->radar_product_record());
|
Q_EMIT self_->DataReloaded(request->radar_product_record());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -1345,7 +1346,7 @@ void RadarProductManager::UpdateAvailableProducts()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
emit Level3ProductsChanged();
|
Q_EMIT Level3ProductsChanged();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1378,7 +1379,7 @@ RadarProductManager::Instance(const std::string& radarSite)
|
||||||
|
|
||||||
if (instanceCreated)
|
if (instanceCreated)
|
||||||
{
|
{
|
||||||
emit RadarProductManagerNotifier::Instance().RadarProductManagerCreated(
|
Q_EMIT RadarProductManagerNotifier::Instance().RadarProductManagerCreated(
|
||||||
radarSite);
|
radarSite);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -184,7 +184,7 @@ void TextEventManager::Impl::HandleMessage(
|
||||||
|
|
||||||
if (updated)
|
if (updated)
|
||||||
{
|
{
|
||||||
emit self_->AlertUpdated(key, messageIndex);
|
Q_EMIT self_->AlertUpdated(key, messageIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -226,7 +226,7 @@ void TimelineManager::Impl::Pause()
|
||||||
if (animationState_ != types::AnimationState::Pause)
|
if (animationState_ != types::AnimationState::Pause)
|
||||||
{
|
{
|
||||||
animationState_ = types::AnimationState::Pause;
|
animationState_ = types::AnimationState::Pause;
|
||||||
emit self_->AnimationStateUpdated(animationState_);
|
Q_EMIT self_->AnimationStateUpdated(animationState_);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -276,7 +276,7 @@ void TimelineManager::Impl::Play()
|
||||||
if (animationState_ != types::AnimationState::Play)
|
if (animationState_ != types::AnimationState::Play)
|
||||||
{
|
{
|
||||||
animationState_ = types::AnimationState::Play;
|
animationState_ = types::AnimationState::Play;
|
||||||
emit self_->AnimationStateUpdated(animationState_);
|
Q_EMIT self_->AnimationStateUpdated(animationState_);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
@ -366,9 +366,9 @@ void TimelineManager::Impl::SelectTime(
|
||||||
|
|
||||||
logger_->debug("Time updated: Live");
|
logger_->debug("Time updated: Live");
|
||||||
|
|
||||||
emit self_->LiveStateUpdated(true);
|
Q_EMIT self_->LiveStateUpdated(true);
|
||||||
emit self_->VolumeTimeUpdated(selectedTime);
|
Q_EMIT self_->VolumeTimeUpdated(selectedTime);
|
||||||
emit self_->SelectedTimeUpdated(selectedTime);
|
Q_EMIT self_->SelectedTimeUpdated(selectedTime);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -393,7 +393,7 @@ void TimelineManager::Impl::SelectTime(
|
||||||
util::GetBoundedElementPointer(volumeTimes, selectedTime);
|
util::GetBoundedElementPointer(volumeTimes, selectedTime);
|
||||||
|
|
||||||
// The timeline is no longer live
|
// The timeline is no longer live
|
||||||
emit self_->LiveStateUpdated(false);
|
Q_EMIT self_->LiveStateUpdated(false);
|
||||||
|
|
||||||
if (elementPtr != nullptr)
|
if (elementPtr != nullptr)
|
||||||
{
|
{
|
||||||
|
|
@ -409,7 +409,7 @@ void TimelineManager::Impl::SelectTime(
|
||||||
logger_->debug("Volume time updated: {}",
|
logger_->debug("Volume time updated: {}",
|
||||||
scwx::util::TimeString(adjustedTime_));
|
scwx::util::TimeString(adjustedTime_));
|
||||||
|
|
||||||
emit self_->VolumeTimeUpdated(adjustedTime_);
|
Q_EMIT self_->VolumeTimeUpdated(adjustedTime_);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -423,7 +423,7 @@ void TimelineManager::Impl::SelectTime(
|
||||||
scwx::util::TimeString(selectedTime));
|
scwx::util::TimeString(selectedTime));
|
||||||
|
|
||||||
selectedTime_ = selectedTime;
|
selectedTime_ = selectedTime;
|
||||||
emit self_->SelectedTimeUpdated(selectedTime);
|
Q_EMIT self_->SelectedTimeUpdated(selectedTime);
|
||||||
|
|
||||||
previousRadarSite_ = radarSite_;
|
previousRadarSite_ = radarSite_;
|
||||||
});
|
});
|
||||||
|
|
@ -492,9 +492,9 @@ void TimelineManager::Impl::Step(Direction direction)
|
||||||
logger_->debug("Volume time updated: {}",
|
logger_->debug("Volume time updated: {}",
|
||||||
scwx::util::TimeString(adjustedTime_));
|
scwx::util::TimeString(adjustedTime_));
|
||||||
|
|
||||||
emit self_->LiveStateUpdated(false);
|
Q_EMIT self_->LiveStateUpdated(false);
|
||||||
emit self_->VolumeTimeUpdated(adjustedTime_);
|
Q_EMIT self_->VolumeTimeUpdated(adjustedTime_);
|
||||||
emit self_->SelectedTimeUpdated(adjustedTime_);
|
Q_EMIT self_->SelectedTimeUpdated(adjustedTime_);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -509,9 +509,9 @@ void TimelineManager::Impl::Step(Direction direction)
|
||||||
logger_->debug("Volume time updated: {}",
|
logger_->debug("Volume time updated: {}",
|
||||||
scwx::util::TimeString(adjustedTime_));
|
scwx::util::TimeString(adjustedTime_));
|
||||||
|
|
||||||
emit self_->LiveStateUpdated(false);
|
Q_EMIT self_->LiveStateUpdated(false);
|
||||||
emit self_->VolumeTimeUpdated(adjustedTime_);
|
Q_EMIT self_->VolumeTimeUpdated(adjustedTime_);
|
||||||
emit self_->SelectedTimeUpdated(adjustedTime_);
|
Q_EMIT self_->SelectedTimeUpdated(adjustedTime_);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,7 @@ bool UpdateManager::CheckForUpdates(const std::string& currentVersion)
|
||||||
p->latestRelease_ = *latestRelease;
|
p->latestRelease_ = *latestRelease;
|
||||||
p->latestVersion_ = latestVersion;
|
p->latestVersion_ = latestVersion;
|
||||||
newRelease = true;
|
newRelease = true;
|
||||||
emit UpdateAvailable(latestVersion, *latestRelease);
|
Q_EMIT UpdateAvailable(latestVersion, *latestRelease);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -278,7 +278,7 @@ void AlertLayerHandler::HandleAlert(const types::TextEventKey& key,
|
||||||
for (auto& alert : alertsUpdated)
|
for (auto& alert : alertsUpdated)
|
||||||
{
|
{
|
||||||
// Emit signal for each updated alert type
|
// Emit signal for each updated alert type
|
||||||
emit AlertsUpdated(alert.first, alert.second);
|
Q_EMIT AlertsUpdated(alert.first, alert.second);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -326,7 +326,7 @@ void AlertLayerHandler::UpdateAlerts()
|
||||||
for (auto& alert : alertsUpdated)
|
for (auto& alert : alertsUpdated)
|
||||||
{
|
{
|
||||||
// Emit signal for each updated alert type
|
// Emit signal for each updated alert type
|
||||||
emit AlertsUpdated(alert.first, alert.second);
|
Q_EMIT AlertsUpdated(alert.first, alert.second);
|
||||||
}
|
}
|
||||||
|
|
||||||
using namespace std::chrono;
|
using namespace std::chrono;
|
||||||
|
|
|
||||||
|
|
@ -493,7 +493,7 @@ void MapWidget::SelectRadarSite(std::shared_ptr<config::RadarSite> radarSite,
|
||||||
|
|
||||||
// TODO: Disable refresh from old site
|
// TODO: Disable refresh from old site
|
||||||
|
|
||||||
emit RadarSiteUpdated(radarSite);
|
Q_EMIT RadarSiteUpdated(radarSite);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -629,7 +629,7 @@ void MapWidget::changeStyle()
|
||||||
p->currentStyleIndex_ = 0;
|
p->currentStyleIndex_ = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
emit MapStyleChanged(p->currentStyle_->name_);
|
Q_EMIT MapStyleChanged(p->currentStyle_->name_);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MapWidget::AddLayers()
|
void MapWidget::AddLayers()
|
||||||
|
|
@ -820,11 +820,11 @@ void MapWidget::initializeGL()
|
||||||
p->map_->setCoordinateZoom({radarSite->latitude(), radarSite->longitude()},
|
p->map_->setCoordinateZoom({radarSite->latitude(), radarSite->longitude()},
|
||||||
7);
|
7);
|
||||||
p->UpdateStoredMapParameters();
|
p->UpdateStoredMapParameters();
|
||||||
emit MapParametersChanged(p->prevLatitude_,
|
Q_EMIT MapParametersChanged(p->prevLatitude_,
|
||||||
p->prevLongitude_,
|
p->prevLongitude_,
|
||||||
p->prevZoom_,
|
p->prevZoom_,
|
||||||
p->prevBearing_,
|
p->prevBearing_,
|
||||||
p->prevPitch_);
|
p->prevPitch_);
|
||||||
|
|
||||||
// Update style
|
// Update style
|
||||||
changeStyle();
|
changeStyle();
|
||||||
|
|
@ -881,7 +881,7 @@ void MapWidgetImpl::RadarProductManagerConnect()
|
||||||
connect(radarProductManager_.get(),
|
connect(radarProductManager_.get(),
|
||||||
&manager::RadarProductManager::Level3ProductsChanged,
|
&manager::RadarProductManager::Level3ProductsChanged,
|
||||||
this,
|
this,
|
||||||
[this]() { emit widget_->Level3ProductsChanged(); });
|
[this]() { Q_EMIT widget_->Level3ProductsChanged(); });
|
||||||
|
|
||||||
connect(
|
connect(
|
||||||
radarProductManager_.get(),
|
radarProductManager_.get(),
|
||||||
|
|
@ -1007,7 +1007,7 @@ void MapWidgetImpl::RadarProductViewConnect()
|
||||||
radarProductView->range(),
|
radarProductView->range(),
|
||||||
{radarSite->latitude(), radarSite->longitude()});
|
{radarSite->latitude(), radarSite->longitude()});
|
||||||
widget_->update();
|
widget_->update();
|
||||||
emit widget_->RadarSweepUpdated();
|
Q_EMIT widget_->RadarSweepUpdated();
|
||||||
},
|
},
|
||||||
Qt::QueuedConnection);
|
Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
@ -1055,7 +1055,7 @@ void MapWidgetImpl::Update()
|
||||||
|
|
||||||
if (UpdateStoredMapParameters())
|
if (UpdateStoredMapParameters())
|
||||||
{
|
{
|
||||||
emit widget_->MapParametersChanged(
|
Q_EMIT widget_->MapParametersChanged(
|
||||||
prevLatitude_, prevLongitude_, prevZoom_, prevBearing_, prevPitch_);
|
prevLatitude_, prevLongitude_, prevZoom_, prevBearing_, prevPitch_);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -321,7 +321,7 @@ void AlertModel::HandleAlert(const types::TextEventKey& alertKey,
|
||||||
QModelIndex topLeft = createIndex(row, kFirstColumn);
|
QModelIndex topLeft = createIndex(row, kFirstColumn);
|
||||||
QModelIndex bottomRight = createIndex(row, kLastColumn);
|
QModelIndex bottomRight = createIndex(row, kLastColumn);
|
||||||
|
|
||||||
emit dataChanged(topLeft, bottomRight);
|
Q_EMIT dataChanged(topLeft, bottomRight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -352,7 +352,7 @@ void AlertModel::HandleMapUpdate(double latitude, double longitude)
|
||||||
QModelIndex bottomRight =
|
QModelIndex bottomRight =
|
||||||
createIndex(rowCount() - 1, static_cast<int>(Column::Distance));
|
createIndex(rowCount() - 1, static_cast<int>(Column::Distance));
|
||||||
|
|
||||||
emit dataChanged(topLeft, bottomRight);
|
Q_EMIT dataChanged(topLeft, bottomRight);
|
||||||
}
|
}
|
||||||
|
|
||||||
AlertModelImpl::AlertModelImpl() :
|
AlertModelImpl::AlertModelImpl() :
|
||||||
|
|
|
||||||
|
|
@ -178,7 +178,7 @@ void RadarSiteModel::HandleMapUpdate(double latitude, double longitude)
|
||||||
QModelIndex topLeft = createIndex(0, kColumnDistance);
|
QModelIndex topLeft = createIndex(0, kColumnDistance);
|
||||||
QModelIndex bottomRight = createIndex(rowCount() - 1, kColumnDistance);
|
QModelIndex bottomRight = createIndex(rowCount() - 1, kColumnDistance);
|
||||||
|
|
||||||
emit dataChanged(topLeft, bottomRight);
|
Q_EMIT dataChanged(topLeft, bottomRight);
|
||||||
}
|
}
|
||||||
|
|
||||||
RadarSiteModelImpl::RadarSiteModelImpl() :
|
RadarSiteModelImpl::RadarSiteModelImpl() :
|
||||||
|
|
|
||||||
|
|
@ -178,7 +178,7 @@ bool TreeModel::setData(const QModelIndex& index,
|
||||||
|
|
||||||
if (result)
|
if (result)
|
||||||
{
|
{
|
||||||
emit dataChanged(index, index);
|
Q_EMIT dataChanged(index, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ void AlertDialogImpl::ConnectSignals()
|
||||||
this,
|
this,
|
||||||
[this]()
|
[this]()
|
||||||
{
|
{
|
||||||
emit self_->MoveMap(centroid_.latitude_, centroid_.longitude_);
|
Q_EMIT self_->MoveMap(centroid_.latitude_, centroid_.longitude_);
|
||||||
self_->close();
|
self_->close();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -184,8 +184,8 @@ void AlertDockWidgetImpl::ConnectSignals()
|
||||||
{
|
{
|
||||||
case types::AlertAction::Go:
|
case types::AlertAction::Go:
|
||||||
// Move map
|
// Move map
|
||||||
emit self_->MoveMap(selectedAlertCentroid_.latitude_,
|
Q_EMIT self_->MoveMap(selectedAlertCentroid_.latitude_,
|
||||||
selectedAlertCentroid_.longitude_);
|
selectedAlertCentroid_.longitude_);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case types::AlertAction::View:
|
case types::AlertAction::View:
|
||||||
|
|
@ -214,8 +214,8 @@ void AlertDockWidgetImpl::ConnectSignals()
|
||||||
this,
|
this,
|
||||||
[this]()
|
[this]()
|
||||||
{
|
{
|
||||||
emit self_->MoveMap(selectedAlertCentroid_.latitude_,
|
Q_EMIT self_->MoveMap(selectedAlertCentroid_.latitude_,
|
||||||
selectedAlertCentroid_.longitude_);
|
selectedAlertCentroid_.longitude_);
|
||||||
});
|
});
|
||||||
connect(
|
connect(
|
||||||
alertDialog_, &AlertDialog::MoveMap, self_, &AlertDockWidget::MoveMap);
|
alertDialog_, &AlertDialog::MoveMap, self_, &AlertDockWidget::MoveMap);
|
||||||
|
|
|
||||||
|
|
@ -108,7 +108,7 @@ void AnimationDockWidgetImpl::ConnectSignals()
|
||||||
{
|
{
|
||||||
if (checked)
|
if (checked)
|
||||||
{
|
{
|
||||||
emit self_->ViewTypeChanged(types::MapTime::Live);
|
Q_EMIT self_->ViewTypeChanged(types::MapTime::Live);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
QObject::connect(self_->ui->archiveViewRadioButton,
|
QObject::connect(self_->ui->archiveViewRadioButton,
|
||||||
|
|
@ -118,7 +118,8 @@ void AnimationDockWidgetImpl::ConnectSignals()
|
||||||
{
|
{
|
||||||
if (checked)
|
if (checked)
|
||||||
{
|
{
|
||||||
emit self_->ViewTypeChanged(types::MapTime::Archive);
|
Q_EMIT self_->ViewTypeChanged(
|
||||||
|
types::MapTime::Archive);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -132,7 +133,7 @@ void AnimationDockWidgetImpl::ConnectSignals()
|
||||||
if (date.isValid())
|
if (date.isValid())
|
||||||
{
|
{
|
||||||
selectedDate_ = util::SysDays(date);
|
selectedDate_ = util::SysDays(date);
|
||||||
emit self_->DateTimeChanged(selectedDate_ + selectedTime_);
|
Q_EMIT self_->DateTimeChanged(selectedDate_ + selectedTime_);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
|
|
@ -145,7 +146,7 @@ void AnimationDockWidgetImpl::ConnectSignals()
|
||||||
{
|
{
|
||||||
selectedTime_ =
|
selectedTime_ =
|
||||||
std::chrono::seconds(time.msecsSinceStartOfDay() / 1000);
|
std::chrono::seconds(time.msecsSinceStartOfDay() / 1000);
|
||||||
emit self_->DateTimeChanged(selectedDate_ + selectedTime_);
|
Q_EMIT self_->DateTimeChanged(selectedDate_ + selectedTime_);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -153,34 +154,35 @@ void AnimationDockWidgetImpl::ConnectSignals()
|
||||||
QObject::connect(self_->ui->loopTimeSpinBox,
|
QObject::connect(self_->ui->loopTimeSpinBox,
|
||||||
&QSpinBox::valueChanged,
|
&QSpinBox::valueChanged,
|
||||||
self_,
|
self_,
|
||||||
[this](int i)
|
[this](int i) {
|
||||||
{ emit self_->LoopTimeChanged(std::chrono::minutes(i)); });
|
Q_EMIT self_->LoopTimeChanged(std::chrono::minutes(i));
|
||||||
|
});
|
||||||
QObject::connect(self_->ui->loopSpeedSpinBox,
|
QObject::connect(self_->ui->loopSpeedSpinBox,
|
||||||
&QDoubleSpinBox::valueChanged,
|
&QDoubleSpinBox::valueChanged,
|
||||||
self_,
|
self_,
|
||||||
[this](double d) { emit self_->LoopSpeedChanged(d); });
|
[this](double d) { Q_EMIT self_->LoopSpeedChanged(d); });
|
||||||
|
|
||||||
// Animation controls
|
// Animation controls
|
||||||
QObject::connect(self_->ui->beginButton,
|
QObject::connect(self_->ui->beginButton,
|
||||||
&QAbstractButton::clicked,
|
&QAbstractButton::clicked,
|
||||||
self_,
|
self_,
|
||||||
[this]() { emit self_->AnimationStepBeginSelected(); });
|
[this]() { Q_EMIT self_->AnimationStepBeginSelected(); });
|
||||||
QObject::connect(self_->ui->stepBackButton,
|
QObject::connect(self_->ui->stepBackButton,
|
||||||
&QAbstractButton::clicked,
|
&QAbstractButton::clicked,
|
||||||
self_,
|
self_,
|
||||||
[this]() { emit self_->AnimationStepBackSelected(); });
|
[this]() { Q_EMIT self_->AnimationStepBackSelected(); });
|
||||||
QObject::connect(self_->ui->playButton,
|
QObject::connect(self_->ui->playButton,
|
||||||
&QAbstractButton::clicked,
|
&QAbstractButton::clicked,
|
||||||
self_,
|
self_,
|
||||||
[this]() { emit self_->AnimationPlaySelected(); });
|
[this]() { Q_EMIT self_->AnimationPlaySelected(); });
|
||||||
QObject::connect(self_->ui->stepNextButton,
|
QObject::connect(self_->ui->stepNextButton,
|
||||||
&QAbstractButton::clicked,
|
&QAbstractButton::clicked,
|
||||||
self_,
|
self_,
|
||||||
[this]() { emit self_->AnimationStepNextSelected(); });
|
[this]() { Q_EMIT self_->AnimationStepNextSelected(); });
|
||||||
QObject::connect(self_->ui->endButton,
|
QObject::connect(self_->ui->endButton,
|
||||||
&QAbstractButton::clicked,
|
&QAbstractButton::clicked,
|
||||||
self_,
|
self_,
|
||||||
[this]() { emit self_->AnimationStepEndSelected(); });
|
[this]() { Q_EMIT self_->AnimationStepEndSelected(); });
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnimationDockWidget::UpdateAnimationState(types::AnimationState state)
|
void AnimationDockWidget::UpdateAnimationState(types::AnimationState state)
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ void Level2ProductsWidgetImpl::SelectProduct(common::Level2Product product)
|
||||||
{
|
{
|
||||||
UpdateProductSelection(product);
|
UpdateProductSelection(product);
|
||||||
|
|
||||||
emit self_->RadarProductSelected(
|
Q_EMIT self_->RadarProductSelected(
|
||||||
common::RadarProductGroup::Level2, common::GetLevel2Name(product), 0);
|
common::RadarProductGroup::Level2, common::GetLevel2Name(product), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,7 @@ void Level2SettingsWidgetImpl::SelectElevation(float elevation)
|
||||||
{
|
{
|
||||||
self_->UpdateElevationSelection(elevation);
|
self_->UpdateElevationSelection(elevation);
|
||||||
|
|
||||||
emit self_->ElevationSelected(elevation);
|
Q_EMIT self_->ElevationSelected(elevation);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Level2SettingsWidget::UpdateElevationSelection(float elevation)
|
void Level2SettingsWidget::UpdateElevationSelection(float elevation)
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ public:
|
||||||
self_->UpdateProductSelection(
|
self_->UpdateProductSelection(
|
||||||
common::RadarProductGroup::Level3, awipsProductName);
|
common::RadarProductGroup::Level3, awipsProductName);
|
||||||
|
|
||||||
emit self_->RadarProductSelected(
|
Q_EMIT self_->RadarProductSelected(
|
||||||
common::RadarProductGroup::Level3, awipsProductName, 0);
|
common::RadarProductGroup::Level3, awipsProductName, 0);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -164,7 +164,7 @@ void Level3ProductsWidgetImpl::SelectProductCategory(
|
||||||
{
|
{
|
||||||
UpdateCategorySelection(category);
|
UpdateCategorySelection(category);
|
||||||
|
|
||||||
emit self_->RadarProductSelected(
|
Q_EMIT self_->RadarProductSelected(
|
||||||
common::RadarProductGroup::Level3,
|
common::RadarProductGroup::Level3,
|
||||||
common::GetLevel3CategoryDefaultProduct(category),
|
common::GetLevel3CategoryDefaultProduct(category),
|
||||||
0);
|
0);
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ RadarSiteDialog::RadarSiteDialog(QWidget* parent) :
|
||||||
connect(ui->radarSiteView,
|
connect(ui->radarSiteView,
|
||||||
&QTreeView::doubleClicked,
|
&QTreeView::doubleClicked,
|
||||||
this,
|
this,
|
||||||
[this]() { emit accept(); });
|
[this]() { Q_EMIT accept(); });
|
||||||
connect(
|
connect(
|
||||||
ui->radarSiteView->selectionModel(),
|
ui->radarSiteView->selectionModel(),
|
||||||
&QItemSelectionModel::selectionChanged,
|
&QItemSelectionModel::selectionChanged,
|
||||||
|
|
|
||||||
|
|
@ -494,7 +494,7 @@ void SettingsDialogImpl::SetupPalettesColorTablesTab()
|
||||||
lineEdit->setText(path);
|
lineEdit->setText(path);
|
||||||
|
|
||||||
// setText does not emit the textEdited signal
|
// setText does not emit the textEdited signal
|
||||||
emit lineEdit->textEdited(path);
|
Q_EMIT lineEdit->textEdited(path);
|
||||||
});
|
});
|
||||||
|
|
||||||
dialog->open();
|
dialog->open();
|
||||||
|
|
@ -707,7 +707,7 @@ void SettingsDialogImpl::ShowColorDialog(QLineEdit* lineEdit, QFrame* frame)
|
||||||
lineEdit->setText(colorName);
|
lineEdit->setText(colorName);
|
||||||
|
|
||||||
// setText does not emit the textEdited signal
|
// setText does not emit the textEdited signal
|
||||||
emit lineEdit->textEdited(colorName);
|
Q_EMIT lineEdit->textEdited(colorName);
|
||||||
});
|
});
|
||||||
|
|
||||||
dialog->open();
|
dialog->open();
|
||||||
|
|
|
||||||
|
|
@ -391,7 +391,7 @@ void Level2ProductView::UpdateColorTable()
|
||||||
p->savedOffset_ = offset;
|
p->savedOffset_ = offset;
|
||||||
p->savedScale_ = scale;
|
p->savedScale_ = scale;
|
||||||
|
|
||||||
emit ColorTableUpdated();
|
Q_EMIT ColorTableUpdated();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Level2ProductView::ComputeSweep()
|
void Level2ProductView::ComputeSweep()
|
||||||
|
|
@ -689,7 +689,7 @@ void Level2ProductView::ComputeSweep()
|
||||||
|
|
||||||
UpdateColorTable();
|
UpdateColorTable();
|
||||||
|
|
||||||
emit SweepComputed();
|
Q_EMIT SweepComputed();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Level2ProductViewImpl::ComputeCoordinates(
|
void Level2ProductViewImpl::ComputeCoordinates(
|
||||||
|
|
|
||||||
|
|
@ -305,7 +305,7 @@ void Level3ProductView::UpdateColorTable()
|
||||||
p->savedOffset_ = offset;
|
p->savedOffset_ = offset;
|
||||||
p->savedScale_ = scale;
|
p->savedScale_ = scale;
|
||||||
|
|
||||||
emit ColorTableUpdated();
|
Q_EMIT ColorTableUpdated();
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace view
|
} // namespace view
|
||||||
|
|
|
||||||
|
|
@ -406,7 +406,7 @@ void Level3RadialView::ComputeSweep()
|
||||||
|
|
||||||
UpdateColorTable();
|
UpdateColorTable();
|
||||||
|
|
||||||
emit SweepComputed();
|
Q_EMIT SweepComputed();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Level3RadialViewImpl::ComputeCoordinates(
|
void Level3RadialViewImpl::ComputeCoordinates(
|
||||||
|
|
|
||||||
|
|
@ -335,7 +335,7 @@ void Level3RasterView::ComputeSweep()
|
||||||
|
|
||||||
UpdateColorTable();
|
UpdateColorTable();
|
||||||
|
|
||||||
emit SweepComputed();
|
Q_EMIT SweepComputed();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<Level3RasterView> Level3RasterView::Create(
|
std::shared_ptr<Level3RasterView> Level3RasterView::Create(
|
||||||
|
|
|
||||||
|
|
@ -155,7 +155,7 @@ void RadarProductView::ComputeSweep()
|
||||||
{
|
{
|
||||||
logger_->debug("ComputeSweep()");
|
logger_->debug("ComputeSweep()");
|
||||||
|
|
||||||
emit SweepComputed();
|
Q_EMIT SweepComputed();
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace view
|
} // namespace view
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,10 @@ find_package(cpr)
|
||||||
find_package(LibXml2)
|
find_package(LibXml2)
|
||||||
find_package(spdlog)
|
find_package(spdlog)
|
||||||
|
|
||||||
|
if (NOT MSVC)
|
||||||
|
find_package(TBB)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(HDR_AWIPS include/scwx/awips/coded_location.hpp
|
set(HDR_AWIPS include/scwx/awips/coded_location.hpp
|
||||||
include/scwx/awips/coded_time_motion_location.hpp
|
include/scwx/awips/coded_time_motion_location.hpp
|
||||||
include/scwx/awips/message.hpp
|
include/scwx/awips/message.hpp
|
||||||
|
|
@ -236,6 +240,8 @@ target_compile_options(wxdata PRIVATE
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
# Produce PDB file for debug
|
# Produce PDB file for debug
|
||||||
target_compile_options(wxdata PRIVATE "$<$<CONFIG:Release>:/Zi>")
|
target_compile_options(wxdata PRIVATE "$<$<CONFIG:Release>:/Zi>")
|
||||||
|
else()
|
||||||
|
target_compile_options(wxdata PRIVATE "$<$<CONFIG:Release>:-g>")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(wxdata PUBLIC aws-cpp-sdk-core
|
target_link_libraries(wxdata PUBLIC aws-cpp-sdk-core
|
||||||
|
|
@ -252,7 +258,8 @@ if (WIN32)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (NOT MSVC)
|
if (NOT MSVC)
|
||||||
target_link_libraries(wxdata PUBLIC date::date-tz)
|
target_link_libraries(wxdata PUBLIC date::date-tz
|
||||||
|
TBB::tbb)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set_target_properties(wxdata PROPERTIES CXX_STANDARD 20
|
set_target_properties(wxdata PROPERTIES CXX_STANDARD 20
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue