前端2.0 #7

Merged
pg9nrcf7t merged 6 commits from wangjing into main 3 months ago

@ -0,0 +1 @@
,wangjing,wangjing-Lenovo-Legion-Y70002021,27.09.2025 08:04,file:///home/wangjing/.config/libreoffice/4;

Binary file not shown.

@ -0,0 +1,706 @@
#############################################################################
# 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. -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/.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/mapbridge.cpp \
src/pages/datapage.cpp \
src/pages/taskdata.cpp \
src/pages/visionmodelpage.cpp \
src/utils/stylehelper.cpp \
src/pages/taskdecisionpage.cpp \
src/pages/dronemanagementpage.cpp \
src/pages/taskdetailspage.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 \
moc_mappage.cpp \
moc_mapbridge.cpp \
moc_datapage.cpp \
moc_taskdata.cpp \
moc_visionmodelpage.cpp \
moc_taskdecisionpage.cpp \
moc_dronemanagementpage.cpp \
moc_taskdetailspage.cpp
OBJECTS = main.o \
mainwindow.o \
dronedata.o \
detectiondata.o \
videopage.o \
mappage.o \
mapbridge.o \
datapage.o \
taskdata.o \
visionmodelpage.o \
stylehelper.o \
taskdecisionpage.o \
dronemanagementpage.o \
taskdetailspage.o \
config.o \
logger.o \
errorhandler.o \
qrc_app.o \
moc_mainwindow.o \
moc_dronedata.o \
moc_detectiondata.o \
moc_videopage.o \
moc_mappage.o \
moc_mapbridge.o \
moc_datapage.o \
moc_taskdata.o \
moc_visionmodelpage.o \
moc_taskdecisionpage.o \
moc_dronemanagementpage.o \
moc_taskdetailspage.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/mapbridge.h \
src/pages/datapage.h \
src/pages/taskdata.h \
src/pages/visionmodelpage.h \
src/utils/stylehelper.h \
src/pages/taskdecisionpage.h \
src/pages/dronemanagementpage.h \
src/pages/taskdetailspage.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 \
src/pages/videopage.cpp \
src/pages/mappage.cpp \
src/pages/mapbridge.cpp \
src/pages/datapage.cpp \
src/pages/taskdata.cpp \
src/pages/visionmodelpage.cpp \
src/utils/stylehelper.cpp \
src/pages/taskdecisionpage.cpp \
src/pages/dronemanagementpage.cpp \
src/pages/taskdetailspage.cpp \
src/utils/config.cpp \
src/utils/logger.cpp \
src/utils/errorhandler.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 \
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:
/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/resources/app.qrc:
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 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/mapbridge.h src/pages/datapage.h src/pages/taskdata.h src/pages/visionmodelpage.h src/utils/stylehelper.h src/pages/taskdecisionpage.h src/pages/dronemanagementpage.h src/pages/taskdetailspage.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/mapbridge.cpp src/pages/datapage.cpp src/pages/taskdata.cpp src/pages/visionmodelpage.cpp src/utils/stylehelper.cpp src/pages/taskdecisionpage.cpp src/pages/dronemanagementpage.cpp src/pages/taskdetailspage.cpp src/utils/config.cpp src/utils/logger.cpp src/utils/errorhandler.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: 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
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_mapbridge.cpp moc_datapage.cpp moc_taskdata.cpp moc_visionmodelpage.cpp moc_taskdecisionpage.cpp moc_dronemanagementpage.cpp moc_taskdetailspage.cpp
compiler_moc_header_clean:
-$(DEL_FILE) moc_mainwindow.cpp moc_dronedata.cpp moc_detectiondata.cpp moc_videopage.cpp moc_mappage.cpp moc_mapbridge.cpp moc_datapage.cpp moc_taskdata.cpp moc_visionmodelpage.cpp moc_taskdecisionpage.cpp moc_dronemanagementpage.cpp moc_taskdetailspage.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 \
src/pages/mapbridge.h \
src/pages/dronemanagementpage.h \
src/pages/taskdetailspage.h \
src/pages/taskdata.h \
moc_predefs.h \
/usr/lib/qt5/bin/moc
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/wangjing/uav/Drone_project/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/usr/include/c++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/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/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/usr/include/c++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/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/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/usr/include/c++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/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/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/usr/include/c++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/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 \
src/pages/mapbridge.h \
moc_predefs.h \
/usr/lib/qt5/bin/moc
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/wangjing/uav/Drone_project/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/usr/include/c++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/pages/mappage.h -o moc_mappage.cpp
moc_mapbridge.cpp: src/pages/mapbridge.h \
moc_predefs.h \
/usr/lib/qt5/bin/moc
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/wangjing/uav/Drone_project/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/usr/include/c++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/pages/mapbridge.h -o moc_mapbridge.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/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/usr/include/c++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/pages/datapage.h -o moc_datapage.cpp
moc_taskdata.cpp: src/pages/taskdata.h \
moc_predefs.h \
/usr/lib/qt5/bin/moc
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/wangjing/uav/Drone_project/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/usr/include/c++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/pages/taskdata.h -o moc_taskdata.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/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/usr/include/c++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/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 \
src/pages/mapbridge.h \
moc_predefs.h \
/usr/lib/qt5/bin/moc
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/wangjing/uav/Drone_project/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/usr/include/c++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/pages/taskdecisionpage.h -o moc_taskdecisionpage.cpp
moc_dronemanagementpage.cpp: src/pages/dronemanagementpage.h \
src/models/dronedata.h \
moc_predefs.h \
/usr/lib/qt5/bin/moc
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/wangjing/uav/Drone_project/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/usr/include/c++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/pages/dronemanagementpage.h -o moc_dronemanagementpage.cpp
moc_taskdetailspage.cpp: src/pages/taskdetailspage.h \
src/pages/taskdata.h \
src/models/dronedata.h \
moc_predefs.h \
/usr/lib/qt5/bin/moc
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/wangjing/uav/Drone_project/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/usr/include/c++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include src/pages/taskdetailspage.h -o moc_taskdetailspage.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_rcc_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 \
src/pages/mapbridge.h \
src/pages/dronemanagementpage.h \
src/pages/taskdetailspage.h \
src/pages/taskdata.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/mapbridge.h \
src/pages/dronemanagementpage.h \
src/pages/taskdetailspage.h \
src/pages/taskdata.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 \
src/pages/mapbridge.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mappage.o src/pages/mappage.cpp
mapbridge.o: src/pages/mapbridge.cpp src/pages/mapbridge.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mapbridge.o src/pages/mapbridge.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
taskdata.o: src/pages/taskdata.cpp src/pages/taskdata.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o taskdata.o src/pages/taskdata.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 \
src/pages/mapbridge.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o taskdecisionpage.o src/pages/taskdecisionpage.cpp
dronemanagementpage.o: src/pages/dronemanagementpage.cpp src/pages/dronemanagementpage.h \
src/models/dronedata.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o dronemanagementpage.o src/pages/dronemanagementpage.cpp
taskdetailspage.o: src/pages/taskdetailspage.cpp src/pages/taskdetailspage.h \
src/pages/taskdata.h \
src/models/dronedata.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o taskdetailspage.o src/pages/taskdetailspage.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
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_mapbridge.o: moc_mapbridge.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mapbridge.o moc_mapbridge.cpp
moc_datapage.o: moc_datapage.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_datapage.o moc_datapage.cpp
moc_taskdata.o: moc_taskdata.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_taskdata.o moc_taskdata.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
moc_dronemanagementpage.o: moc_dronemanagementpage.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dronemanagementpage.o moc_dronemanagementpage.cpp
moc_taskdetailspage.o: moc_taskdetailspage.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_taskdetailspage.o moc_taskdetailspage.cpp
####### Install
install: FORCE
uninstall: FORCE
FORCE:

@ -1,2 +0,0 @@
# Drone_project

@ -1,23 +0,0 @@
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

Binary file not shown.

@ -58,10 +58,14 @@ SOURCES = ../src/core/main.cpp \
../src/models/detectiondata.cpp \
../src/pages/videopage.cpp \
../src/pages/mappage.cpp \
../src/pages/mapbridge.cpp \
../src/pages/datapage.cpp \
../src/pages/taskdata.cpp \
../src/pages/visionmodelpage.cpp \
../src/utils/stylehelper.cpp \
../src/pages/taskdecisionpage.cpp \
../src/pages/dronemanagementpage.cpp \
../src/pages/taskdetailspage.cpp \
../src/utils/config.cpp \
../src/utils/logger.cpp \
../src/utils/errorhandler.cpp qrc_app.cpp \
@ -70,19 +74,27 @@ SOURCES = ../src/core/main.cpp \
moc_detectiondata.cpp \
moc_videopage.cpp \
moc_mappage.cpp \
moc_mapbridge.cpp \
moc_datapage.cpp \
moc_taskdata.cpp \
moc_visionmodelpage.cpp \
moc_taskdecisionpage.cpp
moc_taskdecisionpage.cpp \
moc_dronemanagementpage.cpp \
moc_taskdetailspage.cpp
OBJECTS = main.o \
mainwindow.o \
dronedata.o \
detectiondata.o \
videopage.o \
mappage.o \
mapbridge.o \
datapage.o \
taskdata.o \
visionmodelpage.o \
stylehelper.o \
taskdecisionpage.o \
dronemanagementpage.o \
taskdetailspage.o \
config.o \
logger.o \
errorhandler.o \
@ -92,9 +104,13 @@ OBJECTS = main.o \
moc_detectiondata.o \
moc_videopage.o \
moc_mappage.o \
moc_mapbridge.o \
moc_datapage.o \
moc_taskdata.o \
moc_visionmodelpage.o \
moc_taskdecisionpage.o
moc_taskdecisionpage.o \
moc_dronemanagementpage.o \
moc_taskdetailspage.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 \
@ -164,7 +180,7 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.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 \
../../.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 \
@ -189,10 +205,14 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
../src/models/detectiondata.h \
../src/pages/videopage.h \
../src/pages/mappage.h \
../src/pages/mapbridge.h \
../src/pages/datapage.h \
../src/pages/taskdata.h \
../src/pages/visionmodelpage.h \
../src/utils/stylehelper.h \
../src/pages/taskdecisionpage.h \
../src/pages/dronemanagementpage.h \
../src/pages/taskdetailspage.h \
../src/utils/config.h \
../src/utils/logger.h \
../src/utils/errorhandler.h ../src/core/main.cpp \
@ -201,10 +221,14 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
../src/models/detectiondata.cpp \
../src/pages/videopage.cpp \
../src/pages/mappage.cpp \
../src/pages/mapbridge.cpp \
../src/pages/datapage.cpp \
../src/pages/taskdata.cpp \
../src/pages/visionmodelpage.cpp \
../src/utils/stylehelper.cpp \
../src/pages/taskdecisionpage.cpp \
../src/pages/dronemanagementpage.cpp \
../src/pages/taskdetailspage.cpp \
../src/utils/config.cpp \
../src/utils/logger.cpp \
../src/utils/errorhandler.cpp
@ -288,7 +312,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/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 \
../.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 \
@ -380,7 +404,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/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:
../.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:
@ -418,8 +442,8 @@ distdir: FORCE
$(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 ../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)/
$(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/mapbridge.h ../src/pages/datapage.h ../src/pages/taskdata.h ../src/pages/visionmodelpage.h ../src/utils/stylehelper.h ../src/pages/taskdecisionpage.h ../src/pages/dronemanagementpage.h ../src/pages/taskdetailspage.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/mapbridge.cpp ../src/pages/datapage.cpp ../src/pages/taskdata.cpp ../src/pages/visionmodelpage.cpp ../src/utils/stylehelper.cpp ../src/pages/taskdecisionpage.cpp ../src/pages/dronemanagementpage.cpp ../src/pages/taskdetailspage.cpp ../src/utils/config.cpp ../src/utils/logger.cpp ../src/utils/errorhandler.cpp $(DISTDIR)/
clean: compiler_clean
@ -429,7 +453,6 @@ clean: compiler_clean
distclean: clean
-$(DEL_FILE) $(TARGET)
-$(DEL_FILE) .qmake.stash
-$(DEL_FILE) Makefile
@ -456,9 +479,9 @@ compiler_moc_predefs_clean:
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_make_all: moc_mainwindow.cpp moc_dronedata.cpp moc_detectiondata.cpp moc_videopage.cpp moc_mappage.cpp moc_mapbridge.cpp moc_datapage.cpp moc_taskdata.cpp moc_visionmodelpage.cpp moc_taskdecisionpage.cpp moc_dronemanagementpage.cpp moc_taskdetailspage.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
-$(DEL_FILE) moc_mainwindow.cpp moc_dronedata.cpp moc_detectiondata.cpp moc_videopage.cpp moc_mappage.cpp moc_mapbridge.cpp moc_datapage.cpp moc_taskdata.cpp moc_visionmodelpage.cpp moc_taskdecisionpage.cpp moc_dronemanagementpage.cpp moc_taskdetailspage.cpp
moc_mainwindow.cpp: ../src/ui/mainwindow.h \
../src/models/dronedata.h \
../src/models/detectiondata.h \
@ -466,45 +489,74 @@ moc_mainwindow.cpp: ../src/ui/mainwindow.h \
../src/utils/stylehelper.h \
../src/pages/taskdecisionpage.h \
../src/pages/mappage.h \
../src/pages/mapbridge.h \
../src/pages/dronemanagementpage.h \
../src/pages/taskdetailspage.h \
../src/pages/taskdata.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
/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++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/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
/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++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/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
/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++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/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
/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++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/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 \
../src/pages/mapbridge.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
/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++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../src/pages/mappage.h -o moc_mappage.cpp
moc_mapbridge.cpp: ../src/pages/mapbridge.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++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../src/pages/mapbridge.h -o moc_mapbridge.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
/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++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../src/pages/datapage.h -o moc_datapage.cpp
moc_taskdata.cpp: ../src/pages/taskdata.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++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../src/pages/taskdata.h -o moc_taskdata.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
/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++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/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 \
../src/pages/mapbridge.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++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../src/pages/taskdecisionpage.h -o moc_taskdecisionpage.cpp
moc_dronemanagementpage.cpp: ../src/pages/dronemanagementpage.h \
../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++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../src/pages/dronemanagementpage.h -o moc_dronemanagementpage.cpp
moc_taskdetailspage.cpp: ../src/pages/taskdetailspage.h \
../src/pages/taskdata.h \
../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/pages/taskdecisionpage.h -o moc_taskdecisionpage.cpp
/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++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../src/pages/taskdetailspage.h -o moc_taskdetailspage.cpp
compiler_moc_objc_header_make_all:
compiler_moc_objc_header_clean:
@ -529,8 +581,10 @@ main.o: ../src/core/main.cpp ../src/ui/mainwindow.h \
../src/utils/stylehelper.h \
../src/pages/taskdecisionpage.h \
../src/pages/mappage.h \
../src/utils/logger.h \
../src/utils/config.h
../src/pages/mapbridge.h \
../src/pages/dronemanagementpage.h \
../src/pages/taskdetailspage.h \
../src/pages/taskdata.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o ../src/core/main.cpp
mainwindow.o: ../src/ui/mainwindow.cpp ../src/ui/mainwindow.h \
@ -540,6 +594,10 @@ mainwindow.o: ../src/ui/mainwindow.cpp ../src/ui/mainwindow.h \
../src/utils/stylehelper.h \
../src/pages/taskdecisionpage.h \
../src/pages/mappage.h \
../src/pages/mapbridge.h \
../src/pages/dronemanagementpage.h \
../src/pages/taskdetailspage.h \
../src/pages/taskdata.h \
../src/pages/videopage.h \
../src/pages/datapage.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o ../src/ui/mainwindow.cpp
@ -554,15 +612,20 @@ 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 \
../src/utils/config.h \
../src/utils/logger.h
../src/pages/mapbridge.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mappage.o ../src/pages/mappage.cpp
mapbridge.o: ../src/pages/mapbridge.cpp ../src/pages/mapbridge.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mapbridge.o ../src/pages/mapbridge.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
taskdata.o: ../src/pages/taskdata.cpp ../src/pages/taskdata.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o taskdata.o ../src/pages/taskdata.cpp
visionmodelpage.o: ../src/pages/visionmodelpage.cpp ../src/pages/visionmodelpage.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o visionmodelpage.o ../src/pages/visionmodelpage.cpp
@ -570,9 +633,19 @@ 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
../src/pages/mappage.h \
../src/pages/mapbridge.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o taskdecisionpage.o ../src/pages/taskdecisionpage.cpp
dronemanagementpage.o: ../src/pages/dronemanagementpage.cpp ../src/pages/dronemanagementpage.h \
../src/models/dronedata.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o dronemanagementpage.o ../src/pages/dronemanagementpage.cpp
taskdetailspage.o: ../src/pages/taskdetailspage.cpp ../src/pages/taskdetailspage.h \
../src/pages/taskdata.h \
../src/models/dronedata.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o taskdetailspage.o ../src/pages/taskdetailspage.cpp
config.o: ../src/utils/config.cpp ../src/utils/config.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o config.o ../src/utils/config.cpp
@ -601,15 +674,27 @@ moc_videopage.o: moc_videopage.cpp
moc_mappage.o: moc_mappage.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mappage.o moc_mappage.cpp
moc_mapbridge.o: moc_mapbridge.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mapbridge.o moc_mapbridge.cpp
moc_datapage.o: moc_datapage.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_datapage.o moc_datapage.cpp
moc_taskdata.o: moc_taskdata.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_taskdata.o moc_taskdata.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
moc_dronemanagementpage.o: moc_dronemanagementpage.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_dronemanagementpage.o moc_dronemanagementpage.cpp
moc_taskdetailspage.o: moc_taskdetailspage.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_taskdetailspage.o moc_taskdetailspage.cpp
####### Install
install: FORCE

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,198 @@
/****************************************************************************
** Meta object code from reading C++ file 'dronemanagementpage.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 <memory>
#include "../src/pages/dronemanagementpage.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'dronemanagementpage.h' doesn't include <QObject>."
#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_DroneManagementPage_t {
QByteArrayData data[15];
char stringdata0[254];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_DroneManagementPage_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_DroneManagementPage_t qt_meta_stringdata_DroneManagementPage = {
{
QT_MOC_LITERAL(0, 0, 19), // "DroneManagementPage"
QT_MOC_LITERAL(1, 20, 13), // "droneSelected"
QT_MOC_LITERAL(2, 34, 0), // ""
QT_MOC_LITERAL(3, 35, 7), // "droneId"
QT_MOC_LITERAL(4, 43, 24), // "droneConnectionRequested"
QT_MOC_LITERAL(5, 68, 7), // "connect"
QT_MOC_LITERAL(6, 76, 17), // "onAddDroneClicked"
QT_MOC_LITERAL(7, 94, 20), // "onRemoveDroneClicked"
QT_MOC_LITERAL(8, 115, 21), // "onConnectDroneClicked"
QT_MOC_LITERAL(9, 137, 24), // "onDisconnectDroneClicked"
QT_MOC_LITERAL(10, 162, 23), // "onDroneSelectionChanged"
QT_MOC_LITERAL(11, 186, 13), // "onRefreshData"
QT_MOC_LITERAL(12, 200, 18), // "onDroneDataChanged"
QT_MOC_LITERAL(13, 219, 24), // "onDroneConnectionChanged"
QT_MOC_LITERAL(14, 244, 9) // "connected"
},
"DroneManagementPage\0droneSelected\0\0"
"droneId\0droneConnectionRequested\0"
"connect\0onAddDroneClicked\0"
"onRemoveDroneClicked\0onConnectDroneClicked\0"
"onDisconnectDroneClicked\0"
"onDroneSelectionChanged\0onRefreshData\0"
"onDroneDataChanged\0onDroneConnectionChanged\0"
"connected"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_DroneManagementPage[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
10, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
2, // signalCount
// signals: name, argc, parameters, tag, flags
1, 1, 64, 2, 0x06 /* Public */,
4, 2, 67, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
6, 0, 72, 2, 0x08 /* Private */,
7, 0, 73, 2, 0x08 /* Private */,
8, 0, 74, 2, 0x08 /* Private */,
9, 0, 75, 2, 0x08 /* Private */,
10, 0, 76, 2, 0x08 /* Private */,
11, 0, 77, 2, 0x08 /* Private */,
12, 0, 78, 2, 0x08 /* Private */,
13, 1, 79, 2, 0x08 /* Private */,
// signals: parameters
QMetaType::Void, QMetaType::QString, 3,
QMetaType::Void, QMetaType::QString, QMetaType::Bool, 3, 5,
// slots: parameters
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, QMetaType::Bool, 14,
0 // eod
};
void DroneManagementPage::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<DroneManagementPage *>(_o);
(void)_t;
switch (_id) {
case 0: _t->droneSelected((*reinterpret_cast< const QString(*)>(_a[1]))); break;
case 1: _t->droneConnectionRequested((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2]))); break;
case 2: _t->onAddDroneClicked(); break;
case 3: _t->onRemoveDroneClicked(); break;
case 4: _t->onConnectDroneClicked(); break;
case 5: _t->onDisconnectDroneClicked(); break;
case 6: _t->onDroneSelectionChanged(); break;
case 7: _t->onRefreshData(); break;
case 8: _t->onDroneDataChanged(); break;
case 9: _t->onDroneConnectionChanged((*reinterpret_cast< bool(*)>(_a[1]))); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (DroneManagementPage::*)(const QString & );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DroneManagementPage::droneSelected)) {
*result = 0;
return;
}
}
{
using _t = void (DroneManagementPage::*)(const QString & , bool );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DroneManagementPage::droneConnectionRequested)) {
*result = 1;
return;
}
}
}
}
QT_INIT_METAOBJECT const QMetaObject DroneManagementPage::staticMetaObject = { {
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_meta_stringdata_DroneManagementPage.data,
qt_meta_data_DroneManagementPage,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *DroneManagementPage::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *DroneManagementPage::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_DroneManagementPage.stringdata0))
return static_cast<void*>(this);
return QWidget::qt_metacast(_clname);
}
int DroneManagementPage::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 < 10)
qt_static_metacall(this, _c, _id, _a);
_id -= 10;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 10)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 10;
}
return _id;
}
// SIGNAL 0
void DroneManagementPage::droneSelected(const QString & _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
// SIGNAL 1
void DroneManagementPage::droneConnectionRequested(const QString & _t1, bool _t2)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
QMetaObject::activate(this, &staticMetaObject, 1, _a);
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

Binary file not shown.

@ -22,8 +22,8 @@ QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_MainWindow_t {
QByteArrayData data[12];
char stringdata0[184];
QByteArrayData data[14];
char stringdata0[228];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@ -39,16 +39,19 @@ 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"
QT_MOC_LITERAL(7, 92, 23), // "showDroneManagementPage"
QT_MOC_LITERAL(8, 116, 19), // "showTaskDetailsPage"
QT_MOC_LITERAL(9, 136, 23), // "onDroneSelectionChanged"
QT_MOC_LITERAL(10, 160, 21), // "onCurrentDroneChanged"
QT_MOC_LITERAL(11, 182, 7), // "droneId"
QT_MOC_LITERAL(12, 190, 17), // "updateDroneStatus"
QT_MOC_LITERAL(13, 208, 19) // "updateDetectionInfo"
},
"MainWindow\0showVideoPage\0\0showMapPage\0"
"showDataPage\0showVisionModelPage\0"
"showTaskDecisionPage\0onDroneSelectionChanged\0"
"showTaskDecisionPage\0showDroneManagementPage\0"
"showTaskDetailsPage\0onDroneSelectionChanged\0"
"onCurrentDroneChanged\0droneId\0"
"updateDroneStatus\0updateDetectionInfo"
};
@ -60,7 +63,7 @@ static const uint qt_meta_data_MainWindow[] = {
8, // revision
0, // classname
0, 0, // classinfo
9, 14, // methods
11, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
@ -68,15 +71,17 @@ static const uint qt_meta_data_MainWindow[] = {
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 */,
1, 0, 69, 2, 0x08 /* Private */,
3, 0, 70, 2, 0x08 /* Private */,
4, 0, 71, 2, 0x08 /* Private */,
5, 0, 72, 2, 0x08 /* Private */,
6, 0, 73, 2, 0x08 /* Private */,
7, 0, 74, 2, 0x08 /* Private */,
8, 0, 75, 2, 0x08 /* Private */,
9, 0, 76, 2, 0x08 /* Private */,
10, 1, 77, 2, 0x08 /* Private */,
12, 0, 80, 2, 0x08 /* Private */,
13, 0, 81, 2, 0x08 /* Private */,
// slots: parameters
QMetaType::Void,
@ -85,7 +90,9 @@ static const uint qt_meta_data_MainWindow[] = {
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, QMetaType::QString, 9,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, QMetaType::QString, 11,
QMetaType::Void,
QMetaType::Void,
@ -103,10 +110,12 @@ void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id,
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;
case 5: _t->showDroneManagementPage(); break;
case 6: _t->showTaskDetailsPage(); break;
case 7: _t->onDroneSelectionChanged(); break;
case 8: _t->onCurrentDroneChanged((*reinterpret_cast< const QString(*)>(_a[1]))); break;
case 9: _t->updateDroneStatus(); break;
case 10: _t->updateDetectionInfo(); break;
default: ;
}
}
@ -141,13 +150,13 @@ int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 9)
if (_id < 11)
qt_static_metacall(this, _c, _id, _a);
_id -= 9;
_id -= 11;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 9)
if (_id < 11)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 9;
_id -= 11;
}
return _id;
}

