From 2f46b56306b0a7949276187be4a96d67a43c988a Mon Sep 17 00:00:00 2001 From: nanjirenwahaha <1731995580@qq.com> Date: Wed, 24 Sep 2025 21:38:19 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E8=BF=90=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .qmake.stash | 23 ++ build.sh | 43 +++ build/.qmake.stash | 23 ++ build/Drone_project | Bin 0 -> 299600 bytes build/Makefile | 581 ++++++++++++++++++++++++++++ build/datapage.o | Bin 0 -> 33872 bytes build/detectiondata.o | Bin 0 -> 37840 bytes build/dronedata.o | Bin 0 -> 28600 bytes build/main.o | Bin 0 -> 11416 bytes build/mainwindow.o | Bin 0 -> 112608 bytes build/mappage.o | Bin 0 -> 71648 bytes build/moc_datapage.cpp | 147 +++++++ build/moc_datapage.o | Bin 0 -> 10816 bytes build/moc_detectiondata.cpp | 203 ++++++++++ build/moc_detectiondata.o | Bin 0 -> 7992 bytes build/moc_dronedata.cpp | 308 +++++++++++++++ build/moc_dronedata.o | Bin 0 -> 12272 bytes build/moc_mainwindow.cpp | 155 ++++++++ build/moc_mainwindow.o | Bin 0 -> 14296 bytes build/moc_mappage.cpp | 640 +++++++++++++++++++++++++++++++ build/moc_mappage.o | Bin 0 -> 48776 bytes build/moc_predefs.h | 430 +++++++++++++++++++++ build/moc_taskdecisionpage.cpp | 156 ++++++++ build/moc_taskdecisionpage.o | Bin 0 -> 14408 bytes build/moc_videopage.cpp | 144 +++++++ build/moc_videopage.o | Bin 0 -> 10824 bytes build/moc_visionmodelpage.cpp | 166 ++++++++ build/moc_visionmodelpage.o | Bin 0 -> 11432 bytes build/stylehelper.o | Bin 0 -> 10384 bytes build/taskdecisionpage.o | Bin 0 -> 58032 bytes build/videopage.o | Bin 0 -> 39376 bytes build/visionmodelpage.o | Bin 0 -> 17728 bytes drone_ui | Bin 0 -> 212448 bytes drone_ui.pro | 27 ++ drone_ui.pro.user | 271 +++++++++++++ src/core/main.cpp | 41 ++ src/models/detectiondata.cpp | 182 +++++++++ src/models/detectiondata.h | 98 +++++ src/models/dronedata.cpp | 215 +++++++++++ src/models/dronedata.h | 108 ++++++ src/pages/datapage.cpp | 126 ++++++ src/pages/datapage.h | 54 +++ src/pages/mappage.cpp | 489 ++++++++++++++++++++++++ src/pages/mappage.h | 179 +++++++++ src/pages/taskdecisionpage.cpp | 285 ++++++++++++++ src/pages/taskdecisionpage.h | 87 +++++ src/pages/videopage.cpp | 296 ++++++++++++++ src/pages/videopage.h | 82 ++++ src/pages/visionmodelpage.cpp | 109 ++++++ src/pages/visionmodelpage.h | 57 +++ src/ui/mainwindow.cpp | 680 +++++++++++++++++++++++++++++++++ src/ui/mainwindow.h | 92 +++++ src/utils/stylehelper.cpp | 119 ++++++ src/utils/stylehelper.h | 40 ++ 54 files changed, 6656 insertions(+) create mode 100644 .qmake.stash create mode 100755 build.sh create mode 100644 build/.qmake.stash create mode 100755 build/Drone_project create mode 100644 build/Makefile create mode 100644 build/datapage.o create mode 100644 build/detectiondata.o create mode 100644 build/dronedata.o create mode 100644 build/main.o create mode 100644 build/mainwindow.o create mode 100644 build/mappage.o create mode 100644 build/moc_datapage.cpp create mode 100644 build/moc_datapage.o create mode 100644 build/moc_detectiondata.cpp create mode 100644 build/moc_detectiondata.o create mode 100644 build/moc_dronedata.cpp create mode 100644 build/moc_dronedata.o create mode 100644 build/moc_mainwindow.cpp create mode 100644 build/moc_mainwindow.o create mode 100644 build/moc_mappage.cpp create mode 100644 build/moc_mappage.o create mode 100644 build/moc_predefs.h create mode 100644 build/moc_taskdecisionpage.cpp create mode 100644 build/moc_taskdecisionpage.o create mode 100644 build/moc_videopage.cpp create mode 100644 build/moc_videopage.o create mode 100644 build/moc_visionmodelpage.cpp create mode 100644 build/moc_visionmodelpage.o create mode 100644 build/stylehelper.o create mode 100644 build/taskdecisionpage.o create mode 100644 build/videopage.o create mode 100644 build/visionmodelpage.o create mode 100644 drone_ui create mode 100644 drone_ui.pro create mode 100644 drone_ui.pro.user create mode 100644 src/core/main.cpp create mode 100644 src/models/detectiondata.cpp create mode 100644 src/models/detectiondata.h create mode 100644 src/models/dronedata.cpp create mode 100644 src/models/dronedata.h create mode 100644 src/pages/datapage.cpp create mode 100644 src/pages/datapage.h create mode 100644 src/pages/mappage.cpp create mode 100644 src/pages/mappage.h create mode 100644 src/pages/taskdecisionpage.cpp create mode 100644 src/pages/taskdecisionpage.h create mode 100644 src/pages/videopage.cpp create mode 100644 src/pages/videopage.h create mode 100644 src/pages/visionmodelpage.cpp create mode 100644 src/pages/visionmodelpage.h create mode 100644 src/ui/mainwindow.cpp create mode 100644 src/ui/mainwindow.h create mode 100644 src/utils/stylehelper.cpp create mode 100644 src/utils/stylehelper.h diff --git a/.qmake.stash b/.qmake.stash new file mode 100644 index 0000000..0d0b187 --- /dev/null +++ b/.qmake.stash @@ -0,0 +1,23 @@ +QMAKE_CXX.QT_COMPILER_STDCXX = 201703L +QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 11 +QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 4 +QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0 +QMAKE_CXX.COMPILER_MACROS = \ + QT_COMPILER_STDCXX \ + QMAKE_GCC_MAJOR_VERSION \ + QMAKE_GCC_MINOR_VERSION \ + QMAKE_GCC_PATCH_VERSION +QMAKE_CXX.INCDIRS = \ + /usr/include/c++/11 \ + /usr/include/x86_64-linux-gnu/c++/11 \ + /usr/include/c++/11/backward \ + /usr/lib/gcc/x86_64-linux-gnu/11/include \ + /usr/local/include \ + /usr/include/x86_64-linux-gnu \ + /usr/include +QMAKE_CXX.LIBDIRS = \ + /usr/lib/gcc/x86_64-linux-gnu/11 \ + /usr/lib/x86_64-linux-gnu \ + /usr/lib \ + /lib/x86_64-linux-gnu \ + /lib diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..562e59e --- /dev/null +++ b/build.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +# Drone_project项目构建脚本(shadow build,系统 qmake) + +echo "=== 构建Drone_project项目 ===" + +# 仅使用系统 qmake,确保团队环境一致 +if ! command -v qmake >/dev/null 2>&1; then + echo "✗ 未找到系统 qmake。请先安装:sudo apt install -y qtbase5-dev qtwebengine5-dev" + exit 1 +fi +QMAKE_BIN="qmake" +echo "使用 qmake: ${QMAKE_BIN} (from PATH)" + +# 准备构建目录(shadow build) +echo "1. 准备构建目录..." +mkdir -p build || exit 1 +rm -rf build/* + +# 进入构建目录并生成构建文件 +echo "2. 生成构建文件..." +( + cd build && "${QMAKE_BIN}" ../drone_ui.pro +) || { echo "✗ qmake 失败"; exit 1; } + +# 编译项目 +echo "3. 编译项目..." +( + cd build && make -j +) || { echo "✗ 编译失败"; exit 1; } + +# 检查编译结果 +if [ -f "build/Drone_project" ]; then + echo "✓ 编译成功!可执行文件位置: build/Drone_project" +else + echo "✗ 没找到可执行文件 build/Drone_project" + exit 1 +fi + +echo "=== 构建完成 ===" + + + diff --git a/build/.qmake.stash b/build/.qmake.stash new file mode 100644 index 0000000..42569a7 --- /dev/null +++ b/build/.qmake.stash @@ -0,0 +1,23 @@ +QMAKE_CXX.QT_COMPILER_STDCXX = 201402L +QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 9 +QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 4 +QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0 +QMAKE_CXX.COMPILER_MACROS = \ + QT_COMPILER_STDCXX \ + QMAKE_GCC_MAJOR_VERSION \ + QMAKE_GCC_MINOR_VERSION \ + QMAKE_GCC_PATCH_VERSION +QMAKE_CXX.INCDIRS = \ + /usr/include/c++/9 \ + /usr/include/x86_64-linux-gnu/c++/9 \ + /usr/include/c++/9/backward \ + /usr/lib/gcc/x86_64-linux-gnu/9/include \ + /usr/local/include \ + /usr/include/x86_64-linux-gnu \ + /usr/include +QMAKE_CXX.LIBDIRS = \ + /usr/lib/gcc/x86_64-linux-gnu/9 \ + /usr/lib/x86_64-linux-gnu \ + /usr/lib \ + /lib/x86_64-linux-gnu \ + /lib diff --git a/build/Drone_project b/build/Drone_project new file mode 100755 index 0000000000000000000000000000000000000000..a191719cf8180c7722845445f9e62fdf93a411df GIT binary patch literal 299600 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 literal 0 HcmV?d00001 diff --git a/build/Makefile b/build/Makefile new file mode 100644 index 0000000..ff482e3 --- /dev/null +++ b/build/Makefile @@ -0,0 +1,581 @@ +############################################################################# +# Makefile for building: Drone_project +# Generated by qmake (3.1) (Qt 5.15.3) +# Project: ../drone_ui.pro +# Template: app +# Command: /usr/lib/qt5/bin/qmake -o Makefile ../drone_ui.pro +############################################################################# + +MAKEFILE = Makefile + +EQ = = + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DQT_NO_DEBUG -DQT_WEBENGINEWIDGETS_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_WEBENGINECORE_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QMLMODELS_LIB -DQT_WEBCHANNEL_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_POSITIONING_LIB -DQT_CORE_LIB +CFLAGS = -pipe -O2 -Wall -Wextra -D_REENTRANT -fPIC $(DEFINES) +CXXFLAGS = -pipe -O2 -std=gnu++1z -Wall -Wextra -D_REENTRANT -fPIC $(DEFINES) +INCPATH = -I../../Drone_project -I. -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineCore -I/usr/include/x86_64-linux-gnu/qt5/QtQuick -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtQmlModels -I/usr/include/x86_64-linux-gnu/qt5/QtWebChannel -I/usr/include/x86_64-linux-gnu/qt5/QtQml -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtPositioning -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ +QMAKE = /usr/lib/qt5/bin/qmake +DEL_FILE = rm -f +CHK_DIR_EXISTS= test -d +MKDIR = mkdir -p +COPY = cp -f +COPY_FILE = cp -f +COPY_DIR = cp -f -R +INSTALL_FILE = install -m 644 -p +INSTALL_PROGRAM = install -m 755 -p +INSTALL_DIR = cp -f -R +QINSTALL = /usr/lib/qt5/bin/qmake -install qinstall +QINSTALL_PROGRAM = /usr/lib/qt5/bin/qmake -install qinstall -exe +DEL_FILE = rm -f +SYMLINK = ln -f -s +DEL_DIR = rmdir +MOVE = mv -f +TAR = tar -cf +COMPRESS = gzip -9f +DISTNAME = Drone_project1.0.0 +DISTDIR = /home/wangjing/uav/Drone_project/build/.tmp/Drone_project1.0.0 +LINK = g++ +LFLAGS = -Wl,-O1 -Wl,-rpath-link,/usr/lib/x86_64-linux-gnu +LIBS = $(SUBLIBS) /usr/lib/x86_64-linux-gnu/libQt5WebEngineWidgets.so /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so /usr/lib/x86_64-linux-gnu/libQt5Widgets.so /usr/lib/x86_64-linux-gnu/libQt5WebEngineCore.so /usr/lib/x86_64-linux-gnu/libQt5Quick.so /usr/lib/x86_64-linux-gnu/libQt5Gui.so /usr/lib/x86_64-linux-gnu/libQt5QmlModels.so /usr/lib/x86_64-linux-gnu/libQt5WebChannel.so /usr/lib/x86_64-linux-gnu/libQt5Qml.so /usr/lib/x86_64-linux-gnu/libQt5Network.so /usr/lib/x86_64-linux-gnu/libQt5Positioning.so /usr/lib/x86_64-linux-gnu/libQt5Core.so -lGL -lpthread +AR = ar cqs +RANLIB = +SED = sed +STRIP = strip + +####### Output directory + +OBJECTS_DIR = ./ + +####### Files + +SOURCES = ../src/core/main.cpp \ + ../src/ui/mainwindow.cpp \ + ../src/models/dronedata.cpp \ + ../src/models/detectiondata.cpp \ + ../src/pages/videopage.cpp \ + ../src/pages/mappage.cpp \ + ../src/pages/datapage.cpp \ + ../src/pages/visionmodelpage.cpp \ + ../src/utils/stylehelper.cpp \ + ../src/pages/taskdecisionpage.cpp moc_mainwindow.cpp \ + moc_dronedata.cpp \ + moc_detectiondata.cpp \ + moc_videopage.cpp \ + moc_mappage.cpp \ + moc_datapage.cpp \ + moc_visionmodelpage.cpp \ + moc_taskdecisionpage.cpp +OBJECTS = main.o \ + mainwindow.o \ + dronedata.o \ + detectiondata.o \ + videopage.o \ + mappage.o \ + datapage.o \ + visionmodelpage.o \ + stylehelper.o \ + taskdecisionpage.o \ + moc_mainwindow.o \ + moc_dronedata.o \ + moc_detectiondata.o \ + moc_videopage.o \ + moc_mappage.o \ + moc_datapage.o \ + moc_visionmodelpage.o \ + moc_taskdecisionpage.o +DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_positioning.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_positioningquick.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qml.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlmodels.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlworkerscript.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webengine.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginecore.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginewidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \ + ../.qmake.stash \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources_functions.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \ + ../../drone_ui.pro ../src/ui/mainwindow.h \ + ../src/models/dronedata.h \ + ../src/models/detectiondata.h \ + ../src/pages/videopage.h \ + ../src/pages/mappage.h \ + ../src/pages/datapage.h \ + ../src/pages/visionmodelpage.h \ + ../src/utils/stylehelper.h \ + ../src/pages/taskdecisionpage.h ../src/core/main.cpp \ + ../src/ui/mainwindow.cpp \ + ../src/models/dronedata.cpp \ + ../src/models/detectiondata.cpp \ + ../src/pages/videopage.cpp \ + ../src/pages/mappage.cpp \ + ../src/pages/datapage.cpp \ + ../src/pages/visionmodelpage.cpp \ + ../src/utils/stylehelper.cpp \ + ../src/pages/taskdecisionpage.cpp +QMAKE_TARGET = Drone_project +DESTDIR = +TARGET = Drone_project + + +first: all +####### Build rules + +Drone_project: $(OBJECTS) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) + +Makefile: ../drone_ui.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_positioning.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_positioningquick.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qml.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlmodels.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlworkerscript.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webengine.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginecore.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginewidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \ + .qmake.stash \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources_functions.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \ + ../drone_ui.pro + $(QMAKE) -o Makefile ../drone_ui.pro +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_positioning.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_positioningquick.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qml.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlmodels.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlworkerscript.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webengine.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginecore.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginewidgets.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf: +.qmake.stash: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources_functions.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf: +../drone_ui.pro: +qmake: FORCE + @$(QMAKE) -o Makefile ../drone_ui.pro + +qmake_all: FORCE + + +all: Makefile Drone_project + +dist: distdir FORCE + (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR) + +distdir: FORCE + @test -d $(DISTDIR) || mkdir -p $(DISTDIR) + $(COPY_FILE) --parents $(DIST) $(DISTDIR)/ + $(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/ + $(COPY_FILE) --parents ../src/ui/mainwindow.h ../src/models/dronedata.h ../src/models/detectiondata.h ../src/pages/videopage.h ../src/pages/mappage.h ../src/pages/datapage.h ../src/pages/visionmodelpage.h ../src/utils/stylehelper.h ../src/pages/taskdecisionpage.h $(DISTDIR)/ + $(COPY_FILE) --parents ../src/core/main.cpp ../src/ui/mainwindow.cpp ../src/models/dronedata.cpp ../src/models/detectiondata.cpp ../src/pages/videopage.cpp ../src/pages/mappage.cpp ../src/pages/datapage.cpp ../src/pages/visionmodelpage.cpp ../src/utils/stylehelper.cpp ../src/pages/taskdecisionpage.cpp $(DISTDIR)/ + + +clean: compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) .qmake.stash + -$(DEL_FILE) Makefile + + +####### Sub-libraries + +mocclean: compiler_moc_header_clean compiler_moc_objc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_objc_header_make_all compiler_moc_source_make_all + +check: first + +benchmark: first + +compiler_rcc_make_all: +compiler_rcc_clean: +compiler_moc_predefs_make_all: moc_predefs.h +compiler_moc_predefs_clean: + -$(DEL_FILE) moc_predefs.h +moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp + g++ -pipe -O2 -std=gnu++1z -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp + +compiler_moc_header_make_all: moc_mainwindow.cpp moc_dronedata.cpp moc_detectiondata.cpp moc_videopage.cpp moc_mappage.cpp moc_datapage.cpp moc_visionmodelpage.cpp moc_taskdecisionpage.cpp +compiler_moc_header_clean: + -$(DEL_FILE) moc_mainwindow.cpp moc_dronedata.cpp moc_detectiondata.cpp moc_videopage.cpp moc_mappage.cpp moc_datapage.cpp moc_visionmodelpage.cpp moc_taskdecisionpage.cpp +moc_mainwindow.cpp: ../src/ui/mainwindow.h \ + ../src/models/dronedata.h \ + ../src/models/detectiondata.h \ + ../src/pages/visionmodelpage.h \ + ../src/utils/stylehelper.h \ + ../src/pages/taskdecisionpage.h \ + ../src/pages/mappage.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include /home/wangjing/uav/Drone_project/build/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/wangjing/uav/Drone_project -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineCore -I/usr/include/x86_64-linux-gnu/qt5/QtQuick -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtQmlModels -I/usr/include/x86_64-linux-gnu/qt5/QtWebChannel -I/usr/include/x86_64-linux-gnu/qt5/QtQml -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtPositioning -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../src/ui/mainwindow.h -o moc_mainwindow.cpp + +moc_dronedata.cpp: ../src/models/dronedata.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include /home/wangjing/uav/Drone_project/build/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/wangjing/uav/Drone_project -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineCore -I/usr/include/x86_64-linux-gnu/qt5/QtQuick -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtQmlModels -I/usr/include/x86_64-linux-gnu/qt5/QtWebChannel -I/usr/include/x86_64-linux-gnu/qt5/QtQml -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtPositioning -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../src/models/dronedata.h -o moc_dronedata.cpp + +moc_detectiondata.cpp: ../src/models/detectiondata.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include /home/wangjing/uav/Drone_project/build/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/wangjing/uav/Drone_project -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineCore -I/usr/include/x86_64-linux-gnu/qt5/QtQuick -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtQmlModels -I/usr/include/x86_64-linux-gnu/qt5/QtWebChannel -I/usr/include/x86_64-linux-gnu/qt5/QtQml -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtPositioning -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../src/models/detectiondata.h -o moc_detectiondata.cpp + +moc_videopage.cpp: ../src/pages/videopage.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include /home/wangjing/uav/Drone_project/build/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/wangjing/uav/Drone_project -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineCore -I/usr/include/x86_64-linux-gnu/qt5/QtQuick -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtQmlModels -I/usr/include/x86_64-linux-gnu/qt5/QtWebChannel -I/usr/include/x86_64-linux-gnu/qt5/QtQml -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtPositioning -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../src/pages/videopage.h -o moc_videopage.cpp + +moc_mappage.cpp: ../src/pages/mappage.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include /home/wangjing/uav/Drone_project/build/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/wangjing/uav/Drone_project -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineCore -I/usr/include/x86_64-linux-gnu/qt5/QtQuick -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtQmlModels -I/usr/include/x86_64-linux-gnu/qt5/QtWebChannel -I/usr/include/x86_64-linux-gnu/qt5/QtQml -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtPositioning -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../src/pages/mappage.h -o moc_mappage.cpp + +moc_datapage.cpp: ../src/pages/datapage.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include /home/wangjing/uav/Drone_project/build/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/wangjing/uav/Drone_project -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineCore -I/usr/include/x86_64-linux-gnu/qt5/QtQuick -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtQmlModels -I/usr/include/x86_64-linux-gnu/qt5/QtWebChannel -I/usr/include/x86_64-linux-gnu/qt5/QtQml -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtPositioning -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../src/pages/datapage.h -o moc_datapage.cpp + +moc_visionmodelpage.cpp: ../src/pages/visionmodelpage.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include /home/wangjing/uav/Drone_project/build/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/wangjing/uav/Drone_project -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineCore -I/usr/include/x86_64-linux-gnu/qt5/QtQuick -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtQmlModels -I/usr/include/x86_64-linux-gnu/qt5/QtWebChannel -I/usr/include/x86_64-linux-gnu/qt5/QtQml -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtPositioning -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../src/pages/visionmodelpage.h -o moc_visionmodelpage.cpp + +moc_taskdecisionpage.cpp: ../src/pages/taskdecisionpage.h \ + ../src/pages/mappage.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include /home/wangjing/uav/Drone_project/build/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/wangjing/uav/Drone_project -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtWebEngineCore -I/usr/include/x86_64-linux-gnu/qt5/QtQuick -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtQmlModels -I/usr/include/x86_64-linux-gnu/qt5/QtWebChannel -I/usr/include/x86_64-linux-gnu/qt5/QtQml -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtPositioning -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../src/pages/taskdecisionpage.h -o moc_taskdecisionpage.cpp + +compiler_moc_objc_header_make_all: +compiler_moc_objc_header_clean: +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_uic_make_all: +compiler_uic_clean: +compiler_yacc_decl_make_all: +compiler_yacc_decl_clean: +compiler_yacc_impl_make_all: +compiler_yacc_impl_clean: +compiler_lex_make_all: +compiler_lex_clean: +compiler_clean: compiler_moc_predefs_clean compiler_moc_header_clean + +####### Compile + +main.o: ../src/core/main.cpp ../src/ui/mainwindow.h \ + ../src/models/dronedata.h \ + ../src/models/detectiondata.h \ + ../src/pages/visionmodelpage.h \ + ../src/utils/stylehelper.h \ + ../src/pages/taskdecisionpage.h \ + ../src/pages/mappage.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o ../src/core/main.cpp + +mainwindow.o: ../src/ui/mainwindow.cpp ../src/ui/mainwindow.h \ + ../src/models/dronedata.h \ + ../src/models/detectiondata.h \ + ../src/pages/visionmodelpage.h \ + ../src/utils/stylehelper.h \ + ../src/pages/taskdecisionpage.h \ + ../src/pages/mappage.h \ + ../src/pages/videopage.h \ + ../src/pages/datapage.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o ../src/ui/mainwindow.cpp + +dronedata.o: ../src/models/dronedata.cpp ../src/models/dronedata.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dronedata.o ../src/models/dronedata.cpp + +detectiondata.o: ../src/models/detectiondata.cpp ../src/models/detectiondata.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o detectiondata.o ../src/models/detectiondata.cpp + +videopage.o: ../src/pages/videopage.cpp ../src/pages/videopage.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o videopage.o ../src/pages/videopage.cpp + +mappage.o: ../src/pages/mappage.cpp ../src/pages/mappage.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mappage.o ../src/pages/mappage.cpp + +datapage.o: ../src/pages/datapage.cpp ../src/pages/datapage.h \ + ../src/models/dronedata.h \ + ../src/models/detectiondata.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o datapage.o ../src/pages/datapage.cpp + +visionmodelpage.o: ../src/pages/visionmodelpage.cpp ../src/pages/visionmodelpage.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o visionmodelpage.o ../src/pages/visionmodelpage.cpp + +stylehelper.o: ../src/utils/stylehelper.cpp ../src/utils/stylehelper.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o stylehelper.o ../src/utils/stylehelper.cpp + +taskdecisionpage.o: ../src/pages/taskdecisionpage.cpp ../src/pages/taskdecisionpage.h \ + ../src/pages/mappage.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o taskdecisionpage.o ../src/pages/taskdecisionpage.cpp + +moc_mainwindow.o: moc_mainwindow.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp + +moc_dronedata.o: moc_dronedata.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dronedata.o moc_dronedata.cpp + +moc_detectiondata.o: moc_detectiondata.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_detectiondata.o moc_detectiondata.cpp + +moc_videopage.o: moc_videopage.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_videopage.o moc_videopage.cpp + +moc_mappage.o: moc_mappage.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mappage.o moc_mappage.cpp + +moc_datapage.o: moc_datapage.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_datapage.o moc_datapage.cpp + +moc_visionmodelpage.o: moc_visionmodelpage.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_visionmodelpage.o moc_visionmodelpage.cpp + +moc_taskdecisionpage.o: moc_taskdecisionpage.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_taskdecisionpage.o moc_taskdecisionpage.cpp + +####### Install + +install: FORCE + +uninstall: FORCE + +FORCE: + diff --git a/build/datapage.o b/build/datapage.o new file mode 100644 index 0000000000000000000000000000000000000000..40774c0942b592dcfe7f2b52b30a2c3b322c4c4f GIT binary patch literal 33872 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 L{R^NxS@r)vZ$W-O literal 0 HcmV?d00001 diff --git a/build/dronedata.o b/build/dronedata.o new file mode 100644 index 0000000000000000000000000000000000000000..44a9de35c3e42c8a3bad2ca649c6714c968eaba7 GIT binary patch literal 28600 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 literal 0 HcmV?d00001 diff --git a/build/main.o b/build/main.o new file mode 100644 index 0000000000000000000000000000000000000000..08f602f9240e2025bc71a7d342a63e5fcf59a2e7 GIT binary patch literal 11416 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 MQFadFWApw06H*dqkpKVy literal 0 HcmV?d00001 diff --git a/build/mappage.o b/build/mappage.o new file mode 100644 index 0000000000000000000000000000000000000000..d60287bd7be63cb23267b41d4990b371c09bfe83 GIT binary patch literal 71648 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 Bg<=2z literal 0 HcmV?d00001 diff --git a/build/moc_datapage.cpp b/build/moc_datapage.cpp new file mode 100644 index 0000000..68e0813 --- /dev/null +++ b/build/moc_datapage.cpp @@ -0,0 +1,147 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'datapage.h' +** +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.3) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include +#include "../src/pages/datapage.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'datapage.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.15.3. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED +struct qt_meta_stringdata_DataPage_t { + QByteArrayData data[5]; + char stringdata0[57]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_DataPage_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_DataPage_t qt_meta_stringdata_DataPage = { + { +QT_MOC_LITERAL(0, 0, 8), // "DataPage" +QT_MOC_LITERAL(1, 9, 13), // "dataRequested" +QT_MOC_LITERAL(2, 23, 0), // "" +QT_MOC_LITERAL(3, 24, 15), // "updateDroneInfo" +QT_MOC_LITERAL(4, 40, 16) // "updateTargetInfo" + + }, + "DataPage\0dataRequested\0\0updateDroneInfo\0" + "updateTargetInfo" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_DataPage[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 3, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 1, // signalCount + + // signals: name, argc, parameters, tag, flags + 1, 0, 29, 2, 0x06 /* Public */, + + // slots: name, argc, parameters, tag, flags + 3, 0, 30, 2, 0x0a /* Public */, + 4, 0, 31, 2, 0x0a /* Public */, + + // signals: parameters + QMetaType::Void, + + // slots: parameters + QMetaType::Void, + QMetaType::Void, + + 0 // eod +}; + +void DataPage::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + auto *_t = static_cast(_o); + (void)_t; + switch (_id) { + case 0: _t->dataRequested(); break; + case 1: _t->updateDroneInfo(); break; + case 2: _t->updateTargetInfo(); break; + default: ; + } + } else if (_c == QMetaObject::IndexOfMethod) { + int *result = reinterpret_cast(_a[0]); + { + using _t = void (DataPage::*)(); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DataPage::dataRequested)) { + *result = 0; + return; + } + } + } + (void)_a; +} + +QT_INIT_METAOBJECT const QMetaObject DataPage::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_meta_stringdata_DataPage.data, + qt_meta_data_DataPage, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *DataPage::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *DataPage::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_DataPage.stringdata0)) + return static_cast(this); + return QWidget::qt_metacast(_clname); +} + +int DataPage::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 3) + qt_static_metacall(this, _c, _id, _a); + _id -= 3; + } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { + if (_id < 3) + *reinterpret_cast(_a[0]) = -1; + _id -= 3; + } + return _id; +} + +// SIGNAL 0 +void DataPage::dataRequested() +{ + QMetaObject::activate(this, &staticMetaObject, 0, nullptr); +} +QT_WARNING_POP +QT_END_MOC_NAMESPACE diff --git a/build/moc_datapage.o b/build/moc_datapage.o new file mode 100644 index 0000000000000000000000000000000000000000..a29ad7fcc2c0c6f4d2349b2cb51b28fd9bbf46b2 GIT binary patch literal 10816 zcmeI1ZEPGz8OPUlL)|2`O$gL|&9zM-eY@WJJq1!bzO&ERaqeQbNonD7zFYg2`tIDj zJ;$z~335`^G6*AqXw@R6f)9m$Abdep#fONr^hHG~6{;#;q<|0vHI!C?DC!IF{AXu& zpIzU$0=^)`Bkj#Izj>Z#W@lz+XXg$l#)cXj8Vn^3#xBFpDQXx;uJ`qRq4pbB8dnJ0 zODMmQF8FPd>1IkVm3j-Mt#m=owO;d1a^-Mya_R66!@1;7V6EHwjpWJ(sHfcWZs_KV z=BuK7dOF&=?I@73it=OUYwb(#G&mDW?=(8Qj=k#aJ~gcjmj1r6_I7e*pgFnnX*eWz z_SJryTv}*0YQIdbG&~Pxobm(81{i^K)h`$AId)?oLFkt$^!pRb z=O|{IjJdG+*sp4rEnR4Q@TR3RO%%WF9z>^Gr8rCPZmylBvctb0S=qY%`Nn^cyz%<< z>T-PhW@_5fg$8FU71y?jU@Ju5cn0nAvrmaQe*Q7si6>31Vmyq#c-G0LvNM)f@_*%j zp$Fc=gdzEFznA7v1Dhz1^<+K4I;7UHt4VL9>qB(G7jg|p<4Zy2>X0#>|I zE?Fa`>9WjEW-Bw6BY^Zbh6e|4kLC#Ov7~)$s2k4%K@?)M^-Fyh;Cw#{NYO|AUOvMkz#$Kc$z`gss<}QR3H% zU5hXmYXY>p1;;MNm3EoVXyUAD__swIwqj8p@|4E@#~S`K4L_sdm(qh-?|!>9{2mSe zl7>I2;jd}DOyf8Q*|nKX$Iw)xccCMfvF5aMZ;rz zcMptZ_6`kABqlSH1G~o(8G~%+txDA{moiRvhAJ2z^**1>80y(O^#v>EB<4k#X{Oyg zYBYQEi=}MQ&g}`A`4M`mPSyz+AdFw$i8gv$LAMgB!w=Y(%{lfwZ4VQvURiZ&bRuJ? zQldeAq&~V6w=&T?x$Nw$?=l{U*)@p5wIO=kji|rzblc>#~rXL7UIYBl35&RH3ow&e-ors_rJE*`@l)VLYymw3zt%D3B^w@TDOJ?R7#w|m@a zWtyUF$ewkqN+LCpscRH->>?GrQD|rELX5+^S;@jmkpSixmwjJ7o}ajMs?=O zr4l^^<7LO5UQFy8mD7o)X`!4C1nbG$)ep2DRXx$0x8^6QgM)eX;bgH&!Y-tb{FlEU91%+H050d%bqDXL*)w1L#L3i17XeHLbjR=T7)Vv z=d!4_G-H>-&FwChYgH>%v8q+Sv-g0BtlK|w`u7Ukeb%g%mBon^db6%|hbgS%{s;Qv8 z>A?^TxR_3sW{lTy9qCCwA2h`4rRjt5Y{yc6bL|IjS# z64o9G7>n3rY=mTNA93@Y`AT_C^+Sxp%3Q#vS|}g#Z6;JMU{kR3-XO)&NtNR^rdgub zx0*S$?#0r(7aeP$Qpql+=2Npl+gu@Ano%LyEb~^c9@>Rz=I?`f>#jSZeXPLb$ zLu)Eb5ZUuHOVT89rpX+Q@f=025mA5OjOj~)pTT*3OuYwkx)k2nxR3Nd!c`Im- zU7D-WB*T)fx~?}p5`w{i+$UYLDvOEnjt=yi3A`=9=X@Z1Jy+P1t*#5n5xa8K*UN>yOsjjV1lJ!glkPU_&-OC8CA)WNq)9mx@?gWn)^Bo9j+{NqwbvMP0O^-KXh!no>NpyQ0+D0L)H zGLC0e$qA_-{>=(f`ZVLWFn*HpTN!_W@hIc3Fn$~3uQMKF{50bx<7XJ}VEiq{adxic zf>dx{_j7J#X$@mV&Z)ZHl_$L|fWBgN$ z_cJd3xRzx}#&GJc%#5yqcn{4|bDfjPX|(-^2LpjE^&Zn(@7ipJ6=3_*;yp z8Na~zKE{=bV)Y*hShFku-$2)KnQxP+;xZdp=lTDX5ov(;H7+IUSyMbB3)C1X-Y@yR zGFAM9%zq=q+vI&3(duH6zBDLxDsEa(TE&{pM)B2RL~+DrM5n4%BP!_qjy!Rrd>MsN z+WN868P`e_kUiO;oSoOyEoWyjYsytUMl@G07IESdEtMTBO8<%8O53R1eKJ2&szvAM zbHb`Pi?Xd&Av0ac7A+$>Qz_TxWJmmm$yxHp{wXZ|5@0U_X{QVO3+!VcD%JU`XF$y> z_+!7J{8Xy*pF|}jynZ}~%1@;_|ATNQ;r^FXUiqmsLJU)g{$>b>>fXoH{F0^Wc~HjK zn;=%d0y1rvo0)?2$Nl5E;{5?rywhPqe{Th36DEEg2{p&Kg=`S>-}T2k4KW)-^|i@- z_#p3=${zv4d4fhQ}iv6b3t7+5V(-L>$Z|<*(v?kyyR@ld3%`m2s56%o>MCsaOALS^q1TG$g1G-w(=P z)&Dp#Q9q?z4k9Q?%uT%Ch^M*AwU^+ci1M% literal 0 HcmV?d00001 diff --git a/build/moc_detectiondata.cpp b/build/moc_detectiondata.cpp new file mode 100644 index 0000000..e10fd2e --- /dev/null +++ b/build/moc_detectiondata.cpp @@ -0,0 +1,203 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'detectiondata.h' +** +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.3) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include +#include "../src/models/detectiondata.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'detectiondata.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.15.3. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED +struct qt_meta_stringdata_DetectionData_t { + QByteArrayData data[12]; + char stringdata0[145]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_DetectionData_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_DetectionData_t qt_meta_stringdata_DetectionData = { + { +QT_MOC_LITERAL(0, 0, 13), // "DetectionData" +QT_MOC_LITERAL(1, 14, 16), // "detectionUpdated" +QT_MOC_LITERAL(2, 31, 0), // "" +QT_MOC_LITERAL(3, 32, 13), // "statusChanged" +QT_MOC_LITERAL(4, 46, 15), // "DetectionStatus" +QT_MOC_LITERAL(5, 62, 6), // "status" +QT_MOC_LITERAL(6, 69, 11), // "targetAdded" +QT_MOC_LITERAL(7, 81, 15), // "DetectionTarget" +QT_MOC_LITERAL(8, 97, 6), // "target" +QT_MOC_LITERAL(9, 104, 13), // "targetRemoved" +QT_MOC_LITERAL(10, 118, 8), // "targetId" +QT_MOC_LITERAL(11, 127, 17) // "onSimulationTimer" + + }, + "DetectionData\0detectionUpdated\0\0" + "statusChanged\0DetectionStatus\0status\0" + "targetAdded\0DetectionTarget\0target\0" + "targetRemoved\0targetId\0onSimulationTimer" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_DetectionData[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 5, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 4, // signalCount + + // signals: name, argc, parameters, tag, flags + 1, 0, 39, 2, 0x06 /* Public */, + 3, 1, 40, 2, 0x06 /* Public */, + 6, 1, 43, 2, 0x06 /* Public */, + 9, 1, 46, 2, 0x06 /* Public */, + + // slots: name, argc, parameters, tag, flags + 11, 0, 49, 2, 0x08 /* Private */, + + // signals: parameters + QMetaType::Void, + QMetaType::Void, 0x80000000 | 4, 5, + QMetaType::Void, 0x80000000 | 7, 8, + QMetaType::Void, QMetaType::QString, 10, + + // slots: parameters + QMetaType::Void, + + 0 // eod +}; + +void DetectionData::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + auto *_t = static_cast(_o); + (void)_t; + switch (_id) { + case 0: _t->detectionUpdated(); break; + case 1: _t->statusChanged((*reinterpret_cast< DetectionStatus(*)>(_a[1]))); break; + case 2: _t->targetAdded((*reinterpret_cast< const DetectionTarget(*)>(_a[1]))); break; + case 3: _t->targetRemoved((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 4: _t->onSimulationTimer(); break; + default: ; + } + } else if (_c == QMetaObject::IndexOfMethod) { + int *result = reinterpret_cast(_a[0]); + { + using _t = void (DetectionData::*)(); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DetectionData::detectionUpdated)) { + *result = 0; + return; + } + } + { + using _t = void (DetectionData::*)(DetectionStatus ); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DetectionData::statusChanged)) { + *result = 1; + return; + } + } + { + using _t = void (DetectionData::*)(const DetectionTarget & ); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DetectionData::targetAdded)) { + *result = 2; + return; + } + } + { + using _t = void (DetectionData::*)(const QString & ); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DetectionData::targetRemoved)) { + *result = 3; + return; + } + } + } +} + +QT_INIT_METAOBJECT const QMetaObject DetectionData::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_meta_stringdata_DetectionData.data, + qt_meta_data_DetectionData, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *DetectionData::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *DetectionData::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_DetectionData.stringdata0)) + return static_cast(this); + return QObject::qt_metacast(_clname); +} + +int DetectionData::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QObject::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 5) + qt_static_metacall(this, _c, _id, _a); + _id -= 5; + } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { + if (_id < 5) + *reinterpret_cast(_a[0]) = -1; + _id -= 5; + } + return _id; +} + +// SIGNAL 0 +void DetectionData::detectionUpdated() +{ + QMetaObject::activate(this, &staticMetaObject, 0, nullptr); +} + +// SIGNAL 1 +void DetectionData::statusChanged(DetectionStatus _t1) +{ + void *_a[] = { nullptr, const_cast(reinterpret_cast(std::addressof(_t1))) }; + QMetaObject::activate(this, &staticMetaObject, 1, _a); +} + +// SIGNAL 2 +void DetectionData::targetAdded(const DetectionTarget & _t1) +{ + void *_a[] = { nullptr, const_cast(reinterpret_cast(std::addressof(_t1))) }; + QMetaObject::activate(this, &staticMetaObject, 2, _a); +} + +// SIGNAL 3 +void DetectionData::targetRemoved(const QString & _t1) +{ + void *_a[] = { nullptr, const_cast(reinterpret_cast(std::addressof(_t1))) }; + QMetaObject::activate(this, &staticMetaObject, 3, _a); +} +QT_WARNING_POP +QT_END_MOC_NAMESPACE diff --git a/build/moc_detectiondata.o b/build/moc_detectiondata.o new file mode 100644 index 0000000000000000000000000000000000000000..71d30008dbeecc03c7012adf90f72cb3d2c15510 GIT binary patch literal 7992 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 gzk3KWCiunsdlaXUt2^rK@$&CQu|#by2UpYhH! +#include "../src/models/dronedata.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'dronedata.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.15.3. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED +struct qt_meta_stringdata_DroneData_t { + QByteArrayData data[6]; + char stringdata0[72]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_DroneData_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_DroneData_t qt_meta_stringdata_DroneData = { + { +QT_MOC_LITERAL(0, 0, 9), // "DroneData" +QT_MOC_LITERAL(1, 10, 11), // "dataChanged" +QT_MOC_LITERAL(2, 22, 0), // "" +QT_MOC_LITERAL(3, 23, 17), // "connectionChanged" +QT_MOC_LITERAL(4, 41, 9), // "connected" +QT_MOC_LITERAL(5, 51, 20) // "updateSimulationData" + + }, + "DroneData\0dataChanged\0\0connectionChanged\0" + "connected\0updateSimulationData" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_DroneData[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 3, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 2, // signalCount + + // signals: name, argc, parameters, tag, flags + 1, 0, 29, 2, 0x06 /* Public */, + 3, 1, 30, 2, 0x06 /* Public */, + + // slots: name, argc, parameters, tag, flags + 5, 0, 33, 2, 0x08 /* Private */, + + // signals: parameters + QMetaType::Void, + QMetaType::Void, QMetaType::Bool, 4, + + // slots: parameters + QMetaType::Void, + + 0 // eod +}; + +void DroneData::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + auto *_t = static_cast(_o); + (void)_t; + switch (_id) { + case 0: _t->dataChanged(); break; + case 1: _t->connectionChanged((*reinterpret_cast< bool(*)>(_a[1]))); break; + case 2: _t->updateSimulationData(); break; + default: ; + } + } else if (_c == QMetaObject::IndexOfMethod) { + int *result = reinterpret_cast(_a[0]); + { + using _t = void (DroneData::*)(); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DroneData::dataChanged)) { + *result = 0; + return; + } + } + { + using _t = void (DroneData::*)(bool ); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DroneData::connectionChanged)) { + *result = 1; + return; + } + } + } +} + +QT_INIT_METAOBJECT const QMetaObject DroneData::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_meta_stringdata_DroneData.data, + qt_meta_data_DroneData, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *DroneData::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *DroneData::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_DroneData.stringdata0)) + return static_cast(this); + return QObject::qt_metacast(_clname); +} + +int DroneData::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QObject::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 3) + qt_static_metacall(this, _c, _id, _a); + _id -= 3; + } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { + if (_id < 3) + *reinterpret_cast(_a[0]) = -1; + _id -= 3; + } + return _id; +} + +// SIGNAL 0 +void DroneData::dataChanged() +{ + QMetaObject::activate(this, &staticMetaObject, 0, nullptr); +} + +// SIGNAL 1 +void DroneData::connectionChanged(bool _t1) +{ + void *_a[] = { nullptr, const_cast(reinterpret_cast(std::addressof(_t1))) }; + QMetaObject::activate(this, &staticMetaObject, 1, _a); +} +struct qt_meta_stringdata_DroneManager_t { + QByteArrayData data[6]; + char stringdata0[61]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_DroneManager_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_DroneManager_t qt_meta_stringdata_DroneManager = { + { +QT_MOC_LITERAL(0, 0, 12), // "DroneManager" +QT_MOC_LITERAL(1, 13, 19), // "currentDroneChanged" +QT_MOC_LITERAL(2, 33, 0), // "" +QT_MOC_LITERAL(3, 34, 2), // "id" +QT_MOC_LITERAL(4, 37, 10), // "droneAdded" +QT_MOC_LITERAL(5, 48, 12) // "droneRemoved" + + }, + "DroneManager\0currentDroneChanged\0\0id\0" + "droneAdded\0droneRemoved" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_DroneManager[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 3, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 3, // signalCount + + // signals: name, argc, parameters, tag, flags + 1, 1, 29, 2, 0x06 /* Public */, + 4, 1, 32, 2, 0x06 /* Public */, + 5, 1, 35, 2, 0x06 /* Public */, + + // signals: parameters + QMetaType::Void, QMetaType::QString, 3, + QMetaType::Void, QMetaType::QString, 3, + QMetaType::Void, QMetaType::QString, 3, + + 0 // eod +}; + +void DroneManager::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + auto *_t = static_cast(_o); + (void)_t; + switch (_id) { + case 0: _t->currentDroneChanged((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 1: _t->droneAdded((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 2: _t->droneRemoved((*reinterpret_cast< const QString(*)>(_a[1]))); break; + default: ; + } + } else if (_c == QMetaObject::IndexOfMethod) { + int *result = reinterpret_cast(_a[0]); + { + using _t = void (DroneManager::*)(const QString & ); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DroneManager::currentDroneChanged)) { + *result = 0; + return; + } + } + { + using _t = void (DroneManager::*)(const QString & ); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DroneManager::droneAdded)) { + *result = 1; + return; + } + } + { + using _t = void (DroneManager::*)(const QString & ); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DroneManager::droneRemoved)) { + *result = 2; + return; + } + } + } +} + +QT_INIT_METAOBJECT const QMetaObject DroneManager::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_meta_stringdata_DroneManager.data, + qt_meta_data_DroneManager, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *DroneManager::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *DroneManager::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_DroneManager.stringdata0)) + return static_cast(this); + return QObject::qt_metacast(_clname); +} + +int DroneManager::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QObject::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 3) + qt_static_metacall(this, _c, _id, _a); + _id -= 3; + } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { + if (_id < 3) + *reinterpret_cast(_a[0]) = -1; + _id -= 3; + } + return _id; +} + +// SIGNAL 0 +void DroneManager::currentDroneChanged(const QString & _t1) +{ + void *_a[] = { nullptr, const_cast(reinterpret_cast(std::addressof(_t1))) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); +} + +// SIGNAL 1 +void DroneManager::droneAdded(const QString & _t1) +{ + void *_a[] = { nullptr, const_cast(reinterpret_cast(std::addressof(_t1))) }; + QMetaObject::activate(this, &staticMetaObject, 1, _a); +} + +// SIGNAL 2 +void DroneManager::droneRemoved(const QString & _t1) +{ + void *_a[] = { nullptr, const_cast(reinterpret_cast(std::addressof(_t1))) }; + QMetaObject::activate(this, &staticMetaObject, 2, _a); +} +QT_WARNING_POP +QT_END_MOC_NAMESPACE diff --git a/build/moc_dronedata.o b/build/moc_dronedata.o new file mode 100644 index 0000000000000000000000000000000000000000..563cde359cb0acc56e74736128314f0e5ac60fba GIT binary patch literal 12272 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 Rvfo +#include "../src/ui/mainwindow.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'mainwindow.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.15.3. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED +struct qt_meta_stringdata_MainWindow_t { + QByteArrayData data[12]; + char stringdata0[184]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_MainWindow_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_MainWindow_t qt_meta_stringdata_MainWindow = { + { +QT_MOC_LITERAL(0, 0, 10), // "MainWindow" +QT_MOC_LITERAL(1, 11, 13), // "showVideoPage" +QT_MOC_LITERAL(2, 25, 0), // "" +QT_MOC_LITERAL(3, 26, 11), // "showMapPage" +QT_MOC_LITERAL(4, 38, 12), // "showDataPage" +QT_MOC_LITERAL(5, 51, 19), // "showVisionModelPage" +QT_MOC_LITERAL(6, 71, 20), // "showTaskDecisionPage" +QT_MOC_LITERAL(7, 92, 23), // "onDroneSelectionChanged" +QT_MOC_LITERAL(8, 116, 21), // "onCurrentDroneChanged" +QT_MOC_LITERAL(9, 138, 7), // "droneId" +QT_MOC_LITERAL(10, 146, 17), // "updateDroneStatus" +QT_MOC_LITERAL(11, 164, 19) // "updateDetectionInfo" + + }, + "MainWindow\0showVideoPage\0\0showMapPage\0" + "showDataPage\0showVisionModelPage\0" + "showTaskDecisionPage\0onDroneSelectionChanged\0" + "onCurrentDroneChanged\0droneId\0" + "updateDroneStatus\0updateDetectionInfo" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_MainWindow[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 9, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + // slots: name, argc, parameters, tag, flags + 1, 0, 59, 2, 0x08 /* Private */, + 3, 0, 60, 2, 0x08 /* Private */, + 4, 0, 61, 2, 0x08 /* Private */, + 5, 0, 62, 2, 0x08 /* Private */, + 6, 0, 63, 2, 0x08 /* Private */, + 7, 0, 64, 2, 0x08 /* Private */, + 8, 1, 65, 2, 0x08 /* Private */, + 10, 0, 68, 2, 0x08 /* Private */, + 11, 0, 69, 2, 0x08 /* Private */, + + // slots: parameters + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, QMetaType::QString, 9, + QMetaType::Void, + QMetaType::Void, + + 0 // eod +}; + +void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + auto *_t = static_cast(_o); + (void)_t; + switch (_id) { + case 0: _t->showVideoPage(); break; + case 1: _t->showMapPage(); break; + case 2: _t->showDataPage(); break; + case 3: _t->showVisionModelPage(); break; + case 4: _t->showTaskDecisionPage(); break; + case 5: _t->onDroneSelectionChanged(); break; + case 6: _t->onCurrentDroneChanged((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 7: _t->updateDroneStatus(); break; + case 8: _t->updateDetectionInfo(); break; + default: ; + } + } +} + +QT_INIT_METAOBJECT const QMetaObject MainWindow::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_meta_stringdata_MainWindow.data, + qt_meta_data_MainWindow, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *MainWindow::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *MainWindow::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_MainWindow.stringdata0)) + return static_cast(this); + return QMainWindow::qt_metacast(_clname); +} + +int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QMainWindow::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 9) + qt_static_metacall(this, _c, _id, _a); + _id -= 9; + } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { + if (_id < 9) + *reinterpret_cast(_a[0]) = -1; + _id -= 9; + } + return _id; +} +QT_WARNING_POP +QT_END_MOC_NAMESPACE diff --git a/build/moc_mainwindow.o b/build/moc_mainwindow.o new file mode 100644 index 0000000000000000000000000000000000000000..b2ee70f44e0bb130d530bd00cabafdd4020afa55 GIT binary patch literal 14296 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 +#include "../src/pages/mappage.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'mappage.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.15.3. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED +struct qt_meta_stringdata_CustomWebEnginePage_t { + QByteArrayData data[1]; + char stringdata0[20]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_CustomWebEnginePage_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_CustomWebEnginePage_t qt_meta_stringdata_CustomWebEnginePage = { + { +QT_MOC_LITERAL(0, 0, 19) // "CustomWebEnginePage" + + }, + "CustomWebEnginePage" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_CustomWebEnginePage[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +void CustomWebEnginePage::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + (void)_o; + (void)_id; + (void)_c; + (void)_a; +} + +QT_INIT_METAOBJECT const QMetaObject CustomWebEnginePage::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_meta_stringdata_CustomWebEnginePage.data, + qt_meta_data_CustomWebEnginePage, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *CustomWebEnginePage::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *CustomWebEnginePage::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_CustomWebEnginePage.stringdata0)) + return static_cast(this); + return QWebEnginePage::qt_metacast(_clname); +} + +int CustomWebEnginePage::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWebEnginePage::qt_metacall(_c, _id, _a); + return _id; +} +struct qt_meta_stringdata_ThreatAreaDialog_t { + QByteArrayData data[3]; + char stringdata0[26]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_ThreatAreaDialog_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_ThreatAreaDialog_t qt_meta_stringdata_ThreatAreaDialog = { + { +QT_MOC_LITERAL(0, 0, 16), // "ThreatAreaDialog" +QT_MOC_LITERAL(1, 17, 7), // "addArea" +QT_MOC_LITERAL(2, 25, 0) // "" + + }, + "ThreatAreaDialog\0addArea\0" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_ThreatAreaDialog[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 1, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + // slots: name, argc, parameters, tag, flags + 1, 0, 19, 2, 0x08 /* Private */, + + // slots: parameters + QMetaType::Void, + + 0 // eod +}; + +void ThreatAreaDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + auto *_t = static_cast(_o); + (void)_t; + switch (_id) { + case 0: _t->addArea(); break; + default: ; + } + } + (void)_a; +} + +QT_INIT_METAOBJECT const QMetaObject ThreatAreaDialog::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_meta_stringdata_ThreatAreaDialog.data, + qt_meta_data_ThreatAreaDialog, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *ThreatAreaDialog::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *ThreatAreaDialog::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_ThreatAreaDialog.stringdata0)) + return static_cast(this); + return QDialog::qt_metacast(_clname); +} + +int ThreatAreaDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QDialog::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 1) + qt_static_metacall(this, _c, _id, _a); + _id -= 1; + } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { + if (_id < 1) + *reinterpret_cast(_a[0]) = -1; + _id -= 1; + } + return _id; +} +struct qt_meta_stringdata_AreaSearchDialog_t { + QByteArrayData data[1]; + char stringdata0[17]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_AreaSearchDialog_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_AreaSearchDialog_t qt_meta_stringdata_AreaSearchDialog = { + { +QT_MOC_LITERAL(0, 0, 16) // "AreaSearchDialog" + + }, + "AreaSearchDialog" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_AreaSearchDialog[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +void AreaSearchDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + (void)_o; + (void)_id; + (void)_c; + (void)_a; +} + +QT_INIT_METAOBJECT const QMetaObject AreaSearchDialog::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_meta_stringdata_AreaSearchDialog.data, + qt_meta_data_AreaSearchDialog, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *AreaSearchDialog::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *AreaSearchDialog::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_AreaSearchDialog.stringdata0)) + return static_cast(this); + return QDialog::qt_metacast(_clname); +} + +int AreaSearchDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QDialog::qt_metacall(_c, _id, _a); + return _id; +} +struct qt_meta_stringdata_PathPlanningDialog_t { + QByteArrayData data[1]; + char stringdata0[19]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_PathPlanningDialog_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_PathPlanningDialog_t qt_meta_stringdata_PathPlanningDialog = { + { +QT_MOC_LITERAL(0, 0, 18) // "PathPlanningDialog" + + }, + "PathPlanningDialog" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_PathPlanningDialog[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +void PathPlanningDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + (void)_o; + (void)_id; + (void)_c; + (void)_a; +} + +QT_INIT_METAOBJECT const QMetaObject PathPlanningDialog::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_meta_stringdata_PathPlanningDialog.data, + qt_meta_data_PathPlanningDialog, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *PathPlanningDialog::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *PathPlanningDialog::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_PathPlanningDialog.stringdata0)) + return static_cast(this); + return QDialog::qt_metacast(_clname); +} + +int PathPlanningDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QDialog::qt_metacall(_c, _id, _a); + return _id; +} +struct qt_meta_stringdata_LocateDialog_t { + QByteArrayData data[3]; + char stringdata0[24]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_LocateDialog_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_LocateDialog_t qt_meta_stringdata_LocateDialog = { + { +QT_MOC_LITERAL(0, 0, 12), // "LocateDialog" +QT_MOC_LITERAL(1, 13, 9), // "onConfirm" +QT_MOC_LITERAL(2, 23, 0) // "" + + }, + "LocateDialog\0onConfirm\0" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_LocateDialog[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 1, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + // slots: name, argc, parameters, tag, flags + 1, 0, 19, 2, 0x08 /* Private */, + + // slots: parameters + QMetaType::Void, + + 0 // eod +}; + +void LocateDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + auto *_t = static_cast(_o); + (void)_t; + switch (_id) { + case 0: _t->onConfirm(); break; + default: ; + } + } + (void)_a; +} + +QT_INIT_METAOBJECT const QMetaObject LocateDialog::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_meta_stringdata_LocateDialog.data, + qt_meta_data_LocateDialog, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *LocateDialog::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *LocateDialog::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_LocateDialog.stringdata0)) + return static_cast(this); + return QDialog::qt_metacast(_clname); +} + +int LocateDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QDialog::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 1) + qt_static_metacall(this, _c, _id, _a); + _id -= 1; + } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { + if (_id < 1) + *reinterpret_cast(_a[0]) = -1; + _id -= 1; + } + return _id; +} +struct qt_meta_stringdata_MapPage_t { + QByteArrayData data[16]; + char stringdata0[249]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_MapPage_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_MapPage_t qt_meta_stringdata_MapPage = { + { +QT_MOC_LITERAL(0, 0, 7), // "MapPage" +QT_MOC_LITERAL(1, 8, 13), // "heightChanged" +QT_MOC_LITERAL(2, 22, 0), // "" +QT_MOC_LITERAL(3, 23, 6), // "height" +QT_MOC_LITERAL(4, 30, 20), // "downloadMapRequested" +QT_MOC_LITERAL(5, 51, 18), // "setThreatRequested" +QT_MOC_LITERAL(6, 70, 19), // "areaSearchRequested" +QT_MOC_LITERAL(7, 90, 21), // "pathPlanningRequested" +QT_MOC_LITERAL(8, 112, 15), // "onHeightChanged" +QT_MOC_LITERAL(9, 128, 20), // "onDownloadMapClicked" +QT_MOC_LITERAL(10, 149, 18), // "onSetThreatClicked" +QT_MOC_LITERAL(11, 168, 19), // "onAreaSearchClicked" +QT_MOC_LITERAL(12, 188, 21), // "onPathPlanningClicked" +QT_MOC_LITERAL(13, 210, 18), // "onSearchMapClicked" +QT_MOC_LITERAL(14, 229, 16), // "runMapJavaScript" +QT_MOC_LITERAL(15, 246, 2) // "js" + + }, + "MapPage\0heightChanged\0\0height\0" + "downloadMapRequested\0setThreatRequested\0" + "areaSearchRequested\0pathPlanningRequested\0" + "onHeightChanged\0onDownloadMapClicked\0" + "onSetThreatClicked\0onAreaSearchClicked\0" + "onPathPlanningClicked\0onSearchMapClicked\0" + "runMapJavaScript\0js" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_MapPage[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 12, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 5, // signalCount + + // signals: name, argc, parameters, tag, flags + 1, 1, 74, 2, 0x06 /* Public */, + 4, 0, 77, 2, 0x06 /* Public */, + 5, 0, 78, 2, 0x06 /* Public */, + 6, 0, 79, 2, 0x06 /* Public */, + 7, 0, 80, 2, 0x06 /* Public */, + + // slots: name, argc, parameters, tag, flags + 8, 0, 81, 2, 0x08 /* Private */, + 9, 0, 82, 2, 0x08 /* Private */, + 10, 0, 83, 2, 0x08 /* Private */, + 11, 0, 84, 2, 0x08 /* Private */, + 12, 0, 85, 2, 0x08 /* Private */, + 13, 0, 86, 2, 0x08 /* Private */, + 14, 1, 87, 2, 0x0a /* Public */, + + // signals: parameters + QMetaType::Void, QMetaType::QString, 3, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + + // slots: parameters + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, QMetaType::QString, 15, + + 0 // eod +}; + +void MapPage::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + auto *_t = static_cast(_o); + (void)_t; + switch (_id) { + case 0: _t->heightChanged((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 1: _t->downloadMapRequested(); break; + case 2: _t->setThreatRequested(); break; + case 3: _t->areaSearchRequested(); break; + case 4: _t->pathPlanningRequested(); break; + case 5: _t->onHeightChanged(); break; + case 6: _t->onDownloadMapClicked(); break; + case 7: _t->onSetThreatClicked(); break; + case 8: _t->onAreaSearchClicked(); break; + case 9: _t->onPathPlanningClicked(); break; + case 10: _t->onSearchMapClicked(); break; + case 11: _t->runMapJavaScript((*reinterpret_cast< const QString(*)>(_a[1]))); break; + default: ; + } + } else if (_c == QMetaObject::IndexOfMethod) { + int *result = reinterpret_cast(_a[0]); + { + using _t = void (MapPage::*)(const QString & ); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MapPage::heightChanged)) { + *result = 0; + return; + } + } + { + using _t = void (MapPage::*)(); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MapPage::downloadMapRequested)) { + *result = 1; + return; + } + } + { + using _t = void (MapPage::*)(); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MapPage::setThreatRequested)) { + *result = 2; + return; + } + } + { + using _t = void (MapPage::*)(); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MapPage::areaSearchRequested)) { + *result = 3; + return; + } + } + { + using _t = void (MapPage::*)(); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MapPage::pathPlanningRequested)) { + *result = 4; + return; + } + } + } +} + +QT_INIT_METAOBJECT const QMetaObject MapPage::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_meta_stringdata_MapPage.data, + qt_meta_data_MapPage, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *MapPage::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *MapPage::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_MapPage.stringdata0)) + return static_cast(this); + return QWidget::qt_metacast(_clname); +} + +int MapPage::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 12) + qt_static_metacall(this, _c, _id, _a); + _id -= 12; + } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { + if (_id < 12) + *reinterpret_cast(_a[0]) = -1; + _id -= 12; + } + return _id; +} + +// SIGNAL 0 +void MapPage::heightChanged(const QString & _t1) +{ + void *_a[] = { nullptr, const_cast(reinterpret_cast(std::addressof(_t1))) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); +} + +// SIGNAL 1 +void MapPage::downloadMapRequested() +{ + QMetaObject::activate(this, &staticMetaObject, 1, nullptr); +} + +// SIGNAL 2 +void MapPage::setThreatRequested() +{ + QMetaObject::activate(this, &staticMetaObject, 2, nullptr); +} + +// SIGNAL 3 +void MapPage::areaSearchRequested() +{ + QMetaObject::activate(this, &staticMetaObject, 3, nullptr); +} + +// SIGNAL 4 +void MapPage::pathPlanningRequested() +{ + QMetaObject::activate(this, &staticMetaObject, 4, nullptr); +} +QT_WARNING_POP +QT_END_MOC_NAMESPACE diff --git a/build/moc_mappage.o b/build/moc_mappage.o new file mode 100644 index 0000000000000000000000000000000000000000..095c1b649e1fadcb4fd33f63bba6c245f48c589f GIT binary patch literal 48776 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 literal 0 HcmV?d00001 diff --git a/build/moc_predefs.h b/build/moc_predefs.h new file mode 100644 index 0000000..a074e4b --- /dev/null +++ b/build/moc_predefs.h @@ -0,0 +1,430 @@ +#define __SSP_STRONG__ 3 +#define __DBL_MIN_EXP__ (-1021) +#define __cpp_attributes 200809L +#define __cpp_nontype_template_parameter_auto 201606L +#define __UINT_LEAST16_MAX__ 0xffff +#define __ATOMIC_ACQUIRE 2 +#define __FLT128_MAX_10_EXP__ 4932 +#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F +#define __GCC_IEC_559_COMPLEX 2 +#define __cpp_aggregate_nsdmi 201304L +#define __UINT_LEAST8_TYPE__ unsigned char +#define __SIZEOF_FLOAT80__ 16 +#define __INTMAX_C(c) c ## L +#define __CHAR_BIT__ 8 +#define __UINT8_MAX__ 0xff +#define __SCHAR_WIDTH__ 8 +#define __WINT_MAX__ 0xffffffffU +#define __FLT32_MIN_EXP__ (-125) +#define __cpp_static_assert 201411L +#define __ORDER_LITTLE_ENDIAN__ 1234 +#define __SIZE_MAX__ 0xffffffffffffffffUL +#define __WCHAR_MAX__ 0x7fffffff +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +#define __GCC_IEC_559 2 +#define __FLT32X_DECIMAL_DIG__ 17 +#define __FLT_EVAL_METHOD__ 0 +#define __cpp_binary_literals 201304L +#define __FLT64_DECIMAL_DIG__ 17 +#define __CET__ 3 +#define __cpp_noexcept_function_type 201510L +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +#define __cpp_variadic_templates 200704L +#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL +#define __SIG_ATOMIC_TYPE__ int +#define __DBL_MIN_10_EXP__ (-307) +#define __FINITE_MATH_ONLY__ 0 +#define __cpp_variable_templates 201304L +#define __FLT32X_MAX_EXP__ 1024 +#define __FLT32_HAS_DENORM__ 1 +#define __UINT_FAST8_MAX__ 0xff +#define __cpp_rvalue_reference 200610L +#define __cpp_nested_namespace_definitions 201411L +#define __DEC64_MAX_EXP__ 385 +#define __INT8_C(c) c +#define __INT_LEAST8_WIDTH__ 8 +#define __cpp_variadic_using 201611L +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL +#define __INT_LEAST8_MAX__ 0x7f +#define __cpp_capture_star_this 201603L +#define __SHRT_MAX__ 0x7fff +#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L +#define __FLT64X_MAX_10_EXP__ 4932 +#define __cpp_if_constexpr 201606L +#define __LDBL_IS_IEC_60559__ 2 +#define __FLT64X_HAS_QUIET_NAN__ 1 +#define __UINT_LEAST8_MAX__ 0xff +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 +#define __UINTMAX_TYPE__ long unsigned int +#define __linux 1 +#define __DEC32_EPSILON__ 1E-6DF +#define __FLT_EVAL_METHOD_TS_18661_3__ 0 +#define __OPTIMIZE__ 1 +#define __unix 1 +#define __UINT32_MAX__ 0xffffffffU +#define __GXX_EXPERIMENTAL_CXX0X__ 1 +#define __FLT128_MIN_EXP__ (-16381) +#define __WINT_MIN__ 0U +#define __FLT128_MIN_10_EXP__ (-4931) +#define __FLT32X_IS_IEC_60559__ 2 +#define __INT_LEAST16_WIDTH__ 16 +#define __SCHAR_MAX__ 0x7f +#define __FLT128_MANT_DIG__ 113 +#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) +#define __INT64_C(c) c ## L +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +#define _FORTIFY_SOURCE 2 +#define __FLT32X_MANT_DIG__ 53 +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +#define __cpp_aligned_new 201606L +#define __USER_LABEL_PREFIX__ +#define __FLT32_MAX_10_EXP__ 38 +#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x +#define __STDC_HOSTED__ 1 +#define __DEC64_MIN_EXP__ (-382) +#define __cpp_decltype_auto 201304L +#define __DBL_DIG__ 15 +#define __FLT32_DIG__ 6 +#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F +#define __GXX_WEAK__ 1 +#define __SHRT_WIDTH__ 16 +#define __FLT32_IS_IEC_60559__ 2 +#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L +#define __DBL_IS_IEC_60559__ 2 +#define __DEC32_MAX__ 9.999999E96DF +#define __cpp_threadsafe_static_init 200806L +#define __cpp_enumerator_attributes 201411L +#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x +#define __FLT32X_HAS_INFINITY__ 1 +#define __INT32_MAX__ 0x7fffffff +#define __unix__ 1 +#define __INT_WIDTH__ 32 +#define __SIZEOF_LONG__ 8 +#define __STDC_IEC_559__ 1 +#define __STDC_ISO_10646__ 201706L +#define __UINT16_C(c) c +#define __DECIMAL_DIG__ 21 +#define __STDC_IEC_559_COMPLEX__ 1 +#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 +#define __gnu_linux__ 1 +#define __INT16_MAX__ 0x7fff +#define __FLT64_MIN_EXP__ (-1021) +#define __FLT64X_MIN_10_EXP__ (-4931) +#define __LDBL_HAS_QUIET_NAN__ 1 +#define __FLT64_MANT_DIG__ 53 +#define __FLT64X_MANT_DIG__ 64 +#define __GNUC__ 11 +#define __GXX_RTTI 1 +#define __pie__ 2 +#define __MMX__ 1 +#define __FLT_HAS_DENORM__ 1 +#define __SIZEOF_LONG_DOUBLE__ 16 +#define __BIGGEST_ALIGNMENT__ 16 +#define __STDC_UTF_16__ 1 +#define __FLT64_MAX_10_EXP__ 308 +#define __cpp_delegating_constructors 200604L +#define __FLT32_HAS_INFINITY__ 1 +#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L) +#define __cpp_raw_strings 200710L +#define __INT_FAST32_MAX__ 0x7fffffffffffffffL +#define __DBL_HAS_INFINITY__ 1 +#define __SIZEOF_FLOAT__ 4 +#define __HAVE_SPECULATION_SAFE_VALUE 1 +#define __cpp_fold_expressions 201603L +#define __DEC32_MIN_EXP__ (-94) +#define __INTPTR_WIDTH__ 64 +#define __FLT64X_HAS_INFINITY__ 1 +#define __UINT_LEAST32_MAX__ 0xffffffffU +#define __FLT32X_HAS_DENORM__ 1 +#define __INT_FAST16_TYPE__ long int +#define __MMX_WITH_SSE__ 1 +#define __LDBL_HAS_DENORM__ 1 +#define __cplusplus 201703L +#define __cpp_ref_qualifiers 200710L +#define __DEC32_MIN__ 1E-95DF +#define __DEPRECATED 1 +#define __cpp_rvalue_references 200610L +#define __DBL_MAX_EXP__ 1024 +#define __WCHAR_WIDTH__ 32 +#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32 +#define __DEC128_EPSILON__ 1E-33DL +#define __SSE2_MATH__ 1 +#define __ATOMIC_HLE_RELEASE 131072 +#define __PTRDIFF_MAX__ 0x7fffffffffffffffL +#define __amd64 1 +#define __ATOMIC_HLE_ACQUIRE 65536 +#define __GNUG__ 11 +#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL +#define __SIZEOF_SIZE_T__ 8 +#define __cpp_nsdmi 200809L +#define __FLT64X_MIN_EXP__ (-16381) +#define __SIZEOF_WINT_T__ 4 +#define __LONG_LONG_WIDTH__ 64 +#define __cpp_initializer_lists 200806L +#define __FLT32_MAX_EXP__ 128 +#define __cpp_hex_float 201603L +#define __GXX_ABI_VERSION 1016 +#define __FLT128_HAS_INFINITY__ 1 +#define __FLT_MIN_EXP__ (-125) +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +#define __x86_64 1 +#define __cpp_lambdas 200907L +#define __INT_FAST64_TYPE__ long int +#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64 +#define __cpp_template_auto 201606L +#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L) +#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 +#define __FLT64X_NORM_MAX__ 1.18973149535723176502126385303097021e+4932F64x +#define __SIZEOF_POINTER__ 8 +#define __LP64__ 1 +#define __DBL_HAS_QUIET_NAN__ 1 +#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x +#define __DECIMAL_BID_FORMAT__ 1 +#define __FLT64_MIN_10_EXP__ (-307) +#define __FLT64X_DECIMAL_DIG__ 21 +#define __DEC128_MIN__ 1E-6143DL +#define __REGISTER_PREFIX__ +#define __UINT16_MAX__ 0xffff +#define __LDBL_HAS_INFINITY__ 1 +#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32 +#define __UINT8_TYPE__ unsigned char +#define __FLT_DIG__ 6 +#define __DEC_EVAL_METHOD__ 2 +#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL +#define __FLT_MANT_DIG__ 24 +#define __LDBL_DECIMAL_DIG__ 21 +#define __VERSION__ "11.4.0" +#define __UINT64_C(c) c ## UL +#define __cpp_unicode_characters 201411L +#define _STDC_PREDEF_H 1 +#define __INT_LEAST32_MAX__ 0x7fffffff +#define __GCC_ATOMIC_INT_LOCK_FREE 2 +#define __FLT128_MAX_EXP__ 16384 +#define __FLT32_MANT_DIG__ 24 +#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __STDC_IEC_60559_COMPLEX__ 201404L +#define __cpp_aggregate_bases 201603L +#define __FLT128_HAS_DENORM__ 1 +#define __FLT32_DECIMAL_DIG__ 9 +#define __FLT128_DIG__ 33 +#define __INT32_C(c) c +#define __DEC64_EPSILON__ 1E-15DD +#define __ORDER_PDP_ENDIAN__ 3412 +#define __DEC128_MIN_EXP__ (-6142) +#define __INT_FAST32_TYPE__ long int +#define __UINT_LEAST16_TYPE__ short unsigned int +#define unix 1 +#define __DBL_HAS_DENORM__ 1 +#define __cpp_rtti 199711L +#define __SIZE_TYPE__ long unsigned int +#define __UINT64_MAX__ 0xffffffffffffffffUL +#define __FLT_IS_IEC_60559__ 2 +#define __GNUC_WIDE_EXECUTION_CHARSET_NAME "UTF-32LE" +#define __FLT64X_DIG__ 18 +#define __INT8_TYPE__ signed char +#define __cpp_digit_separators 201309L +#define __ELF__ 1 +#define __GCC_ASM_FLAG_OUTPUTS__ 1 +#define __UINT32_TYPE__ unsigned int +#define __FLT_RADIX__ 2 +#define __INT_LEAST16_TYPE__ short int +#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L +#define __UINTMAX_C(c) c ## UL +#define __GLIBCXX_BITSIZE_INT_N_0 128 +#define __k8 1 +#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x +#define __SIG_ATOMIC_MAX__ 0x7fffffff +#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +#define __STDC_IEC_60559_BFP__ 201404L +#define __SIZEOF_PTRDIFF_T__ 8 +#define __LDBL_DIG__ 18 +#define __FLT64_IS_IEC_60559__ 2 +#define __x86_64__ 1 +#define __FLT32X_MIN_EXP__ (-1021) +#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF +#define __INT_FAST16_MAX__ 0x7fffffffffffffffL +#define __FLT64_DIG__ 15 +#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL +#define __UINT_LEAST64_TYPE__ long unsigned int +#define __FLT_HAS_QUIET_NAN__ 1 +#define __FLT_MAX_10_EXP__ 38 +#define __LONG_MAX__ 0x7fffffffffffffffL +#define __FLT64X_HAS_DENORM__ 1 +#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL +#define __FLT_HAS_INFINITY__ 1 +#define __GNUC_EXECUTION_CHARSET_NAME "UTF-8" +#define __cpp_unicode_literals 200710L +#define __UINT_FAST16_TYPE__ long unsigned int +#define __DEC64_MAX__ 9.999999999999999E384DD +#define __INT_FAST32_WIDTH__ 64 +#define __CHAR16_TYPE__ short unsigned int +#define __PRAGMA_REDEFINE_EXTNAME 1 +#define __SIZE_WIDTH__ 64 +#define __SEG_FS 1 +#define __INT_LEAST16_MAX__ 0x7fff +#define __DEC64_MANT_DIG__ 16 +#define __INT64_MAX__ 0x7fffffffffffffffL +#define __SEG_GS 1 +#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32 +#define __SIG_ATOMIC_WIDTH__ 32 +#define __INT_LEAST64_TYPE__ long int +#define __INT16_TYPE__ short int +#define __INT_LEAST8_TYPE__ signed char +#define __cpp_structured_bindings 201606L +#define __SIZEOF_INT__ 4 +#define __DEC32_MAX_EXP__ 97 +#define __INT_FAST8_MAX__ 0x7f +#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128 +#define __INTPTR_MAX__ 0x7fffffffffffffffL +#define __cpp_sized_deallocation 201309L +#define __cpp_guaranteed_copy_elision 201606L +#define linux 1 +#define __FLT64_HAS_QUIET_NAN__ 1 +#define __FLT32_MIN_10_EXP__ (-37) +#define __EXCEPTIONS 1 +#define __PTRDIFF_WIDTH__ 64 +#define __LDBL_MANT_DIG__ 64 +#define __cpp_range_based_for 201603L +#define __FLT64_HAS_INFINITY__ 1 +#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x +#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16 +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +#define __code_model_small__ 1 +#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +#define __cpp_nontype_template_args 201411L +#define __DEC32_MANT_DIG__ 7 +#define __cpp_return_type_deduction 201304L +#define __k8__ 1 +#define __INTPTR_TYPE__ long int +#define __UINT16_TYPE__ short unsigned int +#define __WCHAR_TYPE__ int +#define __pic__ 2 +#define __UINTPTR_MAX__ 0xffffffffffffffffUL +#define __INT_FAST64_WIDTH__ 64 +#define __cpp_decltype 200707L +#define __INT_FAST64_MAX__ 0x7fffffffffffffffL +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +#define __FLT_NORM_MAX__ 3.40282346638528859811704183484516925e+38F +#define __FLT64X_MAX_EXP__ 16384 +#define __UINT_FAST64_TYPE__ long unsigned int +#define __cpp_inline_variables 201606L +#define __INT_MAX__ 0x7fffffff +#define __linux__ 1 +#define __INT64_TYPE__ long int +#define __FLT_MAX_EXP__ 128 +#define __ORDER_BIG_ENDIAN__ 4321 +#define __DBL_MANT_DIG__ 53 +#define __cpp_inheriting_constructors 201511L +#define __SIZEOF_FLOAT128__ 16 +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL +#define __DEC64_MIN__ 1E-383DD +#define __WINT_TYPE__ unsigned int +#define __UINT_LEAST32_TYPE__ unsigned int +#define __SIZEOF_SHORT__ 2 +#define __FLT32_NORM_MAX__ 3.40282346638528859811704183484516925e+38F32 +#define __SSE__ 1 +#define __LDBL_MIN_EXP__ (-16381) +#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 +#define __amd64__ 1 +#define __WINT_WIDTH__ 32 +#define __INT_LEAST64_WIDTH__ 64 +#define __LDBL_MAX_EXP__ 16384 +#define __FLT32X_MAX_10_EXP__ 308 +#define __SIZEOF_INT128__ 16 +#define __FLT64X_IS_IEC_60559__ 2 +#define __LDBL_MAX_10_EXP__ 4932 +#define __ATOMIC_RELAXED 0 +#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L) +#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 +#define _LP64 1 +#define __UINT8_C(c) c +#define __FLT64_MAX_EXP__ 1024 +#define __INT_LEAST32_TYPE__ int +#define __SIZEOF_WCHAR_T__ 4 +#define __GNUC_PATCHLEVEL__ 0 +#define __FLT128_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F128 +#define __FLT64_NORM_MAX__ 1.79769313486231570814527423731704357e+308F64 +#define __FLT128_HAS_QUIET_NAN__ 1 +#define __INTMAX_MAX__ 0x7fffffffffffffffL +#define __INT_FAST8_TYPE__ signed char +#define __cpp_namespace_attributes 201411L +#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x +#define __STDCPP_THREADS__ 1 +#define __GNUC_STDC_INLINE__ 1 +#define __FLT64_HAS_DENORM__ 1 +#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 +#define __DBL_DECIMAL_DIG__ 17 +#define __STDC_UTF_32__ 1 +#define __INT_FAST8_WIDTH__ 8 +#define __FXSR__ 1 +#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x +#define __DBL_NORM_MAX__ double(1.79769313486231570814527423731704357e+308L) +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __INTMAX_WIDTH__ 64 +#define __cpp_runtime_arrays 198712L +#define __UINT64_TYPE__ long unsigned int +#define __UINT32_C(c) c ## U +#define __cpp_alias_templates 200704L +#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F +#define __FLT128_IS_IEC_60559__ 2 +#define __INT8_MAX__ 0x7f +#define __LONG_WIDTH__ 64 +#define __PIC__ 2 +#define __UINT_FAST32_TYPE__ long unsigned int +#define __FLT32X_NORM_MAX__ 1.79769313486231570814527423731704357e+308F32x +#define __CHAR32_TYPE__ unsigned int +#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F +#define __cpp_constexpr 201603L +#define __SSE2__ 1 +#define __cpp_deduction_guides 201703L +#define __INT32_TYPE__ int +#define __SIZEOF_DOUBLE__ 8 +#define __cpp_exceptions 199711L +#define __FLT_MIN_10_EXP__ (-37) +#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 +#define __INT_LEAST32_WIDTH__ 32 +#define __INTMAX_TYPE__ long int +#define __DEC128_MAX_EXP__ 6145 +#define __FLT32X_HAS_QUIET_NAN__ 1 +#define __ATOMIC_CONSUME 1 +#define __GNUC_MINOR__ 4 +#define __GLIBCXX_TYPE_INT_N_0 __int128 +#define __INT_FAST16_WIDTH__ 64 +#define __UINTMAX_MAX__ 0xffffffffffffffffUL +#define __PIE__ 2 +#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x +#define __cpp_template_template_args 201611L +#define __DBL_MAX_10_EXP__ 308 +#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L +#define __INT16_C(c) c +#define __STDC__ 1 +#define __FLT32X_DIG__ 15 +#define __PTRDIFF_TYPE__ long int +#define __ATOMIC_SEQ_CST 5 +#define __FLT32X_MIN_10_EXP__ (-307) +#define __UINTPTR_TYPE__ long unsigned int +#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD +#define __DEC128_MANT_DIG__ 34 +#define __LDBL_MIN_10_EXP__ (-4931) +#define __cpp_generic_lambdas 201304L +#define __SSE_MATH__ 1 +#define __SIZEOF_LONG_LONG__ 8 +#define __cpp_user_defined_literals 200809L +#define __FLT128_DECIMAL_DIG__ 36 +#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +#define __FLT32_HAS_QUIET_NAN__ 1 +#define __FLT_DECIMAL_DIG__ 9 +#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL +#define __LDBL_NORM_MAX__ 1.18973149535723176502126385303097021e+4932L +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +#define __UINT_FAST8_TYPE__ unsigned char +#define _GNU_SOURCE 1 +#define __cpp_init_captures 201304L +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_RELEASE 3 diff --git a/build/moc_taskdecisionpage.cpp b/build/moc_taskdecisionpage.cpp new file mode 100644 index 0000000..a2d51a6 --- /dev/null +++ b/build/moc_taskdecisionpage.cpp @@ -0,0 +1,156 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'taskdecisionpage.h' +** +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.3) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include +#include "../src/pages/taskdecisionpage.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'taskdecisionpage.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.15.3. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED +struct qt_meta_stringdata_TaskDecisionPage_t { + QByteArrayData data[13]; + char stringdata0[165]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_TaskDecisionPage_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_TaskDecisionPage_t qt_meta_stringdata_TaskDecisionPage = { + { +QT_MOC_LITERAL(0, 0, 16), // "TaskDecisionPage" +QT_MOC_LITERAL(1, 17, 13), // "onStepChanged" +QT_MOC_LITERAL(2, 31, 0), // "" +QT_MOC_LITERAL(3, 32, 4), // "step" +QT_MOC_LITERAL(4, 37, 20), // "onTargetClearChanged" +QT_MOC_LITERAL(5, 58, 5), // "clear" +QT_MOC_LITERAL(6, 64, 14), // "onGeneratePath" +QT_MOC_LITERAL(7, 79, 17), // "onRecommendDrones" +QT_MOC_LITERAL(8, 97, 14), // "onReplanSearch" +QT_MOC_LITERAL(9, 112, 15), // "onAddTargetType" +QT_MOC_LITERAL(10, 128, 14), // "onGenerateTask" +QT_MOC_LITERAL(11, 143, 10), // "onNextStep" +QT_MOC_LITERAL(12, 154, 10) // "onPrevStep" + + }, + "TaskDecisionPage\0onStepChanged\0\0step\0" + "onTargetClearChanged\0clear\0onGeneratePath\0" + "onRecommendDrones\0onReplanSearch\0" + "onAddTargetType\0onGenerateTask\0" + "onNextStep\0onPrevStep" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_TaskDecisionPage[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 9, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + // slots: name, argc, parameters, tag, flags + 1, 1, 59, 2, 0x08 /* Private */, + 4, 1, 62, 2, 0x08 /* Private */, + 6, 0, 65, 2, 0x08 /* Private */, + 7, 0, 66, 2, 0x08 /* Private */, + 8, 0, 67, 2, 0x08 /* Private */, + 9, 0, 68, 2, 0x08 /* Private */, + 10, 0, 69, 2, 0x08 /* Private */, + 11, 0, 70, 2, 0x08 /* Private */, + 12, 0, 71, 2, 0x08 /* Private */, + + // slots: parameters + QMetaType::Void, QMetaType::Int, 3, + QMetaType::Void, QMetaType::Bool, 5, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + + 0 // eod +}; + +void TaskDecisionPage::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + auto *_t = static_cast(_o); + (void)_t; + switch (_id) { + case 0: _t->onStepChanged((*reinterpret_cast< int(*)>(_a[1]))); break; + case 1: _t->onTargetClearChanged((*reinterpret_cast< bool(*)>(_a[1]))); break; + case 2: _t->onGeneratePath(); break; + case 3: _t->onRecommendDrones(); break; + case 4: _t->onReplanSearch(); break; + case 5: _t->onAddTargetType(); break; + case 6: _t->onGenerateTask(); break; + case 7: _t->onNextStep(); break; + case 8: _t->onPrevStep(); break; + default: ; + } + } +} + +QT_INIT_METAOBJECT const QMetaObject TaskDecisionPage::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_meta_stringdata_TaskDecisionPage.data, + qt_meta_data_TaskDecisionPage, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *TaskDecisionPage::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *TaskDecisionPage::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_TaskDecisionPage.stringdata0)) + return static_cast(this); + return QWidget::qt_metacast(_clname); +} + +int TaskDecisionPage::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 9) + qt_static_metacall(this, _c, _id, _a); + _id -= 9; + } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { + if (_id < 9) + *reinterpret_cast(_a[0]) = -1; + _id -= 9; + } + return _id; +} +QT_WARNING_POP +QT_END_MOC_NAMESPACE diff --git a/build/moc_taskdecisionpage.o b/build/moc_taskdecisionpage.o new file mode 100644 index 0000000000000000000000000000000000000000..19f21a35c1199a3a4f57fbfe1b66fb9b327ccbb2 GIT binary patch literal 14408 zcmeI2eQX?8wZO-ANj4v>-BO65rP-7~O=-6~jz5wD!H#$Bb>k$vvGY;Vu-WX6y-U3x z-JNx9KAM0V)RhSY2|@lqyh!g!uSk4^z7Gnet)Wj4y;nU2y(b7C(#xwT1f_tX0tE_~ zbMBlodv-iGQGq`Y;z+ai-rqg<+;h*|xifQTkHyA@TU%NTmKI~X(I_!Bj6kH3A5hr= zW0Mh5x@)1l4i0P=grgmf4mhrd1KACfz6#PCDgSCnUjxUB?YI0kzHlrMpFh@R*lT_Q z$Y|dK8(nq25uT(*b!KW5RDpO zXGfs@-x&^hf~TQF#Rl;{{49UMX=dHHfPtL_@a3{7dU= zFF@U~AC4~ExcQr{Fo@;L7bZ{DzcE&S4t%ReH?P0+(LXFNFF@w<)99s=wsv(MxcC=O z10IWOpp0|qT7vTmkGI0n3J2P`4i047;b683@+gCFFk7vNVeAl${TLDqeL;cK;I_rN zjuL}|?cv-<8HR(|dPNLlM6kC|z70~$qpuiU%n` z?zU!a^Z>GniZ!FM;H$Gfsz~D%A3vGsh`(YHPENeOAzmNph%Y>ip;=gcV$r^P{>rkw zYH9wi7P~9H@Fa#t@$C(sfJ^-_t#!wt9@fVvvHe$Y{y&A2SDi4?y7qN%UBd!g7^Hdm zd+i&KLu={pc)b3S^!LD0yuKRzT?92Bf1h}qd6T~<-@9~3tcUT1C$PQOrvy@pU3t|M^oF!M+ph#x3I7@qWxRw#%P&{8s1l z@^ekMn*rtjzWB+~l8QFmVCcqq)xeK79PWpJx`E%-;0N4+s2h_rm_s~u2H?D3>pc96 zcO0LS@qZ434`TMMxDuU;zyJPCL|_RQV35C>!Hf(I-5u)MceGZtYa!DN_k<&Nnl)84 zAL{N7M|$2&Sh=k>NcYh3}0m@7Zg#%yzWgw0?Eq6fDo!=4Pc~ z7$HiLMJPWb7%ZboHc=Xa^dRLwgXvhX<3p{j@wLIg*t!|`y=R@W{XWw9Vnb&i)b3da zpca0MxMEW{3yM6#fjm?V`cZ z{B^^@$h~WWp}}D1plUyY&R<2))OE%$eCJb}!B2Y)1FwT@EAS8@jyo3H41P+ZN=n)^ zPoQn;tTyWwpx6R-j?)+~Qu+zv1EkI|Q0GEDB~k??{{tz`53k^@&yQaLeuEfqh#I~g z`uEe10>9qaKw6D?SkUNyOvC?8!+)URYvF?N^QT+G4{P`d4gb7`e;fD>t*eYPG~!K^ z-U=7)t>XNu`3`k&1HQ??w^9;lk1`J2&;N{upU~L<2gMtf)HMtCzpSzIHPT;1CqSHe zV;KKW_Rl)lVEReO(JNI#a+ijWk(~&fPZV{{Li&hC|0}>ZsW*J3 zZs0pU%C{8fl3{c@*tn#zb3H7uetzDf;oCI)T^fEu!#}Ix|E=M_(eT?~>GAV_yM`as z@Un)V((o^6__s9tryBlRcq#Vte?-IQH2j}5{J%8(ml}Q(+&ujJiE4OJ!#}FwXEppg z8vc@oZ(if?=S~fONW=eG!_RB@vWDLQFS~wmJEY;qH2fbm{F@s7qK3a3?&p5~?9%Xx zhJRecAJg#XHT-6{<@@=wUBeG)`1>{d2@U^|h6iDj#?PN_4L1ste3>%0K47P+cG}KoQU%LSXVTNtu|$7z&(U{V8GE;BCU*gKN>fF&d^|HPEdPGHAl^)mu!A`$m6a)F1DM(~wGKW@pn!^D|~Q za}L9BE+IE8N-ZI<*XE@sp^LF)3#N?Q|hY} zvGWC}cC5gvGT|1RY(+A;{B*XVHsltY)XYq+YL^P6=jYUxOsQDJMY&|>C+A{&aV5jW z2##DS+hnXSo3CC|dnZSwKWok4p0hJOnVONRW$%am@1xU}vzoXKwpR1+vEq4%p0lL7 zO?nIYV!lu-jBDz9a#nsSXAhSua5=%^qn0$+tl6JSSL4kZo({}%8oMn{<%?c-dkdvn z)q+K}T5SY-7cy0J;^SP!X1~(iYr#%ERmTz-O<(P9Q)x#_HHgH}bUp(MlA1Z%7G{rX zv8y!W^nDfMX5_(~Wlc9M9&n3I9&fqdnv-MOmfUI0tsGb{s5K8uqu4!Jf(bWTY;-(~ zV5P+^N^wsO&NUBOqZxsE_j+iWz!dcegxigXuYz-S-HsCKWMfgrVp~DPH3BD%Y)T!| zgn0myke%*M?roHt6eF4GlAHrWZm~(N4=yJgzQF9ViZwRcpB(bQrY5GHh6&@wtvfl< zC^svnGd4WNu-We9V58im*pscKr(z6#n1nq_+a*oP%J!HzL1epu zr24jOrBr5zBVd+FO*++F>A{B1IG37qa`~)#k|N1Cm!ytq7UA)fCk`xok>rj!+fw)6 z#7ttkSvR9T&{4NylDVr)U%`S0)ePLZx|3>xMXi~9#xnaw0hUx$LCbDC(}cCnR!VqN z*y=R4D$Pofij~b*V3oGAcxy?NV7Y46*iy}Keb37;A1;ldqu)6KzKX|7n0y&5ks z+TPYziTMguP2^YTT|NFQpYds5>LyBWhZMg@|IYbrvD`%*w*z78%H_{{_`lMA;V+1z z?i+-DjP}!zze#X@_d|}~>$%@S$fF>~@8HZw5rQDcw#*M81VN79*_r1Mf*{BL;V^#y zAqaBZrDHya5Cl1X+hG0ygdoUqmy~%OAqaB(KM(VdAp}8=yUxsCBjT`GaL6jb^8l~z zD+I%fM}lh5E(-IkQ&j&0k$jdoynZWT{fDW{@n?RDIDgk+&fijaACvi`q|e`anBPY{ zL@9GVAF%DE1m_!mqu}^d9IWDoHkp4!!@oq_Yv)!GXK81i!pVaVG!j9CB zYq)N_6B_#;6kPiMX$}8h;@&vm_Yf4EFVfF@1ef+FHTev`dthmmHIrlv6|;6+PM`0Nr+P9Z=^gXY!mtG1&>f3 z`7MHP75puN4+wsT;Bmq46g(k#Snz{_-zE4F!Pz%NIl)cJV^S8pTku)Iw+Mb*@E*Y* z5nTO`kIJV6?-Tl`1@9O9jNlwYM2`x-jq;eB75r|&9~bZB3O*q0j0w)`Ay)4aJR$UV3w}`W zJ%S$*JRx{a@TA~n!S@P2EBLtJ#|7s#8LJ-=obM6HPYJ#s0m*5>4={xEjNk_ae^l^$ z1%F)dF2NTC-z4}s!9#+d7yO-qUl9C|;1>nIPw-2E9~OK`@OKG*Mevm1oW<%RT!1t{ zdE|I6;q%eq;R96e6rA&jLd07k#e;>{H0B|y;A?^T8R9&4%b|x&wo@@&$ei5fB~fed@_q_F?Y@Yzp|-_!n) z&5j0-6UV<64sOqU7?|qcQFng_$lejpz(THulNp4>FaBq!{|ls#{o`En_K){s?0=QV z|1-4s-iwt&yz#(i2*2^qzR_v4L~XJEARONQXMy?kZ>)A2&RwJbDyaGOpTmg-BKt?* zz5SmChFy5i|8Y`$71T-bj{mDriS64w@jFfJ`8=}??w`x}9_{D4eMR9E{~yVDr^flc*>5vQv}4^K zXpB?U6J{es?L(|cDf`cOjQaPsAE5RJJK4pznkIU_I&=(yti*` za++>Dop{p&!951Q^$V*#OBAXbXK}KCBwy*I{OcKxx_A4vf0SO%4|^JTipC!S$lo;q literal 0 HcmV?d00001 diff --git a/build/moc_videopage.cpp b/build/moc_videopage.cpp new file mode 100644 index 0000000..3c255c5 --- /dev/null +++ b/build/moc_videopage.cpp @@ -0,0 +1,144 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'videopage.h' +** +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.3) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include +#include "../src/pages/videopage.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'videopage.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.15.3. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED +struct qt_meta_stringdata_VideoPage_t { + QByteArrayData data[5]; + char stringdata0[63]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_VideoPage_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_VideoPage_t qt_meta_stringdata_VideoPage = { + { +QT_MOC_LITERAL(0, 0, 9), // "VideoPage" +QT_MOC_LITERAL(1, 10, 21), // "droneSelectionChanged" +QT_MOC_LITERAL(2, 32, 0), // "" +QT_MOC_LITERAL(3, 33, 5), // "index" +QT_MOC_LITERAL(4, 39, 23) // "onDroneSelectionChanged" + + }, + "VideoPage\0droneSelectionChanged\0\0index\0" + "onDroneSelectionChanged" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_VideoPage[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 2, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 1, // signalCount + + // signals: name, argc, parameters, tag, flags + 1, 1, 24, 2, 0x06 /* Public */, + + // slots: name, argc, parameters, tag, flags + 4, 0, 27, 2, 0x08 /* Private */, + + // signals: parameters + QMetaType::Void, QMetaType::Int, 3, + + // slots: parameters + QMetaType::Void, + + 0 // eod +}; + +void VideoPage::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + auto *_t = static_cast(_o); + (void)_t; + switch (_id) { + case 0: _t->droneSelectionChanged((*reinterpret_cast< int(*)>(_a[1]))); break; + case 1: _t->onDroneSelectionChanged(); break; + default: ; + } + } else if (_c == QMetaObject::IndexOfMethod) { + int *result = reinterpret_cast(_a[0]); + { + using _t = void (VideoPage::*)(int ); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&VideoPage::droneSelectionChanged)) { + *result = 0; + return; + } + } + } +} + +QT_INIT_METAOBJECT const QMetaObject VideoPage::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_meta_stringdata_VideoPage.data, + qt_meta_data_VideoPage, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *VideoPage::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *VideoPage::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_VideoPage.stringdata0)) + return static_cast(this); + return QWidget::qt_metacast(_clname); +} + +int VideoPage::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 2) + qt_static_metacall(this, _c, _id, _a); + _id -= 2; + } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { + if (_id < 2) + *reinterpret_cast(_a[0]) = -1; + _id -= 2; + } + return _id; +} + +// SIGNAL 0 +void VideoPage::droneSelectionChanged(int _t1) +{ + void *_a[] = { nullptr, const_cast(reinterpret_cast(std::addressof(_t1))) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); +} +QT_WARNING_POP +QT_END_MOC_NAMESPACE diff --git a/build/moc_videopage.o b/build/moc_videopage.o new file mode 100644 index 0000000000000000000000000000000000000000..9d4ec431c3c65d50c733e33a9f78879cef753b0b GIT binary patch literal 10824 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 literal 0 HcmV?d00001 diff --git a/build/moc_visionmodelpage.cpp b/build/moc_visionmodelpage.cpp new file mode 100644 index 0000000..baafe4f --- /dev/null +++ b/build/moc_visionmodelpage.cpp @@ -0,0 +1,166 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'visionmodelpage.h' +** +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.3) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include +#include "../src/pages/visionmodelpage.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'visionmodelpage.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.15.3. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED +struct qt_meta_stringdata_VisionModelPage_t { + QByteArrayData data[7]; + char stringdata0[88]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_VisionModelPage_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_VisionModelPage_t qt_meta_stringdata_VisionModelPage = { + { +QT_MOC_LITERAL(0, 0, 15), // "VisionModelPage" +QT_MOC_LITERAL(1, 16, 17), // "modelRunRequested" +QT_MOC_LITERAL(2, 34, 0), // "" +QT_MOC_LITERAL(3, 35, 5), // "input" +QT_MOC_LITERAL(4, 41, 18), // "modelStopRequested" +QT_MOC_LITERAL(5, 60, 12), // "onRunClicked" +QT_MOC_LITERAL(6, 73, 14) // "onInputChanged" + + }, + "VisionModelPage\0modelRunRequested\0\0" + "input\0modelStopRequested\0onRunClicked\0" + "onInputChanged" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_VisionModelPage[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 4, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 2, // signalCount + + // signals: name, argc, parameters, tag, flags + 1, 1, 34, 2, 0x06 /* Public */, + 4, 0, 37, 2, 0x06 /* Public */, + + // slots: name, argc, parameters, tag, flags + 5, 0, 38, 2, 0x08 /* Private */, + 6, 0, 39, 2, 0x08 /* Private */, + + // signals: parameters + QMetaType::Void, QMetaType::QString, 3, + QMetaType::Void, + + // slots: parameters + QMetaType::Void, + QMetaType::Void, + + 0 // eod +}; + +void VisionModelPage::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + auto *_t = static_cast(_o); + (void)_t; + switch (_id) { + case 0: _t->modelRunRequested((*reinterpret_cast< const QString(*)>(_a[1]))); break; + case 1: _t->modelStopRequested(); break; + case 2: _t->onRunClicked(); break; + case 3: _t->onInputChanged(); break; + default: ; + } + } else if (_c == QMetaObject::IndexOfMethod) { + int *result = reinterpret_cast(_a[0]); + { + using _t = void (VisionModelPage::*)(const QString & ); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&VisionModelPage::modelRunRequested)) { + *result = 0; + return; + } + } + { + using _t = void (VisionModelPage::*)(); + if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&VisionModelPage::modelStopRequested)) { + *result = 1; + return; + } + } + } +} + +QT_INIT_METAOBJECT const QMetaObject VisionModelPage::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_meta_stringdata_VisionModelPage.data, + qt_meta_data_VisionModelPage, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *VisionModelPage::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *VisionModelPage::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_VisionModelPage.stringdata0)) + return static_cast(this); + return QWidget::qt_metacast(_clname); +} + +int VisionModelPage::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 4) + qt_static_metacall(this, _c, _id, _a); + _id -= 4; + } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { + if (_id < 4) + *reinterpret_cast(_a[0]) = -1; + _id -= 4; + } + return _id; +} + +// SIGNAL 0 +void VisionModelPage::modelRunRequested(const QString & _t1) +{ + void *_a[] = { nullptr, const_cast(reinterpret_cast(std::addressof(_t1))) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); +} + +// SIGNAL 1 +void VisionModelPage::modelStopRequested() +{ + QMetaObject::activate(this, &staticMetaObject, 1, nullptr); +} +QT_WARNING_POP +QT_END_MOC_NAMESPACE diff --git a/build/moc_visionmodelpage.o b/build/moc_visionmodelpage.o new file mode 100644 index 0000000000000000000000000000000000000000..c1c41d4d74ee10da8a7b83ab7ba2b2235fdd05ea GIT binary patch literal 11432 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 literal 0 HcmV?d00001 diff --git a/build/stylehelper.o b/build/stylehelper.o new file mode 100644 index 0000000000000000000000000000000000000000..d67c70ff3face21de6ec5412eeea3ac36fd5fe63 GIT binary patch literal 10384 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 literal 0 HcmV?d00001 diff --git a/build/videopage.o b/build/videopage.o new file mode 100644 index 0000000000000000000000000000000000000000..c362875d877a3159be8f6440f161609fdd017c76 GIT binary patch literal 39376 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 literal 0 HcmV?d00001 diff --git a/build/visionmodelpage.o b/build/visionmodelpage.o new file mode 100644 index 0000000000000000000000000000000000000000..7dbc4d713e98999798a27367921a12e477da5a42 GIT binary patch literal 17728 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�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�C#;j9zTls5T`Aq0W`r(+i%(M= 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 O%?){aH3P_Qi~j-MB~}6e literal 0 HcmV?d00001 diff --git a/drone_ui.pro b/drone_ui.pro new file mode 100644 index 0000000..3719830 --- /dev/null +++ b/drone_ui.pro @@ -0,0 +1,27 @@ +QT += core widgets webenginewidgets +CONFIG += c++17 +TEMPLATE = app +TARGET = Drone_project + +SOURCES += \ + src/core/main.cpp \ + src/ui/mainwindow.cpp \ + src/models/dronedata.cpp \ + src/models/detectiondata.cpp \ + src/pages/videopage.cpp \ + src/pages/mappage.cpp \ + src/pages/datapage.cpp \ + src/pages/visionmodelpage.cpp \ + src/utils/stylehelper.cpp \ + src/pages/taskdecisionpage.cpp + +HEADERS += \ + src/ui/mainwindow.h \ + src/models/dronedata.h \ + src/models/detectiondata.h \ + src/pages/videopage.h \ + src/pages/mappage.h \ + src/pages/datapage.h \ + src/pages/visionmodelpage.h \ + src/utils/stylehelper.h \ + src/pages/taskdecisionpage.h diff --git a/drone_ui.pro.user b/drone_ui.pro.user new file mode 100644 index 0000000..a29a861 --- /dev/null +++ b/drone_ui.pro.user @@ -0,0 +1,271 @@ + + + + + + EnvironmentId + {d6548bba-c6d9-4cdb-a6a4-a3221e622b53} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + true + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 0 + 80 + true + true + 1 + 0 + false + true + false + 2 + true + true + 0 + 8 + true + false + 1 + true + true + true + *.md, *.MD, Makefile + false + true + true + + + + ProjectExplorer.Project.PluginSettings + + + true + false + true + true + true + true + + false + + + 0 + true + + true + true + Builtin.DefaultTidyAndClazy + 6 + true + + + + true + + + + + ProjectExplorer.Project.Target.0 + + Desktop + Desktop Qt 5.15.2 GCC 64bit + Desktop Qt 5.15.2 GCC 64bit + qt.qt5.5152.gcc_64_kit + 0 + 0 + 0 + + 0 + /home/wangjing/uav/Drone_project/build/Desktop_Qt_5_15_2_GCC_64bit-Debug + /home/wangjing/uav/Drone_project/build/Desktop_Qt_5_15_2_GCC_64bit-Debug + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + 构建 + 构建 + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + 清除 + 清除 + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + /home/wangjing/uav/Drone_project/build/Desktop_Qt_5_15_2_GCC_64bit-Release + /home/wangjing/uav/Drone_project/build/Desktop_Qt_5_15_2_GCC_64bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + 构建 + 构建 + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + 清除 + 清除 + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + + + 0 + /home/wangjing/uav/Drone_project/build/Desktop_Qt_5_15_2_GCC_64bit-Profile + /home/wangjing/uav/Drone_project/build/Desktop_Qt_5_15_2_GCC_64bit-Profile + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + 构建 + 构建 + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + 清除 + 清除 + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + 部署 + 部署 + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + true + true + 0 + true + + 2 + + false + -e cpu-cycles --call-graph dwarf,4096 -F 250 + + Qt4ProjectManager.Qt4RunConfiguration: + /home/wangjing/uav/Drone_project/drone_ui.pro + false + true + true + true + /home/wangjing/uav/Drone_project/build/Desktop_Qt_5_15_2_GCC_64bit-Debug + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/src/core/main.cpp b/src/core/main.cpp new file mode 100644 index 0000000..d2dfffb --- /dev/null +++ b/src/core/main.cpp @@ -0,0 +1,41 @@ +#include +#include "../ui/mainwindow.h" + +int main(int argc, char *argv[]) { + // 禁用 Wayland:优先使用 X11(xcb),否则回退为 offscreen + QByteArray display = qgetenv("DISPLAY"); + if (!display.isEmpty()) { + qputenv("QT_QPA_PLATFORM", QByteArray("xcb")); + } else { + qputenv("QT_QPA_PLATFORM", QByteArray("offscreen")); + } + + QApplication app(argc, argv); + app.setApplicationDisplayName(""); + // 全局样式表(浅色主题) + app.setStyleSheet( + "*{font-family:'Segoe UI','PingFang SC','Microsoft YaHei','WenQuanYi Micro Hei',sans-serif;}" + "QWidget{background:#fafafa;color:#222;}" + "QGroupBox{border:1px solid #e0e0e0;border-radius:8px;margin-top:8px;padding-top:12px;}" + "QGroupBox::title{subcontrol-origin: margin;left:10px;padding:0 6px;color:#111;font-weight:bold;}" + "QFrame{background:white;border:1px solid #e6e6e6;border-radius:8px;}" + "#headerBar{background:#ffffff;border:1px solid #e6e6e6;border-radius:10px;}" + "#sideNav{background:#ffffff;border:1px solid #e6e6e6;border-radius:10px;}" + "#rightPanel{background:transparent;}" + "QToolButton{background:#ffffff;border:1px solid #e6e6e6;border-radius:8px;padding:6px;}" + "QToolButton:hover{background:#f2f7ff;border-color:#d0dcff;}" + "QPushButton{background:#ffffff;border:1px solid #d9d9d9;border-radius:8px;padding:6px 10px;}" + "QPushButton:hover{background:#f8f8f8;border-color:#c8c8c8;}" + "QPushButton:pressed{background:#f0f0f0;}" + "QPushButton[primary='true']{background:#2979ff;color:#fff;border:1px solid #1f6ae6;}" + "QPushButton[primary='true']:hover{background:#1565c0;border-color:#155bb0;}" + "QLabel.section{font-weight:bold;padding:4px 0;}" + "QLineEdit,QComboBox{background:#ffffff;border:1px solid #d9d9d9;border-radius:6px;padding:4px 6px;}" + "QComboBox QAbstractItemView{border:1px solid #d9d9d9;background:#ffffff;selection-background-color:#e8f0ff;}" + "#recLed{background:#e33;border-radius:7px;}" + ); + MainWindow w; + w.resize(1280, 800); + w.show(); + return app.exec(); +} diff --git a/src/models/detectiondata.cpp b/src/models/detectiondata.cpp new file mode 100644 index 0000000..de5da51 --- /dev/null +++ b/src/models/detectiondata.cpp @@ -0,0 +1,182 @@ +#include "detectiondata.h" +#include +#include +#include + +/** + * 检测数据模型实现 + * 管理实时检测信息,包括目标检测、状态更新等 + */ + +DetectionData::DetectionData(QObject* parent) + : QObject(parent) + , status_(IDLE) + , accuracy_(0.0f) + , lastUpdate_(QDateTime::currentDateTime()) + , simulationTimer_(new QTimer(this)) + , simulationStep_(0) +{ + // 初始化目标类型和ID列表 + targetTypes_ << "人员" << "车辆" << "建筑物" << "障碍物" << "动物"; + targetIds_ << "T001" << "T002" << "T003" << "T004" << "T005" << "T006" << "T007" << "T008"; + + // 设置模拟定时器 + simulationTimer_->setInterval(2000); // 每2秒更新一次 + connect(simulationTimer_, &QTimer::timeout, this, &DetectionData::onSimulationTimer); +} + +DetectionData::~DetectionData() { + stopSimulation(); +} + +QString DetectionData::getStatusText() const { + switch (status_) { + case IDLE: return "● 空闲"; + case DETECTING: return "● 检测中"; + case PROCESSING: return "● 处理中"; + case ERROR: return "● 错误"; + default: return "● 未知"; + } +} + +void DetectionData::setStatus(DetectionStatus status) { + if (status_ != status) { + status_ = status; + lastUpdate_ = QDateTime::currentDateTime(); + emit statusChanged(status); + emit detectionUpdated(); + qDebug() << "检测状态变更为:" << getStatusText(); + } +} + +void DetectionData::setAccuracy(float accuracy) { + if (qAbs(accuracy_ - accuracy) > 0.01f) { + accuracy_ = qBound(0.0f, accuracy, 100.0f); + lastUpdate_ = QDateTime::currentDateTime(); + emit detectionUpdated(); + } +} + +void DetectionData::addTarget(const DetectionTarget& target) { + targets_.append(target); + lastUpdate_ = QDateTime::currentDateTime(); + emit targetAdded(target); + emit detectionUpdated(); + qDebug() << "添加检测目标:" << target.type << target.id << "置信度:" << target.confidence; +} + +void DetectionData::removeTarget(const QString& targetId) { + for (int i = 0; i < targets_.size(); ++i) { + if (targets_[i].id == targetId) { + targets_.removeAt(i); + lastUpdate_ = QDateTime::currentDateTime(); + emit targetRemoved(targetId); + emit detectionUpdated(); + qDebug() << "移除检测目标:" << targetId; + return; + } + } +} + +void DetectionData::clearTargets() { + if (!targets_.isEmpty()) { + targets_.clear(); + lastUpdate_ = QDateTime::currentDateTime(); + emit detectionUpdated(); + qDebug() << "清空所有检测目标"; + } +} + +void DetectionData::startSimulation() { + if (!simulationTimer_->isActive()) { + simulationTimer_->start(); + setStatus(DETECTING); + qDebug() << "开始检测模拟"; + } +} + +void DetectionData::stopSimulation() { + if (simulationTimer_->isActive()) { + simulationTimer_->stop(); + setStatus(IDLE); + qDebug() << "停止检测模拟"; + } +} + +void DetectionData::updateSimulation() { + onSimulationTimer(); +} + +void DetectionData::onSimulationTimer() { + simulationStep_++; + + // 随机更新检测状态 + if (simulationStep_ % 10 == 0) { + DetectionStatus newStatus = static_cast( + QRandomGenerator::global()->bounded(0, 4)); + setStatus(newStatus); + } + + // 随机添加或移除目标 + if (simulationStep_ % 3 == 0) { + if (targets_.size() < 5 && QRandomGenerator::global()->bounded(0, 2)) { + generateRandomTarget(); + } else if (targets_.size() > 0 && QRandomGenerator::global()->bounded(0, 3) == 0) { + int index = QRandomGenerator::global()->bounded(0, targets_.size()); + removeTarget(targets_[index].id); + } + } + + // 更新现有目标位置 + updateTargetPositions(); + + // 更新检测精度 + float newAccuracy = 85.0f + QRandomGenerator::global()->generateDouble() * 15.0f; + setAccuracy(newAccuracy); + + emit detectionUpdated(); +} + +void DetectionData::generateRandomTarget() { + DetectionTarget target; + target.type = getRandomTargetType(); + target.id = getRandomTargetId(); + target.confidence = 70.0f + QRandomGenerator::global()->generateDouble() * 30.0f; + target.position = QVector3D( + QRandomGenerator::global()->generateDouble() * 100.0f, + QRandomGenerator::global()->generateDouble() * 100.0f, + QRandomGenerator::global()->generateDouble() * 20.0f + ); + target.size = QVector3D( + 1.0f + QRandomGenerator::global()->generateDouble() * 3.0f, + 1.0f + QRandomGenerator::global()->generateDouble() * 3.0f, + 1.0f + QRandomGenerator::global()->generateDouble() * 2.0f + ); + target.timestamp = QDateTime::currentDateTime(); + + addTarget(target); +} + +void DetectionData::updateTargetPositions() { + for (auto& target : targets_) { + // 模拟目标移动 + float dx = (QRandomGenerator::global()->generateDouble() - 0.5) * 2.0f; + float dy = (QRandomGenerator::global()->generateDouble() - 0.5) * 2.0f; + float dz = (QRandomGenerator::global()->generateDouble() - 0.5) * 0.5f; + + target.position += QVector3D(dx, dy, dz); + + // 限制在合理范围内 + target.position.setX(qBound(0.0f, target.position.x(), 100.0f)); + target.position.setY(qBound(0.0f, target.position.y(), 100.0f)); + target.position.setZ(qBound(0.0f, target.position.z(), 20.0f)); + } +} + +QString DetectionData::getRandomTargetType() { + return targetTypes_[QRandomGenerator::global()->bounded(0, targetTypes_.size())]; +} + +QString DetectionData::getRandomTargetId() { + return targetIds_[QRandomGenerator::global()->bounded(0, targetIds_.size())]; +} diff --git a/src/models/detectiondata.h b/src/models/detectiondata.h new file mode 100644 index 0000000..0706359 --- /dev/null +++ b/src/models/detectiondata.h @@ -0,0 +1,98 @@ +#ifndef DETECTIONDATA_H +#define DETECTIONDATA_H + +#include +#include +#include +#include +#include +#include +#include + +/** + * 检测目标信息结构 + * 用于存储单个检测目标的详细信息 + */ +struct DetectionTarget { + QString type; // 目标类型(人员、车辆、建筑物等) + QString id; // 目标ID + float confidence; // 置信度 + QVector3D position; // 位置信息 + QVector3D size; // 尺寸信息 + QDateTime timestamp; // 检测时间 + + DetectionTarget() : confidence(0.0f) {} + DetectionTarget(const QString& t, const QString& i, float c) + : type(t), id(i), confidence(c) { + timestamp = QDateTime::currentDateTime(); + } +}; + +/** + * 检测数据模型类 + * 用于管理实时检测信息,包括目标检测、状态更新等 + */ +class DetectionData : public QObject { + Q_OBJECT + +public: + explicit DetectionData(QObject* parent = nullptr); + ~DetectionData(); + + // 检测状态 + enum DetectionStatus { + IDLE, // 空闲 + DETECTING, // 检测中 + PROCESSING, // 处理中 + ERROR // 错误 + }; + + // 获取检测信息 + QVector getTargets() const { return targets_; } + DetectionStatus getStatus() const { return status_; } + float getAccuracy() const { return accuracy_; } + QDateTime getLastUpdate() const { return lastUpdate_; } + QString getStatusText() const; + + // 设置检测信息 + void setStatus(DetectionStatus status); + void setAccuracy(float accuracy); + void addTarget(const DetectionTarget& target); + void removeTarget(const QString& targetId); + void clearTargets(); + + // 模拟检测数据更新 + void startSimulation(); + void stopSimulation(); + void updateSimulation(); + +signals: + void detectionUpdated(); + void statusChanged(DetectionStatus status); + void targetAdded(const DetectionTarget& target); + void targetRemoved(const QString& targetId); + +private slots: + void onSimulationTimer(); + +private: + QVector targets_; + DetectionStatus status_; + float accuracy_; + QDateTime lastUpdate_; + + // 模拟数据更新 + QTimer* simulationTimer_; + int simulationStep_; + + // 模拟目标类型列表 + QStringList targetTypes_; + QStringList targetIds_; + + void generateRandomTarget(); + void updateTargetPositions(); + QString getRandomTargetType(); + QString getRandomTargetId(); +}; + +#endif // DETECTIONDATA_H diff --git a/src/models/dronedata.cpp b/src/models/dronedata.cpp new file mode 100644 index 0000000..619640c --- /dev/null +++ b/src/models/dronedata.cpp @@ -0,0 +1,215 @@ +#include "dronedata.h" +#include +#include +#include + +/** + * 无人机数据模型实现 + * 管理单架无人机的状态信息和数据更新 + */ + +DroneData::DroneData(const QString& id, const QString& name, QObject* parent) + : QObject(parent) + , id_(id) + , name_(name) + , connected_(false) + , position_(0, 0, 0) + , expectedPosition_(0, 0, 0) + , velocity_(0, 0, 0) + , expectedVelocity_(0, 0, 0) + , attitude_(0, 0, 0) + , simulationTimer_(new QTimer(this)) + , simulationStep_(0) +{ + // 设置模拟数据更新定时器 + simulationTimer_->setInterval(100); // 100ms更新一次 + connect(simulationTimer_, &QTimer::timeout, this, &DroneData::updateSimulationData); +} + +void DroneData::setConnected(bool connected) { + if (connected_ != connected) { + connected_ = connected; + emit connectionChanged(connected); + emit dataChanged(); + } +} + +void DroneData::setPosition(const QVector3D& pos) { + if (position_ != pos) { + position_ = pos; + emit dataChanged(); + } +} + +void DroneData::setExpectedPosition(const QVector3D& pos) { + if (expectedPosition_ != pos) { + expectedPosition_ = pos; + emit dataChanged(); + } +} + +void DroneData::setVelocity(const QVector3D& vel) { + if (velocity_ != vel) { + velocity_ = vel; + emit dataChanged(); + } +} + +void DroneData::setExpectedVelocity(const QVector3D& vel) { + if (expectedVelocity_ != vel) { + expectedVelocity_ = vel; + emit dataChanged(); + } +} + +void DroneData::setAttitude(const QVector3D& att) { + if (attitude_ != att) { + attitude_ = att; + emit dataChanged(); + } +} + +void DroneData::startSimulation() { + if (!simulationTimer_->isActive()) { + simulationTimer_->start(); + qDebug() << "开始模拟无人机" << name_ << "的数据更新"; + } +} + +void DroneData::stopSimulation() { + if (simulationTimer_->isActive()) { + simulationTimer_->stop(); + qDebug() << "停止模拟无人机" << name_ << "的数据更新"; + } +} + +void DroneData::updateSimulationData() { + if (!connected_) return; + + simulationStep_++; + + // 模拟位置变化(简单的正弦波运动) + float t = simulationStep_ * 0.01f; + float x = 10.0f * qSin(t) + 50.0f; + float y = 10.0f * qCos(t) + 50.0f; + float z = 5.0f * qSin(t * 0.5f) + 30.0f; + + setPosition(QVector3D(x, y, z)); + + // 模拟速度变化 + float vx = 10.0f * qCos(t); + float vy = -10.0f * qSin(t); + float vz = 5.0f * qCos(t * 0.5f) * 0.5f; + + setVelocity(QVector3D(vx, vy, vz)); + + // 模拟姿态变化 + float roll = 5.0f * qSin(t * 0.3f); + float pitch = 3.0f * qCos(t * 0.4f); + float yaw = t * 10.0f; + + setAttitude(QVector3D(roll, pitch, yaw)); + + // 期望位置稍微滞后于实际位置 + setExpectedPosition(QVector3D(x + 2.0f, y + 1.0f, z + 0.5f)); + setExpectedVelocity(QVector3D(vx * 0.9f, vy * 0.9f, vz * 0.9f)); +} + +/** + * 无人机管理器实现 + * 管理多架无人机的创建、删除和切换 + */ + +DroneManager::DroneManager(QObject* parent) + : QObject(parent) + , currentDroneId_("") +{ +} + +DroneManager::~DroneManager() { + qDeleteAll(drones_); +} + +void DroneManager::addDrone(const QString& id, const QString& name) { + // 检查是否已存在 + for (auto* drone : drones_) { + if (drone->getId() == id) { + qDebug() << "无人机" << id << "已存在"; + return; + } + } + + // 创建新无人机 + auto* drone = new DroneData(id, name, this); + drones_.append(drone); + + // 如果是第一架无人机,设为当前选中 + if (currentDroneId_.isEmpty()) { + setCurrentDrone(id); + } + + // 开始模拟数据更新 + drone->setConnected(true); + drone->startSimulation(); + + emit droneAdded(id); + qDebug() << "添加无人机:" << id << name; +} + +void DroneManager::removeDrone(const QString& id) { + for (int i = 0; i < drones_.size(); ++i) { + if (drones_[i]->getId() == id) { + auto* drone = drones_[i]; + drone->stopSimulation(); + drone->deleteLater(); + drones_.removeAt(i); + + // 如果删除的是当前选中的无人机,切换到其他无人机 + if (currentDroneId_ == id) { + if (!drones_.isEmpty()) { + setCurrentDrone(drones_[0]->getId()); + } else { + currentDroneId_ = ""; + emit currentDroneChanged(""); + } + } + + emit droneRemoved(id); + qDebug() << "删除无人机:" << id; + return; + } + } +} + +DroneData* DroneManager::getDrone(const QString& id) const { + for (auto* drone : drones_) { + if (drone->getId() == id) { + return drone; + } + } + return nullptr; +} + +DroneData* DroneManager::getCurrentDrone() const { + return getDrone(currentDroneId_); +} + +QVector DroneManager::getAllDrones() const { + return drones_; +} + +void DroneManager::setCurrentDrone(const QString& id) { + if (currentDroneId_ != id && getDrone(id) != nullptr) { + currentDroneId_ = id; + emit currentDroneChanged(id); + qDebug() << "切换当前无人机到:" << id; + } +} + +QStringList DroneManager::getDroneIds() const { + QStringList ids; + for (auto* drone : drones_) { + ids.append(drone->getId()); + } + return ids; +} diff --git a/src/models/dronedata.h b/src/models/dronedata.h new file mode 100644 index 0000000..42842c9 --- /dev/null +++ b/src/models/dronedata.h @@ -0,0 +1,108 @@ +#ifndef DRONEDATA_H +#define DRONEDATA_H + +#include +#include +#include +#include +#include +#include + +/** + * 无人机数据模型类 + * 用于管理单架无人机的所有状态信息,包括位置、速度、姿态等 + */ +class DroneData : public QObject { + Q_OBJECT + +public: + explicit DroneData(const QString& id, const QString& name, QObject* parent = nullptr); + + // 基本信息 + QString getId() const { return id_; } + QString getName() const { return name_; } + bool isConnected() const { return connected_; } + + // 位置信息 + QVector3D getPosition() const { return position_; } + QVector3D getExpectedPosition() const { return expectedPosition_; } + + // 速度信息 + QVector3D getVelocity() const { return velocity_; } + QVector3D getExpectedVelocity() const { return expectedVelocity_; } + + // 姿态信息 + QVector3D getAttitude() const { return attitude_; } + + // 设置方法 + void setConnected(bool connected); + void setPosition(const QVector3D& pos); + void setExpectedPosition(const QVector3D& pos); + void setVelocity(const QVector3D& vel); + void setExpectedVelocity(const QVector3D& vel); + void setAttitude(const QVector3D& att); + + // 模拟数据更新(用于演示) + void startSimulation(); + void stopSimulation(); + +signals: + void dataChanged(); + void connectionChanged(bool connected); + +private slots: + void updateSimulationData(); + +private: + QString id_; + QString name_; + bool connected_; + + // 位置、速度、姿态数据 + QVector3D position_; + QVector3D expectedPosition_; + QVector3D velocity_; + QVector3D expectedVelocity_; + QVector3D attitude_; + + // 模拟数据更新定时器 + QTimer* simulationTimer_; + int simulationStep_; +}; + +/** + * 无人机管理器类 + * 用于管理多架无人机,提供切换和查询功能 + */ +class DroneManager : public QObject { + Q_OBJECT + +public: + explicit DroneManager(QObject* parent = nullptr); + ~DroneManager(); + + // 无人机管理 + void addDrone(const QString& id, const QString& name); + void removeDrone(const QString& id); + DroneData* getDrone(const QString& id) const; + DroneData* getCurrentDrone() const; + QVector getAllDrones() const; + + // 当前选中无人机 + void setCurrentDrone(const QString& id); + QString getCurrentDroneId() const { return currentDroneId_; } + + // 获取所有无人机ID列表 + QStringList getDroneIds() const; + +signals: + void currentDroneChanged(const QString& id); + void droneAdded(const QString& id); + void droneRemoved(const QString& id); + +private: + QVector drones_; + QString currentDroneId_; +}; + +#endif // DRONEDATA_H diff --git a/src/pages/datapage.cpp b/src/pages/datapage.cpp new file mode 100644 index 0000000..72a2d34 --- /dev/null +++ b/src/pages/datapage.cpp @@ -0,0 +1,126 @@ +#include "datapage.h" +#include + +// 添加必要包含 +#include +#include "../models/dronedata.h" // 假设全局访问DroneManager +extern DroneManager* globalDroneManager; // 如果需要全局访问,实际应通过参数传递 +#include "../models/detectiondata.h" +extern DetectionData* globalDetectionData; + +/** + * 数据监控页面实现 + * 负责数据监控界面的构建和信息显示 + */ + +DataPage::DataPage(QWidget* parent) + : QWidget(parent) + , infoBoard_(nullptr) + , droneTable_(nullptr) + , targetGroup_(nullptr) + , targetLabel_(nullptr) + +// 初始化基大小 +, baseFontSize_(10) +, initialWidth_(800) + +{ + setupUI(); +} + +DataPage::~DataPage() { + // Qt会自动清理子对象 +} + +void DataPage::setupUI() { + auto* mainLayout = new QVBoxLayout(this); + mainLayout->setSpacing(8); + mainLayout->setContentsMargins(0, 0, 0, 0); + + // 标题 + auto* title = new QLabel("数据监控"); + title->setProperty("class", "section"); + mainLayout->addWidget(title); + + // 无人机信息表格 + droneTable_ = new QTableWidget(this); + droneTable_->setColumnCount(5); + droneTable_->setHorizontalHeaderLabels({"型号", "飞行状态", "电量", "搭载武器", "其他"}); + droneTable_->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); + droneTable_->verticalHeader()->hide(); + droneTable_->setAlternatingRowColors(true); + droneTable_->setSelectionBehavior(QAbstractItemView::SelectRows); + mainLayout->addWidget(droneTable_, 1); + + // 目标统计组 + targetGroup_ = new QGroupBox("扫描目标统计"); + auto* targetLayout = new QVBoxLayout(targetGroup_); + targetLabel_ = new QLabel("无目标"); + targetLabel_->setAlignment(Qt::AlignCenter); + targetLayout->addWidget(targetLabel_); + mainLayout->addWidget(targetGroup_); + + // 初始更新 + updateDroneInfo(); + updateTargetInfo(); +} + +void DataPage::setupInfoBoard() { + infoBoard_ = new QFrame(this); + infoBoard_->setMinimumHeight(520); + infoBoard_->setStyleSheet("QFrame{background:#f8f9fa; border:1px solid #dee2e6; border-radius:8px;}"); +} + +void DataPage::updateDroneInfo() { + if (!globalDroneManager) return; + droneTable_->setRowCount(0); // 清空 + QStringList droneIds = globalDroneManager->getDroneIds(); + for (const QString& id : droneIds) { + DroneData* drone = globalDroneManager->getDrone(id); + if (drone) { + int row = droneTable_->rowCount(); + droneTable_->insertRow(row); + droneTable_->setItem(row, 0, new QTableWidgetItem(drone->getName())); + droneTable_->setItem(row, 1, new QTableWidgetItem("飞行中")); // 假设状态 + droneTable_->setItem(row, 2, new QTableWidgetItem("80%")); // 假设电量 + droneTable_->setItem(row, 3, new QTableWidgetItem("导弹")); // 假设武器 + droneTable_->setItem(row, 4, new QTableWidgetItem("正常")); // 其他 + } + } +} + +void DataPage::updateTargetInfo() { + if (!globalDetectionData) return; + QVector targets = globalDetectionData->getTargets(); + QMap typeCount; + for (const auto& target : targets) { + typeCount[target.type]++; + } + QStringList targetStrings; + for (auto it = typeCount.begin(); it != typeCount.end(); ++it) { + targetStrings.append(QString("%1 × %2").arg(it.key()).arg(it.value())); + } + targetLabel_->setText(targetStrings.isEmpty() ? "无目标" : targetStrings.join(", ")); +} + +// 添加resizeEvent实现(即使简单,也添加以一致) +void DataPage::resizeEvent(QResizeEvent *event) { + QWidget::resizeEvent(event); + + float scale = static_cast(width()) / initialWidth_; + + QFont font = this->font(); + font.setPointSizeF(baseFontSize_ * scale); + + droneTable_->setFont(font); + targetLabel_->setFont(font); + // 调整表格行高 + int rowHeight = static_cast(30 * scale); + for (int i = 0; i < droneTable_->rowCount(); ++i) { + droneTable_->setRowHeight(i, rowHeight); + } + + // 如果infoBoard_有子组件,可以在这里调整;当前为空 + qDebug() << "DataPage resized with scale:" << scale; +} + diff --git a/src/pages/datapage.h b/src/pages/datapage.h new file mode 100644 index 0000000..735f70d --- /dev/null +++ b/src/pages/datapage.h @@ -0,0 +1,54 @@ +#ifndef DATAPAGE_H +#define DATAPAGE_H + +#include +#include +#include +#include + +// 添加新包含 +#include +#include +#include + +/** + * 数据监控页面类 + * 负责数据监控界面的构建和信息显示 + */ +class DataPage : public QWidget { + Q_OBJECT + +public: + explicit DataPage(QWidget* parent = nullptr); + ~DataPage(); + +protected: + void resizeEvent(QResizeEvent *event) override; + + // 获取组件引用 + QFrame* getInfoBoard() const { return infoBoard_; } + +signals: + void dataRequested(); + +public slots: + void updateDroneInfo(); // 更新无人机信息 + void updateTargetInfo(); // 更新目标信息 + +private: + void setupUI(); + void setupInfoBoard(); + + // UI组件 + QFrame* infoBoard_; + QTableWidget* droneTable_; // 无人机表格 + QGroupBox* targetGroup_; // 目标统计组 + QLabel* targetLabel_; // 目标统计标签 + + // 基大小用于缩放 + int baseFontSize_ = 10; + int initialWidth_ = 800; +}; + +#endif // DATAPAGE_H + diff --git a/src/pages/mappage.cpp b/src/pages/mappage.cpp new file mode 100644 index 0000000..beaa362 --- /dev/null +++ b/src/pages/mappage.cpp @@ -0,0 +1,489 @@ +#include "mappage.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // Added for QMessageBox + +/** + * 地图监控页面实现 + * 负责地图监控界面的构建和路径规划功能 + */ + +MapPage::MapPage(QWidget* parent) + : QWidget(parent) + , mapArea_(nullptr) + , heightCombo_(nullptr) + , downloadMapBtn_(nullptr) + , mapView_(nullptr) + + // 初始化新按钮 + , setThreatBtn_(nullptr) + , areaSearchBtn_(nullptr) + , pathPlanningBtn_(nullptr) + + // 初始化基字体大小(如果需要从样式获取,可以调整) + , baseFontSize_(10) + + // 初始化新组件 + , coordInput_(nullptr) + , locateBtn_(nullptr) + , searchMapBtn_(nullptr) + + // 初始化定位对话框 + , locateDialog_(nullptr) + +{ + setupUI(); + enableGeolocation(); // 启用geolocation + qDebug() << "MapPage 构造函数完成"; + + // 初始化对话框 + threatDialog_ = new ThreatAreaDialog(this); + searchDialog_ = new AreaSearchDialog(this); + planningDialog_ = new PathPlanningDialog(this); + locateDialog_ = new LocateDialog(this); // 确保初始化 +} + +MapPage::~MapPage() { + // Qt会自动清理子对象 +} + +void MapPage::setupUI() { + auto* mainLayout = new QVBoxLayout(this); + mainLayout->setSpacing(8); + mainLayout->setContentsMargins(0, 0, 0, 0); + + // 标题 + auto* title = new QLabel("路径监控"); + title->setProperty("class", "section"); + mainLayout->addWidget(title); + + // 地图类型切换 + mainLayout->addWidget(createMapControlsWidget()); + + // 地图区域 + setupMapArea(); + mainLayout->addWidget(mapArea_, 1); + + // 控制条 + setupControlBar(); + mainLayout->addWidget(createControlBarWidget()); +} + +void MapPage::setupMapControls() { + // 地图控制设置 +} + +QWidget* MapPage::createMapControlsWidget() { + auto* top = new QWidget(this); + auto* layout = new QHBoxLayout(top); + layout->setContentsMargins(0, 0, 0, 0); + + layout->addStretch(1); + return top; +} + +void MapPage::setupMapArea() { + mapArea_ = new QFrame(this); + mapArea_->setMinimumHeight(520); + // 使用全局样式 + + auto* layout = new QVBoxLayout(mapArea_); + layout->setContentsMargins(0, 0, 0, 0); + + mapView_ = new QWebEngineView(mapArea_); + mapView_->setPage(new CustomWebEnginePage(mapView_)); + layout->addWidget(mapView_); + + // 添加加载完成调试 + connect(mapView_, &QWebEngineView::loadFinished, this, [this](bool ok) { + qDebug() << (ok ? "地图 HTML 加载成功" : "地图 HTML 加载失败"); + }); + + // 添加默认地图加载 + const QString defaultHtml = R"( + + + + + + + 卫星和路网图 + + + + + + +

