提交 efe440be 编写于 作者: 首席大数据架构师's avatar 首席大数据架构师

Merge branch 'develop' of git@gitcode.net:coloreaglestdio/qplanetosm.git into develop

......@@ -8,55 +8,55 @@ set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if (${QTV_ACTIVEX})
find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets Network AxServer REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets Network AxServer REQUIRED)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets Network AxServer REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets Network AxServer REQUIRED)
else()
find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets Network REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets Network REQUIRED)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets Network REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets Network REQUIRED)
endif()
set(PRJ_HEADERS
osm_frame_widget.h
osmtiles/cProjectionMercator.h
osmtiles/tilesviewer.h
osmtiles/urlDownloader.h
osmtiles/layer_tiles.h
osmtiles/layer_browser.h
osmtiles/layer_interface.h
osmtiles/viewer_interface.h
osmtiles/layer_tiles_page.h
interface_utils.h
osm_frame_widget.h
osmtiles/cProjectionMercator.h
osmtiles/tilesviewer.h
osmtiles/urlDownloader.h
osmtiles/layer_tiles.h
osmtiles/layer_browser.h
osmtiles/layer_interface.h
osmtiles/viewer_interface.h
osmtiles/layer_tiles_page.h
interface_utils.h
)
set(PRJ_SOURCES
osm_frame_widget.cpp
osmtiles/cProjectionMercator.cpp
osmtiles/tilesviewer.cpp
osmtiles/urlDownloader.cpp
osmtiles/layer_tiles.cpp
osmtiles/layer_browser.cpp
osmtiles/layer_tiles_page.cpp
osm_frame_widget.cpp
osmtiles/cProjectionMercator.cpp
osmtiles/tilesviewer.cpp
osmtiles/urlDownloader.cpp
osmtiles/layer_tiles.cpp
osmtiles/layer_browser.cpp
osmtiles/layer_tiles_page.cpp
)
set(PRJ_FORMS
osm_frame_widget.ui
osmtiles/layer_tiles_page.ui
osm_frame_widget.ui
osmtiles/layer_tiles_page.ui
)
set(PRJ_RESOURCES
resource/resource.qrc
qtviewer_planetosm_zh_CN.ts
qtaxviewer_planetosm.rc
resource/resource.qrc
qtviewer_planetosm_zh_CN.ts
qtaxviewer_planetosm.rc
)
# ========================Exe========================
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
qt_add_executable(qtviewer_planetosm
qt_add_executable(qtviewer_planetosm
MANUAL_FINALIZATION
main.cpp
listen_thread.cpp
......@@ -65,26 +65,26 @@ if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
${PRJ_SOURCES}
${PRJ_FORMS}
${PRJ_RESOURCES}
)
)
# Define target properties for Android with Qt 6 as:
# set_property(TARGET qtviewer_planetosm APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
# ${CMAKE_CURRENT_SOURCE_DIR}/android)
# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation
else()
if(ANDROID)
if(ANDROID)
add_library(qtviewer_planetosm SHARED
main.cpp
listen_thread.cpp
listen_thread.h
${PRJ_HEADERS}
${PRJ_SOURCES}
${PRJ_FORMS}
${PRJ_RESOURCES}
main.cpp
listen_thread.cpp
listen_thread.h
${PRJ_HEADERS}
${PRJ_SOURCES}
${PRJ_FORMS}
${PRJ_RESOURCES}
)
# Define properties for Android with Qt 5 after find_package() calls as:
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
# Define properties for Android with Qt 5 after find_package() calls as:
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
else()
add_executable(qtviewer_planetosm
add_executable(qtviewer_planetosm
main.cpp
listen_thread.cpp
listen_thread.h
......@@ -92,72 +92,72 @@ else()
${PRJ_SOURCES}
${PRJ_FORMS}
${PRJ_RESOURCES}
)
)
endif()
endif()
target_link_libraries(qtviewer_planetosm PRIVATE
Qt${QT_VERSION_MAJOR}::Widgets
Qt${QT_VERSION_MAJOR}::Network)
Qt${QT_VERSION_MAJOR}::Widgets
Qt${QT_VERSION_MAJOR}::Network)
set_target_properties(qtviewer_planetosm PROPERTIES
MACOSX_BUNDLE_GUI_IDENTIFIER qtv.planetosm.viewer
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
MACOSX_BUNDLE TRUE
WIN32_EXECUTABLE TRUE
MACOSX_BUNDLE_GUI_IDENTIFIER qtv.planetosm.viewer
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
MACOSX_BUNDLE TRUE
WIN32_EXECUTABLE TRUE
)
if(QT_VERSION_MAJOR EQUAL 6)
qt_finalize_executable(qtviewer_planetosm)
qt_finalize_executable(qtviewer_planetosm)
endif()
# ========================Widget Library========================
add_library(qplanetosm_widget SHARED
qtwidget_planetosm.h
qtwidget_planetosm.cpp
${PRJ_HEADERS}
${PRJ_SOURCES}
${PRJ_FORMS}
${PRJ_RESOURCES}
qtwidget_planetosm.h
qtwidget_planetosm.cpp
${PRJ_HEADERS}
${PRJ_SOURCES}
${PRJ_FORMS}
${PRJ_RESOURCES}
)
target_compile_definitions(qplanetosm_widget PRIVATE PLANETOSM_EXPORT_DLL)
target_link_libraries(qplanetosm_widget PRIVATE
Qt${QT_VERSION_MAJOR}::Widgets
Qt${QT_VERSION_MAJOR}::Network
Qt${QT_VERSION_MAJOR}::Widgets
Qt${QT_VERSION_MAJOR}::Network
)
#==========================ActiveX==========================
if (WIN32 AND ${QTV_ACTIVEX})
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
qt6_add_axserver_library(axplanetosm SHARED NO_AX_SERVER_REGISTRATION
qtaxviewer_planetosm.def
qtaxviewer_planetosm.h
qtaxviewer_planetosm.cpp
${PRJ_HEADERS}
${PRJ_SOURCES}
${PRJ_FORMS}
${PRJ_RESOURCES}
qtaxviewer_planetosm.def
qtaxviewer_planetosm.h
qtaxviewer_planetosm.cpp
${PRJ_HEADERS}
${PRJ_SOURCES}
${PRJ_FORMS}
${PRJ_RESOURCES}
)
add_custom_command(TARGET axplanetosm
POST_BUILD
COMMAND echo If you want to reg server, please set Qt BIN PATH first
COMMAND idc.exe \"$<TARGET_FILE:axplanetosm>\" /regserverperuser
#COMMAND regsvr32 \"$<TARGET_FILE:axplanetosm>\"
#COMMAND idc.exe \"$<TARGET_FILE:axplanetosm>\" /regserver
)
else()
POST_BUILD
COMMAND echo If you want to reg server, please set Qt BIN PATH first
COMMAND idc.exe \"$<TARGET_FILE:axplanetosm>\" /regserverperuser
#COMMAND regsvr32 \"$<TARGET_FILE:axplanetosm>\"
#COMMAND idc.exe \"$<TARGET_FILE:axplanetosm>\" /regserver
)
else()
add_library(axplanetosm SHARED
qtaxviewer_planetosm.def
qtaxviewer_planetosm.h
qtaxviewer_planetosm.cpp
${PRJ_HEADERS}
${PRJ_SOURCES}
${PRJ_FORMS}
${PRJ_RESOURCES}
# C:\Qt\6.2.4\msvc2019_64\bin\idc.exe D:/projects/build-qtv.planet-Qt62vc-Release/bin/axplanetosm.dll /regserver""
qtaxviewer_planetosm.def
qtaxviewer_planetosm.h
qtaxviewer_planetosm.cpp
${PRJ_HEADERS}
${PRJ_SOURCES}
${PRJ_FORMS}
${PRJ_RESOURCES}
# C:\Qt\6.2.4\msvc2019_64\bin\idc.exe D:/projects/build-qtv.planet-Qt62vc-Release/bin/axplanetosm.dll /regserver""
)
add_custom_command(TARGET axplanetosm
POST_BUILD
......@@ -169,9 +169,9 @@ if (WIN32 AND ${QTV_ACTIVEX})
)
endif()
target_link_libraries(axplanetosm PRIVATE
Qt${QT_VERSION_MAJOR}::Widgets
Qt${QT_VERSION_MAJOR}::Network
Qt${QT_VERSION_MAJOR}::AxServer
Qt${QT_VERSION_MAJOR}::Widgets
Qt${QT_VERSION_MAJOR}::Network
Qt${QT_VERSION_MAJOR}::AxServer
)
endif()
......@@ -7,7 +7,7 @@ set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
......
......@@ -7,7 +7,7 @@ set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
......
......@@ -942,6 +942,10 @@ void qtvplugin_grid::load_ini()
ui->lineEdit_QTV_west_spliter->setText(settings.value("settings/lineEdit_QTV_west_spliter","W").toString());
ui->plainTextEdit_QTV_markcmd->setPlainText(settings.value("settings/plainTextEdit_QTV_markcmd","").toString());
ui->combox_type->setCurrentIndex(settings.value("settings/combox_type",0).toInt());
ui->lineEdit_grigcen_r->setText(settings.value("settings/lineEdit_grigcen_r","100").toString());
ui->lineEdit_grigcen_lon->setText(settings.value("settings/lineEdit_grigcen_lon","0").toString());
ui->lineEdit_grigcen_lat->setText(settings.value("settings/lineEdit_grigcen_lat","0").toString());
bool bLatFirst = settings.value("settings/latfirst",true).toBool();
if (bLatFirst)
ui->radioButton_QTV_latfirst->setChecked(true);
......@@ -956,6 +960,51 @@ void qtvplugin_grid::save_ini()
settings.setValue("settings/lineEdit_QTV_west_spliter",ui->lineEdit_QTV_west_spliter->text());
settings.setValue("settings/plainTextEdit_QTV_markcmd",ui->plainTextEdit_QTV_markcmd->toPlainText());
settings.setValue("settings/combox_type",ui->combox_type->currentIndex());
settings.setValue("settings/lineEdit_grigcen_r",ui->lineEdit_grigcen_r->text());
settings.setValue("settings/lineEdit_grigcen_lon",ui->lineEdit_grigcen_lon->text());
settings.setValue("settings/lineEdit_grigcen_lat",ui->lineEdit_grigcen_lat->text());
bool bLatFirst = ui->radioButton_QTV_latfirst->isChecked();
settings.setValue("settings/latfirst",bLatFirst);
}
void qtvplugin_grid::on_pushButton_QTV_centerFill_clicked()
{
double clat,clon;
m_pVi->centerLLA(&clat,&clon);
ui->lineEdit_grigcen_lat->setText(QString("%1").arg(clat,0,'f',7));
ui->lineEdit_grigcen_lon->setText(QString("%1").arg(clon,0,'f',7));
}
void qtvplugin_grid::on_pushButton_QTV_gridCircle_clicked()
{
double clat = ui->lineEdit_grigcen_lat->text().toDouble();
double clon = ui->lineEdit_grigcen_lon->text().toDouble();
double cr = ui->lineEdit_grigcen_r->text().toDouble();
double clla[] {clat,clon,0};
if (cr <=0)
cr = 1;
if (cr>=14000)
cr = 14000;
int span = cr/128;
if (span <1) span = 1;
ui->lineEdit_grigcen_r->setText(QString("%1").arg(cr,0,'f',2));
static const int maxBufSize = 256;
static std::shared_ptr<double [][3]> lla_buf(new double [maxBufSize][3]);
double (*pLLAbuf)[3] = lla_buf.get();
const int llafirst = ui->radioButton_QTV_latfirst->isChecked()?1:0;
QString strFill;
for (double d = 0;d<360;d+=10)
{
int res = CES_GEOCALC::ellips_range(clla,cr*1000,d,maxBufSize,span,pLLAbuf);
if (res)
strFill += QString("%1,%2\n").arg(pLLAbuf[res-1][1-llafirst],0,'f',7).arg(pLLAbuf[res-1][llafirst],0,'f',7);
}
ui->plainTextEdit_QTV_markcmd->setPlainText(strFill);
save_ini();
}
......@@ -80,6 +80,8 @@ protected slots:
void on_pushButton_QTV_add_mark_clicked();
void on_pushButton_QTV_clear_clicked();
void on_pushButton_QTV_clear_all_clicked();
void on_pushButton_QTV_centerFill_clicked();
void on_pushButton_QTV_gridCircle_clicked();
};
#endif // QTVPLUGIN_GRID_H
......
......@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>422</width>
<height>418</height>
<width>533</width>
<height>339</height>
</rect>
</property>
<property name="windowTitle">
......@@ -17,7 +17,22 @@
<iconset resource="resources.qrc">
<normaloff>:/icons/Brush_Ruler_Alt.png</normaloff>:/icons/Brush_Ruler_Alt.png</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>2</number>
</property>
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
......@@ -36,6 +51,9 @@
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
......@@ -51,21 +69,32 @@
<property name="title">
<string>Mark</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QPlainTextEdit" name="plainTextEdit_QTV_markcmd">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>64</height>
</size>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<property name="spacing">
<number>2</number>
</property>
<item row="2" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QRadioButton" name="radioButton_QTV_latfirst">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>LatLon</string>
</property>
......@@ -76,6 +105,12 @@
</item>
<item>
<widget class="QRadioButton" name="radioButton_QTV_lonfirst">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>LonLat</string>
</property>
......@@ -89,7 +124,14 @@
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_QTV_west_spliter"/>
<widget class="QLineEdit" name="lineEdit_QTV_west_spliter">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_qtv">
......@@ -99,17 +141,97 @@
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_QTV_south_spliter"/>
<widget class="QLineEdit" name="lineEdit_QTV_south_spliter">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</item>
<item>
<item row="1" column="1">
<widget class="QLabel" name="label_qtv_3">
<property name="text">
<string>Center Lon</string>
</property>
</widget>
</item>
<item row="0" column="0" rowspan="2">
<widget class="QPlainTextEdit" name="plainTextEdit_QTV_markcmd">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>64</height>
</size>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLineEdit" name="lineEdit_grigcen_lon">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLineEdit" name="lineEdit_grigcen_lat">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLineEdit" name="lineEdit_grigcen_r">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_qtv_2">
<property name="text">
<string>Center Lat</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_qtv_4">
<property name="text">
<string>Range(km)</string>
</property>
</widget>
</item>
<item row="3" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>2</number>
</property>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>37</width>
......@@ -156,6 +278,40 @@
</item>
</layout>
</item>
<item row="3" column="1">
<widget class="QPushButton" name="pushButton_QTV_gridCircle">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>&lt;=Circle</string>
</property>
<property name="icon">
<iconset resource="../qtviewer_planetosm/resource/resource.qrc">
<normaloff>:/ui/icons/Blizzard17.png</normaloff>:/ui/icons/Blizzard17.png</iconset>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QPushButton" name="pushButton_QTV_centerFill">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>^Center</string>
</property>
<property name="icon">
<iconset resource="../qtviewer_planetosm/resource/resource.qrc">
<normaloff>:/ui/icons/Blizzard17.png</normaloff>:/ui/icons/Blizzard17.png</iconset>
</property>
</widget>
</item>
</layout>
</widget>
</item>
......@@ -196,6 +352,8 @@
</layout>
</widget>
<resources>
<include location="../qtviewer_planetosm/resource/resource.qrc"/>
<include location="../qtviewer_planetosm/resource/resource.qrc"/>
<include location="../qtvplugin_geomarker/resources.qrc"/>
<include location="resources.qrc"/>
</resources>
......
......@@ -7,7 +7,7 @@ set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
......
......@@ -7,7 +7,7 @@ set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include_directories(../qtviewer_planetosm)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册