Binary file not shown.

@ -0,0 +1,149 @@
/****************************************************************************
** Meta object code from reading C++ file 'mapbridge.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 <memory>
#include "../src/pages/mapbridge.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'mapbridge.h' doesn't include <QObject>."
#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_MapBridge_t {
QByteArrayData data[7];
char stringdata0[49];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_MapBridge_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_MapBridge_t qt_meta_stringdata_MapBridge = {
{
QT_MOC_LITERAL(0, 0, 9), // "MapBridge"
QT_MOC_LITERAL(1, 10, 10), // "mapClicked"
QT_MOC_LITERAL(2, 21, 0), // ""
QT_MOC_LITERAL(3, 22, 3), // "lng"
QT_MOC_LITERAL(4, 26, 3), // "lat"
QT_MOC_LITERAL(5, 30, 7), // "onClick"
QT_MOC_LITERAL(6, 38, 10) // "onMapReady"
},
"MapBridge\0mapClicked\0\0lng\0lat\0onClick\0"
"onMapReady"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_MapBridge[] = {
// 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, 2, 29, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
5, 2, 34, 2, 0x0a /* Public */,
6, 0, 39, 2, 0x0a /* Public */,
// signals: parameters
QMetaType::Void, QMetaType::Double, QMetaType::Double, 3, 4,
// slots: parameters
QMetaType::Void, QMetaType::Double, QMetaType::Double, 3, 4,
QMetaType::Void,
0 // eod
};
void MapBridge::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<MapBridge *>(_o);
(void)_t;
switch (_id) {
case 0: _t->mapClicked((*reinterpret_cast< double(*)>(_a[1])),(*reinterpret_cast< double(*)>(_a[2]))); break;
case 1: _t->onClick((*reinterpret_cast< double(*)>(_a[1])),(*reinterpret_cast< double(*)>(_a[2]))); break;
case 2: _t->onMapReady(); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (MapBridge::*)(double , double );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MapBridge::mapClicked)) {
*result = 0;
return;
}
}
}
}
QT_INIT_METAOBJECT const QMetaObject MapBridge::staticMetaObject = { {
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
qt_meta_stringdata_MapBridge.data,
qt_meta_data_MapBridge,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *MapBridge::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *MapBridge::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_MapBridge.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int MapBridge::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<int*>(_a[0]) = -1;
_id -= 3;
}
return _id;
}
// SIGNAL 0
void MapBridge::mapClicked(double _t1, double _t2)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

Binary file not shown.