+ + + )"; +mapView_->setHtml(defaultHtml, QUrl("https://webapi.amap.com/")); +} + +void MapPage::setupControlBar() { + // 控制条设置 +} + +QWidget* MapPage::createControlBarWidget() { + auto* bar = new QWidget(this); + auto* layout = new QHBoxLayout(bar); + layout->setContentsMargins(0, 0, 0, 0); + + auto* heightLabel = new QLabel("航线高度:"); + layout->addWidget(heightLabel); + + heightCombo_ = new QComboBox(); + heightCombo_->addItems({"30.00", "50.00", "80.00"}); + heightCombo_->setFixedWidth(100); + connect(heightCombo_, QOverload::of(&QComboBox::currentTextChanged), + this, &MapPage::onHeightChanged); + layout->addWidget(heightCombo_); + + layout->addStretch(1); + + // 添加地图检索按钮 + searchMapBtn_ = new QPushButton("地图检索"); + searchMapBtn_->setProperty("primary", true); + connect(searchMapBtn_, &QPushButton::clicked, this, &MapPage::onSearchMapClicked); + layout->addWidget(searchMapBtn_); + + downloadMapBtn_ = new QPushButton("地图下载"); + downloadMapBtn_->setProperty("primary", true); + connect(downloadMapBtn_, &QPushButton::clicked, this, &MapPage::onDownloadMapClicked); + layout->addWidget(downloadMapBtn_); + + // 添加新按钮 - 为了整洁,将它们分组在布局末尾 + setThreatBtn_ = new QPushButton("设置威胁区域"); + setThreatBtn_->setProperty("primary", true); + connect(setThreatBtn_, &QPushButton::clicked, this, &MapPage::onSetThreatClicked); + layout->addWidget(setThreatBtn_); + + areaSearchBtn_ = new QPushButton("区域搜索"); + areaSearchBtn_->setProperty("primary", true); + connect(areaSearchBtn_, &QPushButton::clicked, this, &MapPage::onAreaSearchClicked); + layout->addWidget(areaSearchBtn_); + + pathPlanningBtn_ = new QPushButton("路径规划"); + pathPlanningBtn_->setProperty("primary", true); + connect(pathPlanningBtn_, &QPushButton::clicked, this, &MapPage::onPathPlanningClicked); + layout->addWidget(pathPlanningBtn_); + + return bar; +} + +// 添加缺失的实现 +void MapPage::onHeightChanged() { + emit heightChanged(heightCombo_->currentText()); + qDebug() << "航线高度变更为:" << heightCombo_->currentText(); +} + +void MapPage::onDownloadMapClicked() { + emit downloadMapRequested(); + qDebug() << "地图下载请求"; +} + +// 新槽函数实现 +void MapPage::onSetThreatClicked() { + threatDialog_->exec(); // 打开模态对话框 + // 执行JS添加overlay (示例) + mapView_->page()->runJavaScript("addThreatArea();"); // 假设JS函数 +} + +void MapPage::onAreaSearchClicked() { + searchDialog_->exec(); +} + +void MapPage::onPathPlanningClicked() { + planningDialog_->exec(); +} + +// 添加resizeEvent实现 +void MapPage::resizeEvent(QResizeEvent *event) { + QWidget::resizeEvent(event); + + // 移除所有设置以防止无限resize循环 + // 只计算scale用于调试 + const int initialWidth = 800; + float scale = qMax(1.0f, static_cast(width()) / initialWidth); + + qDebug() << "MapPage resized with scale:" << scale; +} + +// 添加enableGeolocation实现 +void MapPage::enableGeolocation() { + if (mapView_) { + QWebEngineSettings* settings = mapView_->settings(); + settings->setAttribute(QWebEngineSettings::JavascriptEnabled, true); + settings->setAttribute(QWebEngineSettings::LocalStorageEnabled, true); + // 启用geolocation + mapView_->page()->setFeaturePermission(QUrl("https://webapi.amap.com/"), QWebEnginePage::Geolocation, QWebEnginePage::PermissionGrantedByUser); + } +} + +// 移除类定义 +// class ThreatAreaDialog : public QDialog { ... }; + +// 实现成员函数 +ThreatAreaDialog::ThreatAreaDialog(QWidget* parent) : QDialog(parent) { + setWindowTitle("设置威胁区域"); + auto* layout = new QVBoxLayout(this); + + // 顶部网格布局(优化为QGridLayout,更工整) + auto* grid = new QGridLayout(); + typeCombo_ = new QComboBox(); + typeCombo_->addItems({"导弹威胁", "雷达干扰", "其他"}); + grid->addWidget(new QLabel("类型:"), 0, 0); + grid->addWidget(typeCombo_, 0, 1); + + timeEdit_ = new QDateTimeEdit(QDateTime::currentDateTime()); + grid->addWidget(new QLabel("时间:"), 1, 0); + grid->addWidget(timeEdit_, 1, 1); + + shapeCombo_ = new QComboBox(); + shapeCombo_->addItems({"圆形", "多边形", "矩形"}); + grid->addWidget(new QLabel("图形:"), 2, 0); + grid->addWidget(shapeCombo_, 2, 1); + + colorCombo_ = new QComboBox(); + colorCombo_->addItems({"红色", "黄色", "蓝色"}); + grid->addWidget(new QLabel("颜色:"), 3, 0); + grid->addWidget(colorCombo_, 3, 1); + + coordInput_ = new QLineEdit("输入坐标: lng1,lat1; lng2,lat2"); + grid->addWidget(new QLabel("坐标:"), 4, 0); + grid->addWidget(coordInput_, 4, 1); + + layout->addLayout(grid); + + // 表格 + areaTable_ = new QTableWidget(0, 5); // 多一列颜色 + areaTable_->setHorizontalHeaderLabels({"类型", "时间", "图形", "颜色", "操作"}); + areaTable_->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); + layout->addWidget(areaTable_); + + // 按钮 + auto* buttons = new QHBoxLayout(); + auto* addBtn = new QPushButton("添加"); + auto* saveBtn = new QPushButton("保存"); + auto* cancelBtn = new QPushButton("取消"); + buttons->addStretch(); + buttons->addWidget(addBtn); + buttons->addWidget(saveBtn); + buttons->addWidget(cancelBtn); + buttons->addStretch(); + layout->addLayout(buttons); + + connect(addBtn, &QPushButton::clicked, this, &ThreatAreaDialog::addArea); + connect(cancelBtn, &QPushButton::clicked, this, &QDialog::reject); + connect(saveBtn, &QPushButton::clicked, this, &QDialog::accept); +} + +void ThreatAreaDialog::addArea() { + int row = areaTable_->rowCount(); + areaTable_->insertRow(row); + areaTable_->setItem(row, 0, new QTableWidgetItem(typeCombo_->currentText())); + areaTable_->setItem(row, 1, new QTableWidgetItem(timeEdit_->dateTime().toString())); + areaTable_->setItem(row, 2, new QTableWidgetItem(shapeCombo_->currentText())); + areaTable_->setItem(row, 3, new QTableWidgetItem(colorCombo_->currentText())); + // 操作按钮 (示例) + QPushButton* editBtn = new QPushButton("编辑"); + areaTable_->setCellWidget(row, 4, editBtn); +} + +void ThreatAreaDialog::resizeEvent(QResizeEvent *event) { + QDialog::resizeEvent(event); +} + +// 类似 for AreaSearchDialog +AreaSearchDialog::AreaSearchDialog(QWidget* parent) : QDialog(parent) { + setWindowTitle("区域搜索"); + auto* layout = new QVBoxLayout(this); + + filterCombo_ = new QComboBox(); + filterCombo_->addItems({"所有", "导弹威胁", "雷达干扰"}); + layout->addWidget(new QLabel("过滤类型:")); + layout->addWidget(filterCombo_); + + resultTable_ = new QTableWidget(0, 4); + resultTable_->setHorizontalHeaderLabels({"类型", "时间", "位置", "详情"}); + layout->addWidget(resultTable_); + + QPushButton* searchBtn = new QPushButton("搜索"); + layout->addWidget(searchBtn); +} + +void AreaSearchDialog::resizeEvent(QResizeEvent *event) { + QDialog::resizeEvent(event); +} + +// 类似 for PathPlanningDialog +PathPlanningDialog::PathPlanningDialog(QWidget* parent) : QDialog(parent) { + setWindowTitle("路径规划"); + auto* layout = new QVBoxLayout(this); + + startInput_ = new QLineEdit("起点坐标"); + endInput_ = new QLineEdit("终点坐标"); + layout->addWidget(startInput_); + layout->addWidget(endInput_); + + pathTable_ = new QTableWidget(0, 2); + pathTable_->setHorizontalHeaderLabels({"点", "坐标"}); + layout->addWidget(pathTable_); + + QPushButton* planBtn = new QPushButton("规划"); + layout->addWidget(planBtn); +} + +void PathPlanningDialog::resizeEvent(QResizeEvent *event) { + QDialog::resizeEvent(event); +} + +// 添加onLocateClicked实现 +void MapPage::onSearchMapClicked() { + if (locateDialog_->exec() == QDialog::Accepted) { + double lng = locateDialog_->getLongitude(); + double lat = locateDialog_->getLatitude(); + + // 执行JS移动地图中心(使用window.map以匹配全局变量) + QString js = QString("window.map.setCenter([%1, %2]); window.map.setZoom(15);").arg(lng).arg(lat); + mapView_->page()->runJavaScript(js); + } +} + +// 移除旧的onLocateClicked +// void MapPage::onLocateClicked() { ... } + +// 添加LocateDialog实现 +LocateDialog::LocateDialog(QWidget* parent) : QDialog(parent) { + setWindowTitle("地图检索"); + auto* layout = new QVBoxLayout(this); + + lngInput_ = new QLineEdit(); + lngInput_->setPlaceholderText("输入经度 (例如: 116.397)"); + layout->addWidget(new QLabel("经度:")); + layout->addWidget(lngInput_); + + latInput_ = new QLineEdit(); + latInput_->setPlaceholderText("输入纬度 (例如: 39.909)"); + layout->addWidget(new QLabel("纬度:")); + layout->addWidget(latInput_); + + auto* buttons = new QHBoxLayout(); + auto* confirmBtn = new QPushButton("确认"); + auto* cancelBtn = new QPushButton("取消"); + buttons->addStretch(); + buttons->addWidget(confirmBtn); + buttons->addWidget(cancelBtn); + buttons->addStretch(); + layout->addLayout(buttons); + + connect(confirmBtn, &QPushButton::clicked, this, &LocateDialog::onConfirm); + connect(cancelBtn, &QPushButton::clicked, this, &QDialog::reject); +} + +void LocateDialog::onConfirm() { + bool okLng, okLat; + lng_ = lngInput_->text().toDouble(&okLng); + lat_ = latInput_->text().toDouble(&okLat); + + if (!okLng || !okLat) { + QMessageBox::warning(this, "输入错误", "请输入有效的经纬度值!"); + return; + } + + accept(); +} + +double LocateDialog::getLongitude() const { return lng_; } +double LocateDialog::getLatitude() const { return lat_; } + +// 添加公共方法实现 +void MapPage::runMapJavaScript(const QString& js) { + if (mapView_) { + mapView_->page()->runJavaScript(js); + } +} + diff --git a/src/pages/mappage.h b/src/pages/mappage.h new file mode 100644 index 0000000..ed1ef6c --- /dev/null +++ b/src/pages/mappage.h @@ -0,0 +1,179 @@ +#ifndef MAPPAGE_H +#define MAPPAGE_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // 添加 +#include +#include +#include +#include +#include +#include +#include // 添加以支持输入验证警告 + +class CustomWebEnginePage : public QWebEnginePage { + Q_OBJECT +public: + CustomWebEnginePage(QObject* parent = nullptr) : QWebEnginePage(parent) {} +protected: + void javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, const QString& message, int lineNumber, const QString& sourceID) override { + qDebug() << "JS 消息 (级别:" << level << "):" << message << " (行:" << lineNumber << ", 来源:" << sourceID << ")"; + } +}; + +// 移除前向声明 +// class ThreatAreaDialog; +// class AreaSearchDialog; +// class PathPlanningDialog; + +// 定义类 +class ThreatAreaDialog : public QDialog { + Q_OBJECT +public: + ThreatAreaDialog(QWidget* parent = nullptr); +private slots: + void addArea(); +protected: + void resizeEvent(QResizeEvent *event) override; +private: + QComboBox* typeCombo_; + QDateTimeEdit* timeEdit_; + QComboBox* shapeCombo_; + QComboBox* colorCombo_; + QTableWidget* areaTable_; + QLineEdit* coordInput_; +}; + +class AreaSearchDialog : public QDialog { + Q_OBJECT +public: + AreaSearchDialog(QWidget* parent = nullptr); +protected: + void resizeEvent(QResizeEvent *event) override; +private: + QComboBox* filterCombo_; + QTableWidget* resultTable_; +}; + +class PathPlanningDialog : public QDialog { + Q_OBJECT +public: + PathPlanningDialog(QWidget* parent = nullptr); +protected: + void resizeEvent(QResizeEvent *event) override; +private: + QLineEdit* startInput_; + QLineEdit* endInput_; + QTableWidget* pathTable_; +}; + +// 添加LocateDialog类定义 +class LocateDialog : public QDialog { + Q_OBJECT +public: + LocateDialog(QWidget* parent = nullptr); + double getLongitude() const; + double getLatitude() const; +private slots: + void onConfirm(); +private: + QLineEdit* lngInput_; + QLineEdit* latInput_; + double lng_; + double lat_; +}; + +/** + * 地图监控页面类 + * 负责地图监控界面的构建和路径规划功能 + */ +class MapPage : public QWidget { + Q_OBJECT + +public: + explicit MapPage(QWidget* parent = nullptr); + ~MapPage(); + + // 获取组件引用 + QComboBox* getHeightCombo() const { return heightCombo_; } + QPushButton* getDownloadMapBtn() const { return downloadMapBtn_; } + + // 添加新信号 + signals: + void heightChanged(const QString& height); + void downloadMapRequested(); + void setThreatRequested(); + void areaSearchRequested(); + void pathPlanningRequested(); + +private slots: + void onHeightChanged(); + void onDownloadMapClicked(); + + // 添加新槽函数 + void onSetThreatClicked(); + void onAreaSearchClicked(); + void onPathPlanningClicked(); + + // 添加新槽 + void onSearchMapClicked(); // 新增声明 + +public slots: + void runMapJavaScript(const QString& js); // 添加公共方法运行JS + +protected: + void resizeEvent(QResizeEvent *event) override; + +private: + void setupUI(); + void setupMapControls(); + void setupMapArea(); + void setupControlBar(); + + // 添加新方法 + void enableGeolocation(); + + // 创建UI组件的辅助方法 + QWidget* createMapControlsWidget(); + QWidget* createControlBarWidget(); + + // UI组件 + QFrame* mapArea_; + QComboBox* heightCombo_; + QPushButton* downloadMapBtn_; + QWebEngineView* mapView_; + + // 添加新按钮成员 + QPushButton* setThreatBtn_; + QPushButton* areaSearchBtn_; + QPushButton* pathPlanningBtn_; + + // 添加新组件 + QLineEdit* coordInput_; + QPushButton* locateBtn_; + QPushButton* searchMapBtn_; + + // 添加对话框成员 + ThreatAreaDialog* threatDialog_; + AreaSearchDialog* searchDialog_; + PathPlanningDialog* planningDialog_; + LocateDialog* locateDialog_; + + // 添加基字体大小(用于缩放) + int baseFontSize_ = 10; // 默认基字体大小,根据您的样式调整 +}; + +// 移除所有类定义,从h文件移出 + +#endif // MAPPAGE_H diff --git a/src/pages/taskdecisionpage.cpp b/src/pages/taskdecisionpage.cpp new file mode 100644 index 0000000..7363d6d --- /dev/null +++ b/src/pages/taskdecisionpage.cpp @@ -0,0 +1,285 @@ +#include "taskdecisionpage.h" +#include + +TaskDecisionPage::TaskDecisionPage(QWidget* parent) + : QWidget(parent) + , contentStack_(nullptr) + , stepList_(nullptr) + , prevBtn_(nullptr) + , nextBtn_(nullptr) + , generateBtn_(nullptr) + , currentStep_(0) + , isTargetClear_(true) + , previewMapPage_(nullptr) +{ + setupUI(); +} + +void TaskDecisionPage::setupUI() { + auto* mainLayout = new QHBoxLayout(this); + mainLayout->setContentsMargins(10, 10, 10, 10); + + // 左侧步骤导航 + stepList_ = new QListWidget(); + stepList_->setFixedWidth(200); + stepList_->addItems({"1. 目标位置确认", "2. 路径规划", "3. 区域搜索策略", "4. 打击目标清单", "5. 任务预览与生成"}); + connect(stepList_, &QListWidget::currentRowChanged, this, &TaskDecisionPage::onStepChanged); + mainLayout->addWidget(stepList_); + + // 中间内容区 + auto* contentLayout = new QVBoxLayout(); + contentStack_ = new QStackedWidget(); + contentStack_->addWidget(createStep1Widget()); + contentStack_->addWidget(createStep2Widget()); + contentStack_->addWidget(createStep3Widget()); + contentStack_->addWidget(createStep4Widget()); + contentStack_->addWidget(createStep5Widget()); + contentLayout->addWidget(contentStack_, 1); + + // 底部导航 + auto* bottomLayout = new QHBoxLayout(); + prevBtn_ = new QPushButton("上一步"); + connect(prevBtn_, &QPushButton::clicked, this, &TaskDecisionPage::onPrevStep); + nextBtn_ = new QPushButton("下一步"); + connect(nextBtn_, &QPushButton::clicked, this, &TaskDecisionPage::onNextStep); + generateBtn_ = new QPushButton("生成任务包"); + generateBtn_->setEnabled(false); + connect(generateBtn_, &QPushButton::clicked, this, &TaskDecisionPage::onGenerateTask); + bottomLayout->addWidget(prevBtn_); + bottomLayout->addWidget(nextBtn_); + bottomLayout->addStretch(1); + bottomLayout->addWidget(generateBtn_); + contentLayout->addLayout(bottomLayout); + + mainLayout->addLayout(contentLayout, 1); + + // 右侧预览区:嵌入MapPage + previewMapPage_ = new MapPage(); + previewMapPage_->setMinimumWidth(300); + mainLayout->addWidget(previewMapPage_); + + // 初始化 + onStepChanged(0); +} + +QWidget* TaskDecisionPage::createStep1Widget() { + auto* widget = new QWidget(); + auto* layout = new QVBoxLayout(widget); + + layout->addWidget(new QLabel("步骤1: 确认目标位置是否明确?")); + + clearYes_ = new QRadioButton("明确"); + clearNo_ = new QRadioButton("不明确"); + clearYes_->setChecked(true); + connect(clearYes_, &QRadioButton::toggled, this, &TaskDecisionPage::onTargetClearChanged); + connect(clearNo_, &QRadioButton::toggled, this, &TaskDecisionPage::onTargetClearChanged); + layout->addWidget(clearYes_); + layout->addWidget(clearNo_); + + auto* clearGroup = new QGroupBox("坐标输入"); + auto* clearLayout = new QVBoxLayout(clearGroup); + startCoord_ = new QLineEdit(); + startCoord_->setPlaceholderText("起点坐标: lng,lat"); + targetCoord_ = new QLineEdit(); + targetCoord_->setPlaceholderText("目标坐标: lng,lat"); + roughCoord_ = new QLineEdit(); + roughCoord_->setPlaceholderText("大致坐标: lng,lat"); + roughCoord_->setVisible(false); + clearLayout->addWidget(startCoord_); + clearLayout->addWidget(targetCoord_); + clearLayout->addWidget(roughCoord_); + layout->addWidget(clearGroup); + + return widget; +} + +QWidget* TaskDecisionPage::createStep2Widget() { + auto* widget = new QWidget(); + auto* layout = new QVBoxLayout(widget); + + layout->addWidget(new QLabel("步骤2: 规划路径")); + pathResult_ = new QTextEdit(); + pathResult_->setReadOnly(true); + layout->addWidget(pathResult_); + + auto* btn = new QPushButton("生成路径"); + connect(btn, &QPushButton::clicked, this, &TaskDecisionPage::onGeneratePath); + layout->addWidget(btn); + + return widget; +} + +QWidget* TaskDecisionPage::createStep3Widget() { + auto* widget = new QWidget(); + auto* layout = new QVBoxLayout(widget); + + layout->addWidget(new QLabel("步骤3: 规划区域搜索策略")); + + areaSize_ = new QLineEdit(); + areaSize_->setPlaceholderText("区域大小/形状 (e.g., 圆形,半径5km)"); + layout->addWidget(areaSize_); + + droneCount_ = new QSpinBox(); + droneCount_->setRange(1, 10); + layout->addWidget(droneCount_); + + auto* recBtn = new QPushButton("推荐无人机数量"); + connect(recBtn, &QPushButton::clicked, this, &TaskDecisionPage::onRecommendDrones); + layout->addWidget(recBtn); + + auto* replanBtn = new QPushButton("重新规划"); + connect(replanBtn, &QPushButton::clicked, this, &TaskDecisionPage::onReplanSearch); + layout->addWidget(replanBtn); + + searchTable_ = new QTableWidget(0, 4); + searchTable_->setHorizontalHeaderLabels({"无人机ID", "搜索路径", "时间", "范围占比"}); + layout->addWidget(searchTable_); + + searchTime_ = new QLabel("预计搜索时间: N/A"); + coverage_ = new QLabel("覆盖范围: N/A"); + layout->addWidget(searchTime_); + layout->addWidget(coverage_); + + return widget; +} + +QWidget* TaskDecisionPage::createStep4Widget() { + auto* widget = new QWidget(); + auto* layout = new QVBoxLayout(widget); + + layout->addWidget(new QLabel("步骤4: 设置打击目标清单")); + + targetTable_ = new QTableWidget(0, 3); + targetTable_->setHorizontalHeaderLabels({"目标类型", "优先级", "打击方式"}); + layout->addWidget(targetTable_); + + auto* addBtn = new QPushButton("添加类型"); + connect(addBtn, &QPushButton::clicked, this, &TaskDecisionPage::onAddTargetType); + layout->addWidget(addBtn); + + return widget; +} + +QWidget* TaskDecisionPage::createStep5Widget() { + auto* widget = new QWidget(); + auto* layout = new QVBoxLayout(widget); + + layout->addWidget(new QLabel("步骤5: 任务预览与生成")); + + taskPreview_ = new QTextEdit(); + taskPreview_->setReadOnly(true); + layout->addWidget(taskPreview_); + + return widget; +} + +void TaskDecisionPage::onStepChanged(int step) { + currentStep_ = step; + contentStack_->setCurrentIndex(step); + prevBtn_->setEnabled(step > 0); + nextBtn_->setEnabled(step < 4); + generateBtn_->setEnabled(step == 4); + + // 隐藏/显示步骤3基于isTargetClear_ + if (!isTargetClear_ && step == 2) { + onNextStep(); // 跳到步骤3 + } else if (isTargetClear_ && step == 3) { + onNextStep(); // 跳过步骤3 + } +} + +void TaskDecisionPage::onTargetClearChanged(bool clear) { + isTargetClear_ = clear; + startCoord_->setVisible(clear); + targetCoord_->setVisible(clear); + roughCoord_->setVisible(!clear); +} + +void TaskDecisionPage::onGeneratePath() { + // 模拟调用地图规划 + pathData_ = "路径生成: 从起点到目标,长度5km,时间10min"; + pathResult_->setText(pathData_); + QMessageBox::information(this, "路径规划", "路径已生成!"); + + // 更新预览地图:绘制路径 + QString js = "window.map.add(new AMap.Polyline({path: [[116.3,39.9], [116.4,39.9], [116.4,40.0]], strokeColor: '#FF0000'}));"; + previewMapPage_->runMapJavaScript(js); +} + +void TaskDecisionPage::onRecommendDrones() { + // 模拟推荐(基于区域大小) + droneCount_->setValue(3); // 示例 + QMessageBox::information(this, "推荐", "推荐使用3架无人机"); +} + +void TaskDecisionPage::onReplanSearch() { + // 模拟规划 + searchTable_->setRowCount(droneCount_->value()); + for (int i = 0; i < droneCount_->value(); ++i) { + searchTable_->setItem(i, 0, new QTableWidgetItem(QString("Drone %1").arg(i+1))); + searchTable_->setItem(i, 1, new QTableWidgetItem("路径描述")); + searchTable_->setItem(i, 2, new QTableWidgetItem("5min")); + searchTable_->setItem(i, 3, new QTableWidgetItem("30%")); + } + searchTime_->setText("预计搜索时间: 15min"); + coverage_->setText("覆盖范围: 90%"); + searchData_ = "搜索策略生成"; + QMessageBox::information(this, "规划", "搜索策略已重新规划!"); + + // 更新预览地图:绘制搜索区域 + QString js = "window.map.add(new AMap.Polygon({path: [[116.3,39.9], [116.5,39.9], [116.5,40.1], [116.3,40.1]], fillColor: '#00FF00'}));"; + previewMapPage_->runMapJavaScript(js); +} + +void TaskDecisionPage::onAddTargetType() { + int row = targetTable_->rowCount(); + targetTable_->insertRow(row); + + auto* typeCombo = new QComboBox(); + typeCombo->addItems({"人员", "车辆", "建筑"}); + targetTable_->setCellWidget(row, 0, typeCombo); + + auto* priSpin = new QSpinBox(); + priSpin->setRange(1, 10); + targetTable_->setCellWidget(row, 1, priSpin); + + auto* wayCombo = new QComboBox(); + wayCombo->addItems({"导弹", "激光引导", "监视"}); + targetTable_->setCellWidget(row, 2, wayCombo); +} + +void TaskDecisionPage::onGenerateTask() { + // 汇总数据生成预览(模拟) + QString preview = "任务摘要:\n"; + preview += QString("目标明确: %1\n").arg(isTargetClear_ ? "是" : "否"); + preview += "路径: " + pathData_ + "\n"; + if (!isTargetClear_) preview += "搜索策略: " + searchData_ + "\n"; + preview += "打击清单:\n"; + for (int i = 0; i < targetTable_->rowCount(); ++i) { + auto* type = qobject_cast(targetTable_->cellWidget(i, 0)); + auto* pri = qobject_cast(targetTable_->cellWidget(i, 1)); + auto* way = qobject_cast(targetTable_->cellWidget(i, 2)); + preview += QString("%1 (优先级 %2, 方式 %3)\n").arg(type->currentText()).arg(pri->value()).arg(way->currentText()); + } + taskPreview_->setText(preview); + + // 生成任务包(模拟保存JSON) + QMessageBox::information(this, "生成", "任务数据包已生成!"); +} + +void TaskDecisionPage::onNextStep() { + if (currentStep_ < 4) { + // 简单验证(实际添加更多) + if (currentStep_ == 0 && startCoord_->text().isEmpty()) { + QMessageBox::warning(this, "错误", "请输入坐标!"); + return; + } + onStepChanged(currentStep_ + 1); + } +} + +void TaskDecisionPage::onPrevStep() { + if (currentStep_ > 0) { + onStepChanged(currentStep_ - 1); + } +} diff --git a/src/pages/taskdecisionpage.h b/src/pages/taskdecisionpage.h new file mode 100644 index 0000000..eaddb00 --- /dev/null +++ b/src/pages/taskdecisionpage.h @@ -0,0 +1,87 @@ +#ifndef TASKDECISIONPAGE_H +#define TASKDECISIONPAGE_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // 添加以支持QSpinBox +#include "mappage.h" // 添加用于嵌入MapPage + +class TaskDecisionPage : public QWidget { + Q_OBJECT + +public: + explicit TaskDecisionPage(QWidget* parent = nullptr); + +private slots: + void onStepChanged(int step); + void onTargetClearChanged(bool clear); + void onGeneratePath(); + void onRecommendDrones(); + void onReplanSearch(); + void onAddTargetType(); + void onGenerateTask(); + void onNextStep(); + void onPrevStep(); + +private: + void setupUI(); + QWidget* createStep1Widget(); // 目标位置确认 + QWidget* createStep2Widget(); // 路径规划 + QWidget* createStep3Widget(); // 区域搜索策略 + QWidget* createStep4Widget(); // 打击目标清单 + QWidget* createStep5Widget(); // 任务预览与生成 + + // 成员变量 + QStackedWidget* contentStack_; + QListWidget* stepList_; + QPushButton* prevBtn_; + QPushButton* nextBtn_; + QPushButton* generateBtn_; + + // 步骤1 + QRadioButton* clearYes_; + QRadioButton* clearNo_; + QLineEdit* startCoord_; + QLineEdit* targetCoord_; + QLineEdit* roughCoord_; + + // 步骤2 + QTextEdit* pathResult_; + + // 步骤3 + QLineEdit* areaSize_; + QSpinBox* droneCount_; + QTableWidget* searchTable_; + QLabel* searchTime_; + QLabel* coverage_; + + // 步骤4 + QTableWidget* targetTable_; + + // 步骤5 + QTextEdit* taskPreview_; + + // 数据存储 + int currentStep_; + bool isTargetClear_; + // 假设的路径/搜索数据(实际中从地图调用) + QString pathData_; + QString searchData_; + + // 预览地图:使用MapPage + MapPage* previewMapPage_; +}; + +#endif // TASKDECISIONPAGE_H diff --git a/src/pages/videopage.cpp b/src/pages/videopage.cpp new file mode 100644 index 0000000..bd3c86f --- /dev/null +++ b/src/pages/videopage.cpp @@ -0,0 +1,296 @@ +#include "videopage.h" +#include + +// 添加缺失的包含 +#include + +/** + * 视频监控页面实现 + * 负责视频监控界面的构建和无人机切换功能 + */ + +VideoPage::VideoPage(QWidget* parent) + : QWidget(parent) + , droneSelector_(nullptr) + , videoInfoLabel_(nullptr) + , videoArea_(nullptr) + , detectionTargets_(nullptr) + , detectionTargetObject_(nullptr) + , detectionAccuracy_(nullptr) + , detectionTime_(nullptr) + , playBtn_(nullptr) + , pauseBtn_(nullptr) + , captureBtn_(nullptr) + , recordBtn_(nullptr) + , stopBtn_(nullptr) + , selectBtn_(nullptr) + , clickBtn_(nullptr) + , controlBtn_(nullptr) + +// 初始化基大小 +, baseFontSize_(10) +, initialWidth_(800) + +{ + setupUI(); +} + +VideoPage::~VideoPage() { + // Qt会自动清理子对象 +} + +void VideoPage::setupUI() { + auto* mainLayout = new QVBoxLayout(this); + mainLayout->setSpacing(8); + mainLayout->setContentsMargins(0, 0, 0, 0); + + // 顶部无人机选择区域 + setupDroneSelector(); + mainLayout->addWidget(createDroneSelectorWidget()); + + // 视频区域 + setupVideoArea(); + mainLayout->addWidget(videoArea_, 1); + + // 控制条 + setupControlBar(); + mainLayout->addWidget(createControlBarWidget()); + + // 检测信息对话框,使用QScrollArea包裹以防溢出 + auto* scrollArea = new QScrollArea(this); + scrollArea->setWidgetResizable(true); + scrollArea->setWidget(createDetectionDialogWidget()); + scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); + scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); + mainLayout->addWidget(scrollArea); +} + +void VideoPage::setupDroneSelector() { + // 这个方法将在createDroneSelectorWidget中实现 +} + +QWidget* VideoPage::createDroneSelectorWidget() { + auto* topBar = new QWidget(this); + auto* layout = new QHBoxLayout(topBar); + layout->setContentsMargins(0, 0, 0, 0); + layout->setSpacing(12); + + auto* droneLabel = new QLabel("选择无人机:"); + droneLabel->setStyleSheet("font-weight:bold;"); + layout->addWidget(droneLabel); + + droneSelector_ = new QComboBox(this); + droneSelector_->setFixedWidth(150); + droneSelector_->setObjectName("droneSelector"); + connect(droneSelector_, QOverload::of(&QComboBox::currentIndexChanged), + this, &VideoPage::onDroneSelectionChanged); + layout->addWidget(droneSelector_); + + layout->addStretch(1); + + auto* statusLabel = new QLabel("● 已连接"); + statusLabel->setStyleSheet("color:#4caf50; font-weight:bold;"); + layout->addWidget(statusLabel); + + return topBar; +} + +void VideoPage::setupVideoArea() { + videoArea_ = new QFrame(this); + videoArea_->setStyleSheet("QFrame{background:#2b2b2b; border:1px solid #444;}"); + videoArea_->setMinimumHeight(520); + + auto* centerLayout = new QVBoxLayout(videoArea_); + centerLayout->setContentsMargins(0, 0, 0, 0); + centerLayout->addStretch(1); + + videoInfoLabel_ = new QLabel("当前监控: 无人机-001"); + videoInfoLabel_->setStyleSheet("color:#ffffff; font-size:16px; font-weight:bold; background:rgba(0,0,0,0.3); padding:8px; border-radius:4px;"); + videoInfoLabel_->setAlignment(Qt::AlignCenter); + videoInfoLabel_->setObjectName("videoInfoLabel"); + centerLayout->addWidget(videoInfoLabel_); + centerLayout->addStretch(1); +} + +QWidget* VideoPage::createControlBarWidget() { + auto* bottom = new QWidget(this); + auto* layout = new QHBoxLayout(bottom); + layout->setContentsMargins(0, 0, 0, 0); + + // 创建控制按钮 + QStringList buttonTexts = {"播放", "暂停", "拍照(T)", "录像(R)", "停止", "框选", "点击", "手动控制"}; + QPushButton** buttons[] = {&playBtn_, &pauseBtn_, &captureBtn_, &recordBtn_, + &stopBtn_, &selectBtn_, &clickBtn_, &controlBtn_}; + + for (int i = 0; i < buttonTexts.size(); ++i) { + *buttons[i] = new QPushButton(buttonTexts[i]); + layout->addWidget(*buttons[i]); + } + + layout->addStretch(1); + return bottom; +} + +void VideoPage::setupControlBar() { + // 控制条设置已在createControlBarWidget中完成 +} + +void VideoPage::setupDetectionDialog() { + // 这个方法将在createDetectionDialogWidget中实现 +} + +QWidget* VideoPage::createDetectionDialogWidget() { + auto* detectionDialog = new QFrame(this); + detectionDialog->setStyleSheet("QFrame{background:#f8f9fa; border:1px solid #dee2e6; border-radius:8px; margin:4px;}"); + // detectionDialog->setMaximumHeight(120); // 移除最大高度,让它可扩展 + + auto* detectionLayout = new QVBoxLayout(detectionDialog); + detectionLayout->setContentsMargins(12, 8, 12, 8); + detectionLayout->setSpacing(6); + + // 检测信息标题 + auto* detectionTitle = new QLabel("实时检测信息"); + detectionTitle->setStyleSheet("font-weight:bold; color:#495057; font-size:14px;"); + detectionLayout->addWidget(detectionTitle); + + // 检测信息内容区域 + auto* detectionContent = new QWidget(); + auto* contentLayout = new QHBoxLayout(detectionContent); + contentLayout->setContentsMargins(0, 0, 0, 0); + contentLayout->setSpacing(20); + + // 检测目标信息 + auto* targetInfo = createTargetInfoWidget(); + contentLayout->addWidget(targetInfo); + + // 目标对象信息 + auto* targetObjectInfo = createTargetObjectInfoWidget(); + contentLayout->addWidget(targetObjectInfo); + + // 检测精度信息 + auto* accuracyInfo = createAccuracyInfoWidget(); + contentLayout->addWidget(accuracyInfo); + + // 检测时间信息 + auto* timeInfo = createTimeInfoWidget(); + contentLayout->addWidget(timeInfo); + + contentLayout->addStretch(1); + detectionLayout->addWidget(detectionContent); + + return detectionDialog; +} + +QWidget* VideoPage::createTargetInfoWidget() { + auto* targetInfo = new QWidget(); + auto* layout = new QVBoxLayout(targetInfo); + layout->setContentsMargins(0, 0, 0, 0); + layout->setSpacing(4); + + auto* targetLabel = new QLabel("检测目标:"); + targetLabel->setStyleSheet("font-weight:bold; color:#6c757d;"); + detectionTargets_ = new QLabel("人员 × 3, 车辆 × 2"); + detectionTargets_->setStyleSheet("color:#28a745; font-weight:bold;"); + detectionTargets_->setObjectName("detectionTargets"); + + layout->addWidget(targetLabel); + layout->addWidget(detectionTargets_); + + return targetInfo; +} + +QWidget* VideoPage::createTargetObjectInfoWidget() { + auto* targetObjectInfo = new QWidget(); + auto* layout = new QVBoxLayout(targetObjectInfo); + layout->setContentsMargins(0, 0, 0, 0); + layout->setSpacing(4); + + auto* targetObjectLabel = new QLabel("是否为目标对象:"); + targetObjectLabel->setStyleSheet("font-weight:bold; color:#6c757d;"); + detectionTargetObject_ = new QLabel("● 是"); + detectionTargetObject_->setStyleSheet("color:#28a745; font-weight:bold;"); + detectionTargetObject_->setObjectName("detectionTargetObject"); + + layout->addWidget(targetObjectLabel); + layout->addWidget(detectionTargetObject_); + + return targetObjectInfo; +} + +QWidget* VideoPage::createAccuracyInfoWidget() { + auto* accuracyInfo = new QWidget(); + auto* layout = new QVBoxLayout(accuracyInfo); + layout->setContentsMargins(0, 0, 0, 0); + layout->setSpacing(4); + + auto* accuracyLabel = new QLabel("检测精度:"); + accuracyLabel->setStyleSheet("font-weight:bold; color:#6c757d;"); + detectionAccuracy_ = new QLabel("95.2%"); + detectionAccuracy_->setStyleSheet("color:#fd7e14; font-weight:bold;"); + detectionAccuracy_->setObjectName("detectionAccuracy"); + + layout->addWidget(accuracyLabel); + layout->addWidget(detectionAccuracy_); + + return accuracyInfo; +} + +QWidget* VideoPage::createTimeInfoWidget() { + auto* timeInfo = new QWidget(); + auto* layout = new QVBoxLayout(timeInfo); + layout->setContentsMargins(0, 0, 0, 0); + layout->setSpacing(4); + + auto* timeLabel = new QLabel("最后更新:"); + timeLabel->setStyleSheet("font-weight:bold; color:#6c757d;"); + detectionTime_ = new QLabel("2024-01-15 14:32:15"); + detectionTime_->setStyleSheet("color:#6c757d;"); + detectionTime_->setObjectName("detectionTime"); + + layout->addWidget(timeLabel); + layout->addWidget(detectionTime_); + + return timeInfo; +} + +// 添加resizeEvent实现 +void VideoPage::resizeEvent(QResizeEvent *event) { + QWidget::resizeEvent(event); + + float scale = static_cast(width()) / initialWidth_; + + QFont font = this->font(); + font.setPointSizeF(baseFontSize_ * scale); + + // 调整组合框和标签 + if (droneSelector_) droneSelector_->setFont(font); + if (videoInfoLabel_) videoInfoLabel_->setFont(font); + + // 调整控制按钮 + int buttonHeight = static_cast(40 * scale); // 增加基高度到40,便于使用 + int buttonWidth = static_cast(150 * scale); // 增加基宽度到150,确保文字完整且按钮更大 + + QPushButton* buttons[] = {playBtn_, pauseBtn_, captureBtn_, recordBtn_, + stopBtn_, selectBtn_, clickBtn_, controlBtn_}; + for (auto* btn : buttons) { + if (btn) { + btn->setFont(font); + btn->setMinimumHeight(buttonHeight); + btn->setMinimumWidth(buttonWidth); + } + } + + // 调整检测标签 + QLabel* detectionLabels[] = {detectionTargets_, detectionTargetObject_, + detectionAccuracy_, detectionTime_}; + for (auto* label : detectionLabels) { + if (label) label->setFont(font); + } + + qDebug() << "VideoPage resized with scale:" << scale; +} + +void VideoPage::onDroneSelectionChanged() { + emit droneSelectionChanged(droneSelector_->currentIndex()); +} + diff --git a/src/pages/videopage.h b/src/pages/videopage.h new file mode 100644 index 0000000..849bf05 --- /dev/null +++ b/src/pages/videopage.h @@ -0,0 +1,82 @@ +#ifndef VIDEOPAGE_H +#define VIDEOPAGE_H + +#include +#include +#include +#include +#include +#include +#include + +/** + * 视频监控页面类 + * 负责视频监控界面的构建和无人机切换功能 + */ +class VideoPage : public QWidget { + Q_OBJECT + +public: + explicit VideoPage(QWidget* parent = nullptr); + ~VideoPage(); + +protected: + void resizeEvent(QResizeEvent *event) override; + + // 获取组件引用 + QComboBox* getDroneSelector() const { return droneSelector_; } + QLabel* getVideoInfoLabel() const { return videoInfoLabel_; } + QLabel* getDetectionTargets() const { return detectionTargets_; } + QLabel* getDetectionTargetObject() const { return detectionTargetObject_; } + QLabel* getDetectionAccuracy() const { return detectionAccuracy_; } + QLabel* getDetectionTime() const { return detectionTime_; } + +signals: + void droneSelectionChanged(int index); + +private slots: + void onDroneSelectionChanged(); + +private: + void setupUI(); + void setupVideoArea(); + void setupControlBar(); + void setupDetectionDialog(); + void setupDroneSelector(); + + // 创建UI组件的辅助方法 + QWidget* createDroneSelectorWidget(); + QWidget* createControlBarWidget(); + QWidget* createDetectionDialogWidget(); + QWidget* createTargetInfoWidget(); + QWidget* createTargetObjectInfoWidget(); + QWidget* createAccuracyInfoWidget(); + QWidget* createTimeInfoWidget(); + + // UI组件 + QComboBox* droneSelector_; + QLabel* videoInfoLabel_; + QFrame* videoArea_; + + // 检测信息组件 + QLabel* detectionTargets_; + QLabel* detectionTargetObject_; + QLabel* detectionAccuracy_; + QLabel* detectionTime_; + + // 控制按钮 + QPushButton* playBtn_; + QPushButton* pauseBtn_; + QPushButton* captureBtn_; + QPushButton* recordBtn_; + QPushButton* stopBtn_; + QPushButton* selectBtn_; + QPushButton* clickBtn_; + QPushButton* controlBtn_; + + // 添加基字体大小和初始宽度 + int baseFontSize_ = 10; + int initialWidth_ = 800; +}; + +#endif // VIDEOPAGE_H diff --git a/src/pages/visionmodelpage.cpp b/src/pages/visionmodelpage.cpp new file mode 100644 index 0000000..a762017 --- /dev/null +++ b/src/pages/visionmodelpage.cpp @@ -0,0 +1,109 @@ +#include "visionmodelpage.h" +#include + +/** + * 视觉模型页面实现 + * 负责视觉模型界面的构建和模型运行功能 + */ + +VisionModelPage::VisionModelPage(QWidget* parent) + : QWidget(parent) + , inputEdit_(nullptr) + , runBtn_(nullptr) + , canvas_(nullptr) + +// 初始化基大小 +, baseFontSize_(10) +, initialWidth_(800) + +{ + setupUI(); +} + +VisionModelPage::~VisionModelPage() { + // Qt会自动清理子对象 +} + +void VisionModelPage::setupUI() { + auto* mainLayout = new QVBoxLayout(this); + mainLayout->setSpacing(8); + mainLayout->setContentsMargins(0, 0, 0, 0); + + // 标题 + auto* title = new QLabel("视觉模型"); + title->setProperty("class", "section"); + mainLayout->addWidget(title); + + // 输入区域 + setupInputArea(); + mainLayout->addWidget(createInputAreaWidget()); + + // 画布区域 + setupCanvas(); + mainLayout->addWidget(canvas_, 1); +} + +void VisionModelPage::setupInputArea() { + // 输入区域设置 +} + +QWidget* VisionModelPage::createInputAreaWidget() { + auto* top = new QWidget(this); + auto* layout = new QHBoxLayout(top); + layout->setContentsMargins(0, 0, 0, 0); + + inputEdit_ = new QLineEdit(); + inputEdit_->setPlaceholderText("输入检测目标或模型路径..."); + connect(inputEdit_, &QLineEdit::textChanged, this, &VisionModelPage::onInputChanged); + layout->addWidget(inputEdit_, 1); + + runBtn_ = new QPushButton("运行"); + runBtn_->setProperty("primary", true); + connect(runBtn_, &QPushButton::clicked, this, &VisionModelPage::onRunClicked); + layout->addWidget(runBtn_); + + return top; +} + +void VisionModelPage::setupCanvas() { + canvas_ = new QFrame(this); + canvas_->setMinimumHeight(520); + canvas_->setStyleSheet("QFrame{background:#f8f9fa; border:1px solid #dee2e6; border-radius:8px;}"); +} + +void VisionModelPage::onRunClicked() { + QString input = inputEdit_->text(); + if (!input.isEmpty()) { + emit modelRunRequested(input); + qDebug() << "运行视觉模型,输入:" << input; + } +} + +// 添加resizeEvent实现 +void VisionModelPage::resizeEvent(QResizeEvent *event) { + QWidget::resizeEvent(event); + + float scale = static_cast(width()) / initialWidth_; + + QFont font = this->font(); + font.setPointSizeF(baseFontSize_ * scale); + + if (inputEdit_) { + inputEdit_->setFont(font); + inputEdit_->setMinimumHeight(static_cast(30 * scale)); + inputEdit_->setMinimumWidth(static_cast(300 * scale)); // 增加宽度 + } + if (runBtn_) { + runBtn_->setFont(font); + runBtn_->setMinimumHeight(static_cast(30 * scale)); + runBtn_->setMinimumWidth(static_cast(120 * scale)); // 增加宽度 + } + + qDebug() << "VisionModelPage resized with scale:" << scale; +} + +void VisionModelPage::onInputChanged() { + QString input = inputEdit_->text(); + runBtn_->setEnabled(!input.isEmpty()); +} + diff --git a/src/pages/visionmodelpage.h b/src/pages/visionmodelpage.h new file mode 100644 index 0000000..b7d5829 --- /dev/null +++ b/src/pages/visionmodelpage.h @@ -0,0 +1,57 @@ +#ifndef VISIONMODELPAGE_H +#define VISIONMODELPAGE_H + +#include +#include +#include +#include +#include +#include +#include + +/** + * 视觉模型页面类 + * 负责视觉模型界面的构建和模型运行功能 + */ +class VisionModelPage : public QWidget { + Q_OBJECT + +public: + explicit VisionModelPage(QWidget* parent = nullptr); + ~VisionModelPage(); + + // 获取组件引用 + QLineEdit* getInputEdit() const { return inputEdit_; } + QPushButton* getRunBtn() const { return runBtn_; } + QFrame* getCanvas() const { return canvas_; } + +protected: + void resizeEvent(QResizeEvent *event) override; + +signals: + void modelRunRequested(const QString& input); + void modelStopRequested(); + +private slots: + void onRunClicked(); + void onInputChanged(); + +private: + void setupUI(); + void setupInputArea(); + void setupCanvas(); + + // 创建UI组件的辅助方法 + QWidget* createInputAreaWidget(); + + // UI组件 + QLineEdit* inputEdit_; + QPushButton* runBtn_; + QFrame* canvas_; + + // 添加基大小 + int baseFontSize_ = 10; + int initialWidth_ = 800; +}; + +#endif // VISIONMODELPAGE_H diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp new file mode 100644 index 0000000..6cb0e96 --- /dev/null +++ b/src/ui/mainwindow.cpp @@ -0,0 +1,680 @@ +#include "mainwindow.h" +#include "../models/dronedata.h" +#include "../models/detectiondata.h" +#include "../pages/videopage.h" +#include "../pages/mappage.h" +#include "../pages/datapage.h" +#include "../pages/visionmodelpage.h" +#include "../utils/stylehelper.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // Added for qDebug +#include // Added for QScrollArea + +// 添加TaskDecisionPage包含 +#include "../pages/taskdecisionpage.h" + +// 在文件顶部添加extern声明 +// extern DroneManager* globalDroneManager; +// extern DetectionData* globalDetectionData; + +// 改为定义 +DroneManager* globalDroneManager = nullptr; +DetectionData* globalDetectionData = nullptr; + +static QGroupBox* makeGroupBox(const QString& title, QWidget* inner) { + auto* gb = new QGroupBox(title); + auto* v = new QVBoxLayout(gb); + v->setContentsMargins(10,10,10,10); + v->addWidget(inner); + return gb; +} + +MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent) + , droneManager_(new DroneManager(this)) + , droneSelector_(nullptr) + , posXLabel_(nullptr), posYLabel_(nullptr), posZLabel_(nullptr) + , velXLabel_(nullptr), velYLabel_(nullptr), velZLabel_(nullptr) + , attRLabel_(nullptr), attPLabel_(nullptr), attYLabel_(nullptr) + , expXLabel_(nullptr), expYLabel_(nullptr), expZLabel_(nullptr) + , expVxLabel_(nullptr), expVyLabel_(nullptr), expVzLabel_(nullptr) + , videoInfoLabel_(nullptr) + , detectionTargets_(nullptr), detectionTargetObject_(nullptr), detectionAccuracy_(nullptr), detectionTime_(nullptr) + , detectionData_(new DetectionData(this)) + // 初始化新成员 + , baseFontSize_(10) + , initialWidth_(1200) +{ + // 初始化无人机数据 + initializeDrones(); + + // 顶部工具条 + auto* header = buildHeader(); + + // 左侧侧边栏 + auto* side = buildSideNav(); + + // 页面堆栈 + pages_ = new QStackedWidget(this); + auto* pageMap = buildMapPage(); // 先地图 + auto* pageVideo = buildVideoPage(); // 然后视频 + auto* pageData = buildDataPage(); + auto* pageTask = buildTaskDecisionPage(); // 新页面 + auto* pageVision = buildVisionModelPage(); + pages_->addWidget(pageMap); + pages_->addWidget(pageVideo); + pages_->addWidget(pageData); + pages_->addWidget(pageTask); + pages_->addWidget(pageVision); + + // 右侧状态信息(两页共用静态占位) + rightPanel_ = buildRightStatusPanel(); + rightPanel_->setMinimumWidth(260); + + // 中间主体 + auto* centerWidget = new QWidget(this); + auto* centerV = new QVBoxLayout(centerWidget); + centerV->setContentsMargins(8,8,8,8); + centerV->setSpacing(8); + + centerV->addWidget(header); + + auto* contentH = new QHBoxLayout(); + contentH->setSpacing(8); + contentH->addWidget(side); + contentH->addWidget(pages_, 1); + contentH->addWidget(rightPanel_); + centerV->addLayout(contentH, 1); + + setCentralWidget(centerWidget); + setWindowTitle(""); + + // 设置初始大小(用于缩放计算) + resize(1200, 800); // 假设初始大小,您可以调整 + + // 连接信号槽 + connect(droneManager_, &DroneManager::currentDroneChanged, + this, &MainWindow::onCurrentDroneChanged); + + // 连接检测数据信号 + connect(detectionData_, &DetectionData::detectionUpdated, + this, &MainWindow::updateDetectionInfo); + + // 启动检测模拟 + // detectionData_->startSimulation(); + + globalDroneManager = droneManager_; + globalDetectionData = detectionData_; + + // 连接信号到DataPage + DataPage* dataPage = qobject_cast(pages_->widget(2)); + if (dataPage) { + connect(droneManager_, &DroneManager::currentDroneChanged, dataPage, &DataPage::updateDroneInfo); + connect(detectionData_, &DetectionData::detectionUpdated, dataPage, &DataPage::updateTargetInfo); + } +} + +// 增强resizeEvent来调整所有收集的组件 +void MainWindow::resizeEvent(QResizeEvent *event) { + QMainWindow::resizeEvent(event); + + // 移除所有设置以防止无限resize循环 + // 只计算scale用于调试 + float scale = static_cast(width()) / initialWidth_; + + qDebug() << "MainWindow resized with scale:" << scale; +} + +QWidget* MainWindow::buildHeader() { + auto* w = new QWidget(this); + w->setObjectName(QString("headerBar")); + auto* h = new QHBoxLayout(w); + h->setContentsMargins(10,6,10,6); + h->setSpacing(12); + + auto* logo = new QLabel("基于无人机的察打一体地面指挥端"); + logo->setStyleSheet("font-weight:bold; font-size:16px;"); + h->addWidget(logo); + + h->addSpacing(20); + h->addStretch(1); + + // 在buildHeader中收集头部按钮 + for (auto text : {"连接设置"}) { + auto* b = new QPushButton(text); + b->setProperty("primary", true); + h->addWidget(b); + headerButtons_.append(b); + } + auto* rec = new QLabel(" "); + rec->setFixedSize(14,14); + rec->setObjectName(QString("recLed")); + h->addWidget(rec); + + // 阴影 + auto* shadow = new QGraphicsDropShadowEffect(w); + shadow->setBlurRadius(18); + shadow->setOffset(0, 2); + shadow->setColor(QColor(0,0,0,30)); + w->setGraphicsEffect(shadow); + + return w; +} + +QWidget* MainWindow::buildSideNav() { + auto* side = new QWidget(this); + // side->setFixedWidth(76); // 移除固定宽度,让它可调整 + side->setObjectName(QString("sideNav")); + + auto* v = new QVBoxLayout(side); + v->setContentsMargins(6,8,6,8); + v->setSpacing(10); + + // 在buildSideNav中收集侧边栏按钮 + auto makeBtn = [&](const QString& text, auto slot){ + auto* b = new QToolButton(); + b->setText(text); + b->setToolButtonStyle(Qt::ToolButtonTextOnly); + b->setFixedHeight(48); + connect(b, &QToolButton::clicked, this, slot); + v->addWidget(b); + sideNavButtons_.append(b); // 添加到列表 + }; + + // 在buildSideNav中调整槽连接以交换内容 + makeBtn("视频监控", &MainWindow::showMapPage); // 显示原地图内容 + makeBtn("地图监控", &MainWindow::showVideoPage); // 显示原视频内容 + makeBtn("数据监控", &MainWindow::showDataPage); + makeBtn("任务决策", &MainWindow::showTaskDecisionPage); + makeBtn("视觉模型", &MainWindow::showVisionModelPage); + v->addStretch(1); + + auto* shadow = new QGraphicsDropShadowEffect(side); + shadow->setBlurRadius(18); + shadow->setOffset(0, 2); + shadow->setColor(QColor(0,0,0,24)); + side->setGraphicsEffect(shadow); + + return side; +} + +QWidget* MainWindow::buildVideoPage() { + // 左图风格:中间大区域 + 底部控制条 + auto* page = new QWidget(this); + auto* v = new QVBoxLayout(page); + v->setSpacing(8); + v->setContentsMargins(0,0,0,0); + + // 顶部无人机选择区域 + auto* topBar = new QWidget(page); + auto* th = new QHBoxLayout(topBar); + th->setContentsMargins(0,0,0,0); + th->setSpacing(12); + + auto* droneLabel = new QLabel("选择无人机:"); + droneLabel->setStyleSheet("font-weight:bold;"); + th->addWidget(droneLabel); + + droneSelector_ = new QComboBox(page); + droneSelector_->setFixedWidth(150); + droneSelector_->setObjectName("droneSelector"); + + // 从无人机管理器获取无人机列表 + QStringList droneIds = droneManager_->getDroneIds(); + for (const QString& id : droneIds) { + DroneData* drone = droneManager_->getDrone(id); + if (drone) { + droneSelector_->addItem(drone->getName(), id); + } + } + + // 连接选择变化信号 + connect(droneSelector_, QOverload::of(&QComboBox::currentIndexChanged), + this, &MainWindow::onDroneSelectionChanged); + + th->addWidget(droneSelector_); + + th->addStretch(1); + + // 连接状态指示器 + auto* statusLabel = new QLabel("● 已连接"); + statusLabel->setStyleSheet("color:#4caf50; font-weight:bold;"); + th->addWidget(statusLabel); + + v->addWidget(topBar); + + // 中间黑色占位(视频/地图区域) + auto* center = new QFrame(page); + center->setStyleSheet("QFrame{background:#2b2b2b; border:1px solid #444;}"); + center->setMinimumHeight(520); + + // 在视频区域添加当前无人机信息显示 + videoInfoLabel_ = new QLabel("当前监控: 无人机-001"); + videoInfoLabel_->setStyleSheet("color:#ffffff; font-size:16px; font-weight:bold; background:rgba(0,0,0,0.3); padding:8px; border-radius:4px;"); + videoInfoLabel_->setAlignment(Qt::AlignCenter); + videoInfoLabel_->setObjectName("videoInfoLabel"); + + // 将信息标签添加到视频区域中心 + auto* centerLayout = new QVBoxLayout(center); + centerLayout->setContentsMargins(0,0,0,0); + centerLayout->addStretch(1); + centerLayout->addWidget(videoInfoLabel_); + centerLayout->addStretch(1); + + // 底部条(交换为原地图页的播放控制) + auto* bottom = new QWidget(page); + auto* bh = new QHBoxLayout(bottom); + bh->setContentsMargins(0,0,0,0); + for (auto text : {"播放", "暂停", "拍照(T)", "录像(R)", "停止", "框选", "点击", "手动控制"}) { + bh->addWidget(new QPushButton(text)); + } + bh->addStretch(1); + + // 检测信息对话框 + auto* detectionDialog = new QFrame(page); + detectionDialog->setStyleSheet("QFrame{background:#f8f9fa; border:1px solid #dee2e6; border-radius:8px; margin:4px;}"); + detectionDialog->setMaximumHeight(120); + + auto* detectionLayout = new QVBoxLayout(detectionDialog); + detectionLayout->setContentsMargins(12,8,12,8); + detectionLayout->setSpacing(6); + + // 检测信息标题 + auto* detectionTitle = new QLabel("实时检测信息"); + detectionTitle->setStyleSheet("font-weight:bold; color:#495057; font-size:14px;"); + detectionLayout->addWidget(detectionTitle); + + // 检测信息内容区域 + auto* detectionContent = new QWidget(); + auto* contentLayout = new QHBoxLayout(detectionContent); + contentLayout->setContentsMargins(0,0,0,0); + contentLayout->setSpacing(20); + + // 检测目标信息 + auto* targetInfo = new QWidget(); + auto* targetLayout = new QVBoxLayout(targetInfo); + targetLayout->setContentsMargins(0,0,0,0); + targetLayout->setSpacing(4); + + auto* targetLabel = new QLabel("检测目标:"); + targetLabel->setStyleSheet("font-weight:bold; color:#6c757d;"); + detectionTargets_ = new QLabel("人员 × 3, 车辆 × 2"); + detectionTargets_->setStyleSheet("color:#28a745; font-weight:bold;"); + detectionTargets_->setObjectName("detectionTargets"); + + targetLayout->addWidget(targetLabel); + targetLayout->addWidget(detectionTargets_); + + // 目标对象信息 + auto* targetObjectInfo = new QWidget(); + auto* targetObjectLayout = new QVBoxLayout(targetObjectInfo); + targetObjectLayout->setContentsMargins(0,0,0,0); + targetObjectLayout->setSpacing(4); + + auto* targetObjectLabel = new QLabel("是否为目标对象:"); + targetObjectLabel->setStyleSheet("font-weight:bold; color:#6c757d;"); + detectionTargetObject_ = new QLabel("● 是"); + detectionTargetObject_->setStyleSheet("color:#28a745; font-weight:bold;"); + detectionTargetObject_->setObjectName("detectionTargetObject"); + + targetObjectLayout->addWidget(targetObjectLabel); + targetObjectLayout->addWidget(detectionTargetObject_); + + // 检测精度信息 + auto* accuracyInfo = new QWidget(); + auto* accuracyLayout = new QVBoxLayout(accuracyInfo); + accuracyLayout->setContentsMargins(0,0,0,0); + accuracyLayout->setSpacing(4); + + auto* accuracyLabel = new QLabel("检测精度:"); + accuracyLabel->setStyleSheet("font-weight:bold; color:#6c757d;"); + detectionAccuracy_ = new QLabel("95.2%"); + detectionAccuracy_->setStyleSheet("color:#fd7e14; font-weight:bold;"); + detectionAccuracy_->setObjectName("detectionAccuracy"); + + accuracyLayout->addWidget(accuracyLabel); + accuracyLayout->addWidget(detectionAccuracy_); + + // 检测时间信息 + auto* timeInfo = new QWidget(); + auto* timeLayout = new QVBoxLayout(timeInfo); + timeLayout->setContentsMargins(0,0,0,0); + timeLayout->setSpacing(4); + + auto* timeLabel = new QLabel("最后更新:"); + timeLabel->setStyleSheet("font-weight:bold; color:#6c757d;"); + detectionTime_ = new QLabel("2024-01-15 14:32:15"); + detectionTime_->setStyleSheet("color:#6c757d;"); + detectionTime_->setObjectName("detectionTime"); + + timeLayout->addWidget(timeLabel); + timeLayout->addWidget(detectionTime_); + + contentLayout->addWidget(targetInfo); + contentLayout->addWidget(targetObjectInfo); + contentLayout->addWidget(accuracyInfo); + contentLayout->addWidget(timeInfo); + contentLayout->addStretch(1); + + detectionLayout->addWidget(detectionContent); + + v->addWidget(center, 1); + v->addWidget(bottom); + v->addWidget(detectionDialog); + + return page; +} + +QWidget* MainWindow::buildMapPage() { + return new MapPage(this); +} + +QWidget* MainWindow::buildRightStatusPanel() { + auto* panel = new QWidget(this); + panel->setObjectName(QString("rightPanel")); + auto* v = new QVBoxLayout(panel); + v->setSpacing(8); + v->setContentsMargins(0,0,0,0); + + // 基本信息 / GPS信息 标签页视觉(简化为两个分组) + auto makeKV = [this](const QString& k, QLabel** labelRef) { + auto* row = new QWidget(); + auto* h = new QHBoxLayout(row); + h->setContentsMargins(0,0,0,0); + h->addWidget(new QLabel(k)); + auto* val = new QLabel("0.00"); + val->setAlignment(Qt::AlignRight); + *labelRef = val; // 保存标签引用 + h->addWidget(val); + return row; + }; + + auto* baseInfo = new QWidget(); + auto* bi = new QVBoxLayout(baseInfo); + bi->setContentsMargins(0,0,0,0); + bi->addWidget(new QLabel("位置[x y z] [m]")); + bi->addWidget(makeKV("x:", &posXLabel_)); + bi->addWidget(makeKV("y:", &posYLabel_)); + bi->addWidget(makeKV("z:", &posZLabel_)); + bi->addSpacing(6); + bi->addWidget(new QLabel("速度[x y z] [m/s]")); + bi->addWidget(makeKV("vx:", &velXLabel_)); + bi->addWidget(makeKV("vy:", &velYLabel_)); + bi->addWidget(makeKV("vz:", &velZLabel_)); + bi->addSpacing(6); + bi->addWidget(new QLabel("姿态[r p y] [deg]")); + bi->addWidget(makeKV("r:", &attRLabel_)); + bi->addWidget(makeKV("p:", &attPLabel_)); + bi->addWidget(makeKV("y:", &attYLabel_)); + v->addWidget(makeGroupBox("基本信息", baseInfo)); + + auto* expectInfo = new QWidget(); + auto* ei = new QVBoxLayout(expectInfo); + ei->setContentsMargins(0,0,0,0); + ei->addWidget(new QLabel("期望位置[x y z] [m]")); + ei->addWidget(makeKV("ex:", &expXLabel_)); + ei->addWidget(makeKV("ey:", &expYLabel_)); + ei->addWidget(makeKV("ez:", &expZLabel_)); + ei->addSpacing(6); + ei->addWidget(new QLabel("期望速度[x y z] [m/s]")); + ei->addWidget(makeKV("evx:", &expVxLabel_)); + ei->addWidget(makeKV("evy:", &expVyLabel_)); + ei->addWidget(makeKV("evz:", &expVzLabel_)); + v->addWidget(makeGroupBox("期望信息", expectInfo)); + + // 右侧按钮区域(当前悬停等) + auto* act = new QWidget(); + auto* av = new QVBoxLayout(act); + for (auto text : {"当前点悬停", "初始化悬停", "删除"}) { + auto* b = new QPushButton(text); + b->setProperty("primary", true); + av->addWidget(b); + rightPanelButtons_.append(b); // 添加到列表 + } + av->addSpacing(8); + auto* mode = new QComboBox(); + mode->addItems({"XYZ_POS", "XYZ_POS_YAW", "VEL", "ACC"}); + av->addWidget(mode); + rightPanelModeCombo_ = mode; // 保存引用 + + for (auto k : {"x [m]", "y [m]", "z [m]", "yaw [deg]"}) { + auto* e = new QLineEdit(); + e->setPlaceholderText(k); + av->addWidget(e); + rightPanelInputs_.append(e); // 添加到列表 + } + auto* upload = new QPushButton("上传"); + upload->setProperty("primary", true); + av->addWidget(upload); + rightPanelButtons_.append(upload); // 添加到列表 + av->addStretch(1); + + // 阴影 + auto* shadow = new QGraphicsDropShadowEffect(panel); + shadow->setBlurRadius(18); + shadow->setOffset(0, 2); + shadow->setColor(QColor(0,0,0,16)); + panel->setGraphicsEffect(shadow); + + // 使用QScrollArea包裹act以防溢出 + auto* scrollArea = new QScrollArea(panel); + scrollArea->setWidgetResizable(true); + scrollArea->setWidget(act); + scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); + scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); + v->addWidget(scrollArea, 1); // 替换原v->addWidget(act); + + return panel; +} + +void MainWindow::showVideoPage() { pages_->setCurrentIndex(0); } +void MainWindow::showMapPage() { pages_->setCurrentIndex(1); } +void MainWindow::showDataPage() { pages_->setCurrentIndex(2); } +void MainWindow::showTaskDecisionPage() { pages_->setCurrentIndex(3); } +void MainWindow::showVisionModelPage() { pages_->setCurrentIndex(4); } + +QWidget* MainWindow::buildDataPage() { + return new DataPage(this); // 使用DataPage类 +} + +QWidget* MainWindow::buildVisionModelPage() { + auto* page = new QWidget(this); + auto* v = new QVBoxLayout(page); + v->setSpacing(8); + v->setContentsMargins(0,0,0,0); + + auto* title = new QLabel("视觉模型"); + title->setProperty("class", "section"); + v->addWidget(title); + + auto* top = new QWidget(page); + auto* th = new QHBoxLayout(top); + th->setContentsMargins(0,0,0,0); + auto* input = new QLineEdit(); + input->setPlaceholderText("输入检测目标或模型路径..."); + auto* runBtn = new QPushButton("运行"); + runBtn->setProperty("primary", true); + th->addWidget(input, 1); + th->addWidget(runBtn); + v->addWidget(top); + + auto* canvas = new QFrame(page); + canvas->setMinimumHeight(520); + v->addWidget(canvas, 1); + + return page; +} + + +// 添加新页面构建函数(简单占位) +QWidget* MainWindow::buildTaskDecisionPage() { + return new TaskDecisionPage(this); // 使用新类 +} + +// 初始化无人机数据 +void MainWindow::initializeDrones() { + // 添加4架无人机 + droneManager_->addDrone("drone-001", "无人机-001"); + droneManager_->addDrone("drone-002", "无人机-002"); + droneManager_->addDrone("drone-003", "无人机-003"); + droneManager_->addDrone("drone-004", "无人机-004"); + + // 设置第一架为当前选中 + if (!droneManager_->getDroneIds().isEmpty()) { + droneManager_->setCurrentDrone(droneManager_->getDroneIds().first()); + } +} + +// 无人机选择变化处理 +void MainWindow::onDroneSelectionChanged() { + if (!droneSelector_) return; + + int index = droneSelector_->currentIndex(); + if (index >= 0) { + QString droneId = droneSelector_->itemData(index).toString(); + droneManager_->setCurrentDrone(droneId); + } +} + +// 当前无人机变化处理 +void MainWindow::onCurrentDroneChanged(const QString& droneId) { + if (!droneSelector_) return; + + // 更新下拉框选择 + for (int i = 0; i < droneSelector_->count(); ++i) { + if (droneSelector_->itemData(i).toString() == droneId) { + droneSelector_->setCurrentIndex(i); + break; + } + } + + // 连接当前无人机的数据更新信号 + DroneData* currentDrone = droneManager_->getCurrentDrone(); + if (currentDrone) { + connect(currentDrone, &DroneData::dataChanged, + this, &MainWindow::updateDroneStatus, Qt::UniqueConnection); + updateDroneStatus(); // 立即更新一次 + } +} + +// 更新无人机状态显示 +void MainWindow::updateDroneStatus() { + DroneData* currentDrone = droneManager_->getCurrentDrone(); + if (!currentDrone) return; + + // 更新视频区域显示信息 + if (videoInfoLabel_) { + videoInfoLabel_->setText(QString("当前监控: %1").arg(currentDrone->getName())); + } + + // 更新位置信息 + QVector3D pos = currentDrone->getPosition(); + if (posXLabel_) posXLabel_->setText(QString::number(pos.x(), 'f', 2)); + if (posYLabel_) posYLabel_->setText(QString::number(pos.y(), 'f', 2)); + if (posZLabel_) posZLabel_->setText(QString::number(pos.z(), 'f', 2)); + + // 更新速度信息 + QVector3D vel = currentDrone->getVelocity(); + if (velXLabel_) velXLabel_->setText(QString::number(vel.x(), 'f', 2)); + if (velYLabel_) velYLabel_->setText(QString::number(vel.y(), 'f', 2)); + if (velZLabel_) velZLabel_->setText(QString::number(vel.z(), 'f', 2)); + + // 更新姿态信息 + QVector3D att = currentDrone->getAttitude(); + if (attRLabel_) attRLabel_->setText(QString::number(att.x(), 'f', 2)); + if (attPLabel_) attPLabel_->setText(QString::number(att.y(), 'f', 2)); + if (attYLabel_) attYLabel_->setText(QString::number(att.z(), 'f', 2)); + + // 更新期望位置信息 + QVector3D expPos = currentDrone->getExpectedPosition(); + if (expXLabel_) expXLabel_->setText(QString::number(expPos.x(), 'f', 2)); + if (expYLabel_) expYLabel_->setText(QString::number(expPos.y(), 'f', 2)); + if (expZLabel_) expZLabel_->setText(QString::number(expPos.z(), 'f', 2)); + + // 更新期望速度信息 + QVector3D expVel = currentDrone->getExpectedVelocity(); + if (expVxLabel_) expVxLabel_->setText(QString::number(expVel.x(), 'f', 2)); + if (expVyLabel_) expVyLabel_->setText(QString::number(expVel.y(), 'f', 2)); + if (expVzLabel_) expVzLabel_->setText(QString::number(expVel.z(), 'f', 2)); +} + +// 更新检测信息显示 +void MainWindow::updateDetectionInfo() { + if (!detectionData_) return; + + // 更新检测目标信息 + if (detectionTargets_) { + QVector targets = detectionData_->getTargets(); + QStringList targetCounts; + + // 统计各类型目标数量 + QMap typeCount; + for (const auto& target : targets) { + typeCount[target.type]++; + } + + // 生成目标描述文本 + for (auto it = typeCount.begin(); it != typeCount.end(); ++it) { + targetCounts.append(QString("%1 × %2").arg(it.key()).arg(it.value())); + } + + if (targetCounts.isEmpty()) { + detectionTargets_->setText("无检测目标"); + detectionTargets_->setStyleSheet("color:#6c757d; font-weight:bold;"); + } else { + detectionTargets_->setText(targetCounts.join(", ")); + detectionTargets_->setStyleSheet("color:#28a745; font-weight:bold;"); + } + } + + // 更新目标对象信息 + if (detectionTargetObject_) { + QVector targets = detectionData_->getTargets(); + bool hasTargets = !targets.isEmpty(); + + if (hasTargets) { + detectionTargetObject_->setText("● 是"); + detectionTargetObject_->setStyleSheet("color:#28a745; font-weight:bold;"); + } else { + detectionTargetObject_->setText("● 否"); + detectionTargetObject_->setStyleSheet("color:#6c757d; font-weight:bold;"); + } + } + + // 更新检测精度 + if (detectionAccuracy_) { + float accuracy = detectionData_->getAccuracy(); + detectionAccuracy_->setText(QString("%1%").arg(accuracy, 0, 'f', 1)); + + // 根据精度设置颜色 + QString color; + if (accuracy >= 90.0f) { + color = "#28a745"; + } else if (accuracy >= 80.0f) { + color = "#fd7e14"; + } else { + color = "#dc3545"; + } + detectionAccuracy_->setStyleSheet(QString("color:%1; font-weight:bold;").arg(color)); + } + + // 更新最后更新时间 + if (detectionTime_) { + QDateTime lastUpdate = detectionData_->getLastUpdate(); + detectionTime_->setText(lastUpdate.toString("yyyy-MM-dd hh:mm:ss")); + } +} diff --git a/src/ui/mainwindow.h b/src/ui/mainwindow.h new file mode 100644 index 0000000..248137e --- /dev/null +++ b/src/ui/mainwindow.h @@ -0,0 +1,92 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include +#include "../models/dronedata.h" +#include "../models/detectiondata.h" + +// 添加缺失的包含 +#include +#include +#include + +#include "../pages/visionmodelpage.h" +#include "../utils/stylehelper.h" + +// 添加TaskDecisionPage包含 +#include "../pages/taskdecisionpage.h" + +class QStackedWidget; +class QPushButton; +class QLabel; +class QGroupBox; +class QComboBox; + +class MainWindow : public QMainWindow { + Q_OBJECT +public: + explicit MainWindow(QWidget *parent = nullptr); + +protected: + void resizeEvent(QResizeEvent *event) override; + +private: + QWidget* buildHeader(); + QWidget* buildSideNav(); + QWidget* buildVideoPage(); // "视频监控"样式页(左图所示) + QWidget* buildMapPage(); // "地图监控/消息反馈"样式页(右图所示) + QWidget* buildDataPage(); // 数据监控:信息栏 + QWidget* buildVisionModelPage(); // 视觉模型:顶部输入框 + QWidget* buildRightStatusPanel(); // 右侧信息栏(两页共用) + QWidget* buildTaskDecisionPage(); // 任务决策页面 + void initializeDrones(); // 初始化无人机数据 + +private slots: + void showVideoPage(); + void showMapPage(); + void showDataPage(); + void showVisionModelPage(); + void showTaskDecisionPage(); + void onDroneSelectionChanged(); + void onCurrentDroneChanged(const QString& droneId); + void updateDroneStatus(); + void updateDetectionInfo(); + +private: + QStackedWidget* pages_; + QWidget* rightPanel_; + DroneManager* droneManager_; + QComboBox* droneSelector_; + + // 右侧面板的标签引用,用于动态更新 + QLabel* posXLabel_, *posYLabel_, *posZLabel_; + QLabel* velXLabel_, *velYLabel_, *velZLabel_; + QLabel* attRLabel_, *attPLabel_, *attYLabel_; + QLabel* expXLabel_, *expYLabel_, *expZLabel_; + QLabel* expVxLabel_, *expVyLabel_, *expVzLabel_; + + // 视频区域信息标签 + QLabel* videoInfoLabel_; + + // 检测信息标签引用 + QLabel* detectionTargets_; + QLabel* detectionTargetObject_; + QLabel* detectionAccuracy_; + QLabel* detectionTime_; + + // 检测数据模型 + DetectionData* detectionData_; + + // 添加成员来存储需要缩放的组件 + QList sideNavButtons_; + QList headerButtons_; + QList rightPanelButtons_; + QList rightPanelInputs_; + QComboBox* rightPanelModeCombo_; + + // 添加基字体大小和初始宽度 + int baseFontSize_ = 10; + int initialWidth_ = 1200; +}; + +#endif // MAINWINDOW_H diff --git a/src/utils/stylehelper.cpp b/src/utils/stylehelper.cpp new file mode 100644 index 0000000..e3c4b6f --- /dev/null +++ b/src/utils/stylehelper.cpp @@ -0,0 +1,119 @@ +#include "stylehelper.h" +#include + +/** + * 样式助手实现 + * 提供统一的UI样式和主题管理 + */ + +QString StyleHelper::getGlobalStyleSheet() { + return R"( + *{font-family:'Segoe UI','PingFang SC','Microsoft YaHei','WenQuanYi Micro Hei',sans-serif;} + QWidget{background:#fafafa;color:#222;} + QGroupBox{border:1px solid #e0e0e0;border-radius:8px;margin-top:8px;padding-top:12px;} + QGroupBox::title{subcontrol-origin: margin;left:10px;padding:0 6px;color:#111;font-weight:bold;} + QFrame{background:white;border:1px solid #e6e6e6;border-radius:8px;} + #headerBar{background:#ffffff;border:1px solid #e6e6e6;border-radius:10px;} + #sideNav{background:#ffffff;border:1px solid #e6e6e6;border-radius:10px;} + #rightPanel{background:transparent;} + QToolButton{background:#ffffff;border:1px solid #e6e6e6;border-radius:8px;padding:6px;} + QToolButton:hover{background:#f2f7ff;border-color:#d0dcff;} + QPushButton{background:#ffffff;border:1px solid #d9d9d9;border-radius:8px;padding:6px 10px;} + QPushButton:hover{background:#f8f8f8;border-color:#c8c8c8;} + QPushButton:pressed{background:#f0f0f0;} + QPushButton[primary='true']{background:#2979ff;color:#fff;border:1px solid #1f6ae6;} + QPushButton[primary='true']:hover{background:#1565c0;border-color:#155bb0;} + QLabel.section{font-weight:bold;padding:4px 0;} + QLineEdit,QComboBox{background:#ffffff;border:1px solid #d9d9d9;border-radius:6px;padding:4px 6px;} + QComboBox QAbstractItemView{border:1px solid #d9d9d9;background:#ffffff;selection-background-color:#e8f0ff;} + #recLed{background:#e33;border-radius:7px;} + )"; +} + +QString StyleHelper::getButtonStyle(const QString& type) { + if (type == "primary") { + return "QPushButton{background:#2979ff;color:#fff;border:1px solid #1f6ae6;border-radius:8px;padding:6px 10px;}" + "QPushButton:hover{background:#1565c0;border-color:#155bb0;}"; + } else if (type == "success") { + return "QPushButton{background:#28a745;color:#fff;border:1px solid #1e7e34;border-radius:8px;padding:6px 10px;}" + "QPushButton:hover{background:#1e7e34;border-color:#1c7430;}"; + } else if (type == "warning") { + return "QPushButton{background:#fd7e14;color:#fff;border:1px solid #e55a00;border-radius:8px;padding:6px 10px;}" + "QPushButton:hover{background:#e55a00;border-color:#d35400;}"; + } else if (type == "danger") { + return "QPushButton{background:#dc3545;color:#fff;border:1px solid #c82333;border-radius:8px;padding:6px 10px;}" + "QPushButton:hover{background:#c82333;border-color:#bd2130;}"; + } else { + return "QPushButton{background:#ffffff;border:1px solid #d9d9d9;border-radius:8px;padding:6px 10px;}" + "QPushButton:hover{background:#f8f8f8;border-color:#c8c8c8;}" + "QPushButton:pressed{background:#f0f0f0;}"; + } +} + +QString StyleHelper::getGroupBoxStyle() { + return "QGroupBox{border:1px solid #e0e0e0;border-radius:8px;margin-top:8px;padding-top:12px;}" + "QGroupBox::title{subcontrol-origin: margin;left:10px;padding:0 6px;color:#111;font-weight:bold;}"; +} + +QString StyleHelper::getFrameStyle() { + return "QFrame{background:white;border:1px solid #e6e6e6;border-radius:8px;}"; +} + +QString StyleHelper::getLabelStyle(const QString& type) { + if (type == "title") { + return "QLabel{font-weight:bold;font-size:16px;color:#111;}"; + } else if (type == "section") { + return "QLabel{font-weight:bold;padding:4px 0;color:#495057;}"; + } else if (type == "success") { + return "QLabel{color:#28a745;font-weight:bold;}"; + } else if (type == "warning") { + return "QLabel{color:#fd7e14;font-weight:bold;}"; + } else if (type == "danger") { + return "QLabel{color:#dc3545;font-weight:bold;}"; + } else if (type == "info") { + return "QLabel{color:#17a2b8;font-weight:bold;}"; + } else { + return "QLabel{color:#6c757d;}"; + } +} + +void StyleHelper::applyStyle(QWidget* widget, const QString& style) { + widget->setStyleSheet(style); +} + +QString StyleHelper::getPrimaryColor() { + return "#2979ff"; +} + +QString StyleHelper::getSecondaryColor() { + return "#6c757d"; +} + +QString StyleHelper::getSuccessColor() { + return "#28a745"; +} + +QString StyleHelper::getWarningColor() { + return "#fd7e14"; +} + +QString StyleHelper::getErrorColor() { + return "#dc3545"; +} + +QString StyleHelper::getInfoColor() { + return "#17a2b8"; +} + +int StyleHelper::getBorderRadius() { + return 8; +} + +int StyleHelper::getPadding() { + return 6; +} + +int StyleHelper::getMargin() { + return 8; +} + diff --git a/src/utils/stylehelper.h b/src/utils/stylehelper.h new file mode 100644 index 0000000..df9e0a7 --- /dev/null +++ b/src/utils/stylehelper.h @@ -0,0 +1,40 @@ +#ifndef STYLEHELPER_H +#define STYLEHELPER_H + +#include +#include + +/** + * 样式助手类 + * 提供统一的UI样式和主题管理 + */ +class StyleHelper { +public: + // 获取全局样式表 + static QString getGlobalStyleSheet(); + + // 获取组件特定样式 + static QString getButtonStyle(const QString& type = "default"); + static QString getGroupBoxStyle(); + static QString getFrameStyle(); + static QString getLabelStyle(const QString& type = "default"); + + // 应用样式到组件 + static void applyStyle(QWidget* widget, const QString& style); + + // 颜色主题 + static QString getPrimaryColor(); + static QString getSecondaryColor(); + static QString getSuccessColor(); + static QString getWarningColor(); + static QString getErrorColor(); + static QString getInfoColor(); + + // 尺寸常量 + static int getBorderRadius(); + static int getPadding(); + static int getMargin(); +}; + +#endif // STYLEHELPER_H + -- 2.34.1 From d4917889861d3c5ca27942f5d194c56b4c934a8a Mon Sep 17 00:00:00 2001 From: nanjirenwahaha <1731995580@qq.com> Date: Thu, 25 Sep 2025 10:30:17 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/Drone_project | Bin 299600 -> 315896 bytes build/Makefile | 59 +++++++++++++++++++---- build/config.o | Bin 0 -> 10688 bytes build/errorhandler.o | Bin 0 -> 2120 bytes build/logger.o | Bin 0 -> 8464 bytes build/main.o | Bin 11416 -> 12096 bytes build/mappage.o | Bin 71648 -> 86312 bytes build/moc_mappage.o | Bin 48776 -> 48896 bytes build/qrc_app.cpp | 46 ++++++++++++++++++ build/qrc_app.o | Bin 0 -> 2960 bytes debug_location.sh | 19 ++++++++ drone_ui.pro | 15 ++++-- src/core/main.cpp | 8 ++++ src/pages/mappage.cpp | 93 ++++++++++++++++++++++++++++++++----- src/pages/mappage.h | 10 +++- src/resources/app.qrc | 6 +++ src/utils/config.cpp | 29 ++++++++++++ src/utils/config.h | 23 +++++++++ src/utils/errorhandler.cpp | 12 +++++ src/utils/errorhandler.h | 15 ++++++ src/utils/logger.cpp | 24 ++++++++++ src/utils/logger.h | 16 +++++++ 22 files changed, 350 insertions(+), 25 deletions(-) create mode 100644 build/config.o create mode 100644 build/errorhandler.o create mode 100644 build/logger.o create mode 100644 build/qrc_app.cpp create mode 100644 build/qrc_app.o create mode 100755 debug_location.sh create mode 100644 src/resources/app.qrc create mode 100644 src/utils/config.cpp create mode 100644 src/utils/config.h create mode 100644 src/utils/errorhandler.cpp create mode 100644 src/utils/errorhandler.h create mode 100644 src/utils/logger.cpp create mode 100644 src/utils/logger.h diff --git a/build/Drone_project b/build/Drone_project index a191719cf8180c7722845445f9e62fdf93a411df..d9c457bdfbfa73858df722ff4b7f71d18fee112a 100755 GIT binary patch literal 315896 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
  • EO+M_v-0vIn|s&&|=H{d9Xnq8LIB(z=Ti<0S;8 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 diff --git a/build/Makefile b/build/Makefile index ff482e3..c82beeb 100644 --- a/build/Makefile +++ b/build/Makefile @@ -61,7 +61,11 @@ SOURCES = ../src/core/main.cpp \ ../src/pages/datapage.cpp \ ../src/pages/visionmodelpage.cpp \ ../src/utils/stylehelper.cpp \ - ../src/pages/taskdecisionpage.cpp moc_mainwindow.cpp \ + ../src/pages/taskdecisionpage.cpp \ + ../src/utils/config.cpp \ + ../src/utils/logger.cpp \ + ../src/utils/errorhandler.cpp qrc_app.cpp \ + moc_mainwindow.cpp \ moc_dronedata.cpp \ moc_detectiondata.cpp \ moc_videopage.cpp \ @@ -79,6 +83,10 @@ OBJECTS = main.o \ visionmodelpage.o \ stylehelper.o \ taskdecisionpage.o \ + config.o \ + logger.o \ + errorhandler.o \ + qrc_app.o \ moc_mainwindow.o \ moc_dronedata.o \ moc_detectiondata.o \ @@ -184,7 +192,10 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ ../src/pages/datapage.h \ ../src/pages/visionmodelpage.h \ ../src/utils/stylehelper.h \ - ../src/pages/taskdecisionpage.h ../src/core/main.cpp \ + ../src/pages/taskdecisionpage.h \ + ../src/utils/config.h \ + ../src/utils/logger.h \ + ../src/utils/errorhandler.h ../src/core/main.cpp \ ../src/ui/mainwindow.cpp \ ../src/models/dronedata.cpp \ ../src/models/detectiondata.cpp \ @@ -193,7 +204,10 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ ../src/pages/datapage.cpp \ ../src/pages/visionmodelpage.cpp \ ../src/utils/stylehelper.cpp \ - ../src/pages/taskdecisionpage.cpp + ../src/pages/taskdecisionpage.cpp \ + ../src/utils/config.cpp \ + ../src/utils/logger.cpp \ + ../src/utils/errorhandler.cpp QMAKE_TARGET = Drone_project DESTDIR = TARGET = Drone_project @@ -294,7 +308,8 @@ Makefile: ../drone_ui.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake. /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \ - ../drone_ui.pro + ../drone_ui.pro \ + ../src/resources/app.qrc $(QMAKE) -o Makefile ../drone_ui.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf: @@ -386,6 +401,7 @@ Makefile: ../drone_ui.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake. /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf: ../drone_ui.pro: +../src/resources/app.qrc: qmake: FORCE @$(QMAKE) -o Makefile ../drone_ui.pro @@ -400,9 +416,10 @@ dist: distdir FORCE distdir: FORCE @test -d $(DISTDIR) || mkdir -p $(DISTDIR) $(COPY_FILE) --parents $(DIST) $(DISTDIR)/ + $(COPY_FILE) --parents ../src/resources/app.qrc $(DISTDIR)/ $(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/ - $(COPY_FILE) --parents ../src/ui/mainwindow.h ../src/models/dronedata.h ../src/models/detectiondata.h ../src/pages/videopage.h ../src/pages/mappage.h ../src/pages/datapage.h ../src/pages/visionmodelpage.h ../src/utils/stylehelper.h ../src/pages/taskdecisionpage.h $(DISTDIR)/ - $(COPY_FILE) --parents ../src/core/main.cpp ../src/ui/mainwindow.cpp ../src/models/dronedata.cpp ../src/models/detectiondata.cpp ../src/pages/videopage.cpp ../src/pages/mappage.cpp ../src/pages/datapage.cpp ../src/pages/visionmodelpage.cpp ../src/utils/stylehelper.cpp ../src/pages/taskdecisionpage.cpp $(DISTDIR)/ + $(COPY_FILE) --parents ../src/ui/mainwindow.h ../src/models/dronedata.h ../src/models/detectiondata.h ../src/pages/videopage.h ../src/pages/mappage.h ../src/pages/datapage.h ../src/pages/visionmodelpage.h ../src/utils/stylehelper.h ../src/pages/taskdecisionpage.h ../src/utils/config.h ../src/utils/logger.h ../src/utils/errorhandler.h $(DISTDIR)/ + $(COPY_FILE) --parents ../src/core/main.cpp ../src/ui/mainwindow.cpp ../src/models/dronedata.cpp ../src/models/detectiondata.cpp ../src/pages/videopage.cpp ../src/pages/mappage.cpp ../src/pages/datapage.cpp ../src/pages/visionmodelpage.cpp ../src/utils/stylehelper.cpp ../src/pages/taskdecisionpage.cpp ../src/utils/config.cpp ../src/utils/logger.cpp ../src/utils/errorhandler.cpp $(DISTDIR)/ clean: compiler_clean @@ -426,8 +443,13 @@ check: first benchmark: first -compiler_rcc_make_all: +compiler_rcc_make_all: qrc_app.cpp compiler_rcc_clean: + -$(DEL_FILE) qrc_app.cpp +qrc_app.cpp: ../src/resources/app.qrc \ + /usr/lib/qt5/bin/rcc + /usr/lib/qt5/bin/rcc -name app ../src/resources/app.qrc -o qrc_app.cpp + compiler_moc_predefs_make_all: moc_predefs.h compiler_moc_predefs_clean: -$(DEL_FILE) moc_predefs.h @@ -496,7 +518,7 @@ compiler_yacc_impl_make_all: compiler_yacc_impl_clean: compiler_lex_make_all: compiler_lex_clean: -compiler_clean: compiler_moc_predefs_clean compiler_moc_header_clean +compiler_clean: compiler_rcc_clean compiler_moc_predefs_clean compiler_moc_header_clean ####### Compile @@ -506,7 +528,9 @@ main.o: ../src/core/main.cpp ../src/ui/mainwindow.h \ ../src/pages/visionmodelpage.h \ ../src/utils/stylehelper.h \ ../src/pages/taskdecisionpage.h \ - ../src/pages/mappage.h + ../src/pages/mappage.h \ + ../src/utils/logger.h \ + ../src/utils/config.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o ../src/core/main.cpp mainwindow.o: ../src/ui/mainwindow.cpp ../src/ui/mainwindow.h \ @@ -529,7 +553,9 @@ detectiondata.o: ../src/models/detectiondata.cpp ../src/models/detectiondata.h videopage.o: ../src/pages/videopage.cpp ../src/pages/videopage.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o videopage.o ../src/pages/videopage.cpp -mappage.o: ../src/pages/mappage.cpp ../src/pages/mappage.h +mappage.o: ../src/pages/mappage.cpp ../src/pages/mappage.h \ + ../src/utils/config.h \ + ../src/utils/logger.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mappage.o ../src/pages/mappage.cpp datapage.o: ../src/pages/datapage.cpp ../src/pages/datapage.h \ @@ -547,6 +573,19 @@ taskdecisionpage.o: ../src/pages/taskdecisionpage.cpp ../src/pages/taskdecisionp ../src/pages/mappage.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o taskdecisionpage.o ../src/pages/taskdecisionpage.cpp +config.o: ../src/utils/config.cpp ../src/utils/config.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o config.o ../src/utils/config.cpp + +logger.o: ../src/utils/logger.cpp ../src/utils/logger.h \ + ../src/utils/config.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o logger.o ../src/utils/logger.cpp + +errorhandler.o: ../src/utils/errorhandler.cpp ../src/utils/errorhandler.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o errorhandler.o ../src/utils/errorhandler.cpp + +qrc_app.o: qrc_app.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_app.o qrc_app.cpp + moc_mainwindow.o: moc_mainwindow.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp diff --git a/build/config.o b/build/config.o new file mode 100644 index 0000000000000000000000000000000000000000..31fdde6430c6ea138243c4379a98cbdff88a400d GIT binary patch literal 10688 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 ReRlGV7g$0I6#=Em{sj;*b5j5S literal 0 HcmV?d00001 diff --git a/build/errorhandler.o b/build/errorhandler.o new file mode 100644 index 0000000000000000000000000000000000000000..1e30954f8b72e2ad30efcff70a944c7e8beb1fe8 GIT binary patch literal 2120 zcmbtVPiqrV5PxZ_tyoPh9)ya`Nh;VS8$u%{+nK$^9jL?VDvDzY!4s3Av-aJtIB)GIFP9#VJ4KF^s0q#Om_W z((TOL)^5*Ny^LuZc_TY-_9D}Kn#&p4{0*X`cx-P97G^K6Zix{gj*%OMg>pFtk$Su# zQvIpa%;fmQ5gZhAu9EK(A#z!bBl8sCtj5IWlT!{LMzIS`roqPgy37GFj4uE`ov6b- zc7756mf|yjC>;M4^kMadD`g;?j^Ajz(x`X4!d|Ydl@=@ZTDe@aHto&DQpK{xzOo;= zGHeCDtsGC-JF8~S!qk;G)ilFqaIo!2zvX+@dZD`AYIv^NxL>H&lmxDpx1%hx`oIlC z$8$?Tzi{x|_=Re@?Reqc)tYVQYYH}UWTVtmD)23 z?-Tym2h8>Y4jTmT9KMI|C$Y>U34;6tEas6znSq5qmJBI)bCS0wukjowjPS6doLxXA zV{Eb}-L_*Wx37fJaFipA-7pkJ#O^Eln!>0DosR26j2|f1fVVRrDyROCY|rl*T^V#; zsSYXEZQ6U%>A1r1WYFtUWB&tvWo5_J77 z@OLO`aVzu#k|iGZ$M1sQ66Hz^;yNJi&%ZZBi|4Fph_Okz2?o~u*Zc*@#hN3@O9S>R zSSb2=x&PQJ1kML%S=93T)DWK&&yO?aeC8K{!~JU2I&%6`tL-9TSJOO9~hQWC>222D0%6$CyZztnGCcyh$88rW8nTZg#KN+w70C zdpEHI0aV8+u49xIRidg?Rceu_$^#D+Q9v{jDHXiXl0Nhg8mTG8fC!YTq)>3rH+PPA zJl;k9dFhevotbaG^D}2=?wz}PUo6q*_xS{iPkd2ST8s)YaCxP^RaUo(RpN5VZKU=E zbU|-9T}`U~87eQLOPBYXulg{$J2AT!;Bb8M?Z)OO>rp>?(p?#!Jk^+(KC>r!*YnM* zj{+6(*$pU^LVWt%8)#0QbWg`;H_M*szep%PbCcJ6JwAIeY96W-G|PzKmg!S-;EbI3 zzl`U$=x}uR@DOFEJr$p+Tf2@zjZgQst&5zD&t}^~3A#0^@%=)UJlOd33#$4~f`>kH zPg`ha+0@DAqc778O`e~3o8O(>=!*kyKKcw{s5VBQ!u7$SwKb5waQir{DEUZ3}sgN^svIvKidHFwkunh)tbEGFo^|%*yqXXpWsp zsI@?)%0pt-ZEH=;rrKH}FVfK4>rHm^)SIw0d8++R+6>V> z(XY^kxSt>qi=3VN(I@lsyg#09B=9*u-Q*DFBC>C*Fz^M>!fAS zyn2b9xqNl|bAM8}boA*A@Zw6FGZK zjM&+dBiv%y5h-V1IV}#^#e6287Rh49%_QwCZBg&(#LKWsJ3jrY9P7g7g|s9t=}Ur+Uy z{Phnth;#n>A2x^&{PoW^h}Y_Y!`>yEWZLdrd$*g(IiU%X4coVGNToufqg!&hEu~WU z@ZrNp_JoKqG3FehGHJU`x=@@rvV|Hsr&O}j&JmUT^%A=%5m3&twe z>7quP(s__d_z``e9Qa2bn z7C7z~uzL?WNd6nUPkE|K?Di7=YtP$v z5dP)Cc7me85K+42Na9T)vT+6F3=*fyi+%58!?F6~b+ds7@pP&sP^%N~%~$IWc$SuQ z1;nx?7=VC0eJt$?hzpm1D+uwCop#lO{6p5z1$>=s3DKxZ6amq!wY=&UD*T##%pK%b zx?qRfY=5u9sgT0<$EgK7%;)j}g@+{D%P*>r%Qi-_Sbid#E0$#LX@##`Ocy^>_+ubfLJc9CD#lPC%zb4yDSIj$vFO7!Qj@qk+8L^V^ zHQIXMJ$y|Keyj$6nDC3VY-0aG_7Z-zA17Q-cpmSmVV|EV%;)m48vGZ4FHM6uU4wt7 z2A-~g|E&hzKt8MG`C`J6hZ8Dr&O=DyA+iU-a|F^;!_Hkb@B=mQnHuyA4*sTmy`I~eQYmnNaxZmW(nIh-tHQ>?w+ zuCBcVhc-ag-Vtd}$XIU4XWYoP z*|Qnd4&1sZrX4rz8gh$t4C>t+J1DGeiJjfigtfD;Zz#6g+8ymq#4K^ZwGKMPQl^l% zTsyr;X%m$0pwMybZDhY z1#8sKr?O;1nkCiojJwE3(aAbCoe>xL-B&0QYdC)>lTTTLPN|$j5Ii~3=cmsLC^yoY z@#d*3lP|e;KIwRgt8{c^3wFu_`zvS{ErNt|(8+o|JXw(rw~#0ta*EcdlclW128S&8 zsq`lcxiP!waQ{I6=3PCbb}>VF%Iw&*ixyB14Ry%Lm+0_&kP;qSq~AG0D=S(`W-=8E z$qZ2+M#jKNusRitMyO@p*_77PZF9dW(mP}!!gBEmO zCQJ4P%UP#H8Vg1(i&B={ZzV_fTO)QRi|5k?xRKD~g5K*wT!#jU{ON#7#@i$+#PzB) zalHQ_jI*6?50-C^)l~l{zN<;LD;#{hD;XbFIL=NX4Zlm_>#4k2!$%YjJ8Lw2zrtbX z8VxULIL5?&zoT&2K_2)-@rZ#l|M?pDO9sw%UQsyW(ev=C#>c6O?f+Thhcx_cg`0W! zyTZ*pe57zQ4*~U_03K4cGZe4aZtwJ9!PqFItR0s&K@Q_Y>n! zX#B8-BhDFie8{wA01*w3t-6^?K((c+oc`1-tGioi)wbkN1|e*+*1?BE-h@yoS&2hRKP8fAz1{EfTOz&}qq zkgW!Os|SmOfp;tXb_3t7@RWhypl~iQC;B%C#twm+K3~d=#6L%UJYF6j`Vl+hSbGrQ zI-kdF@_F3A!C^aCdk_=nahP^EA10skXX1mN`6c%G`ET-58ebo;f(533EjOqPsXFEz zwpeaf72sDfNF~o3a9k{VR0SA+^8n)S0^nG0Ec*Kee17jfrU-1G^}X*`&nNi&h4qHU zhkZONA@6yGj1hePn*!g35Vp_XCl_is_-iDKeiPPk*bgZj-+vI;0sqTrK*FVooNMo+ z(k*)BDA(v5Xou-|=!$TP4zwb?uT&CrOeOSyt4_kI4OUn?c=h5y94;212g{LgL}!-s z+01??J0Zg9WYTiRlg^k+XX<@)DqW=1rIe%@ava8SIvf79!!ms)I%5yMmn)+vyetd!HRm}K135HESHjE~$Z}K^Q zrsCZ%$8YH0kC!9~j}s+yS)cJf!essp{dZOTI4kI4#uKH^YW^Rt;(s}DP5*da!@ucg zjheUh)Tax$5H815-CREjr9Ud!m76h4f%CtNze16<$5s3xP0W|*i-_Rn@6QThQRfJc=+^Vy8q{yue7o4;RTvy<>TL5b%K z>ofiehObm||>300k}$J{rmvWzZc_~MMx4>3`d96!T; zG6H1-|(x5=V6=#&u-|L`Zyn$&mMxr dUiB0Hw~bC?IC4%63e-gx9FpL7VO@--_!oga5QqQ( literal 0 HcmV?d00001 diff --git a/build/main.o b/build/main.o index 08f602f9240e2025bc71a7d342a63e5fcf59a2e7..099ddcf51c6bfe723708a64f59e7269c0a230a62 100644 GIT binary patch delta 2425 zcmZ`*eQZ-z6uJYHKK22OZec^1@W+%nsw<<()_rwg zP$B#w5wqduAqF&2W};bCBCN(Bi3kZ!VvIU9gg=mo@W+CP5EDX-IPbmhRd1Vcl6USo zzu!6Mp7ZYOO^>;y{-94L}e%**cJMA~nr!QWGT-mVWGU3kaEM+Z(O9M}&1&W!%(e zEgmyBS-pqEkafaj8i4gVC3sUJlJhjio8Ut3cDq6oQp5{3n+%P%#lD&p9HC0)D`eH`Y9eUjPVG5ZDt^JM%d)v5_2REl!` z%eE1piVR^AQw5VmZ(zEUX*bpCzDHyofqNwWT^9KPl-T9qMHZQdRv2}C#(IscdB~}6 zMl^lRRBo``drU8e({>qaOgB&szt|Pr&-@9d6HMP>+5toPGOlL2gXsv<`6t<3C{p_$}p`+%)89ID~hC+a+#NmS4rz?@Q~EiIQDi5yG%`GCrKm~n(Kis z!g`36>}iI}^}u)khImc4;u?lJJX^RbOG*2+?+JITtg_;VU@&TMiF$_>UY;FPUT~R}GwYXy@?jI-bEsuYy8{ zynQ7{-`8pV#c;S_92+f{&*6)>)4QmT*7f9fe!f?hfi^ZmT~xpfZcNIDUPMLKyr+;9KM>v zXSrRnIQ$0)yJdWh>02=AmOJmKMfylI6@fNLSMtyb^u<%Lrs2s8-;su|g@ZYEyaXP) zL%1Z-T;#!cTOwNgmVg}~dK%!Orve5&`B;XRiDxF>UE-A_M6DbP->Xo$WWO-4!VFoE z11ih*3yK3~%FYS9or&S485q~n4PeZxW#(q+t$hlgd22FfvvqG1<0YS#d4}GSM9xE< zuO_Ql(ml5T`+U_|&(p&pQf!8^zUs_+tM2a5v;CTI!U~oCdf`|J4EyUdrwzV>@!t^s zCo4>r7QjS~8KiPexI)6q>+u5^DsK=@mB37Sy=`Z%Ui1w8GeD#antbFIsZcVN0v-7T S>MClo6ngy;DHULq=KdFU{Gi+b delta 1827 zcmZ{lU1(fI6vt;~yjvv)U}-Mb;1kNxUa(?zjKBVuBq)e0(&qDJbASZOIr zUs@~(;zP0VPbH$ohFWMTfh_yd3e^T0p@lpIESN~u=!1$0q`nlPW}TV6cbP1B9?qP5 ze*bf3=H8vz8?R0uJk!snGu6Q*gAr1Dx9t-HslZFDPH;TXgYN<<+zZb365@@j8NB&={;?hR#Vhi2eLjM)i5na4_f0mO9leG>CiLKNxj)1fVZQapy1G@CI zsMU9LTca6VPjH$+G9~@GP^Ja-*089p&_S|mYagbqA%lG_G`oeK5HzcG{zdDY#cUVH z6Y+rQ{b=Q`hHzKZ$nWW`CM9BNl2%|QMNKkbmQ}8iO<;GD(*zDDOLP$DgwJ6yS;7~| zfPG5WiP-DLv{^c|{8`*fb2_8^EF6cAUTaYf2(`3@mb~}fms;|VV9E)JBY)8uqp8}u z(?jWat+VHIhPShM{LmYwVXXI#&NT z!|UQ{;2Sn)*W!b1l=i{NRoY2gV_Ew#DW3Mbm+vTMBy+E?OIXcSB4=FY-DIjx+{_{D z$;Ub_x!Q3b-pKE2f75KVeGW7E3cG4zB|pqIx)Co7vl}KR#IR;!G8n~Np`UFCUKpl9 q*u@d%Php}s969d382Jw-O`af**_{5%QuaR>n&dVB diff --git a/build/mappage.o b/build/mappage.o index d60287bd7be63cb23267b41d4990b371c09bfe83..19b3bde72e40e6342153c0c50f3df314f4f25acd 100644 GIT binary patch literal 86312 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 literal 71648 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 Bg<=2z diff --git a/build/moc_mappage.o b/build/moc_mappage.o index 095c1b649e1fadcb4fd33f63bba6c245f48c589f..3e98f0a4fe027b10908b79a46d63cadf3e21c566 100644 GIT binary patch literal 48896 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 W{_rx_lzunfECu&6lutTu`u_od#ttt4 literal 48776 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 diff --git a/build/qrc_app.cpp b/build/qrc_app.cpp new file mode 100644 index 0000000..e178a20 --- /dev/null +++ b/build/qrc_app.cpp @@ -0,0 +1,46 @@ +/**************************************************************************** +** Resource object code +** +** Created by: The Resource Compiler for Qt version 5.15.3 +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#ifdef QT_NAMESPACE +# define QT_RCC_PREPEND_NAMESPACE(name) ::QT_NAMESPACE::name +# define QT_RCC_MANGLE_NAMESPACE0(x) x +# define QT_RCC_MANGLE_NAMESPACE1(a, b) a##_##b +# define QT_RCC_MANGLE_NAMESPACE2(a, b) QT_RCC_MANGLE_NAMESPACE1(a,b) +# define QT_RCC_MANGLE_NAMESPACE(name) QT_RCC_MANGLE_NAMESPACE2( \ + QT_RCC_MANGLE_NAMESPACE0(name), QT_RCC_MANGLE_NAMESPACE0(QT_NAMESPACE)) +#else +# define QT_RCC_PREPEND_NAMESPACE(name) name +# define QT_RCC_MANGLE_NAMESPACE(name) name +#endif + +#ifdef QT_NAMESPACE +namespace QT_NAMESPACE { +#endif + +#ifdef QT_NAMESPACE +} +#endif + +int QT_RCC_MANGLE_NAMESPACE(qInitResources_app)(); +int QT_RCC_MANGLE_NAMESPACE(qInitResources_app)() +{ + return 1; +} + +int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_app)(); +int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_app)() +{ + return 1; +} + +namespace { + struct initializer { + initializer() { QT_RCC_MANGLE_NAMESPACE(qInitResources_app)(); } + ~initializer() { QT_RCC_MANGLE_NAMESPACE(qCleanupResources_app)(); } + } dummy; +} diff --git a/build/qrc_app.o b/build/qrc_app.o new file mode 100644 index 0000000000000000000000000000000000000000..853f7aaa89c67d96b675327fae62dac6ab900d1d GIT binary patch literal 2960 zcmb_e&1+m$6u*0|hq)SN#V{yAWI!+J(9jTnMgQbfMs;xGRNtes9j1xxIa@8&7!ep7T3j_nv#^ zyj)pY{dBBUQbHwlT8$(@m0Evs#LwsKygI6mW-E*qcpDxWD9G|#O8-~xD ztb3VPU{wbbo6_$3Y93+yJ6Oy}oHs}~#y*E>MQ&A}oL-rnP|#h4O!OgMgkL25dGr}6 z52%OxMK)!eu7Jw<>7P{KPR8i3!Z7wGR903qFo-ie+kRYJhwE}~Kf?3#5!RrmWbH?K z<1*ogt^G^QzhxY?2MKYG!%$?3qti zjaf6E=e4@6wB@&3yJ5UoTe_tF!^DG$1W2-mSuxvjVEic3K@>gheQG1?bas|V;mvKY zP_A=f(#zr?OyGlbHE(;N9s1oYa#V{KbsTPLW19WGiNZMPb!ngJj=5A-#%v@#v*mX; z+93%+-#305_FHLw;^Ta7^d+kKcz-}ISvYDgxYP=zoV4)Q*&aB4TVnsNg+nL5m-iV* z-YI&-p5c7%jJiiq^o~-mj>KXAA~qhOS!M*6eV?~*nQ4HwEF3-+mbWb&GeqbcW?=io zK6SFwN&SY>Ng5By-p|WQtECm4K}hv%ipzkWsiJ;VQ)4`eyNk_T>m;L zfVuU%&JHrC#ow*p0x62>H^+(l?1=i|cj4CW3&Jor-1FZh3?%jgX(S6i`2Ib8f42+n z4>L^s2NR3_J=_$mM>V@zra5cgP5*=g%ja?Ho5-yNtxHrHX{BHuAlTF z`Ukxy{!+i9+z6HbPfF`m-p6ai&1 | tee /tmp/drone_output.log + +echo "" +echo "=== 查找定位相关日志 ===" +grep -E "(🗺️|📍|🔐|🌐|✅|❌|🏠|👂|MapPage|地图|定位|GPS|IP|北京|坐标|JS|INFO|WARN|ERROR|qDebug)" /tmp/drone_output.log || echo "未找到定位相关日志" + +echo "" +echo "=== 显示前20行日志 ===" +head -20 /tmp/drone_output.log + +echo "" +echo "=== 调试完成 ===" diff --git a/drone_ui.pro b/drone_ui.pro index 3719830..f7b4454 100644 --- a/drone_ui.pro +++ b/drone_ui.pro @@ -1,4 +1,4 @@ -QT += core widgets webenginewidgets +QT += core widgets webenginewidgets positioning CONFIG += c++17 TEMPLATE = app TARGET = Drone_project @@ -13,7 +13,10 @@ SOURCES += \ src/pages/datapage.cpp \ src/pages/visionmodelpage.cpp \ src/utils/stylehelper.cpp \ - src/pages/taskdecisionpage.cpp + src/pages/taskdecisionpage.cpp \ + src/utils/config.cpp \ + src/utils/logger.cpp \ + src/utils/errorhandler.cpp HEADERS += \ src/ui/mainwindow.h \ @@ -24,4 +27,10 @@ HEADERS += \ src/pages/datapage.h \ src/pages/visionmodelpage.h \ src/utils/stylehelper.h \ - src/pages/taskdecisionpage.h + src/pages/taskdecisionpage.h \ + src/utils/config.h \ + src/utils/logger.h \ + src/utils/errorhandler.h + +RESOURCES += \ + src/resources/app.qrc diff --git a/src/core/main.cpp b/src/core/main.cpp index d2dfffb..16839ed 100644 --- a/src/core/main.cpp +++ b/src/core/main.cpp @@ -1,5 +1,7 @@ #include #include "../ui/mainwindow.h" +#include "../utils/logger.h" +#include "../utils/config.h" int main(int argc, char *argv[]) { // 禁用 Wayland:优先使用 X11(xcb),否则回退为 offscreen @@ -10,7 +12,13 @@ int main(int argc, char *argv[]) { qputenv("QT_QPA_PLATFORM", QByteArray("offscreen")); } + // 关闭Qt绘图调试信息,保留我们的应用日志 + qputenv("QT_LOGGING_RULES", "qt.widgets.painting=false;qt.qpa.gl.debug=false;qt.qpa.gl.debug.warning=false;qt.*=false;*.debug=true"); + QApplication app(argc, argv); + // 初始化配置与日志 + AppConfig::instance().load(); + LoggerInit::setupFromConfig(); app.setApplicationDisplayName(""); // 全局样式表(浅色主题) app.setStyleSheet( diff --git a/src/pages/mappage.cpp b/src/pages/mappage.cpp index beaa362..a49361b 100644 --- a/src/pages/mappage.cpp +++ b/src/pages/mappage.cpp @@ -33,6 +33,9 @@ #include #include #include // Added for QMessageBox +#include +#include "../utils/config.h" +#include "../utils/logger.h" /** * 地图监控页面实现 @@ -127,7 +130,20 @@ void MapPage::setupMapArea() { // 添加加载完成调试 connect(mapView_, &QWebEngineView::loadFinished, this, [this](bool ok) { - qDebug() << (ok ? "地图 HTML 加载成功" : "地图 HTML 加载失败"); + if (ok) { + qDebug() << "✓ 地图 HTML 加载成功"; + qDebug() << "✓ 开始启用地理位置权限..."; + enableGeolocation(); + + // 延迟2秒后检查地图状态 + QTimer::singleShot(2000, this, [this]() { + qDebug() << "🔍 检查地图初始化状态..."; + mapView_->page()->runJavaScript("console.log('地图对象存在:', typeof window.map !== 'undefined');"); + mapView_->page()->runJavaScript("if(window.map) { console.log('地图中心:', window.map.getCenter()); console.log('地图缩放:', window.map.getZoom()); }"); + }); + } else { + qDebug() << "✗ 地图 HTML 加载失败"; + } }); // 添加默认地图加载 @@ -148,13 +164,22 @@ void MapPage::setupMapArea() {