@ -22,8 +22,8 @@ QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_CustomWebEnginePage_t {
QByteArrayData data[1];
char stringdata0[20];
QByteArrayData data[8];
char stringdata0[116];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@ -32,10 +32,19 @@ struct qt_meta_stringdata_CustomWebEnginePage_t {
)
static const qt_meta_stringdata_CustomWebEnginePage_t qt_meta_stringdata_CustomWebEnginePage = {
{
QT_MOC_LITERAL(0, 0, 19) // "CustomWebEnginePage"
QT_MOC_LITERAL(0, 0, 19), // "CustomWebEnginePage"
QT_MOC_LITERAL(1, 20, 14), // "consoleMessage"
QT_MOC_LITERAL(2, 35, 0), // ""
QT_MOC_LITERAL(3, 36, 45), // "QWebEnginePage::JavaScriptCon..."
QT_MOC_LITERAL(4, 82, 5), // "level"
QT_MOC_LITERAL(5, 88, 7), // "message"
QT_MOC_LITERAL(6, 96, 10), // "lineNumber"
QT_MOC_LITERAL(7, 107, 8) // "sourceID"
},
"CustomWebEnginePage"
"CustomWebEnginePage\0consoleMessage\0\0"
"QWebEnginePage::JavaScriptConsoleMessageLevel\0"
"level\0message\0lineNumber\0sourceID"
};
#undef QT_MOC_LITERAL
@ -45,22 +54,41 @@ static const uint qt_meta_data_CustomWebEnginePage[] = {
8, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
1, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
1, // signalCount
// signals: name, argc, parameters, tag, flags
1, 4, 19, 2, 0x06 /* Public */,
// signals: parameters
QMetaType::Void, 0x80000000 | 3, QMetaType::QString, QMetaType::Int, QMetaType::QString, 4, 5, 6, 7,
0 // eod
};
void CustomWebEnginePage::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
(void)_o;
(void)_id;
(void)_c;
(void)_a;
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<CustomWebEnginePage *>(_o);
(void)_t;
switch (_id) {
case 0: _t->consoleMessage((*reinterpret_cast< QWebEnginePage::JavaScriptConsoleMessageLevel(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3])),(*reinterpret_cast< const QString(*)>(_a[4]))); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (CustomWebEnginePage::*)(QWebEnginePage::JavaScriptConsoleMessageLevel , const QString & , int , const QString & );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CustomWebEnginePage::consoleMessage)) {
*result = 0;
return;
}
}
}
}
QT_INIT_METAOBJECT const QMetaObject CustomWebEnginePage::staticMetaObject = { {
@ -89,11 +117,29 @@ void *CustomWebEnginePage::qt_metacast(const char *_clname)
int CustomWebEnginePage::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QWebEnginePage::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<int*>(_a[0]) = -1;
_id -= 1;
}
return _id;
}
// SIGNAL 0
void CustomWebEnginePage::consoleMessage(QWebEnginePage::JavaScriptConsoleMessageLevel _t1, const QString & _t2, int _t3, const QString & _t4)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t4))) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
struct qt_meta_stringdata_ThreatAreaDialog_t {
QByteArrayData data[3];
char stringdata0[26];
QByteArrayData data[4];
char stringdata0[44];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@ -104,10 +150,11 @@ static const qt_meta_stringdata_ThreatAreaDialog_t qt_meta_stringdata_ThreatArea
{
QT_MOC_LITERAL(0, 0, 16), // "ThreatAreaDialog"
QT_MOC_LITERAL(1, 17, 7), // "addArea"
QT_MOC_LITERAL(2, 25, 0) // ""
QT_MOC_LITERAL(2, 25, 0), // ""
QT_MOC_LITERAL(3, 26, 17) // "updateThreatStats"
},
"ThreatAreaDialog\0addArea\0"
"ThreatAreaDialog\0addArea\0\0updateThreatStats"
};
#undef QT_MOC_LITERAL
@ -117,7 +164,7 @@ static const uint qt_meta_data_ThreatAreaDialog[] = {
8, // revision
0, // classname
0, 0, // classinfo
1, 14, // methods
2, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
@ -125,9 +172,11 @@ static const uint qt_meta_data_ThreatAreaDialog[] = {
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 0, 19, 2, 0x08 /* Private */,
1, 0, 24, 2, 0x08 /* Private */,
3, 0, 25, 2, 0x08 /* Private */,
// slots: parameters
QMetaType::Void,
QMetaType::Void,
0 // eod
@ -140,6 +189,7 @@ void ThreatAreaDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int
(void)_t;
switch (_id) {
case 0: _t->addArea(); break;
case 1: _t->updateThreatStats(); break;
default: ;
}
}
@ -175,154 +225,344 @@ int ThreatAreaDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
if (_id < 2)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
_id -= 2;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
if (_id < 2)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 1;
_id -= 2;
}
return _id;
}
struct qt_meta_stringdata_AreaSearchDialog_t {
QByteArrayData data[1];
char stringdata0[17];
struct qt_meta_stringdata_PathPlanningDialog_t {
QByteArrayData data[9];
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_AreaSearchDialog_t, stringdata0) + ofs \
qptrdiff(offsetof(qt_meta_stringdata_PathPlanningDialog_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_AreaSearchDialog_t qt_meta_stringdata_AreaSearchDialog = {
static const qt_meta_stringdata_PathPlanningDialog_t qt_meta_stringdata_PathPlanningDialog = {
{
QT_MOC_LITERAL(0, 0, 16) // "AreaSearchDialog"
QT_MOC_LITERAL(0, 0, 18), // "PathPlanningDialog"
QT_MOC_LITERAL(1, 19, 8), // "planPath"
QT_MOC_LITERAL(2, 28, 0), // ""
QT_MOC_LITERAL(3, 29, 15), // "applyStartPoint"
QT_MOC_LITERAL(4, 45, 13), // "applyEndPoint"
QT_MOC_LITERAL(5, 59, 10), // "onMapClick"
QT_MOC_LITERAL(6, 70, 3), // "lng"
QT_MOC_LITERAL(7, 74, 3), // "lat"
QT_MOC_LITERAL(8, 78, 9) // "clearPath"
},
"AreaSearchDialog"
"PathPlanningDialog\0planPath\0\0"
"applyStartPoint\0applyEndPoint\0onMapClick\0"
"lng\0lat\0clearPath"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_AreaSearchDialog[] = {
static const uint qt_meta_data_PathPlanningDialog[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
5, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 0, 39, 2, 0x08 /* Private */,
3, 0, 40, 2, 0x08 /* Private */,
4, 0, 41, 2, 0x08 /* Private */,
5, 2, 42, 2, 0x08 /* Private */,
8, 0, 47, 2, 0x08 /* Private */,
// slots: parameters
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, QMetaType::Double, QMetaType::Double, 6, 7,
QMetaType::Void,
0 // eod
};
void AreaSearchDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
void PathPlanningDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
(void)_o;
(void)_id;
(void)_c;
(void)_a;
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<PathPlanningDialog *>(_o);
(void)_t;
switch (_id) {
case 0: _t->planPath(); break;
case 1: _t->applyStartPoint(); break;
case 2: _t->applyEndPoint(); break;
case 3: _t->onMapClick((*reinterpret_cast< double(*)>(_a[1])),(*reinterpret_cast< double(*)>(_a[2]))); break;
case 4: _t->clearPath(); break;
default: ;
}
}
}
QT_INIT_METAOBJECT const QMetaObject AreaSearchDialog::staticMetaObject = { {
QT_INIT_METAOBJECT const QMetaObject PathPlanningDialog::staticMetaObject = { {
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
qt_meta_stringdata_AreaSearchDialog.data,
qt_meta_data_AreaSearchDialog,
qt_meta_stringdata_PathPlanningDialog.data,
qt_meta_data_PathPlanningDialog,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *AreaSearchDialog::metaObject() const
const QMetaObject *PathPlanningDialog::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *AreaSearchDialog::qt_metacast(const char *_clname)
void *PathPlanningDialog::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_AreaSearchDialog.stringdata0))
if (!strcmp(_clname, qt_meta_stringdata_PathPlanningDialog.stringdata0))
return static_cast<void*>(this);
return QDialog::qt_metacast(_clname);
}
int AreaSearchDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
int PathPlanningDialog::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 < 5)
qt_static_metacall(this, _c, _id, _a);
_id -= 5;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 5)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 5;
}
return _id;
}
struct qt_meta_stringdata_PathPlanningDialog_t {
QByteArrayData data[1];
char stringdata0[19];
struct qt_meta_stringdata_AreaCoverageDialog_t {
QByteArrayData data[12];
char stringdata0[132];
};
#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 \
qptrdiff(offsetof(qt_meta_stringdata_AreaCoverageDialog_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_PathPlanningDialog_t qt_meta_stringdata_PathPlanningDialog = {
static const qt_meta_stringdata_AreaCoverageDialog_t qt_meta_stringdata_AreaCoverageDialog = {
{
QT_MOC_LITERAL(0, 0, 18) // "PathPlanningDialog"
QT_MOC_LITERAL(0, 0, 18), // "AreaCoverageDialog"
QT_MOC_LITERAL(1, 19, 14), // "onShapeChanged"
QT_MOC_LITERAL(2, 34, 0), // ""
QT_MOC_LITERAL(3, 35, 5), // "index"
QT_MOC_LITERAL(4, 41, 9), // "addVertex"
QT_MOC_LITERAL(5, 51, 12), // "removeVertex"
QT_MOC_LITERAL(6, 64, 17), // "selectVertexOnMap"
QT_MOC_LITERAL(7, 82, 16), // "planCoveragePath"
QT_MOC_LITERAL(8, 99, 13), // "clearCoverage"
QT_MOC_LITERAL(9, 113, 10), // "onMapClick"
QT_MOC_LITERAL(10, 124, 3), // "lng"
QT_MOC_LITERAL(11, 128, 3) // "lat"
},
"PathPlanningDialog"
"AreaCoverageDialog\0onShapeChanged\0\0"
"index\0addVertex\0removeVertex\0"
"selectVertexOnMap\0planCoveragePath\0"
"clearCoverage\0onMapClick\0lng\0lat"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_PathPlanningDialog[] = {
static const uint qt_meta_data_AreaCoverageDialog[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
7, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 1, 49, 2, 0x08 /* Private */,
4, 0, 52, 2, 0x08 /* Private */,
5, 0, 53, 2, 0x08 /* Private */,
6, 0, 54, 2, 0x08 /* Private */,
7, 0, 55, 2, 0x08 /* Private */,
8, 0, 56, 2, 0x08 /* Private */,
9, 2, 57, 2, 0x08 /* Private */,
// slots: parameters
QMetaType::Void, QMetaType::Int, 3,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, QMetaType::Double, QMetaType::Double, 10, 11,
0 // eod
};
void PathPlanningDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
void AreaCoverageDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
(void)_o;
(void)_id;
(void)_c;
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<AreaCoverageDialog *>(_o);
(void)_t;
switch (_id) {
case 0: _t->onShapeChanged((*reinterpret_cast< int(*)>(_a[1]))); break;
case 1: _t->addVertex(); break;
case 2: _t->removeVertex(); break;
case 3: _t->selectVertexOnMap(); break;
case 4: _t->planCoveragePath(); break;
case 5: _t->clearCoverage(); break;
case 6: _t->onMapClick((*reinterpret_cast< double(*)>(_a[1])),(*reinterpret_cast< double(*)>(_a[2]))); break;
default: ;
}
}
}
QT_INIT_METAOBJECT const QMetaObject AreaCoverageDialog::staticMetaObject = { {
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
qt_meta_stringdata_AreaCoverageDialog.data,
qt_meta_data_AreaCoverageDialog,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *AreaCoverageDialog::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *AreaCoverageDialog::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_AreaCoverageDialog.stringdata0))
return static_cast<void*>(this);
return QDialog::qt_metacast(_clname);
}
int AreaCoverageDialog::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 < 7)
qt_static_metacall(this, _c, _id, _a);
_id -= 7;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 7)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 7;
}
return _id;
}
struct qt_meta_stringdata_AreaSearchDialog_t {
QByteArrayData data[3];
char stringdata0[28];
};
#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"
QT_MOC_LITERAL(1, 17, 9), // "onConfirm"
QT_MOC_LITERAL(2, 27, 0) // ""
},
"AreaSearchDialog\0onConfirm\0"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_AreaSearchDialog[] = {
// 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 AreaSearchDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<AreaSearchDialog *>(_o);
(void)_t;
switch (_id) {
case 0: _t->onConfirm(); break;
default: ;
}
}
(void)_a;
}
QT_INIT_METAOBJECT const QMetaObject PathPlanningDialog::staticMetaObject = { {
QT_INIT_METAOBJECT const QMetaObject AreaSearchDialog::staticMetaObject = { {
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
qt_meta_stringdata_PathPlanningDialog.data,
qt_meta_data_PathPlanningDialog,
qt_meta_stringdata_AreaSearchDialog.data,
qt_meta_data_AreaSearchDialog,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *PathPlanningDialog::metaObject() const
const QMetaObject *AreaSearchDialog::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *PathPlanningDialog::qt_metacast(const char *_clname)
void *AreaSearchDialog::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_PathPlanningDialog.stringdata0))
if (!strcmp(_clname, qt_meta_stringdata_AreaSearchDialog.stringdata0))
return static_cast<void*>(this);
return QDialog::qt_metacast(_clname);
}
int PathPlanningDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
int AreaSearchDialog::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<int*>(_a[0]) = -1;
_id -= 1;
}
return _id;
}
struct qt_meta_stringdata_LocateDialog_t {
@ -420,8 +660,8 @@ int LocateDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
return _id;
}
struct qt_meta_stringdata_MapPage_t {
QByteArrayData data[16];
char stringdata0[249];
QByteArrayData data[43];
char stringdata0[595];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@ -436,25 +676,61 @@ 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"
QT_MOC_LITERAL(6, 70, 21), // "pathPlanningRequested"
QT_MOC_LITERAL(7, 92, 21), // "areaCoverageRequested"
QT_MOC_LITERAL(8, 114, 10), // "mapClicked"
QT_MOC_LITERAL(9, 125, 3), // "lng"
QT_MOC_LITERAL(10, 129, 3), // "lat"
QT_MOC_LITERAL(11, 133, 15), // "onHeightChanged"
QT_MOC_LITERAL(12, 149, 20), // "onDownloadMapClicked"
QT_MOC_LITERAL(13, 170, 18), // "onSetThreatClicked"
QT_MOC_LITERAL(14, 189, 21), // "onPathPlanningClicked"
QT_MOC_LITERAL(15, 211, 21), // "onAreaCoverageClicked"
QT_MOC_LITERAL(16, 233, 19), // "onAreaSearchClicked"
QT_MOC_LITERAL(17, 253, 18), // "onSearchMapClicked"
QT_MOC_LITERAL(18, 272, 16), // "onConsoleMessage"
QT_MOC_LITERAL(19, 289, 45), // "QWebEnginePage::JavaScriptCon..."
QT_MOC_LITERAL(20, 335, 5), // "level"
QT_MOC_LITERAL(21, 341, 7), // "message"
QT_MOC_LITERAL(22, 349, 10), // "lineNumber"
QT_MOC_LITERAL(23, 360, 8), // "sourceID"
QT_MOC_LITERAL(24, 369, 12), // "onPageLoaded"
QT_MOC_LITERAL(25, 382, 2), // "ok"
QT_MOC_LITERAL(26, 385, 16), // "addClickListener"
QT_MOC_LITERAL(27, 402, 19), // "removeClickListener"
QT_MOC_LITERAL(28, 422, 14), // "handleMapClick"
QT_MOC_LITERAL(29, 437, 13), // "visualizePath"
QT_MOC_LITERAL(30, 451, 8), // "pathData"
QT_MOC_LITERAL(31, 460, 17), // "clearPathOverlays"
QT_MOC_LITERAL(32, 478, 16), // "runMapJavaScript"
QT_MOC_LITERAL(33, 495, 2), // "js"
QT_MOC_LITERAL(34, 498, 8), // "parseLng"
QT_MOC_LITERAL(35, 507, 5), // "coord"
QT_MOC_LITERAL(36, 513, 8), // "parseLat"
QT_MOC_LITERAL(37, 522, 10), // "showMarker"
QT_MOC_LITERAL(38, 533, 5), // "label"
QT_MOC_LITERAL(39, 539, 5), // "color"
QT_MOC_LITERAL(40, 545, 5), // "index"
QT_MOC_LITERAL(41, 551, 21), // "visualizeCoveragePath"
QT_MOC_LITERAL(42, 573, 21) // "clearCoverageOverlays"
},
"MapPage\0heightChanged\0\0height\0"
"downloadMapRequested\0setThreatRequested\0"
"areaSearchRequested\0pathPlanningRequested\0"
"onHeightChanged\0onDownloadMapClicked\0"
"onSetThreatClicked\0onAreaSearchClicked\0"
"onPathPlanningClicked\0onSearchMapClicked\0"
"runMapJavaScript\0js"
"pathPlanningRequested\0areaCoverageRequested\0"
"mapClicked\0lng\0lat\0onHeightChanged\0"
"onDownloadMapClicked\0onSetThreatClicked\0"
"onPathPlanningClicked\0onAreaCoverageClicked\0"
"onAreaSearchClicked\0onSearchMapClicked\0"
"onConsoleMessage\0"
"QWebEnginePage::JavaScriptConsoleMessageLevel\0"
"level\0message\0lineNumber\0sourceID\0"
"onPageLoaded\0ok\0addClickListener\0"
"removeClickListener\0handleMapClick\0"
"visualizePath\0pathData\0clearPathOverlays\0"
"runMapJavaScript\0js\0parseLng\0coord\0"
"parseLat\0showMarker\0label\0color\0index\0"
"visualizeCoveragePath\0clearCoverageOverlays"
};
#undef QT_MOC_LITERAL
@ -464,28 +740,42 @@ static const uint qt_meta_data_MapPage[] = {
8, // revision
0, // classname
0, 0, // classinfo
12, 14, // methods
26, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
5, // signalCount
6, // 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 */,
1, 1, 144, 2, 0x06 /* Public */,
4, 0, 147, 2, 0x06 /* Public */,
5, 0, 148, 2, 0x06 /* Public */,
6, 0, 149, 2, 0x06 /* Public */,
7, 0, 150, 2, 0x06 /* Public */,
8, 2, 151, 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 */,
11, 0, 156, 2, 0x08 /* Private */,
12, 0, 157, 2, 0x08 /* Private */,
13, 0, 158, 2, 0x08 /* Private */,
14, 0, 159, 2, 0x08 /* Private */,
15, 0, 160, 2, 0x08 /* Private */,
16, 0, 161, 2, 0x08 /* Private */,
17, 0, 162, 2, 0x08 /* Private */,
18, 4, 163, 2, 0x08 /* Private */,
24, 1, 172, 2, 0x08 /* Private */,
26, 0, 175, 2, 0x0a /* Public */,
27, 0, 176, 2, 0x0a /* Public */,
28, 2, 177, 2, 0x0a /* Public */,
29, 1, 182, 2, 0x0a /* Public */,
31, 0, 185, 2, 0x0a /* Public */,
32, 1, 186, 2, 0x0a /* Public */,
34, 1, 189, 2, 0x0a /* Public */,
36, 1, 192, 2, 0x0a /* Public */,
37, 5, 195, 2, 0x0a /* Public */,
41, 1, 206, 2, 0x0a /* Public */,
42, 0, 209, 2, 0x0a /* Public */,
// signals: parameters
QMetaType::Void, QMetaType::QString, 3,
@ -493,6 +783,7 @@ static const uint qt_meta_data_MapPage[] = {
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, QMetaType::Double, QMetaType::Double, 9, 10,
// slots: parameters
QMetaType::Void,
@ -501,7 +792,20 @@ static const uint qt_meta_data_MapPage[] = {
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, QMetaType::QString, 15,
QMetaType::Void,
QMetaType::Void, 0x80000000 | 19, QMetaType::QString, QMetaType::Int, QMetaType::QString, 20, 21, 22, 23,
QMetaType::Void, QMetaType::Bool, 25,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, QMetaType::Double, QMetaType::Double, 9, 10,
QMetaType::Void, QMetaType::QString, 30,
QMetaType::Void,
QMetaType::Void, QMetaType::QString, 33,
QMetaType::Double, QMetaType::QString, 35,
QMetaType::Double, QMetaType::QString, 35,
QMetaType::Void, QMetaType::Double, QMetaType::Double, QMetaType::QString, QMetaType::QString, QMetaType::Int, 9, 10, 38, 39, 40,
QMetaType::Void, QMetaType::QString, 30,
QMetaType::Void,
0 // eod
};
@ -515,15 +819,31 @@ void MapPage::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, voi
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 3: _t->pathPlanningRequested(); break;
case 4: _t->areaCoverageRequested(); break;
case 5: _t->mapClicked((*reinterpret_cast< double(*)>(_a[1])),(*reinterpret_cast< double(*)>(_a[2]))); break;
case 6: _t->onHeightChanged(); break;
case 7: _t->onDownloadMapClicked(); break;
case 8: _t->onSetThreatClicked(); break;
case 9: _t->onPathPlanningClicked(); break;
case 10: _t->onSearchMapClicked(); break;
case 11: _t->runMapJavaScript((*reinterpret_cast< const QString(*)>(_a[1]))); break;
case 10: _t->onAreaCoverageClicked(); break;
case 11: _t->onAreaSearchClicked(); break;
case 12: _t->onSearchMapClicked(); break;
case 13: _t->onConsoleMessage((*reinterpret_cast< QWebEnginePage::JavaScriptConsoleMessageLevel(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3])),(*reinterpret_cast< const QString(*)>(_a[4]))); break;
case 14: _t->onPageLoaded((*reinterpret_cast< bool(*)>(_a[1]))); break;
case 15: _t->addClickListener(); break;
case 16: _t->removeClickListener(); break;
case 17: _t->handleMapClick((*reinterpret_cast< double(*)>(_a[1])),(*reinterpret_cast< double(*)>(_a[2]))); break;
case 18: _t->visualizePath((*reinterpret_cast< const QString(*)>(_a[1]))); break;
case 19: _t->clearPathOverlays(); break;
case 20: _t->runMapJavaScript((*reinterpret_cast< const QString(*)>(_a[1]))); break;
case 21: { double _r = _t->parseLng((*reinterpret_cast< const QString(*)>(_a[1])));
if (_a[0]) *reinterpret_cast< double*>(_a[0]) = std::move(_r); } break;
case 22: { double _r = _t->parseLat((*reinterpret_cast< const QString(*)>(_a[1])));
if (_a[0]) *reinterpret_cast< double*>(_a[0]) = std::move(_r); } break;
case 23: _t->showMarker((*reinterpret_cast< double(*)>(_a[1])),(*reinterpret_cast< double(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3])),(*reinterpret_cast< const QString(*)>(_a[4])),(*reinterpret_cast< int(*)>(_a[5]))); break;
case 24: _t->visualizeCoveragePath((*reinterpret_cast< const QString(*)>(_a[1]))); break;
case 25: _t->clearCoverageOverlays(); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
@ -551,18 +871,25 @@ void MapPage::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, voi
}
{
using _t = void (MapPage::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MapPage::areaSearchRequested)) {
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MapPage::pathPlanningRequested)) {
*result = 3;
return;
}
}
{
using _t = void (MapPage::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MapPage::pathPlanningRequested)) {
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MapPage::areaCoverageRequested)) {
*result = 4;
return;
}
}
{
using _t = void (MapPage::*)(double , double );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MapPage::mapClicked)) {
*result = 5;
return;
}
}
}
}
@ -595,13 +922,13 @@ int MapPage::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 12)
if (_id < 26)
qt_static_metacall(this, _c, _id, _a);
_id -= 12;
_id -= 26;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 12)
if (_id < 26)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 12;
_id -= 26;
}
return _id;
}
@ -626,15 +953,22 @@ void MapPage::setThreatRequested()
}
// SIGNAL 3
void MapPage::areaSearchRequested()
void MapPage::pathPlanningRequested()
{
QMetaObject::activate(this, &staticMetaObject, 3, nullptr);
}
// SIGNAL 4
void MapPage::pathPlanningRequested()
void MapPage::areaCoverageRequested()
{
QMetaObject::activate(this, &staticMetaObject, 4, nullptr);
}
// SIGNAL 5
void MapPage::mapClicked(double _t1, double _t2)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
QMetaObject::activate(this, &staticMetaObject, 5, _a);
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

Binary file not shown.

@ -0,0 +1,376 @@
/****************************************************************************
** Meta object code from reading C++ file 'taskdata.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 <memory>
#include "../src/pages/taskdata.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'taskdata.h' doesn't include <QObject>."
#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_TaskData_t {
QByteArrayData data[11];
char stringdata0[113];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_TaskData_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_TaskData_t qt_meta_stringdata_TaskData = {
{
QT_MOC_LITERAL(0, 0, 8), // "TaskData"
QT_MOC_LITERAL(1, 9, 13), // "statusChanged"
QT_MOC_LITERAL(2, 23, 0), // ""
QT_MOC_LITERAL(3, 24, 10), // "TaskStatus"
QT_MOC_LITERAL(4, 35, 6), // "status"
QT_MOC_LITERAL(5, 42, 11), // "taskStarted"
QT_MOC_LITERAL(6, 54, 13), // "taskCompleted"
QT_MOC_LITERAL(7, 68, 13), // "taskCancelled"
QT_MOC_LITERAL(8, 82, 10), // "taskFailed"
QT_MOC_LITERAL(9, 93, 6), // "reason"
QT_MOC_LITERAL(10, 100, 12) // "taskRecalled"
},
"TaskData\0statusChanged\0\0TaskStatus\0"
"status\0taskStarted\0taskCompleted\0"
"taskCancelled\0taskFailed\0reason\0"
"taskRecalled"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_TaskData[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
6, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
6, // signalCount
// signals: name, argc, parameters, tag, flags
1, 1, 44, 2, 0x06 /* Public */,
5, 0, 47, 2, 0x06 /* Public */,
6, 0, 48, 2, 0x06 /* Public */,
7, 0, 49, 2, 0x06 /* Public */,
8, 1, 50, 2, 0x06 /* Public */,
10, 0, 53, 2, 0x06 /* Public */,
// signals: parameters
QMetaType::Void, 0x80000000 | 3, 4,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, QMetaType::QString, 9,
QMetaType::Void,
0 // eod
};
void TaskData::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<TaskData *>(_o);
(void)_t;
switch (_id) {
case 0: _t->statusChanged((*reinterpret_cast< TaskStatus(*)>(_a[1]))); break;
case 1: _t->taskStarted(); break;
case 2: _t->taskCompleted(); break;
case 3: _t->taskCancelled(); break;
case 4: _t->taskFailed((*reinterpret_cast< const QString(*)>(_a[1]))); break;
case 5: _t->taskRecalled(); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (TaskData::*)(TaskStatus );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&TaskData::statusChanged)) {
*result = 0;
return;
}
}
{
using _t = void (TaskData::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&TaskData::taskStarted)) {
*result = 1;
return;
}
}
{
using _t = void (TaskData::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&TaskData::taskCompleted)) {
*result = 2;
return;
}
}
{
using _t = void (TaskData::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&TaskData::taskCancelled)) {
*result = 3;
return;
}
}
{
using _t = void (TaskData::*)(const QString & );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&TaskData::taskFailed)) {
*result = 4;
return;
}
}
{
using _t = void (TaskData::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&TaskData::taskRecalled)) {
*result = 5;
return;
}
}
}
}
QT_INIT_METAOBJECT const QMetaObject TaskData::staticMetaObject = { {
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
qt_meta_stringdata_TaskData.data,
qt_meta_data_TaskData,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *TaskData::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *TaskData::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_TaskData.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int TaskData::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 < 6)
qt_static_metacall(this, _c, _id, _a);
_id -= 6;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 6)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 6;
}
return _id;
}
// SIGNAL 0
void TaskData::statusChanged(TaskStatus _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
// SIGNAL 1
void TaskData::taskStarted()
{
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
}
// SIGNAL 2
void TaskData::taskCompleted()
{
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
}
// SIGNAL 3
void TaskData::taskCancelled()
{
QMetaObject::activate(this, &staticMetaObject, 3, nullptr);
}
// SIGNAL 4
void TaskData::taskFailed(const QString & _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 4, _a);
}
// SIGNAL 5
void TaskData::taskRecalled()
{
QMetaObject::activate(this, &staticMetaObject, 5, nullptr);
}
struct qt_meta_stringdata_TaskManager_t {
QByteArrayData data[8];
char stringdata0[80];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_TaskManager_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_TaskManager_t qt_meta_stringdata_TaskManager = {
{
QT_MOC_LITERAL(0, 0, 11), // "TaskManager"
QT_MOC_LITERAL(1, 12, 11), // "taskCreated"
QT_MOC_LITERAL(2, 24, 0), // ""
QT_MOC_LITERAL(3, 25, 6), // "taskId"
QT_MOC_LITERAL(4, 32, 11), // "taskRemoved"
QT_MOC_LITERAL(5, 44, 17), // "taskStatusChanged"
QT_MOC_LITERAL(6, 62, 10), // "TaskStatus"
QT_MOC_LITERAL(7, 73, 6) // "status"
},
"TaskManager\0taskCreated\0\0taskId\0"
"taskRemoved\0taskStatusChanged\0TaskStatus\0"
"status"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_TaskManager[] = {
// 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, 2, 35, 2, 0x06 /* Public */,
// signals: parameters
QMetaType::Void, QMetaType::QString, 3,
QMetaType::Void, QMetaType::QString, 3,
QMetaType::Void, QMetaType::QString, 0x80000000 | 6, 3, 7,
0 // eod
};
void TaskManager::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<TaskManager *>(_o);
(void)_t;
switch (_id) {
case 0: _t->taskCreated((*reinterpret_cast< const QString(*)>(_a[1]))); break;
case 1: _t->taskRemoved((*reinterpret_cast< const QString(*)>(_a[1]))); break;
case 2: _t->taskStatusChanged((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< TaskStatus(*)>(_a[2]))); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (TaskManager::*)(const QString & );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&TaskManager::taskCreated)) {
*result = 0;
return;
}
}
{
using _t = void (TaskManager::*)(const QString & );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&TaskManager::taskRemoved)) {
*result = 1;
return;
}
}
{
using _t = void (TaskManager::*)(const QString & , TaskStatus );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&TaskManager::taskStatusChanged)) {
*result = 2;
return;
}
}
}
}
QT_INIT_METAOBJECT const QMetaObject TaskManager::staticMetaObject = { {
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
qt_meta_stringdata_TaskManager.data,
qt_meta_data_TaskManager,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *TaskManager::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *TaskManager::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_TaskManager.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int TaskManager::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<int*>(_a[0]) = -1;
_id -= 3;
}
return _id;
}
// SIGNAL 0
void TaskManager::taskCreated(const QString & _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
// SIGNAL 1
void TaskManager::taskRemoved(const QString & _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 1, _a);
}
// SIGNAL 2
void TaskManager::taskStatusChanged(const QString & _t1, TaskStatus _t2)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
QMetaObject::activate(this, &staticMetaObject, 2, _a);
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

Binary file not shown.

@ -0,0 +1,188 @@
/****************************************************************************
** Meta object code from reading C++ file 'taskdetailspage.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 <memory>
#include "../src/pages/taskdetailspage.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'taskdetailspage.h' doesn't include <QObject>."
#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_TaskDetailsPage_t {
QByteArrayData data[17];
char stringdata0[260];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_TaskDetailsPage_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_TaskDetailsPage_t qt_meta_stringdata_TaskDetailsPage = {
{
QT_MOC_LITERAL(0, 0, 15), // "TaskDetailsPage"
QT_MOC_LITERAL(1, 16, 19), // "taskActionRequested"
QT_MOC_LITERAL(2, 36, 0), // ""
QT_MOC_LITERAL(3, 37, 6), // "taskId"
QT_MOC_LITERAL(4, 44, 6), // "action"
QT_MOC_LITERAL(5, 51, 14), // "onRefreshTasks"
QT_MOC_LITERAL(6, 66, 15), // "onFilterChanged"
QT_MOC_LITERAL(7, 82, 22), // "onTaskSelectionChanged"
QT_MOC_LITERAL(8, 105, 18), // "onStartTaskClicked"
QT_MOC_LITERAL(9, 124, 21), // "onCompleteTaskClicked"
QT_MOC_LITERAL(10, 146, 19), // "onCancelTaskClicked"
QT_MOC_LITERAL(11, 166, 17), // "onFailTaskClicked"
QT_MOC_LITERAL(12, 184, 19), // "onRecallTaskClicked"
QT_MOC_LITERAL(13, 204, 19), // "onTaskStatusChanged"
QT_MOC_LITERAL(14, 224, 10), // "TaskStatus"
QT_MOC_LITERAL(15, 235, 6), // "status"
QT_MOC_LITERAL(16, 242, 17) // "onTaskDataChanged"
},
"TaskDetailsPage\0taskActionRequested\0"
"\0taskId\0action\0onRefreshTasks\0"
"onFilterChanged\0onTaskSelectionChanged\0"
"onStartTaskClicked\0onCompleteTaskClicked\0"
"onCancelTaskClicked\0onFailTaskClicked\0"
"onRecallTaskClicked\0onTaskStatusChanged\0"
"TaskStatus\0status\0onTaskDataChanged"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_TaskDetailsPage[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
11, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
1, // signalCount
// signals: name, argc, parameters, tag, flags
1, 2, 69, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
5, 0, 74, 2, 0x08 /* Private */,
6, 0, 75, 2, 0x08 /* Private */,
7, 0, 76, 2, 0x08 /* Private */,
8, 0, 77, 2, 0x08 /* Private */,
9, 0, 78, 2, 0x08 /* Private */,
10, 0, 79, 2, 0x08 /* Private */,
11, 0, 80, 2, 0x08 /* Private */,
12, 0, 81, 2, 0x08 /* Private */,
13, 2, 82, 2, 0x08 /* Private */,
16, 0, 87, 2, 0x08 /* Private */,
// signals: parameters
QMetaType::Void, QMetaType::QString, QMetaType::QString, 3, 4,
// slots: parameters
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, QMetaType::QString, 0x80000000 | 14, 3, 15,
QMetaType::Void,
0 // eod
};
void TaskDetailsPage::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<TaskDetailsPage *>(_o);
(void)_t;
switch (_id) {
case 0: _t->taskActionRequested((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break;
case 1: _t->onRefreshTasks(); break;
case 2: _t->onFilterChanged(); break;
case 3: _t->onTaskSelectionChanged(); break;
case 4: _t->onStartTaskClicked(); break;
case 5: _t->onCompleteTaskClicked(); break;
case 6: _t->onCancelTaskClicked(); break;
case 7: _t->onFailTaskClicked(); break;
case 8: _t->onRecallTaskClicked(); break;
case 9: _t->onTaskStatusChanged((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< TaskStatus(*)>(_a[2]))); break;
case 10: _t->onTaskDataChanged(); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (TaskDetailsPage::*)(const QString & , const QString & );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&TaskDetailsPage::taskActionRequested)) {
*result = 0;
return;
}
}
}
}
QT_INIT_METAOBJECT const QMetaObject TaskDetailsPage::staticMetaObject = { {
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_meta_stringdata_TaskDetailsPage.data,
qt_meta_data_TaskDetailsPage,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *TaskDetailsPage::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *TaskDetailsPage::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_TaskDetailsPage.stringdata0))
return static_cast<void*>(this);
return QWidget::qt_metacast(_clname);
}
int TaskDetailsPage::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 < 11)
qt_static_metacall(this, _c, _id, _a);
_id -= 11;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 11)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 11;
}
return _id;
}
// SIGNAL 0
void TaskDetailsPage::taskActionRequested(const QString & _t1, const QString & _t2)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -1,19 +0,0 @@
#!/bin/bash
echo "=== 运行Drone_project并捕获所有日志 ==="
echo "程序将在15秒后自动停止"
echo ""
# 先运行程序看看所有输出
timeout 15s ./build/Drone_project 2>&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 "=== 调试完成 ==="

@ -10,10 +10,14 @@ SOURCES += \
src/models/detectiondata.cpp \
src/pages/videopage.cpp \
src/pages/mappage.cpp \
src/pages/mapbridge.cpp \
src/pages/datapage.cpp \
src/pages/taskdata.cpp \
src/pages/visionmodelpage.cpp \
src/utils/stylehelper.cpp \
src/pages/taskdecisionpage.cpp \
src/pages/dronemanagementpage.cpp \
src/pages/taskdetailspage.cpp \
src/utils/config.cpp \
src/utils/logger.cpp \
src/utils/errorhandler.cpp
@ -24,10 +28,14 @@ HEADERS += \
src/models/detectiondata.h \
src/pages/videopage.h \
src/pages/mappage.h \
src/pages/mapbridge.h \
src/pages/datapage.h \
src/pages/taskdata.h \
src/pages/visionmodelpage.h \
src/utils/stylehelper.h \
src/pages/taskdecisionpage.h \
src/pages/dronemanagementpage.h \
src/pages/taskdetailspage.h \
src/utils/config.h \
src/utils/logger.h \
src/utils/errorhandler.h

@ -1,271 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 16.0.1, 2025-09-24T21:35:22. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{d6548bba-c6d9-4cdb-a6a4-a3221e622b53}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="qlonglong">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoDetect">true</value>
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.LineEndingBehavior">0</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="int" key="EditorConfiguration.PreferAfterWhitespaceComments">0</value>
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">2</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
<value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
<value type="bool" key="AutoTest.Framework.Boost">true</value>
<value type="bool" key="AutoTest.Framework.CTest">false</value>
<value type="bool" key="AutoTest.Framework.Catch">true</value>
<value type="bool" key="AutoTest.Framework.GTest">true</value>
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
</valuemap>
<value type="bool" key="AutoTest.ApplyFilter">false</value>
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
<valuelist type="QVariantList" key="AutoTest.PathFilters"/>
<value type="int" key="AutoTest.RunAfterBuild">0</value>
<value type="bool" key="AutoTest.UseGlobal">true</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">6</value>
<value type="bool" key="ClangTools.PreferConfigFile">true</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.15.2 GCC 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.15.2 GCC 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5152.gcc_64_kit</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/wangjing/uav/Drone_project/build/Desktop_Qt_5_15_2_GCC_64bit-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/wangjing/uav/Drone_project/build/Desktop_Qt_5_15_2_GCC_64bit-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">构建</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">清除</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">清除</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/wangjing/uav/Drone_project/build/Desktop_Qt_5_15_2_GCC_64bit-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/wangjing/uav/Drone_project/build/Desktop_Qt_5_15_2_GCC_64bit-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">构建</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">清除</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">清除</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/wangjing/uav/Drone_project/build/Desktop_Qt_5_15_2_GCC_64bit-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/wangjing/uav/Drone_project/build/Desktop_Qt_5_15_2_GCC_64bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">构建</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">清除</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">清除</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value>
<value type="int" key="SeparateDebugInfo">0</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">部署</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">部署</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/wangjing/uav/Drone_project/drone_ui.pro</value>
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/wangjing/uav/Drone_project/build/Desktop_Qt_5_15_2_GCC_64bit-Debug</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="qlonglong">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

@ -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 <memory>
#include "src/pages/datapage.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'datapage.h' doesn't include <QObject>."
#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<DataPage *>(_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<int *>(_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<QWidget::staticMetaObject>(),
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<void*>(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<int*>(_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

@ -0,0 +1,216 @@
#include "dronedata.h"
#include <QRandomGenerator>
#include <QDebug>
#include <QtMath>
/**
*
*
*/
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(500); // 500ms更新一次减少更新频率
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);
// 暂时禁用模拟数据更新,避免格式化问题
// QTimer::singleShot(1000, drone, &DroneData::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<DroneData*> 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;
}

@ -0,0 +1,108 @@
#ifndef DRONEDATA_H
#define DRONEDATA_H
#include <QObject>
#include <QString>
#include <QVector3D>
#include <QTimer>
#include <QVector>
#include <QStringList>
/**
*
* 姿
*/
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<DroneData*> 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<DroneData*> drones_;
QString currentDroneId_;
};
#endif // DRONEDATA_H

@ -0,0 +1,447 @@
#include "dronemanagementpage.h"
#include <QDebug>
#include <QHeaderView>
#include <QMessageBox>
#include <QApplication>
/**
*
*
*/
DroneManagementPage::DroneManagementPage(QWidget* parent)
: QWidget(parent)
, mainFrame_(nullptr)
, droneTable_(nullptr)
, controlGroup_(nullptr)
, statusGroup_(nullptr)
, droneIdEdit_(nullptr)
, droneNameEdit_(nullptr)
, addDroneBtn_(nullptr)
, removeDroneBtn_(nullptr)
, connectBtn_(nullptr)
, disconnectBtn_(nullptr)
, refreshBtn_(nullptr)
, totalDronesLabel_(nullptr)
, connectedDronesLabel_(nullptr)
, selectedDroneLabel_(nullptr)
, positionLabel_(nullptr)
, velocityLabel_(nullptr)
, attitudeLabel_(nullptr)
, droneManager_(nullptr)
, refreshTimer_(nullptr)
, selectedDroneId_("")
{
setupUI();
// 设置定时刷新
refreshTimer_ = new QTimer(this);
connect(refreshTimer_, &QTimer::timeout, this, &DroneManagementPage::onRefreshData);
// 暂时禁用定时刷新,避免格式化问题
// refreshTimer_->start(2000); // 每2秒刷新一次减少刷新频率
}
DroneManagementPage::~DroneManagementPage() {
if (refreshTimer_) {
refreshTimer_->stop();
}
}
void DroneManagementPage::setDroneManager(DroneManager* manager) {
droneManager_ = manager;
if (droneManager_) {
// 连接信号
connect(droneManager_, &DroneManager::droneAdded, this, &DroneManagementPage::onDroneDataChanged);
connect(droneManager_, &DroneManager::droneRemoved, this, &DroneManagementPage::onDroneDataChanged);
connect(droneManager_, &DroneManager::currentDroneChanged, this, &DroneManagementPage::onDroneDataChanged);
// 初始化表格数据
updateDroneTable();
updateStatusDisplay();
}
}
void DroneManagementPage::setupUI() {
auto* mainLayout = new QVBoxLayout(this);
mainLayout->setSpacing(10);
mainLayout->setContentsMargins(10, 10, 10, 10);
// 创建主框架
mainFrame_ = new QFrame(this);
mainFrame_->setStyleSheet("QFrame{background:#f8f9fa; border:1px solid #dee2e6; border-radius:8px;}");
auto* frameLayout = new QVBoxLayout(mainFrame_);
frameLayout->setSpacing(15);
frameLayout->setContentsMargins(15, 15, 15, 15);
setupDroneTable();
setupControlPanel();
setupStatusPanel();
frameLayout->addWidget(droneTable_, 2);
frameLayout->addWidget(controlGroup_, 1);
frameLayout->addWidget(statusGroup_, 1);
mainLayout->addWidget(mainFrame_);
}
void DroneManagementPage::setupDroneTable() {
droneTable_ = new QTableWidget(this);
droneTable_->setColumnCount(8);
droneTable_->setHorizontalHeaderLabels({
"无人机ID", "名称", "连接状态", "位置(X,Y,Z)",
"速度(X,Y,Z)", "姿态(Roll,Pitch,Yaw)", "预期位置", "预期速度"
});
// 设置表格属性
droneTable_->setAlternatingRowColors(true);
droneTable_->setSelectionBehavior(QAbstractItemView::SelectRows);
droneTable_->setSelectionMode(QAbstractItemView::SingleSelection);
droneTable_->setSortingEnabled(false);
// 设置列宽
QHeaderView* header = droneTable_->horizontalHeader();
header->setStretchLastSection(true);
header->setSectionResizeMode(QHeaderView::ResizeToContents);
// 连接选择变化信号
connect(droneTable_, &QTableWidget::itemSelectionChanged, this, &DroneManagementPage::onDroneSelectionChanged);
}
void DroneManagementPage::setupControlPanel() {
controlGroup_ = new QGroupBox("无人机控制", this);
auto* groupLayout = new QVBoxLayout(controlGroup_);
groupLayout->setSpacing(10);
// 添加无人机区域
auto* addLayout = new QHBoxLayout();
addLayout->addWidget(new QLabel("ID:", this));
droneIdEdit_ = new QLineEdit(this);
droneIdEdit_->setPlaceholderText("输入无人机ID");
addLayout->addWidget(droneIdEdit_);
addLayout->addWidget(new QLabel("名称:", this));
droneNameEdit_ = new QLineEdit(this);
droneNameEdit_->setPlaceholderText("输入无人机名称");
addLayout->addWidget(droneNameEdit_);
addDroneBtn_ = new QPushButton("添加无人机", this);
addDroneBtn_->setStyleSheet("QPushButton{background:#28a745; color:white; border:none; padding:8px 16px; border-radius:4px;}");
connect(addDroneBtn_, &QPushButton::clicked, this, &DroneManagementPage::onAddDroneClicked);
addLayout->addWidget(addDroneBtn_);
groupLayout->addLayout(addLayout);
// 操作按钮区域
auto* actionLayout = new QHBoxLayout();
removeDroneBtn_ = new QPushButton("删除选中", this);
removeDroneBtn_->setStyleSheet("QPushButton{background:#dc3545; color:white; border:none; padding:8px 16px; border-radius:4px;}");
connect(removeDroneBtn_, &QPushButton::clicked, this, &DroneManagementPage::onRemoveDroneClicked);
actionLayout->addWidget(removeDroneBtn_);
connectBtn_ = new QPushButton("连接", this);
connectBtn_->setStyleSheet("QPushButton{background:#007bff; color:white; border:none; padding:8px 16px; border-radius:4px;}");
connect(connectBtn_, &QPushButton::clicked, this, &DroneManagementPage::onConnectDroneClicked);
actionLayout->addWidget(connectBtn_);
disconnectBtn_ = new QPushButton("断开", this);
disconnectBtn_->setStyleSheet("QPushButton{background:#6c757d; color:white; border:none; padding:8px 16px; border-radius:4px;}");
connect(disconnectBtn_, &QPushButton::clicked, this, &DroneManagementPage::onDisconnectDroneClicked);
actionLayout->addWidget(disconnectBtn_);
refreshBtn_ = new QPushButton("刷新", this);
refreshBtn_->setStyleSheet("QPushButton{background:#17a2b8; color:white; border:none; padding:8px 16px; border-radius:4px;}");
connect(refreshBtn_, &QPushButton::clicked, this, &DroneManagementPage::onRefreshData);
actionLayout->addWidget(refreshBtn_);
groupLayout->addLayout(actionLayout);
}
void DroneManagementPage::setupStatusPanel() {
statusGroup_ = new QGroupBox("状态信息", this);
auto* groupLayout = new QVBoxLayout(statusGroup_);
groupLayout->setSpacing(8);
// 统计信息
auto* statsLayout = new QHBoxLayout();
totalDronesLabel_ = new QLabel("总无人机数: 0", this);
totalDronesLabel_->setStyleSheet("QLabel{font-weight:bold; color:#495057;}");
statsLayout->addWidget(totalDronesLabel_);
connectedDronesLabel_ = new QLabel("已连接: 0", this);
connectedDronesLabel_->setStyleSheet("QLabel{font-weight:bold; color:#28a745;}");
statsLayout->addWidget(connectedDronesLabel_);
groupLayout->addLayout(statsLayout);
// 选中无人机信息
selectedDroneLabel_ = new QLabel("未选择无人机", this);
selectedDroneLabel_->setStyleSheet("QLabel{font-weight:bold; color:#007bff;}");
groupLayout->addWidget(selectedDroneLabel_);
// 详细信息
auto* detailLayout = new QHBoxLayout();
positionLabel_ = new QLabel("位置: --", this);
detailLayout->addWidget(positionLabel_);
velocityLabel_ = new QLabel("速度: --", this);
detailLayout->addWidget(velocityLabel_);
attitudeLabel_ = new QLabel("姿态: --", this);
detailLayout->addWidget(attitudeLabel_);
groupLayout->addLayout(detailLayout);
}
void DroneManagementPage::updateDroneTable() {
if (!droneManager_) return;
droneTable_->setRowCount(0);
auto drones = droneManager_->getAllDrones();
for (auto* drone : drones) {
addDroneToTable(drone);
}
}
void DroneManagementPage::addDroneToTable(DroneData* drone) {
if (!drone) return;
int row = droneTable_->rowCount();
droneTable_->insertRow(row);
// 设置行数据
droneTable_->setItem(row, 0, new QTableWidgetItem(drone->getId()));
droneTable_->setItem(row, 1, new QTableWidgetItem(drone->getName()));
// 连接状态
auto* statusItem = new QTableWidgetItem(drone->isConnected() ? "已连接" : "未连接");
statusItem->setBackground(QColor(drone->isConnected() ? "#d4edda" : "#f8d7da"));
droneTable_->setItem(row, 2, statusItem);
// 位置信息
droneTable_->setItem(row, 3, new QTableWidgetItem(getPositionString(drone->getPosition())));
droneTable_->setItem(row, 4, new QTableWidgetItem(getVelocityString(drone->getVelocity())));
droneTable_->setItem(row, 5, new QTableWidgetItem(getAttitudeString(drone->getAttitude())));
droneTable_->setItem(row, 6, new QTableWidgetItem(getPositionString(drone->getExpectedPosition())));
droneTable_->setItem(row, 7, new QTableWidgetItem(getVelocityString(drone->getExpectedVelocity())));
// 连接数据变化信号
connect(drone, &DroneData::dataChanged, this, &DroneManagementPage::onDroneDataChanged);
connect(drone, &DroneData::connectionChanged, this, &DroneManagementPage::onDroneConnectionChanged);
}
void DroneManagementPage::removeDroneFromTable(const QString& droneId) {
for (int i = 0; i < droneTable_->rowCount(); ++i) {
auto* item = droneTable_->item(i, 0);
if (item && item->text() == droneId) {
droneTable_->removeRow(i);
break;
}
}
}
void DroneManagementPage::updateDroneRow(DroneData* drone) {
if (!drone) return;
for (int i = 0; i < droneTable_->rowCount(); ++i) {
auto* item = droneTable_->item(i, 0);
if (item && item->text() == drone->getId()) {
// 更新连接状态
auto* statusItem = droneTable_->item(i, 2);
if (statusItem) {
statusItem->setText(drone->isConnected() ? "已连接" : "未连接");
statusItem->setBackground(QColor(drone->isConnected() ? "#d4edda" : "#f8d7da"));
}
// 更新位置信息
droneTable_->setItem(i, 3, new QTableWidgetItem(getPositionString(drone->getPosition())));
droneTable_->setItem(i, 4, new QTableWidgetItem(getVelocityString(drone->getVelocity())));
droneTable_->setItem(i, 5, new QTableWidgetItem(getAttitudeString(drone->getAttitude())));
droneTable_->setItem(i, 6, new QTableWidgetItem(getPositionString(drone->getExpectedPosition())));
droneTable_->setItem(i, 7, new QTableWidgetItem(getVelocityString(drone->getExpectedVelocity())));
break;
}
}
}
void DroneManagementPage::updateStatusDisplay() {
if (!droneManager_) return;
auto drones = droneManager_->getAllDrones();
int totalCount = drones.size();
int connectedCount = 0;
for (auto* drone : drones) {
if (drone->isConnected()) {
connectedCount++;
}
}
totalDronesLabel_->setText(QString("总无人机数: %1").arg(totalCount));
connectedDronesLabel_->setText(QString("已连接: %1").arg(connectedCount));
// 更新选中无人机信息
if (!selectedDroneId_.isEmpty()) {
auto* selectedDrone = droneManager_->getDrone(selectedDroneId_);
if (selectedDrone) {
selectedDroneLabel_->setText(QString("选中: %1 (%2)").arg(selectedDrone->getName()).arg(selectedDrone->getId()));
positionLabel_->setText(QString("位置: %1").arg(getPositionString(selectedDrone->getPosition())));
velocityLabel_->setText(QString("速度: %1").arg(getVelocityString(selectedDrone->getVelocity())));
attitudeLabel_->setText(QString("姿态: %1").arg(getAttitudeString(selectedDrone->getAttitude())));
}
} else {
selectedDroneLabel_->setText("未选择无人机");
positionLabel_->setText("位置: --");
velocityLabel_->setText("速度: --");
attitudeLabel_->setText("姿态: --");
}
}
void DroneManagementPage::updateControlButtons() {
bool hasSelection = !selectedDroneId_.isEmpty();
removeDroneBtn_->setEnabled(hasSelection);
connectBtn_->setEnabled(hasSelection);
disconnectBtn_->setEnabled(hasSelection);
}
QString DroneManagementPage::getStatusColor(bool connected) const {
return connected ? "#28a745" : "#dc3545";
}
QString DroneManagementPage::getPositionString(const QVector3D& pos) const {
return QString("(%1, %2, %3)")
.arg(QString::number(pos.x(), 'f', 2))
.arg(QString::number(pos.y(), 'f', 2))
.arg(QString::number(pos.z(), 'f', 2));
}
QString DroneManagementPage::getVelocityString(const QVector3D& vel) const {
return QString("(%1, %2, %3)")
.arg(QString::number(vel.x(), 'f', 2))
.arg(QString::number(vel.y(), 'f', 2))
.arg(QString::number(vel.z(), 'f', 2));
}
QString DroneManagementPage::getAttitudeString(const QVector3D& att) const {
return QString("(%1°, %2°, %3°)")
.arg(QString::number(att.x(), 'f', 1))
.arg(QString::number(att.y(), 'f', 1))
.arg(QString::number(att.z(), 'f', 1));
}
void DroneManagementPage::onAddDroneClicked() {
QString id = droneIdEdit_->text().trimmed();
QString name = droneNameEdit_->text().trimmed();
if (id.isEmpty()) {
QMessageBox::warning(this, "警告", "请输入无人机ID");
return;
}
if (name.isEmpty()) {
name = QString("无人机_%1").arg(id);
}
if (droneManager_) {
// 检查是否已存在
if (droneManager_->getDrone(id)) {
QMessageBox::warning(this, "警告", "无人机ID已存在");
return;
}
droneManager_->addDrone(id, name);
droneIdEdit_->clear();
droneNameEdit_->clear();
QMessageBox::information(this, "成功", "无人机添加成功");
}
}
void DroneManagementPage::onRemoveDroneClicked() {
if (selectedDroneId_.isEmpty()) {
QMessageBox::warning(this, "警告", "请先选择要删除的无人机");
return;
}
int ret = QMessageBox::question(this, "确认删除",
QString("确定要删除无人机 %1 吗?").arg(selectedDroneId_),
QMessageBox::Yes | QMessageBox::No);
if (ret == QMessageBox::Yes && droneManager_) {
droneManager_->removeDrone(selectedDroneId_);
selectedDroneId_.clear();
updateStatusDisplay();
updateControlButtons();
}
}
void DroneManagementPage::onConnectDroneClicked() {
if (selectedDroneId_.isEmpty()) {
QMessageBox::warning(this, "警告", "请先选择要连接的无人机");
return;
}
if (droneManager_) {
auto* drone = droneManager_->getDrone(selectedDroneId_);
if (drone && !drone->isConnected()) {
drone->setConnected(true);
emit droneConnectionRequested(selectedDroneId_, true);
}
}
}
void DroneManagementPage::onDisconnectDroneClicked() {
if (selectedDroneId_.isEmpty()) {
QMessageBox::warning(this, "警告", "请先选择要断开的无人机");
return;
}
if (droneManager_) {
auto* drone = droneManager_->getDrone(selectedDroneId_);
if (drone && drone->isConnected()) {
drone->setConnected(false);
emit droneConnectionRequested(selectedDroneId_, false);
}
}
}
void DroneManagementPage::onDroneSelectionChanged() {
int currentRow = droneTable_->currentRow();
if (currentRow >= 0) {
auto* item = droneTable_->item(currentRow, 0);
if (item) {
selectedDroneId_ = item->text();
if (droneManager_) {
droneManager_->setCurrentDrone(selectedDroneId_);
}
emit droneSelected(selectedDroneId_);
}
} else {
selectedDroneId_.clear();
}
updateStatusDisplay();
updateControlButtons();
}
void DroneManagementPage::onRefreshData() {
if (droneManager_) {
updateDroneTable();
updateStatusDisplay();
}
}
void DroneManagementPage::onDroneDataChanged() {
if (droneManager_) {
updateDroneTable();
updateStatusDisplay();
}
}
void DroneManagementPage::onDroneConnectionChanged(bool connected) {
Q_UNUSED(connected)
onDroneDataChanged();
}

@ -0,0 +1,95 @@
#ifndef DRONEMANAGEMENTPAGE_H
#define DRONEMANAGEMENTPAGE_H
#include <QWidget>
#include <QFrame>
#include <QGroupBox>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QTableWidget>
#include <QPushButton>
#include <QLineEdit>
#include <QLabel>
#include <QComboBox>
#include <QHeaderView>
#include <QMessageBox>
#include <QTimer>
#include "../models/dronedata.h"
/**
*
*
*/
class DroneManagementPage : public QWidget {
Q_OBJECT
public:
explicit DroneManagementPage(QWidget* parent = nullptr);
~DroneManagementPage();
// 设置无人机管理器
void setDroneManager(DroneManager* manager);
signals:
void droneSelected(const QString& droneId);
void droneConnectionRequested(const QString& droneId, bool connect);
private slots:
void onAddDroneClicked();
void onRemoveDroneClicked();
void onConnectDroneClicked();
void onDisconnectDroneClicked();
void onDroneSelectionChanged();
void onRefreshData();
void onDroneDataChanged();
void onDroneConnectionChanged(bool connected);
private:
void setupUI();
void setupDroneTable();
void setupControlPanel();
void setupStatusPanel();
void updateDroneTable();
void updateStatusDisplay();
void updateControlButtons();
void addDroneToTable(DroneData* drone);
void removeDroneFromTable(const QString& droneId);
void updateDroneRow(DroneData* drone);
// 获取状态颜色
QString getStatusColor(bool connected) const;
QString getPositionString(const QVector3D& pos) const;
QString getVelocityString(const QVector3D& vel) const;
QString getAttitudeString(const QVector3D& att) const;
// UI组件
QFrame* mainFrame_;
QTableWidget* droneTable_;
QGroupBox* controlGroup_;
QGroupBox* statusGroup_;
// 控制面板组件
QLineEdit* droneIdEdit_;
QLineEdit* droneNameEdit_;
QPushButton* addDroneBtn_;
QPushButton* removeDroneBtn_;
QPushButton* connectBtn_;
QPushButton* disconnectBtn_;
QPushButton* refreshBtn_;
// 状态显示组件
QLabel* totalDronesLabel_;
QLabel* connectedDronesLabel_;
QLabel* selectedDroneLabel_;
QLabel* positionLabel_;
QLabel* velocityLabel_;
QLabel* attitudeLabel_;
// 数据管理
DroneManager* droneManager_;
QTimer* refreshTimer_;
QString selectedDroneId_;
};
#endif // DRONEMANAGEMENTPAGE_H

@ -0,0 +1,17 @@
#include "mapbridge.h"
#include <QDebug>
MapBridge::MapBridge(QObject *parent)
: QObject(parent)
{
}
void MapBridge::onClick(double lng, double lat)
{
emit mapClicked(lng, lat);
}
void MapBridge::onMapReady()
{
qDebug() << "Map is ready in C++";
}

@ -0,0 +1,20 @@
#ifndef MAPBRIDGE_H
#define MAPBRIDGE_H
#include <QObject>
#include <QPointF>
class MapBridge : public QObject {
Q_OBJECT
public:
explicit MapBridge(QObject *parent = nullptr);
signals:
void mapClicked(double lng, double lat);
public slots:
Q_INVOKABLE void onClick(double lng, double lat);
Q_INVOKABLE void onMapReady();
};
#endif // MAPBRIDGE_H

File diff suppressed because it is too large Load Diff

@ -23,14 +23,22 @@
#include <QMessageBox> // 添加以支持输入验证警告
#include <QGroupBox> // 添加QGroupBox支持
#include <QRadioButton> // 添加QRadioButton支持
#include <QSpinBox>
#include <QButtonGroup>
#include <QList>
#include <QPair>
#include "mapbridge.h"
class CustomWebEnginePage : public QWebEnginePage {
Q_OBJECT
signals:
void consoleMessage(QWebEnginePage::JavaScriptConsoleMessageLevel level, const QString &message, int lineNumber, const QString &sourceID);
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 << ")";
emit consoleMessage(level, message, lineNumber, sourceID);
}
};
@ -47,8 +55,6 @@ public:
private slots:
void addArea();
void updateThreatStats();
protected:
void resizeEvent(QResizeEvent *event) override;
private:
QComboBox* typeCombo_;
QDateTimeEdit* timeEdit_;
@ -58,27 +64,95 @@ private:
QLineEdit* coordInput_;
};
class AreaSearchDialog : public QDialog {
class MapPage;
class PathPlanningDialog : public QDialog {
Q_OBJECT
public:
AreaSearchDialog(QWidget* parent = nullptr);
protected:
void resizeEvent(QResizeEvent *event) override;
PathPlanningDialog(QWidget* parent = nullptr, MapPage* mapPage = nullptr);
QString getStartCoord() const { return startInput_->text(); }
QString getEndCoord() const { return endInput_->text(); }
QString getPathData() const;
private slots:
void planPath();
void applyStartPoint();
void applyEndPoint();
void onMapClick(double lng, double lat);
void clearPath();
private:
QComboBox* filterCombo_;
QTableWidget* resultTable_;
QLineEdit* startInput_;
QLineEdit* endInput_;
QTableWidget* pathTable_;
QPushButton* planBtn_;
QPushButton* clearBtn_;
QPushButton* applyStartBtn_;
QPushButton* applyEndBtn_;
QPushButton* selectStartBtn_;
QPushButton* selectEndBtn_;
MapPage* mapPage_;
QString pathData_;
bool selectingStart_ = false;
bool selectingEnd_ = false;
};
class PathPlanningDialog : public QDialog {
class AreaCoverageDialog : public QDialog {
Q_OBJECT
public:
PathPlanningDialog(QWidget* parent = nullptr);
protected:
void resizeEvent(QResizeEvent *event) override;
AreaCoverageDialog(QWidget* parent = nullptr, MapPage* mapPage = nullptr);
QString getCoveragePathData() const { return coveragePathData_; }
private slots:
void onShapeChanged(int index);
void addVertex();
void removeVertex();
void selectVertexOnMap();
void planCoveragePath();
void clearCoverage();
void onMapClick(double lng, double lat);
private:
QLineEdit* startInput_;
QLineEdit* endInput_;
QWidget* setupCircleInputs();
QWidget* setupPolygonInputs();
void generateMockCoveragePath();
QComboBox* shapeCombo_;
// Circle inputs
QLineEdit* centerLngInput_;
QLineEdit* centerLatInput_;
QLineEdit* radiusInput_;
// Polygon inputs
QTableWidget* verticesTable_;
QPushButton* addVertexBtn_;
QPushButton* removeVertexBtn_;
QPushButton* selectVertexBtn_;
// Mode and drones
QButtonGroup* modeGroup_;
QRadioButton* efficiencyRadio_;
QRadioButton* fullRangeRadio_;
QSpinBox* droneCountSpin_;
// Path
QTableWidget* pathTable_;
QPushButton* planBtn_;
QPushButton* clearBtn_;
QWidget* circleWidget_;
QWidget* polygonWidget_;
MapPage* mapPage_;
QString coveragePathData_;
bool selectingVertex_ = false;
int currentVertexRow_ = -1;
QList<QPair<double, double>> vertices_;
};
// 添加AreaSearchDialog类定义
class AreaSearchDialog : public QDialog {
Q_OBJECT
public:
AreaSearchDialog(QWidget* parent = nullptr);
private slots:
void onConfirm();
private:
QLineEdit* minLngInput_;
QLineEdit* minLatInput_;
QLineEdit* maxLngInput_;
QLineEdit* maxLatInput_;
};
// 添加LocateDialog类定义
@ -117,8 +191,9 @@ public:
void heightChanged(const QString& height);
void downloadMapRequested();
void setThreatRequested();
void areaSearchRequested();
void pathPlanningRequested();
void areaCoverageRequested();
void mapClicked(double lng, double lat);
private slots:
void onHeightChanged();
@ -126,17 +201,27 @@ private slots:
// 添加新槽函数
void onSetThreatClicked();
void onAreaSearchClicked();
void onPathPlanningClicked();
void onAreaCoverageClicked();
void onAreaSearchClicked();
// 添加新槽
void onSearchMapClicked(); // 新增声明
void onConsoleMessage(QWebEnginePage::JavaScriptConsoleMessageLevel level, const QString &message, int lineNumber, const QString &sourceID);
void onPageLoaded(bool ok);
public slots:
void addClickListener();
void removeClickListener();
void handleMapClick(double lng, double lat);
void visualizePath(const QString& pathData);
void clearPathOverlays(); // 清除路径覆盖物
void runMapJavaScript(const QString& js); // 添加公共方法运行JS
protected:
void resizeEvent(QResizeEvent *event) override;
double parseLng(const QString& coord) const;
double parseLat(const QString& coord) const;
void showMarker(double lng, double lat, const QString& label, const QString& color, int index);
void visualizeCoveragePath(const QString& pathData);
void clearCoverageOverlays();
private:
void setupUI();
@ -161,6 +246,7 @@ private:
QPushButton* setThreatBtn_;
QPushButton* areaSearchBtn_;
QPushButton* pathPlanningBtn_;
QPushButton* areaCoverageBtn_;
// 添加新组件
QLineEdit* coordInput_;
@ -171,10 +257,26 @@ private:
ThreatAreaDialog* threatDialog_;
AreaSearchDialog* searchDialog_;
PathPlanningDialog* planningDialog_;
AreaCoverageDialog* coverageDialog_;
LocateDialog* locateDialog_;
// 添加基字体大小(用于缩放)
int baseFontSize_ = 10; // 默认基字体大小,根据您的样式调整
// 路径规划相关成员
QString pathOverlayId_ = "pathOverlay";
QString startMarkerId_ = "startMarker";
QString endMarkerId_ = "endMarker";
QString currentPathData_; // 存储当前路径数据
// Bridge members
MapBridge* bridge_;
QWebChannel* channel_;
// Coverage related
QString coverageOverlayId_ = "coverageOverlay";
QString areaOverlayId_ = "areaOverlay";
QString currentCoveragePathData_;
};
// 移除所有类定义从h文件移出

@ -0,0 +1,252 @@
#include "taskdata.h"
#include <QDebug>
/**
*
*
*/
TaskData::TaskData(const QString& id, const QString& droneId, TaskType type, QObject* parent)
: QObject(parent)
, id_(id)
, droneId_(droneId)
, type_(type)
, status_(TaskStatus::Pending)
, createdTime_(QDateTime::currentDateTime())
{
}
void TaskData::setStatus(TaskStatus status) {
if (status_ != status) {
status_ = status;
emit statusChanged(status_);
}
}
void TaskData::setDescription(const QString& description) {
description_ = description;
}
void TaskData::setStartPosition(const QVector3D& pos) {
startPosition_ = pos;
}
void TaskData::setEndPosition(const QVector3D& pos) {
endPosition_ = pos;
}
void TaskData::addWaypoint(const QVector3D& waypoint) {
waypoints_.append(waypoint);
}
void TaskData::setWaypoints(const QVector<QVector3D>& waypoints) {
waypoints_ = waypoints;
}
void TaskData::startTask() {
if (status_ == TaskStatus::Pending) {
setStatus(TaskStatus::InProgress);
startTime_ = QDateTime::currentDateTime();
emit taskStarted();
}
}
void TaskData::completeTask() {
if (status_ == TaskStatus::InProgress) {
setStatus(TaskStatus::Completed);
endTime_ = QDateTime::currentDateTime();
emit taskCompleted();
}
}
void TaskData::cancelTask() {
if (status_ == TaskStatus::Pending || status_ == TaskStatus::InProgress) {
setStatus(TaskStatus::Cancelled);
endTime_ = QDateTime::currentDateTime();
emit taskCancelled();
}
}
void TaskData::failTask(const QString& reason) {
if (status_ == TaskStatus::InProgress) {
failureReason_ = reason;
setStatus(TaskStatus::Failed);
endTime_ = QDateTime::currentDateTime();
emit taskFailed(reason);
}
}
void TaskData::recallTask() {
if (status_ == TaskStatus::InProgress) {
setStatus(TaskStatus::Recalled);
endTime_ = QDateTime::currentDateTime();
emit taskRecalled();
}
}
int TaskData::getDuration() const {
if (startTime_.isValid() && endTime_.isValid()) {
return startTime_.secsTo(endTime_);
} else if (startTime_.isValid()) {
return startTime_.secsTo(QDateTime::currentDateTime());
}
return 0;
}
QString TaskData::getStatusString() const {
switch (status_) {
case TaskStatus::Pending: return "待执行";
case TaskStatus::InProgress: return "执行中";
case TaskStatus::Completed: return "执行成功";
case TaskStatus::Cancelled: return "任务取消";
case TaskStatus::Failed: return "执行失败";
case TaskStatus::Recalled: return "已召回";
default: return "未知状态";
}
}
QString TaskData::getTypeString() const {
switch (type_) {
case TaskType::Patrol: return "巡逻任务";
case TaskType::Inspection: return "巡检任务";
case TaskType::Delivery: return "配送任务";
case TaskType::Search: return "搜索任务";
case TaskType::Emergency: return "紧急任务";
default: return "未知类型";
}
}
/**
*
*
*/
TaskManager::TaskManager(QObject* parent)
: QObject(parent)
{
}
TaskManager::~TaskManager() {
qDeleteAll(tasks_);
}
TaskData* TaskManager::createTask(const QString& droneId, TaskType type, const QString& description) {
QString taskId = QString("TASK_%1_%2").arg(droneId).arg(QDateTime::currentDateTime().toString("yyyyMMdd_hhmmss"));
auto* task = new TaskData(taskId, droneId, type, this);
task->setDescription(description);
tasks_.append(task);
// 连接信号
connect(task, &TaskData::statusChanged, this, [this, taskId](TaskStatus status) {
emit taskStatusChanged(taskId, status);
});
emit taskCreated(taskId);
return task;
}
void TaskManager::removeTask(const QString& taskId) {
for (int i = 0; i < tasks_.size(); ++i) {
if (tasks_[i]->getId() == taskId) {
tasks_[i]->deleteLater();
tasks_.removeAt(i);
emit taskRemoved(taskId);
break;
}
}
}
TaskData* TaskManager::getTask(const QString& taskId) const {
for (auto* task : tasks_) {
if (task->getId() == taskId) {
return task;
}
}
return nullptr;
}
QVector<TaskData*> TaskManager::getAllTasks() const {
return tasks_;
}
QVector<TaskData*> TaskManager::getTasksByDrone(const QString& droneId) const {
QVector<TaskData*> result;
for (auto* task : tasks_) {
if (task->getDroneId() == droneId) {
result.append(task);
}
}
return result;
}
QVector<TaskData*> TaskManager::getTasksByStatus(TaskStatus status) const {
QVector<TaskData*> result;
for (auto* task : tasks_) {
if (task->getStatus() == status) {
result.append(task);
}
}
return result;
}
int TaskManager::getTaskCount() const {
return tasks_.size();
}
int TaskManager::getTaskCountByStatus(TaskStatus status) const {
int count = 0;
for (auto* task : tasks_) {
if (task->getStatus() == status) {
count++;
}
}
return count;
}
int TaskManager::getTaskCountByDrone(const QString& droneId) const {
int count = 0;
for (auto* task : tasks_) {
if (task->getDroneId() == droneId) {
count++;
}
}
return count;
}
void TaskManager::startTask(const QString& taskId) {
auto* task = getTask(taskId);
if (task) {
task->startTask();
}
}
void TaskManager::completeTask(const QString& taskId) {
auto* task = getTask(taskId);
if (task) {
task->completeTask();
}
}
void TaskManager::cancelTask(const QString& taskId) {
auto* task = getTask(taskId);
if (task) {
task->cancelTask();
}
}
void TaskManager::failTask(const QString& taskId, const QString& reason) {
auto* task = getTask(taskId);
if (task) {
task->failTask(reason);
}
}
void TaskManager::recallTask(const QString& taskId) {
auto* task = getTask(taskId);
if (task) {
task->recallTask();
}
}

@ -0,0 +1,151 @@
#ifndef TASKDATA_H
#define TASKDATA_H
#include <QObject>
#include <QString>
#include <QDateTime>
#include <QVector3D>
#include <QVector>
/**
*
*
*/
enum class TaskStatus {
Pending, // 待执行
InProgress, // 执行中
Completed, // 执行成功
Cancelled, // 任务取消
Failed, // 执行失败
Recalled // 通信范围内取消召回
};
/**
*
*
*/
enum class TaskType {
Patrol, // 巡逻任务
Inspection, // 巡检任务
Delivery, // 配送任务
Search, // 搜索任务
Emergency // 紧急任务
};
/**
*
*
*/
class TaskData : public QObject {
Q_OBJECT
public:
explicit TaskData(const QString& id, const QString& droneId, TaskType type, QObject* parent = nullptr);
// 基本信息
QString getId() const { return id_; }
QString getDroneId() const { return droneId_; }
TaskType getType() const { return type_; }
TaskStatus getStatus() const { return status_; }
QString getDescription() const { return description_; }
// 时间信息
QDateTime getCreatedTime() const { return createdTime_; }
QDateTime getStartTime() const { return startTime_; }
QDateTime getEndTime() const { return endTime_; }
int getDuration() const; // 返回任务持续时间(秒)
// 位置信息
QVector3D getStartPosition() const { return startPosition_; }
QVector3D getEndPosition() const { return endPosition_; }
QVector<QVector3D> getWaypoints() const { return waypoints_; }
// 设置方法
void setStatus(TaskStatus status);
void setDescription(const QString& description);
void setStartPosition(const QVector3D& pos);
void setEndPosition(const QVector3D& pos);
void addWaypoint(const QVector3D& waypoint);
void setWaypoints(const QVector<QVector3D>& waypoints);
// 状态转换
void startTask();
void completeTask();
void cancelTask();
void failTask(const QString& reason);
void recallTask();
// 获取状态描述
QString getStatusString() const;
QString getTypeString() const;
QString getFailureReason() const { return failureReason_; }
signals:
void statusChanged(TaskStatus status);
void taskStarted();
void taskCompleted();
void taskCancelled();
void taskFailed(const QString& reason);
void taskRecalled();
private:
QString id_;
QString droneId_;
TaskType type_;
TaskStatus status_;
QString description_;
QString failureReason_;
// 时间信息
QDateTime createdTime_;
QDateTime startTime_;
QDateTime endTime_;
// 位置信息
QVector3D startPosition_;
QVector3D endPosition_;
QVector<QVector3D> waypoints_;
};
/**
*
*
*/
class TaskManager : public QObject {
Q_OBJECT
public:
explicit TaskManager(QObject* parent = nullptr);
~TaskManager();
// 任务管理
TaskData* createTask(const QString& droneId, TaskType type, const QString& description = "");
void removeTask(const QString& taskId);
TaskData* getTask(const QString& taskId) const;
QVector<TaskData*> getAllTasks() const;
QVector<TaskData*> getTasksByDrone(const QString& droneId) const;
QVector<TaskData*> getTasksByStatus(TaskStatus status) const;
// 统计信息
int getTaskCount() const;
int getTaskCountByStatus(TaskStatus status) const;
int getTaskCountByDrone(const QString& droneId) const;
// 任务执行
void startTask(const QString& taskId);
void completeTask(const QString& taskId);
void cancelTask(const QString& taskId);
void failTask(const QString& taskId, const QString& reason);
void recallTask(const QString& taskId);
signals:
void taskCreated(const QString& taskId);
void taskRemoved(const QString& taskId);
void taskStatusChanged(const QString& taskId, TaskStatus status);
private:
QVector<TaskData*> tasks_;
};
#endif // TASKDATA_H

@ -0,0 +1,633 @@
#include "taskdetailspage.h"
#include <QDebug>
#include <QHeaderView>
#include <QMessageBox>
#include <QApplication>
#include <QInputDialog>
/**
*
*
*/
TaskDetailsPage::TaskDetailsPage(QWidget* parent)
: QWidget(parent)
, mainFrame_(nullptr)
, taskTable_(nullptr)
, filterGroup_(nullptr)
, controlGroup_(nullptr)
, statusGroup_(nullptr)
, statusFilter_(nullptr)
, droneFilter_(nullptr)
, typeFilter_(nullptr)
, clearFilterBtn_(nullptr)
, startTaskBtn_(nullptr)
, completeTaskBtn_(nullptr)
, cancelTaskBtn_(nullptr)
, failTaskBtn_(nullptr)
, recallTaskBtn_(nullptr)
, refreshBtn_(nullptr)
, totalTasksLabel_(nullptr)
, pendingTasksLabel_(nullptr)
, inProgressTasksLabel_(nullptr)
, completedTasksLabel_(nullptr)
, failedTasksLabel_(nullptr)
, cancelledTasksLabel_(nullptr)
, recalledTasksLabel_(nullptr)
, selectedTaskLabel_(nullptr)
, progressBar_(nullptr)
, taskManager_(nullptr)
, droneManager_(nullptr)
, refreshTimer_(nullptr)
, selectedTaskId_("")
, currentStatusFilter_(TaskStatus::Pending)
, currentDroneFilter_("")
, currentTypeFilter_(TaskType::Patrol)
{
setupUI();
// 设置定时刷新
refreshTimer_ = new QTimer(this);
connect(refreshTimer_, &QTimer::timeout, this, &TaskDetailsPage::onRefreshTasks);
// 暂时禁用定时刷新,避免格式化问题
// refreshTimer_->start(3000); // 每3秒刷新一次减少刷新频率
}
TaskDetailsPage::~TaskDetailsPage() {
if (refreshTimer_) {
refreshTimer_->stop();
}
}
void TaskDetailsPage::setTaskManager(TaskManager* taskManager) {
taskManager_ = taskManager;
if (taskManager_) {
// 连接信号
connect(taskManager_, &TaskManager::taskCreated, this, &TaskDetailsPage::onTaskDataChanged);
connect(taskManager_, &TaskManager::taskRemoved, this, &TaskDetailsPage::onTaskDataChanged);
connect(taskManager_, &TaskManager::taskStatusChanged, this, &TaskDetailsPage::onTaskStatusChanged);
// 初始化表格数据
updateTaskTable();
updateStatusDisplay();
}
}
void TaskDetailsPage::setDroneManager(DroneManager* droneManager) {
droneManager_ = droneManager;
if (droneManager_) {
// 连接无人机变化信号
connect(droneManager_, &DroneManager::droneAdded, this, &TaskDetailsPage::onTaskDataChanged);
connect(droneManager_, &DroneManager::droneRemoved, this, &TaskDetailsPage::onTaskDataChanged);
// 更新无人机筛选列表
onTaskDataChanged();
}
}
void TaskDetailsPage::setupUI() {
auto* mainLayout = new QVBoxLayout(this);
mainLayout->setSpacing(10);
mainLayout->setContentsMargins(10, 10, 10, 10);
// 创建主框架
mainFrame_ = new QFrame(this);
mainFrame_->setStyleSheet("QFrame{background:#f8f9fa; border:1px solid #dee2e6; border-radius:8px;}");
auto* frameLayout = new QVBoxLayout(mainFrame_);
frameLayout->setSpacing(15);
frameLayout->setContentsMargins(15, 15, 15, 15);
setupFilterPanel();
setupTaskTable();
setupControlPanel();
setupStatusPanel();
frameLayout->addWidget(filterGroup_, 0);
frameLayout->addWidget(taskTable_, 2);
frameLayout->addWidget(controlGroup_, 0);
frameLayout->addWidget(statusGroup_, 1);
mainLayout->addWidget(mainFrame_);
}
void TaskDetailsPage::setupFilterPanel() {
filterGroup_ = new QGroupBox("任务筛选", this);
auto* groupLayout = new QHBoxLayout(filterGroup_);
groupLayout->setSpacing(10);
// 状态筛选
groupLayout->addWidget(new QLabel("状态:", this));
statusFilter_ = new QComboBox(this);
statusFilter_->addItem("全部状态", -1);
statusFilter_->addItem("待执行", static_cast<int>(TaskStatus::Pending));
statusFilter_->addItem("执行中", static_cast<int>(TaskStatus::InProgress));
statusFilter_->addItem("执行成功", static_cast<int>(TaskStatus::Completed));
statusFilter_->addItem("任务取消", static_cast<int>(TaskStatus::Cancelled));
statusFilter_->addItem("执行失败", static_cast<int>(TaskStatus::Failed));
statusFilter_->addItem("已召回", static_cast<int>(TaskStatus::Recalled));
connect(statusFilter_, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &TaskDetailsPage::onFilterChanged);
groupLayout->addWidget(statusFilter_);
// 无人机筛选
groupLayout->addWidget(new QLabel("无人机:", this));
droneFilter_ = new QComboBox(this);
droneFilter_->addItem("全部无人机", "");
connect(droneFilter_, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &TaskDetailsPage::onFilterChanged);
groupLayout->addWidget(droneFilter_);
// 类型筛选
groupLayout->addWidget(new QLabel("类型:", this));
typeFilter_ = new QComboBox(this);
typeFilter_->addItem("全部类型", -1);
typeFilter_->addItem("巡逻任务", static_cast<int>(TaskType::Patrol));
typeFilter_->addItem("巡检任务", static_cast<int>(TaskType::Inspection));
typeFilter_->addItem("配送任务", static_cast<int>(TaskType::Delivery));
typeFilter_->addItem("搜索任务", static_cast<int>(TaskType::Search));
typeFilter_->addItem("紧急任务", static_cast<int>(TaskType::Emergency));
connect(typeFilter_, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &TaskDetailsPage::onFilterChanged);
groupLayout->addWidget(typeFilter_);
// 清除筛选按钮
clearFilterBtn_ = new QPushButton("清除筛选", this);
clearFilterBtn_->setStyleSheet("QPushButton{background:#6c757d; color:white; border:none; padding:6px 12px; border-radius:4px;}");
connect(clearFilterBtn_, &QPushButton::clicked, this, [this]() {
statusFilter_->setCurrentIndex(0);
droneFilter_->setCurrentIndex(0);
typeFilter_->setCurrentIndex(0);
onFilterChanged();
});
groupLayout->addWidget(clearFilterBtn_);
groupLayout->addStretch();
}
void TaskDetailsPage::setupTaskTable() {
taskTable_ = new QTableWidget(this);
taskTable_->setColumnCount(10);
taskTable_->setHorizontalHeaderLabels({
"任务ID", "无人机", "类型", "状态", "描述",
"创建时间", "开始时间", "结束时间", "持续时间", "失败原因"
});
// 设置表格属性
taskTable_->setAlternatingRowColors(true);
taskTable_->setSelectionBehavior(QAbstractItemView::SelectRows);
taskTable_->setSelectionMode(QAbstractItemView::SingleSelection);
taskTable_->setSortingEnabled(false);
// 设置列宽
QHeaderView* header = taskTable_->horizontalHeader();
header->setStretchLastSection(true);
header->setSectionResizeMode(QHeaderView::ResizeToContents);
// 连接选择变化信号
connect(taskTable_, &QTableWidget::itemSelectionChanged, this, &TaskDetailsPage::onTaskSelectionChanged);
}
void TaskDetailsPage::setupControlPanel() {
controlGroup_ = new QGroupBox("任务控制", this);
auto* groupLayout = new QHBoxLayout(controlGroup_);
groupLayout->setSpacing(10);
startTaskBtn_ = new QPushButton("开始任务", this);
startTaskBtn_->setStyleSheet("QPushButton{background:#28a745; color:white; border:none; padding:8px 16px; border-radius:4px;}");
connect(startTaskBtn_, &QPushButton::clicked, this, &TaskDetailsPage::onStartTaskClicked);
groupLayout->addWidget(startTaskBtn_);
completeTaskBtn_ = new QPushButton("完成任务", this);
completeTaskBtn_->setStyleSheet("QPushButton{background:#007bff; color:white; border:none; padding:8px 16px; border-radius:4px;}");
connect(completeTaskBtn_, &QPushButton::clicked, this, &TaskDetailsPage::onCompleteTaskClicked);
groupLayout->addWidget(completeTaskBtn_);
cancelTaskBtn_ = new QPushButton("取消任务", this);
cancelTaskBtn_->setStyleSheet("QPushButton{background:#ffc107; color:black; border:none; padding:8px 16px; border-radius:4px;}");
connect(cancelTaskBtn_, &QPushButton::clicked, this, &TaskDetailsPage::onCancelTaskClicked);
groupLayout->addWidget(cancelTaskBtn_);
failTaskBtn_ = new QPushButton("标记失败", this);
failTaskBtn_->setStyleSheet("QPushButton{background:#dc3545; color:white; border:none; padding:8px 16px; border-radius:4px;}");
connect(failTaskBtn_, &QPushButton::clicked, this, &TaskDetailsPage::onFailTaskClicked);
groupLayout->addWidget(failTaskBtn_);
recallTaskBtn_ = new QPushButton("召回任务", this);
recallTaskBtn_->setStyleSheet("QPushButton{background:#6f42c1; color:white; border:none; padding:8px 16px; border-radius:4px;}");
connect(recallTaskBtn_, &QPushButton::clicked, this, &TaskDetailsPage::onRecallTaskClicked);
groupLayout->addWidget(recallTaskBtn_);
refreshBtn_ = new QPushButton("刷新", this);
refreshBtn_->setStyleSheet("QPushButton{background:#17a2b8; color:white; border:none; padding:8px 16px; border-radius:4px;}");
connect(refreshBtn_, &QPushButton::clicked, this, &TaskDetailsPage::onRefreshTasks);
groupLayout->addWidget(refreshBtn_);
groupLayout->addStretch();
}
void TaskDetailsPage::setupStatusPanel() {
statusGroup_ = new QGroupBox("任务统计", this);
auto* groupLayout = new QVBoxLayout(statusGroup_);
groupLayout->setSpacing(8);
// 统计信息
auto* statsLayout = new QHBoxLayout();
totalTasksLabel_ = new QLabel("总任务数: 0", this);
totalTasksLabel_->setStyleSheet("QLabel{font-weight:bold; color:#495057;}");
statsLayout->addWidget(totalTasksLabel_);
pendingTasksLabel_ = new QLabel("待执行: 0", this);
pendingTasksLabel_->setStyleSheet("QLabel{color:#6c757d;}");
statsLayout->addWidget(pendingTasksLabel_);
inProgressTasksLabel_ = new QLabel("执行中: 0", this);
inProgressTasksLabel_->setStyleSheet("QLabel{color:#007bff;}");
statsLayout->addWidget(inProgressTasksLabel_);
completedTasksLabel_ = new QLabel("已完成: 0", this);
completedTasksLabel_->setStyleSheet("QLabel{color:#28a745;}");
statsLayout->addWidget(completedTasksLabel_);
groupLayout->addLayout(statsLayout);
// 第二行统计
auto* statsLayout2 = new QHBoxLayout();
failedTasksLabel_ = new QLabel("失败: 0", this);
failedTasksLabel_->setStyleSheet("QLabel{color:#dc3545;}");
statsLayout2->addWidget(failedTasksLabel_);
cancelledTasksLabel_ = new QLabel("取消: 0", this);
cancelledTasksLabel_->setStyleSheet("QLabel{color:#ffc107;}");
statsLayout2->addWidget(cancelledTasksLabel_);
recalledTasksLabel_ = new QLabel("召回: 0", this);
recalledTasksLabel_->setStyleSheet("QLabel{color:#6f42c1;}");
statsLayout2->addWidget(recalledTasksLabel_);
groupLayout->addLayout(statsLayout2);
// 选中任务信息
selectedTaskLabel_ = new QLabel("未选择任务", this);
selectedTaskLabel_->setStyleSheet("QLabel{font-weight:bold; color:#007bff;}");
groupLayout->addWidget(selectedTaskLabel_);
// 进度条
progressBar_ = new QProgressBar(this);
progressBar_->setVisible(false);
groupLayout->addWidget(progressBar_);
}
void TaskDetailsPage::updateTaskTable() {
if (!taskManager_) return;
taskTable_->setRowCount(0);
auto tasks = taskManager_->getAllTasks();
for (auto* task : tasks) {
// 应用筛选条件
bool showTask = true;
// 状态筛选
if (currentStatusFilter_ != TaskStatus::Pending && task->getStatus() != currentStatusFilter_) {
showTask = false;
}
// 无人机筛选
if (!currentDroneFilter_.isEmpty() && task->getDroneId() != currentDroneFilter_) {
showTask = false;
}
// 类型筛选
if (currentTypeFilter_ != TaskType::Patrol && task->getType() != currentTypeFilter_) {
showTask = false;
}
if (showTask) {
addTaskToTable(task);
}
}
}
void TaskDetailsPage::addTaskToTable(TaskData* task) {
if (!task) return;
int row = taskTable_->rowCount();
taskTable_->insertRow(row);
// 设置行数据
taskTable_->setItem(row, 0, new QTableWidgetItem(task->getId()));
taskTable_->setItem(row, 1, new QTableWidgetItem(task->getDroneId()));
taskTable_->setItem(row, 2, new QTableWidgetItem(task->getTypeString()));
taskTable_->setItem(row, 3, new QTableWidgetItem(task->getStatusString()));
taskTable_->setItem(row, 4, new QTableWidgetItem(task->getDescription()));
taskTable_->setItem(row, 5, new QTableWidgetItem(formatDateTime(task->getCreatedTime())));
taskTable_->setItem(row, 6, new QTableWidgetItem(formatDateTime(task->getStartTime())));
taskTable_->setItem(row, 7, new QTableWidgetItem(formatDateTime(task->getEndTime())));
taskTable_->setItem(row, 8, new QTableWidgetItem(formatDuration(task->getDuration())));
taskTable_->setItem(row, 9, new QTableWidgetItem(task->getFailureReason()));
// 设置状态颜色
auto* statusItem = taskTable_->item(row, 3);
if (statusItem) {
statusItem->setBackground(QColor(getStatusColor(task->getStatus())));
}
// 连接数据变化信号
connect(task, &TaskData::statusChanged, this, &TaskDetailsPage::onTaskDataChanged);
}
void TaskDetailsPage::updateTaskRow(TaskData* task) {
if (!task) return;
for (int i = 0; i < taskTable_->rowCount(); ++i) {
auto* item = taskTable_->item(i, 0);
if (item && item->text() == task->getId()) {
// 更新所有列
taskTable_->setItem(i, 1, new QTableWidgetItem(task->getDroneId()));
taskTable_->setItem(i, 2, new QTableWidgetItem(task->getTypeString()));
taskTable_->setItem(i, 3, new QTableWidgetItem(task->getStatusString()));
taskTable_->setItem(i, 4, new QTableWidgetItem(task->getDescription()));
taskTable_->setItem(i, 5, new QTableWidgetItem(formatDateTime(task->getCreatedTime())));
taskTable_->setItem(i, 6, new QTableWidgetItem(formatDateTime(task->getStartTime())));
taskTable_->setItem(i, 7, new QTableWidgetItem(formatDateTime(task->getEndTime())));
taskTable_->setItem(i, 8, new QTableWidgetItem(formatDuration(task->getDuration())));
taskTable_->setItem(i, 9, new QTableWidgetItem(task->getFailureReason()));
// 更新状态颜色
auto* statusItem = taskTable_->item(i, 3);
if (statusItem) {
statusItem->setBackground(QColor(getStatusColor(task->getStatus())));
}
break;
}
}
}
void TaskDetailsPage::removeTaskFromTable(const QString& taskId) {
for (int i = 0; i < taskTable_->rowCount(); ++i) {
auto* item = taskTable_->item(i, 0);
if (item && item->text() == taskId) {
taskTable_->removeRow(i);
break;
}
}
}
void TaskDetailsPage::updateStatusDisplay() {
if (!taskManager_) return;
int totalCount = taskManager_->getTaskCount();
int pendingCount = taskManager_->getTaskCountByStatus(TaskStatus::Pending);
int inProgressCount = taskManager_->getTaskCountByStatus(TaskStatus::InProgress);
int completedCount = taskManager_->getTaskCountByStatus(TaskStatus::Completed);
int failedCount = taskManager_->getTaskCountByStatus(TaskStatus::Failed);
int cancelledCount = taskManager_->getTaskCountByStatus(TaskStatus::Cancelled);
int recalledCount = taskManager_->getTaskCountByStatus(TaskStatus::Recalled);
totalTasksLabel_->setText(QString("总任务数: %1").arg(totalCount));
pendingTasksLabel_->setText(QString("待执行: %1").arg(pendingCount));
inProgressTasksLabel_->setText(QString("执行中: %1").arg(inProgressCount));
completedTasksLabel_->setText(QString("已完成: %1").arg(completedCount));
failedTasksLabel_->setText(QString("失败: %1").arg(failedCount));
cancelledTasksLabel_->setText(QString("取消: %1").arg(cancelledCount));
recalledTasksLabel_->setText(QString("召回: %1").arg(recalledCount));
// 更新选中任务信息
if (!selectedTaskId_.isEmpty()) {
auto* selectedTask = taskManager_->getTask(selectedTaskId_);
if (selectedTask) {
selectedTaskLabel_->setText(QString("选中: %1 (%2)").arg(selectedTask->getDescription()).arg(selectedTask->getId()));
// 显示进度条(仅对执行中的任务)
if (selectedTask->getStatus() == TaskStatus::InProgress) {
progressBar_->setVisible(true);
int duration = selectedTask->getDuration();
progressBar_->setValue(qMin(duration, 100)); // 简单的进度显示
} else {
progressBar_->setVisible(false);
}
}
} else {
selectedTaskLabel_->setText("未选择任务");
progressBar_->setVisible(false);
}
}
void TaskDetailsPage::updateControlButtons() {
bool hasSelection = !selectedTaskId_.isEmpty();
TaskStatus selectedStatus = TaskStatus::Pending;
if (hasSelection && taskManager_) {
auto* selectedTask = taskManager_->getTask(selectedTaskId_);
if (selectedTask) {
selectedStatus = selectedTask->getStatus();
}
}
// 根据任务状态启用/禁用按钮
startTaskBtn_->setEnabled(hasSelection && selectedStatus == TaskStatus::Pending);
completeTaskBtn_->setEnabled(hasSelection && selectedStatus == TaskStatus::InProgress);
cancelTaskBtn_->setEnabled(hasSelection && (selectedStatus == TaskStatus::Pending || selectedStatus == TaskStatus::InProgress));
failTaskBtn_->setEnabled(hasSelection && selectedStatus == TaskStatus::InProgress);
recallTaskBtn_->setEnabled(hasSelection && selectedStatus == TaskStatus::InProgress);
}
QString TaskDetailsPage::getStatusColor(TaskStatus status) const {
switch (status) {
case TaskStatus::Pending: return "#f8d7da"; // 浅红色
case TaskStatus::InProgress: return "#d1ecf1"; // 浅蓝色
case TaskStatus::Completed: return "#d4edda"; // 浅绿色
case TaskStatus::Cancelled: return "#fff3cd"; // 浅黄色
case TaskStatus::Failed: return "#f8d7da"; // 浅红色
case TaskStatus::Recalled: return "#e2e3e5"; // 浅灰色
default: return "#ffffff";
}
}
QString TaskDetailsPage::getStatusIcon(TaskStatus status) const {
switch (status) {
case TaskStatus::Pending: return "";
case TaskStatus::InProgress: return "🔄";
case TaskStatus::Completed: return "";
case TaskStatus::Cancelled: return "";
case TaskStatus::Failed: return "";
case TaskStatus::Recalled: return "🔙";
default: return "";
}
}
QString TaskDetailsPage::getTypeColor(TaskType type) const {
switch (type) {
case TaskType::Patrol: return "#007bff";
case TaskType::Inspection: return "#28a745";
case TaskType::Delivery: return "#ffc107";
case TaskType::Search: return "#17a2b8";
case TaskType::Emergency: return "#dc3545";
default: return "#6c757d";
}
}
QString TaskDetailsPage::formatDateTime(const QDateTime& dateTime) const {
if (!dateTime.isValid()) {
return "--";
}
return dateTime.toString("yyyy-MM-dd hh:mm:ss");
}
QString TaskDetailsPage::formatDuration(int seconds) const {
if (seconds <= 0) {
return "--";
}
int hours = seconds / 3600;
int minutes = (seconds % 3600) / 60;
int secs = seconds % 60;
if (hours > 0) {
return QString("%1h %2m %3s").arg(hours).arg(minutes).arg(secs);
} else if (minutes > 0) {
return QString("%1m %2s").arg(minutes).arg(secs);
} else {
return QString("%1s").arg(secs);
}
}
QString TaskDetailsPage::formatPosition(const QVector3D& pos) const {
return QString("(%1, %2, %3)")
.arg(QString::number(pos.x(), 'f', 2))
.arg(QString::number(pos.y(), 'f', 2))
.arg(QString::number(pos.z(), 'f', 2));
}
void TaskDetailsPage::onRefreshTasks() {
if (taskManager_) {
updateTaskTable();
updateStatusDisplay();
}
}
void TaskDetailsPage::onFilterChanged() {
// 更新筛选条件
int statusIndex = statusFilter_->currentIndex();
currentStatusFilter_ = (statusIndex == 0) ? TaskStatus::Pending : static_cast<TaskStatus>(statusFilter_->currentData().toInt());
int droneIndex = droneFilter_->currentIndex();
currentDroneFilter_ = (droneIndex == 0) ? "" : droneFilter_->currentText();
int typeIndex = typeFilter_->currentIndex();
currentTypeFilter_ = (typeIndex == 0) ? TaskType::Patrol : static_cast<TaskType>(typeFilter_->currentData().toInt());
// 重新更新表格
updateTaskTable();
}
void TaskDetailsPage::onTaskSelectionChanged() {
int currentRow = taskTable_->currentRow();
if (currentRow >= 0) {
auto* item = taskTable_->item(currentRow, 0);
if (item) {
selectedTaskId_ = item->text();
}
} else {
selectedTaskId_.clear();
}
updateStatusDisplay();
updateControlButtons();
}
void TaskDetailsPage::onStartTaskClicked() {
if (selectedTaskId_.isEmpty()) {
QMessageBox::warning(this, "警告", "请先选择要开始的任务");
return;
}
if (taskManager_) {
taskManager_->startTask(selectedTaskId_);
emit taskActionRequested(selectedTaskId_, "start");
}
}
void TaskDetailsPage::onCompleteTaskClicked() {
if (selectedTaskId_.isEmpty()) {
QMessageBox::warning(this, "警告", "请先选择要完成的任务");
return;
}
if (taskManager_) {
taskManager_->completeTask(selectedTaskId_);
emit taskActionRequested(selectedTaskId_, "complete");
}
}
void TaskDetailsPage::onCancelTaskClicked() {
if (selectedTaskId_.isEmpty()) {
QMessageBox::warning(this, "警告", "请先选择要取消的任务");
return;
}
int ret = QMessageBox::question(this, "确认取消",
QString("确定要取消任务 %1 吗?").arg(selectedTaskId_),
QMessageBox::Yes | QMessageBox::No);
if (ret == QMessageBox::Yes && taskManager_) {
taskManager_->cancelTask(selectedTaskId_);
emit taskActionRequested(selectedTaskId_, "cancel");
}
}
void TaskDetailsPage::onFailTaskClicked() {
if (selectedTaskId_.isEmpty()) {
QMessageBox::warning(this, "警告", "请先选择要标记失败的任务");
return;
}
bool ok;
QString reason = QInputDialog::getText(this, "任务失败", "请输入失败原因:", QLineEdit::Normal, "", &ok);
if (ok && !reason.isEmpty() && taskManager_) {
taskManager_->failTask(selectedTaskId_, reason);
emit taskActionRequested(selectedTaskId_, "fail");
}
}
void TaskDetailsPage::onRecallTaskClicked() {
if (selectedTaskId_.isEmpty()) {
QMessageBox::warning(this, "警告", "请先选择要召回的任务");
return;
}
int ret = QMessageBox::question(this, "确认召回",
QString("确定要召回任务 %1 吗?").arg(selectedTaskId_),
QMessageBox::Yes | QMessageBox::No);
if (ret == QMessageBox::Yes && taskManager_) {
taskManager_->recallTask(selectedTaskId_);
emit taskActionRequested(selectedTaskId_, "recall");
}
}
void TaskDetailsPage::onTaskStatusChanged(const QString& taskId, TaskStatus status) {
Q_UNUSED(taskId)
Q_UNUSED(status)
onTaskDataChanged();
}
void TaskDetailsPage::onTaskDataChanged() {
if (taskManager_) {
updateTaskTable();
updateStatusDisplay();
updateControlButtons();
// 更新无人机筛选列表
if (droneManager_) {
droneFilter_->clear();
droneFilter_->addItem("全部无人机", "");
auto drones = droneManager_->getAllDrones();
for (auto* drone : drones) {
droneFilter_->addItem(QString("%1 (%2)").arg(drone->getName()).arg(drone->getId()), drone->getId());
}
}
}
}

@ -0,0 +1,117 @@
#ifndef TASKDETAILSPAGE_H
#define TASKDETAILSPAGE_H
#include <QWidget>
#include <QFrame>
#include <QGroupBox>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QTableWidget>
#include <QPushButton>
#include <QLabel>
#include <QComboBox>
#include <QHeaderView>
#include <QMessageBox>
#include <QTimer>
#include <QProgressBar>
#include "../pages/taskdata.h"
#include "../models/dronedata.h"
/**
*
*
*/
class TaskDetailsPage : public QWidget {
Q_OBJECT
public:
explicit TaskDetailsPage(QWidget* parent = nullptr);
~TaskDetailsPage();
// 设置管理器
void setTaskManager(TaskManager* taskManager);
void setDroneManager(DroneManager* droneManager);
signals:
void taskActionRequested(const QString& taskId, const QString& action);
private slots:
void onRefreshTasks();
void onFilterChanged();
void onTaskSelectionChanged();
void onStartTaskClicked();
void onCompleteTaskClicked();
void onCancelTaskClicked();
void onFailTaskClicked();
void onRecallTaskClicked();
void onTaskStatusChanged(const QString& taskId, TaskStatus status);
void onTaskDataChanged();
private:
void setupUI();
void setupTaskTable();
void setupControlPanel();
void setupStatusPanel();
void setupFilterPanel();
void updateTaskTable();
void updateStatusDisplay();
void updateControlButtons();
void addTaskToTable(TaskData* task);
void updateTaskRow(TaskData* task);
void removeTaskFromTable(const QString& taskId);
// 获取状态颜色和图标
QString getStatusColor(TaskStatus status) const;
QString getStatusIcon(TaskStatus status) const;
QString getTypeColor(TaskType type) const;
// 格式化显示
QString formatDateTime(const QDateTime& dateTime) const;
QString formatDuration(int seconds) const;
QString formatPosition(const QVector3D& pos) const;
// UI组件
QFrame* mainFrame_;
QTableWidget* taskTable_;
QGroupBox* filterGroup_;
QGroupBox* controlGroup_;
QGroupBox* statusGroup_;
// 筛选面板组件
QComboBox* statusFilter_;
QComboBox* droneFilter_;
QComboBox* typeFilter_;
QPushButton* clearFilterBtn_;
// 控制面板组件
QPushButton* startTaskBtn_;
QPushButton* completeTaskBtn_;
QPushButton* cancelTaskBtn_;
QPushButton* failTaskBtn_;
QPushButton* recallTaskBtn_;
QPushButton* refreshBtn_;
// 状态显示组件
QLabel* totalTasksLabel_;
QLabel* pendingTasksLabel_;
QLabel* inProgressTasksLabel_;
QLabel* completedTasksLabel_;
QLabel* failedTasksLabel_;
QLabel* cancelledTasksLabel_;
QLabel* recalledTasksLabel_;
QLabel* selectedTaskLabel_;
QProgressBar* progressBar_;
// 数据管理
TaskManager* taskManager_;
DroneManager* droneManager_;
QTimer* refreshTimer_;
QString selectedTaskId_;
// 筛选条件
TaskStatus currentStatusFilter_;
QString currentDroneFilter_;
TaskType currentTypeFilter_;
};
#endif // TASKDETAILSPAGE_H

@ -26,6 +26,8 @@
// 添加TaskDecisionPage包含
#include "../pages/taskdecisionpage.h"
#include "../pages/dronemanagementpage.h"
#include "../pages/taskdetailspage.h"
// 在文件顶部添加extern声明
// extern DroneManager* globalDroneManager;
@ -73,12 +75,16 @@ MainWindow::MainWindow(QWidget *parent)
auto* pageMap = buildMapPage(); // 先地图
auto* pageVideo = buildVideoPage(); // 然后视频
auto* pageData = buildDataPage();
auto* pageDroneMgmt = buildDroneManagementPage();
auto* pageTask = buildTaskDecisionPage(); // 新页面
auto* pageTaskDetails = buildTaskDetailsPage();
auto* pageVision = buildVisionModelPage();
pages_->addWidget(pageMap);
pages_->addWidget(pageVideo);
pages_->addWidget(pageData);
pages_->addWidget(pageDroneMgmt);
pages_->addWidget(pageTask);
pages_->addWidget(pageTaskDetails);
pages_->addWidget(pageVision);
// 右侧状态信息(两页共用静态占位)
@ -199,7 +205,9 @@ QWidget* MainWindow::buildSideNav() {
makeBtn("视频监控", &MainWindow::showMapPage); // 显示原地图内容
makeBtn("地图监控", &MainWindow::showVideoPage); // 显示原视频内容
makeBtn("数据监控", &MainWindow::showDataPage);
makeBtn("无人机管理", &MainWindow::showDroneManagementPage);
makeBtn("任务决策", &MainWindow::showTaskDecisionPage);
makeBtn("任务详情", &MainWindow::showTaskDetailsPage);
makeBtn("视觉模型", &MainWindow::showVisionModelPage);
v->addStretch(1);
@ -484,13 +492,27 @@ QWidget* MainWindow::buildRightStatusPanel() {
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); }
void MainWindow::showDroneManagementPage() { pages_->setCurrentIndex(3); }
void MainWindow::showTaskDecisionPage() { pages_->setCurrentIndex(4); }
void MainWindow::showTaskDetailsPage() { pages_->setCurrentIndex(5); }
void MainWindow::showVisionModelPage() { pages_->setCurrentIndex(6); }
QWidget* MainWindow::buildDataPage() {
return new DataPage(this); // 使用DataPage类
}
QWidget* MainWindow::buildTaskDecisionPage() {
return new TaskDecisionPage(this); // 使用新类
}
QWidget* MainWindow::buildDroneManagementPage() {
return new DroneManagementPage(this);
}
QWidget* MainWindow::buildTaskDetailsPage() {
return new TaskDetailsPage(this);
}
QWidget* MainWindow::buildVisionModelPage() {
auto* page = new QWidget(this);
auto* v = new QVBoxLayout(page);
@ -519,12 +541,6 @@ QWidget* MainWindow::buildVisionModelPage() {
return page;
}
// 添加新页面构建函数(简单占位)
QWidget* MainWindow::buildTaskDecisionPage() {
return new TaskDecisionPage(this); // 使用新类
}
// 初始化无人机数据
void MainWindow::initializeDrones() {
// 添加4架无人机

@ -13,8 +13,9 @@
#include "../pages/visionmodelpage.h"
#include "../utils/stylehelper.h"
// 添加TaskDecisionPage包含
#include "../pages/taskdecisionpage.h"
#include "../pages/dronemanagementpage.h"
#include "../pages/taskdetailspage.h"
class QStackedWidget;
class QPushButton;
@ -39,6 +40,8 @@ private:
QWidget* buildVisionModelPage(); // 视觉模型:顶部输入框
QWidget* buildRightStatusPanel(); // 右侧信息栏(两页共用)
QWidget* buildTaskDecisionPage(); // 任务决策页面
QWidget* buildDroneManagementPage(); // 无人机管理页面
QWidget* buildTaskDetailsPage(); // 任务详情页面
void initializeDrones(); // 初始化无人机数据
private slots:
@ -47,6 +50,8 @@ private slots:
void showDataPage();
void showVisionModelPage();
void showTaskDecisionPage();
void showDroneManagementPage();
void showTaskDetailsPage();
void onDroneSelectionChanged();
void onCurrentDroneChanged(const QString& droneId);
void updateDroneStatus();

Loading…
Cancel
Save