Compare commits
231 Commits
cd61d10c61
...
release
| Author | SHA1 | Date | |
|---|---|---|---|
| 75b3bb46ac | |||
| 75c6b5abcc | |||
| 97c6ddeaea | |||
| 235eb2acb8 | |||
| bd5579b8f1 | |||
| 7f820c8f67 | |||
| 9130496887 | |||
| cca2e0f2d7 | |||
| b92a1fa558 | |||
| d4f1c78a6e | |||
| 274fb20103 | |||
| acef4db1db | |||
| 9f84e5c3df | |||
| aa009c36b0 | |||
| 5ae5034145 | |||
| e4340a7215 | |||
| f7eabd1a85 | |||
| 3ca32f4972 | |||
| 68512b6c08 | |||
| 5d32c02b5f | |||
| d0148bf460 | |||
| 76d9604282 | |||
| 3e1768b418 | |||
| 016753fb4d | |||
| 4b7c513f7f | |||
| 0f6bc121aa | |||
| 0ec173d9bb | |||
| cabacdd908 | |||
| f66138593c | |||
| c49454bb03 | |||
| efb5cbe484 | |||
| b71db0530f | |||
| ddc4da54be | |||
| bb645bd71b | |||
| d6cc5f0033 | |||
| 055b8a9480 | |||
| 12664842c7 | |||
| 8fbed9f427 | |||
| e43ae02e48 | |||
| a9b9061475 | |||
| c41e92a9f5 | |||
| b37318a5a5 | |||
| 6f97d849e9 | |||
| 58432fa62e | |||
| 6e4cdccc94 | |||
| aa2ea1eda6 | |||
| e59bf65294 | |||
| 11e665c419 | |||
| 2e5d64f258 | |||
| 1312f950c7 | |||
| 5382c54d6a | |||
| 56b3dcad7c | |||
| 75464792ba | |||
| 8b86f93e38 | |||
| 3e0ec72e7d | |||
| b45bfca826 | |||
| 6a9b1751ac | |||
| ede780249a | |||
| 067839f02b | |||
| da9237e74b | |||
| 905eb77091 | |||
| 2974967790 | |||
| 4a567dbba4 | |||
| 0c7619d00b | |||
| fa4634b0c7 | |||
| 0f1825bf33 | |||
| 562cb280f7 | |||
| 5ec9c22d46 | |||
| d78a1f532b | |||
| 0d9ecc9ceb | |||
| 7baa7916f7 | |||
| 7ecf33a908 | |||
| c3f921ea6a | |||
| 2251caf12c | |||
| c76608abf0 | |||
| 06c99dd105 | |||
| caf149ed28 | |||
| 13a543bfd5 | |||
| 16e52701be | |||
| 09ed9a9907 | |||
| a5d75fec09 | |||
| afd15e20f6 | |||
| 77c2296320 | |||
| 1c8d2d5c5f | |||
| f6a9e44805 | |||
| a5e5c289db | |||
| a49aeda257 | |||
| 79db8ea408 | |||
| c359ba34a6 | |||
| 760c57a843 | |||
| 61316462fa | |||
| 4e3baadd70 | |||
| 8324776fb8 | |||
| 65f3cc0698 | |||
| b72ef08892 | |||
| 8363ad29ef | |||
| ab4f2a3d40 | |||
| 754d46a250 | |||
| ba5a30a7dd | |||
| 50efa51975 | |||
| 8bb52f59fe | |||
| 3acec2297b | |||
| d39488397c | |||
| 97a0bad71d | |||
| f02c38884b | |||
| a195ec4006 | |||
| d15b6ff855 | |||
| bd6e672568 | |||
| 2c9279248d | |||
| e67c1925b1 | |||
| 7741878f3e | |||
| 61e16d4f1b | |||
| 5bd869968e | |||
| 94f1b68b6f | |||
| 86439ae05c | |||
| a64e03b28d | |||
| 9d708342ca | |||
| 265251d47d | |||
| 8962d051ea | |||
| e513e2f16a | |||
| 8ab6a4716f | |||
| ab330967f3 | |||
| 46dd2eeaad | |||
| fdee11cbc0 | |||
| 4dbca6f145 | |||
| 57c19a2e8c | |||
| 14c8a359bd | |||
| e45464f480 | |||
| 892c2e48a3 | |||
| f0340c5d48 | |||
| db37f8b963 | |||
| a7f182a7cb | |||
| b8e4e7203f | |||
| 1010eaf6db | |||
| 007e3db9ef | |||
| dbff7cec26 | |||
| 3c94cce018 | |||
| ab356664e2 | |||
| 2945c07a31 | |||
| 0ffcedb5ef | |||
| 87f49853b2 | |||
| c269dd6b9e | |||
| cb739f61b0 | |||
| 54ad05ffef | |||
| 2857dee71c | |||
| 5abe72697d | |||
| e90f5d23c4 | |||
| c1fa375145 | |||
| 69b0ee9d1a | |||
| b6e86b6160 | |||
| 1384cf3c21 | |||
| 6a84167a58 | |||
| da32c7c723 | |||
| 0418638fc9 | |||
| 8dd574fef1 | |||
| 3137dc7c03 | |||
| a627ea557e | |||
| da939e30c7 | |||
| a8625e2333 | |||
| 8406767c76 | |||
| 7395146bfb | |||
| 09511b6afd | |||
| 2d509afe89 | |||
| fda0983d0b | |||
| 880bda410a | |||
| 3d64351da6 | |||
| 52b00ac0ab | |||
| e3000e5ebc | |||
| d9cb8da8ae | |||
| 7855536959 | |||
| 9bbe763184 | |||
| 68945371f5 | |||
| 5d1706834b | |||
| e3ab26dc4c | |||
| af8c3a44ff | |||
| 4bc671584c | |||
| bed8f9e2f0 | |||
| 72e7b42813 | |||
| 961dd32c69 | |||
| b65f154f29 | |||
| cab5d7334a | |||
| 03442306b9 | |||
| c5b61c619c | |||
| ada132e992 | |||
| 54954c9ae7 | |||
| 2e59133c66 | |||
| 9db04f5aa0 | |||
| 30d1faff9a | |||
| 864940446d | |||
| 36487e636f | |||
| 47fd2bfc8a | |||
| a10ba790f5 | |||
| 446e74a51d | |||
| ef9e75d584 | |||
| 854f1dc3e9 | |||
| 965d845a64 | |||
| 682e493fa3 | |||
| 63012cd7e4 | |||
| ccd6838508 | |||
| 0df5b36586 | |||
| 9e2032cd27 | |||
| aa5b8af51c | |||
| b5f69363cc | |||
| d4ddaf5f58 | |||
| 3267e13aa8 | |||
| 96dd4202d5 | |||
| f674b6fe2f | |||
| b60e2db625 | |||
| b3d9dc8133 | |||
| 18854891f4 | |||
| 11e903dc24 | |||
| 6a037a8367 | |||
| 90d73ba248 | |||
| fa7851ade0 | |||
| 13e20d7c83 | |||
| 163a5b943e | |||
| ad5bb3a750 | |||
| c8369d2bd9 | |||
| a4eada7441 | |||
| fdedf11f00 | |||
| 2c7528fe6d | |||
| c38ad9f907 | |||
| dcee031d8b | |||
| 92d469750e | |||
| ced89be7c8 | |||
| 5519d4117b | |||
| 3606f0c90a | |||
| 59a20f4cd8 | |||
| 0e3aec8539 | |||
| fe715857fb | |||
| 2c3310250a |
5
.gitignore
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
/.svn
|
||||
CMakeLists.txt.user*
|
||||
/project_fs_build
|
||||
/qad/qad_version.h
|
||||
/qglengine/core/qglengine_version.h
|
||||
214
CMakeLists.txt
@@ -9,15 +9,84 @@ project(libs)
|
||||
set(PIP_CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/pip/cmake")
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" "${PIP_CMAKE_MODULE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/qad/cmake")
|
||||
set(LIBPROJECT 1)
|
||||
set(_qt_libs )
|
||||
set(_qt_apps )
|
||||
set(_qt_plugs)
|
||||
include(GenerateExportHeader)
|
||||
include(SDKMacros)
|
||||
include(QADMacros)
|
||||
include(DeployMacros)
|
||||
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
||||
|
||||
if(NOT DEFINED BUILD_NUMBER)
|
||||
set(BUILD_NUMBER 9999)
|
||||
endif()
|
||||
set(_COMPANY SHS)
|
||||
set(_DOMAIN org.SHS)
|
||||
if("x${BUILD_NUMBER}" STREQUAL "x")
|
||||
set(BUILD_NUMBER 0)
|
||||
endif()
|
||||
|
||||
|
||||
if(STATIC_LIB)
|
||||
set(QAD_LIB_TYPE STATIC)
|
||||
add_definitions(-DQAD_STATIC_DEFINE)
|
||||
set(QAD_LIB_TYPE_MSG "Static")
|
||||
else()
|
||||
set(QAD_LIB_TYPE SHARED)
|
||||
set(QAD_LIB_TYPE_MSG "Shared")
|
||||
endif()
|
||||
|
||||
set(_QAD_MAJOR 1)
|
||||
set(_QAD_MINOR 9)
|
||||
set(_QAD_REVISION 0)
|
||||
set(_QAD_SUFFIX )
|
||||
set(_QAD_COMPANY SHS)
|
||||
set(_QAD_DOMAIN org.SHS)
|
||||
set(QAD_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/qad/qad_version.h")
|
||||
set_version(QAD
|
||||
MAJOR "${_QAD_MAJOR}"
|
||||
MINOR "${_QAD_MINOR}"
|
||||
REVISION "${_QAD_REVISION}"
|
||||
BUILD "${BUILD_NUMBER}"
|
||||
SUFFIX "${_QAD_SUFFIX}"
|
||||
OUTPUT "${QAD_VERSION_FILE}")
|
||||
set_deploy_property(QAD ${QAD_LIB_TYPE}
|
||||
FULLNAME "${_QAD_DOMAIN}.*"
|
||||
COMPANY "${_QAD_COMPANY}")
|
||||
|
||||
|
||||
if(STATIC_LIB)
|
||||
set(PIQt_LIB_TYPE STATIC)
|
||||
add_definitions(-DPIQt_STATIC_DEFINE)
|
||||
set(PIQt_LIB_TYPE_MSG "Static")
|
||||
else()
|
||||
set(PIQt_LIB_TYPE SHARED)
|
||||
set(PIQt_LIB_TYPE_MSG "Shared")
|
||||
endif()
|
||||
|
||||
set(_PIQt_MAJOR 1)
|
||||
set(_PIQt_MINOR 0)
|
||||
set(_PIQt_REVISION 0)
|
||||
set(_PIQt_SUFFIX )
|
||||
set(_PIQt_COMPANY SHS)
|
||||
set(_PIQt_DOMAIN org.SHS)
|
||||
if(NOT DEFINED BUILD_NUMBER)
|
||||
set(BUILD_NUMBER 9999)
|
||||
endif()
|
||||
set(PIQt_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/piqt/piqt_version.h")
|
||||
set_version(PIQt
|
||||
MAJOR "${_PIQt_MAJOR}"
|
||||
MINOR "${_PIQt_MINOR}"
|
||||
REVISION "${_PIQt_REVISION}"
|
||||
BUILD "${BUILD_NUMBER}"
|
||||
SUFFIX "${_PIQt_SUFFIX}"
|
||||
OUTPUT "${PIQt_VERSION_FILE}")
|
||||
set_deploy_property(PIQt ${_PIQt_LIB_TYPE}
|
||||
FULLNAME "${_PIQt_DOMAIN}.*"
|
||||
COMPANY "${_PIQt_COMPANY}")
|
||||
|
||||
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR}/pip)
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/qad)
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR}/piqt)
|
||||
if(MINGW)
|
||||
find_package(MinGW REQUIRED)
|
||||
else()
|
||||
@@ -31,7 +100,7 @@ else()
|
||||
link_directories(/usr/local/lib)
|
||||
endif()
|
||||
else()
|
||||
set(CMAKE_INSTALL_RPATH "\$ORIGIN/lib")
|
||||
set(CMAKE_INSTALL_RPATH "\$ORIGIN;\$ORIGIN/lib")
|
||||
endif()
|
||||
endif()
|
||||
if (DEFINED ANDROID_PLATFORM)
|
||||
@@ -42,20 +111,29 @@ if (DEFINED ANDROID_PLATFORM)
|
||||
#message("${ANDROID_NDK}/sysroot/usr/include")
|
||||
endif()
|
||||
set(INSTALL_PREFIX "")
|
||||
set(_plugins_default_ 1)
|
||||
set(_plugins_default_ ON)
|
||||
if(CMAKE_CROSSCOMPILING)
|
||||
if (DEFINED ANDROID_PLATFORM)
|
||||
set(_plugins_default_ 0)
|
||||
set(_plugins_default_ OFF)
|
||||
set(INSTALL_PREFIX "${CMAKE_FIND_ROOT_PATH}/")
|
||||
else()
|
||||
set(INSTALL_PREFIX "${CMAKE_STAGING_PREFIX}")
|
||||
endif()
|
||||
endif()
|
||||
option(LIB "System install" 1)
|
||||
option(QGLVIEW "Build QGLview library and utils" 0)
|
||||
option(QGLENGINE "Build QGLENGINE library and utils" 0)
|
||||
option(CROSSTOOLS "Crosstools minimal build" OFF)
|
||||
option(LIB "System install" ON)
|
||||
option(QGLVIEW "Build QGLview library and utils" OFF)
|
||||
option(QGLENGINE "Build QGLENGINE library and utils" OFF)
|
||||
option(UTILS "Build various utils" ${_plugins_default_})
|
||||
option(DESIGNER_PLUGINS "Build qt designer plugins" ${_plugins_default_})
|
||||
option(STATIC_LIB OFF)
|
||||
if (CROSSTOOLS)
|
||||
set(LIB 1)
|
||||
set(QGLVIEW 0)
|
||||
set(QGLENGINE 0)
|
||||
set(UTILS 0)
|
||||
set(DESIGNER_PLUGINS 0)
|
||||
endif()
|
||||
if (CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3 -Wall")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3 -Wall")
|
||||
@@ -66,7 +144,6 @@ endif()
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
|
||||
set(PIP_LIBRARY pip)
|
||||
set(PIP_FOLDERS "." "core" "containers" "thread" "system" "io_devices" "io_utils" "console" "math" "code" "geo" "resources" "opencl" "crypt" "introspection" "concurrent" "cloud")
|
||||
set(PIP_INCLUDES)
|
||||
|
||||
if(LIB)
|
||||
@@ -90,28 +167,36 @@ else()
|
||||
message(STATUS "Install ${PROJECT_NAME} to local \"bin\", \"lib\" and \"include\"")
|
||||
endif()
|
||||
|
||||
foreach(F ${PIP_FOLDERS})
|
||||
list(APPEND PIP_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/pip/src_main/${F}")
|
||||
endforeach(F)
|
||||
#message(${PIP_INCLUDES})
|
||||
if(CMAKE_CROSSCOMPILING OR (DEFINED ANDROID_PLATFORM))
|
||||
set(PIP_CMG "pip_cmg")
|
||||
set(PIP_RC "pip_rc")
|
||||
set(PIP_DEPLOY_TOOL "deploy_tool")
|
||||
else()
|
||||
set(PIP_CMG "${CMAKE_CURRENT_BINARY_DIR}/pip/utils/code_model_generator/pip_cmg")
|
||||
set(PIP_RC "${CMAKE_CURRENT_BINARY_DIR}/pip/utils/resources_compiler/pip_rc")
|
||||
set(PIP_DEPLOY_TOOL "${CMAKE_CURRENT_BINARY_DIR}/pip/utils/deploy_tool/deploy_tool")
|
||||
endif()
|
||||
if(WIN32)
|
||||
set(PIP_DLL_DIR "${CMAKE_CURRENT_BINARY_DIR}/pip")
|
||||
endif()
|
||||
|
||||
set(QAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/qad)
|
||||
set(ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
include(QtWraps)
|
||||
find_qt(Core QUIET)
|
||||
set(QtVersions)
|
||||
set(SomeQtFound 0)
|
||||
foreach(_v ${_QT_VERSIONS_})
|
||||
if (CROSSTOOLS)
|
||||
|
||||
add_subdirectory(pip)
|
||||
file(GLOB CMAKES "qad/cmake/*.cmake" "qad/cmake/*.in")
|
||||
install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules)
|
||||
|
||||
else()
|
||||
|
||||
include(QtWraps)
|
||||
find_qt(Core QUIET)
|
||||
set(QtVersions)
|
||||
set(SomeQtFound 0)
|
||||
foreach(_v ${_QT_VERSIONS_})
|
||||
option(Qt${_v} "Build for Qt${_v}" 1)
|
||||
if (Qt${_v})
|
||||
#message("Qt${_v} -> ${LOCAL_FOUND${_v}}")
|
||||
@@ -120,20 +205,28 @@ foreach(_v ${_QT_VERSIONS_})
|
||||
set(SomeQtFound 1)
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
if(UTILS)
|
||||
message(STATUS "Building with utils")
|
||||
else()
|
||||
message(STATUS "Building only libraries")
|
||||
endif()
|
||||
#if(UTILS)
|
||||
# message(STATUS "Building with utils")
|
||||
#else()
|
||||
# message(STATUS "Building only libraries")
|
||||
#endif()
|
||||
|
||||
add_subdirectory(pip)
|
||||
set(_DIRS)
|
||||
if (SomeQtFound)
|
||||
message(STATUS "Building Qt-derived targets for ${QtVersions}")
|
||||
add_subdirectory(pip)
|
||||
foreach(F ${PIP_MAIN_FOLDERS})
|
||||
list(APPEND PIP_INCLUDES "${F}")
|
||||
endforeach(F)
|
||||
add_subdirectory(cd_utils)
|
||||
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/cd_utils" "${CMAKE_CURRENT_BINARY_DIR}/cd_utils")
|
||||
set(_DIRS)
|
||||
if (SomeQtFound)
|
||||
#message(STATUS "Building Qt-derived targets for ${QtVersions}")
|
||||
add_subdirectory(qad)
|
||||
set(_DIRS piqt piqt_utils qcd_utils)
|
||||
include_directories(${qad_includes})
|
||||
add_subdirectory(piqt)
|
||||
include_directories(${piqt_includes})
|
||||
set(_DIRS)
|
||||
if (Qt5)
|
||||
if (QGLVIEW)
|
||||
list(APPEND _DIRS qglview)
|
||||
@@ -144,19 +237,62 @@ if (SomeQtFound)
|
||||
endif()
|
||||
foreach(_D ${_DIRS})
|
||||
list(APPEND QT_MULTILIB_LIST ${_D})
|
||||
endforeach(_D)
|
||||
include_directories(piqt)
|
||||
else()
|
||||
message(STATUS "None of Qt found, skip Qt-derived targets")
|
||||
endif()
|
||||
include_directories(cd_utils)
|
||||
list(INSERT _DIRS 0 cd_utils)
|
||||
foreach(_D ${_DIRS})
|
||||
add_subdirectory(${_D})
|
||||
endforeach(_D)
|
||||
endforeach(_D)
|
||||
|
||||
macro(align_list _list _out)
|
||||
set(_max_len 0)
|
||||
foreach(_m ${_list})
|
||||
string(LENGTH "${_m}" _clen)
|
||||
if (_clen GREATER _max_len)
|
||||
set(_max_len ${_clen})
|
||||
endif()
|
||||
endforeach()
|
||||
set(${_out})
|
||||
foreach(_m ${_list})
|
||||
set(_am "${_m}")
|
||||
while(TRUE)
|
||||
string(LENGTH "${_am}" _clen)
|
||||
if (_clen GREATER_EQUAL ${_max_len})
|
||||
break()
|
||||
endif()
|
||||
string(APPEND _am " ")
|
||||
endwhile()
|
||||
list(APPEND ${_out} "${_am}")
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
macro(print_list _list _name)
|
||||
if (NOT "x${_list}" STREQUAL "x")
|
||||
message("")
|
||||
message(" ${_name}:")
|
||||
#align_list("${_list}" _alist)
|
||||
foreach(_m ${_list})
|
||||
message(" * ${_m}")
|
||||
endforeach()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
message("----------QAD-----------")
|
||||
message(" Build for ${QtVersions}")
|
||||
message(" QAD Version: ${QAD_VERSION}")
|
||||
message(" QAD Linkage: ${QAD_LIB_TYPE_MSG}")
|
||||
message(" PIQt Version: ${PIQt_VERSION}")
|
||||
message(" PIQt Linkage: ${PIQt_LIB_TYPE_MSG}")
|
||||
print_list("${_qt_libs}" "Libraries")
|
||||
print_list("${_qt_apps}" "Applications")
|
||||
print_list("${_qt_plugs}" "Plugins")
|
||||
message("-----------------------")
|
||||
message("")
|
||||
|
||||
else()
|
||||
message(STATUS "None of Qt found, skip Qt-derived targets")
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
foreach(PIP_LT ${PIP_LIBS_TARGETS})
|
||||
foreach(PIP_LT ${PIP_MODULES})
|
||||
if (SomeQtFound)
|
||||
qt_install(FILES "${CMAKE_CURRENT_BINARY_DIR}/pip/lib${PIP_LT}.dll" DESTINATION QtBin)
|
||||
endif()
|
||||
|
||||
66
Jenkinsfile
vendored
@@ -1,10 +1,62 @@
|
||||
node {
|
||||
def img
|
||||
def def_args = "--no-cache --build-arg LIBS_BUILD_NUMBER=${env.BUILD_NUMBER} --build-arg JOBS_COUNT=4"
|
||||
def build_docker(name) {
|
||||
def image = "${name}-libs"
|
||||
echo "Build image ${image}"
|
||||
def pref = ""
|
||||
if (env.DOCKER_PREFIX) {
|
||||
img = docker.build("${env.DOCKER_PREFIX}/libs", "${def_args} --build-arg DOCKER_PREFIX=${env.DOCKER_PREFIX} .")
|
||||
} else {
|
||||
img = docker.build("libs", "${def_args} .")
|
||||
pref = "--build-arg DOCKER_PREFIX=${env.DOCKER_PREFIX}/"
|
||||
}
|
||||
def jobs = 4
|
||||
if (env.JOBS_COUNT) {
|
||||
jobs = "${env.JOBS_COUNT}"
|
||||
}
|
||||
def args = "${pref} --build-arg LIBS_BUILD_NUMBER=${env.BUILD_NUMBER} --build-arg JOBS_COUNT=${jobs}"
|
||||
dir ("docker/${image}") {
|
||||
sh "docker build ${args} --no-cache -t ${image} ."
|
||||
}
|
||||
return "\n - ${image}"
|
||||
}
|
||||
node {
|
||||
stage("checkout") {
|
||||
checkout scm
|
||||
}
|
||||
def _envmap = [:]
|
||||
def _env = sh(script: "env", returnStdout: true).trim().split("\n")
|
||||
_env.each{ l ->
|
||||
def _ind = l.indexOf('=');
|
||||
def _n = l.substring(0, _ind);
|
||||
def _v = l.substring(_ind + 1);
|
||||
_envmap["${_n}"] = "${_v}";
|
||||
}
|
||||
def _msg = "Built images:"
|
||||
def platforms = ['debian', 'osx', 'windows', 'android', 'pi']
|
||||
for (int i = 0; i < platforms.size(); ++i) {
|
||||
if (_envmap["BUILD_${platforms[i]}"] == "1") {
|
||||
stage("${platforms[i]}-libs") {
|
||||
_msg += build_docker("${platforms[i]}")
|
||||
}
|
||||
}
|
||||
}
|
||||
sh "docker system prune -f"
|
||||
echo "${_msg}"
|
||||
}
|
||||
pipeline {
|
||||
agent {
|
||||
label 'master'
|
||||
}
|
||||
stages {
|
||||
stage("PIP doc") {
|
||||
steps {
|
||||
checkout scm
|
||||
sh "rm -rf share"
|
||||
sh "rm -vf *.zip"
|
||||
sh "mkdir -p build"
|
||||
sh "cd build && cmake -DLIB=0 -DCMAKE_INSTALL_PREFIX=`pwd` ../"
|
||||
sh "cd build && make doc"
|
||||
sh "cd share/doc && zip -r ../../pip_doc.zip pip"
|
||||
sh "cp share/doc/pip/html/pip.qch ./"
|
||||
archiveArtifacts 'pip_doc.zip'
|
||||
archiveArtifacts 'pip.qch'
|
||||
}
|
||||
}
|
||||
}
|
||||
img.push()
|
||||
}
|
||||
165
LICENSE.txt
Normal file
@@ -0,0 +1,165 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
This version of the GNU Lesser General Public License incorporates
|
||||
the terms and conditions of version 3 of the GNU General Public
|
||||
License, supplemented by the additional permissions listed below.
|
||||
|
||||
0. Additional Definitions.
|
||||
|
||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
General Public License.
|
||||
|
||||
"The Library" refers to a covered work governed by this License,
|
||||
other than an Application or a Combined Work as defined below.
|
||||
|
||||
An "Application" is any work that makes use of an interface provided
|
||||
by the Library, but which is not otherwise based on the Library.
|
||||
Defining a subclass of a class defined by the Library is deemed a mode
|
||||
of using an interface provided by the Library.
|
||||
|
||||
A "Combined Work" is a work produced by combining or linking an
|
||||
Application with the Library. The particular version of the Library
|
||||
with which the Combined Work was made is also called the "Linked
|
||||
Version".
|
||||
|
||||
The "Minimal Corresponding Source" for a Combined Work means the
|
||||
Corresponding Source for the Combined Work, excluding any source code
|
||||
for portions of the Combined Work that, considered in isolation, are
|
||||
based on the Application, and not on the Linked Version.
|
||||
|
||||
The "Corresponding Application Code" for a Combined Work means the
|
||||
object code and/or source code for the Application, including any data
|
||||
and utility programs needed for reproducing the Combined Work from the
|
||||
Application, but excluding the System Libraries of the Combined Work.
|
||||
|
||||
1. Exception to Section 3 of the GNU GPL.
|
||||
|
||||
You may convey a covered work under sections 3 and 4 of this License
|
||||
without being bound by section 3 of the GNU GPL.
|
||||
|
||||
2. Conveying Modified Versions.
|
||||
|
||||
If you modify a copy of the Library, and, in your modifications, a
|
||||
facility refers to a function or data to be supplied by an Application
|
||||
that uses the facility (other than as an argument passed when the
|
||||
facility is invoked), then you may convey a copy of the modified
|
||||
version:
|
||||
|
||||
a) under this License, provided that you make a good faith effort to
|
||||
ensure that, in the event an Application does not supply the
|
||||
function or data, the facility still operates, and performs
|
||||
whatever part of its purpose remains meaningful, or
|
||||
|
||||
b) under the GNU GPL, with none of the additional permissions of
|
||||
this License applicable to that copy.
|
||||
|
||||
3. Object Code Incorporating Material from Library Header Files.
|
||||
|
||||
The object code form of an Application may incorporate material from
|
||||
a header file that is part of the Library. You may convey such object
|
||||
code under terms of your choice, provided that, if the incorporated
|
||||
material is not limited to numerical parameters, data structure
|
||||
layouts and accessors, or small macros, inline functions and templates
|
||||
(ten or fewer lines in length), you do both of the following:
|
||||
|
||||
a) Give prominent notice with each copy of the object code that the
|
||||
Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
4. Combined Works.
|
||||
|
||||
You may convey a Combined Work under terms of your choice that,
|
||||
taken together, effectively do not restrict modification of the
|
||||
portions of the Library contained in the Combined Work and reverse
|
||||
engineering for debugging such modifications, if you also do each of
|
||||
the following:
|
||||
|
||||
a) Give prominent notice with each copy of the Combined Work that
|
||||
the Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
c) For a Combined Work that displays copyright notices during
|
||||
execution, include the copyright notice for the Library among
|
||||
these notices, as well as a reference directing the user to the
|
||||
copies of the GNU GPL and this license document.
|
||||
|
||||
d) Do one of the following:
|
||||
|
||||
0) Convey the Minimal Corresponding Source under the terms of this
|
||||
License, and the Corresponding Application Code in a form
|
||||
suitable for, and under terms that permit, the user to
|
||||
recombine or relink the Application with a modified version of
|
||||
the Linked Version to produce a modified Combined Work, in the
|
||||
manner specified by section 6 of the GNU GPL for conveying
|
||||
Corresponding Source.
|
||||
|
||||
1) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (a) uses at run time
|
||||
a copy of the Library already present on the user's computer
|
||||
system, and (b) will operate properly with a modified version
|
||||
of the Library that is interface-compatible with the Linked
|
||||
Version.
|
||||
|
||||
e) Provide Installation Information, but only if you would otherwise
|
||||
be required to provide such information under section 6 of the
|
||||
GNU GPL, and only to the extent that such information is
|
||||
necessary to install and execute a modified version of the
|
||||
Combined Work produced by recombining or relinking the
|
||||
Application with a modified version of the Linked Version. (If
|
||||
you use option 4d0, the Installation Information must accompany
|
||||
the Minimal Corresponding Source and Corresponding Application
|
||||
Code. If you use option 4d1, you must provide the Installation
|
||||
Information in the manner specified by section 6 of the GNU GPL
|
||||
for conveying Corresponding Source.)
|
||||
|
||||
5. Combined Libraries.
|
||||
|
||||
You may place library facilities that are a work based on the
|
||||
Library side by side in a single library together with other library
|
||||
facilities that are not Applications and are not covered by this
|
||||
License, and convey such a combined library under terms of your
|
||||
choice, if you do both of the following:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based
|
||||
on the Library, uncombined with any other library facilities,
|
||||
conveyed under the terms of this License.
|
||||
|
||||
b) Give prominent notice with the combined library that part of it
|
||||
is a work based on the Library, and explaining where to find the
|
||||
accompanying uncombined form of the same work.
|
||||
|
||||
6. Revised Versions of the GNU Lesser General Public License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU Lesser General Public License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Library as you received it specifies that a certain numbered version
|
||||
of the GNU Lesser General Public License "or any later version"
|
||||
applies to it, you have the option of following the terms and
|
||||
conditions either of that published version or of any later version
|
||||
published by the Free Software Foundation. If the Library as you
|
||||
received it does not specify a version number of the GNU Lesser
|
||||
General Public License, you may choose any version of the GNU Lesser
|
||||
General Public License ever published by the Free Software Foundation.
|
||||
|
||||
If the Library as you received it specifies that a proxy can decide
|
||||
whether future versions of the GNU Lesser General Public License shall
|
||||
apply, that proxy's public statement of acceptance of any version is
|
||||
permanent authorization for you to choose that version for the
|
||||
Library.
|
||||
19
README.md
@@ -1,5 +1,7 @@
|
||||
# Main SHS SDK libraries repo
|
||||
|
||||
## Introduction
|
||||
|
||||
This repo contains PIP, QAD and derived projects:
|
||||
* cd_utils - PIP-based client/server library for read, transmit and use custom structures of coefficients
|
||||
* qcd_utils - Qt bindings to CDUtils and "CD Pult" executable - full-featured CD client
|
||||
@@ -7,6 +9,7 @@ This repo contains PIP, QAD and derived projects:
|
||||
* piqt_utils - Gui libraries and executables to edit PIConnection configs and watch PIIntrospection
|
||||
* qglview - old Qt-base OpenGL engine
|
||||
* qglengine - new Qt-base OpenGL engine
|
||||
|
||||
## Compile
|
||||
This repo can be compile with GCC/MinGW/Clang, for Qt 4/5.
|
||||
|
||||
@@ -18,6 +21,7 @@ CMake options:
|
||||
* **DESIGNER_PLUGINS** - build or not Qt Designer plugins, enabled by default
|
||||
* **QGLVIEW** - build or not QGLView, disabled by default
|
||||
* **QGLENGINE** - build or not QGLEngine, disabled by default
|
||||
|
||||
## Windows scripts
|
||||
Build steps for i686 architecture:
|
||||
1. unzip mingw.7z to C:\mingw
|
||||
@@ -36,6 +40,15 @@ Build steps for amd64 architecture:
|
||||
|
||||
Build steps for both architectures:
|
||||
-- follow previos steps, but on '4' state run make_libs_all.bat
|
||||
## Non-Windows scripts
|
||||
Script "make_libs.sh" compile and install SDK for current environment, e.g.
|
||||
`./make_libs.sh -j4`
|
||||
|
||||
## Non-Windows scripts
|
||||
Script "make_libs.sh" compile and install SDK for current environment, e.g.
|
||||
`./make_libs.sh -j4`
|
||||
|
||||
## Docker
|
||||
This repo provide Dockerfile, so you can exec `docker build -t libs .` in this directory
|
||||
and make docker image "libs" with installed SHS SDK for:
|
||||
* Debian 10
|
||||
* Windows x64
|
||||
* MacOS
|
||||
* Android ndk 21 armeabi-v71, arm64-v8a, x86, x86_64
|
||||
|
||||
@@ -1,35 +1,107 @@
|
||||
|
||||
macro(sdk_install _DIR _TARGET _H_FILES _QM_FILES)
|
||||
macro(sdk_install _DIR IS_APP _TARGET _H_FILES _QM_FILES)
|
||||
#message("QM=${_QM_FILES}")
|
||||
if((NOT ${IS_APP}) AND (NOT "${_H_FILES}" STREQUAL ""))
|
||||
if(LIB)
|
||||
if(WIN32)
|
||||
if(NOT "x${_H_FILES}" STREQUAL "x")
|
||||
install(FILES ${_H_FILES} DESTINATION ${MINGW_INCLUDE}/${_DIR})
|
||||
else()
|
||||
install(FILES ${_H_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/${_DIR})
|
||||
endif()
|
||||
else()
|
||||
install(FILES ${_H_FILES} DESTINATION include/${_DIR})
|
||||
endif()
|
||||
endif()
|
||||
if (NOT "${_TARGET}" STREQUAL "")
|
||||
if(LIB)
|
||||
if(WIN32)
|
||||
if (${IS_APP})
|
||||
qt_install(TARGETS ${_TARGET} DESTINATION ${MINGW_BIN})
|
||||
qt_install(TARGETS ${_TARGET} DESTINATION QtBin)
|
||||
else()
|
||||
qt_install(TARGETS ${_TARGET} ARCHIVE DESTINATION ${MINGW_LIB})
|
||||
qt_install(TARGETS ${_TARGET} RUNTIME DESTINATION ${MINGW_BIN})
|
||||
qt_install(TARGETS ${_TARGET} RUNTIME DESTINATION QtBin)
|
||||
else()
|
||||
if (NOT "x${_H_FILES}" STREQUAL "x")
|
||||
install(FILES ${_H_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/${_DIR})
|
||||
endif()
|
||||
else()
|
||||
if (${IS_APP})
|
||||
qt_install(TARGETS ${_TARGET} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
|
||||
else()
|
||||
qt_install(TARGETS ${_TARGET} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
endif()
|
||||
endif()
|
||||
if(NOT "x${_QM_FILES}" STREQUAL "x")
|
||||
qt_install(LANG ${_QM_FILES} DESTINATION QtLang)
|
||||
endif()
|
||||
else()
|
||||
if(NOT "x${_H_FILES}" STREQUAL "x")
|
||||
install(FILES ${_H_FILES} DESTINATION include/${_DIR})
|
||||
endif()
|
||||
if(${IS_APP})
|
||||
qt_install(TARGETS ${_TARGET} DESTINATION bin)
|
||||
else()
|
||||
if(WIN32)
|
||||
qt_install(TARGETS ${_TARGET} RUNTIME DESTINATION bin)
|
||||
qt_install(TARGETS ${_TARGET} ARCHIVE DESTINATION lib)
|
||||
else()
|
||||
qt_install(TARGETS ${_TARGET} DESTINATION lib)
|
||||
endif()
|
||||
endif()
|
||||
if(NOT "x${_QM_FILES}" STREQUAL "x")
|
||||
qt_install(LANG ${_QM_FILES} DESTINATION lang)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
|
||||
macro(copy_to_parent _inc_var)
|
||||
set(QT_MULTILIB_LIST ${QT_MULTILIB_LIST} PARENT_SCOPE)
|
||||
set(_qt_libs ${_qt_libs} PARENT_SCOPE)
|
||||
set(_qt_apps ${_qt_apps} PARENT_SCOPE)
|
||||
set(_qt_plugs ${_qt_plugs} PARENT_SCOPE)
|
||||
if (NOT "x${_inc_var}" STREQUAL "x")
|
||||
set(${_inc_var} ${${_inc_var}} PARENT_SCOPE)
|
||||
endif()
|
||||
if (LIB)
|
||||
set(_ALL_TARGETS ${_ALL_TARGETS} PARENT_SCOPE)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
|
||||
macro(add_directories_with_include multilib_prefix)
|
||||
set(DIRS)
|
||||
file(GLOB _dl "[^.]*")
|
||||
foreach(_d ${_dl})
|
||||
if(IS_DIRECTORY ${_d})
|
||||
list(APPEND DIRS ${_d})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(inc_var ${multilib_prefix}includes)
|
||||
set(${inc_var})
|
||||
foreach(_d ${DIRS})
|
||||
get_filename_component(_dname "${_d}" NAME)
|
||||
list(APPEND QT_MULTILIB_LIST ${multilib_prefix}${_dname})
|
||||
list(APPEND ${inc_var} "${_d}")
|
||||
list(APPEND ${inc_var} "${CMAKE_CURRENT_BINARY_DIR}/${_dname}")
|
||||
endforeach()
|
||||
|
||||
include_directories(${${inc_var}})
|
||||
foreach(_d ${DIRS})
|
||||
add_subdirectory(${_d})
|
||||
endforeach()
|
||||
|
||||
copy_to_parent(${inc_var})
|
||||
endmacro()
|
||||
|
||||
|
||||
macro(add_directories multilib_prefix)
|
||||
include_directories(${${multilib_prefix}includes})
|
||||
file(GLOB _dl "[^.]*")
|
||||
foreach(_d ${_dl})
|
||||
if(IS_DIRECTORY ${_d})
|
||||
add_subdirectory(${_d})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
copy_to_parent(${multilib_prefix}includes)
|
||||
endmacro()
|
||||
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY FIRST)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE FIRST)
|
||||
set(CMAKE_PREFIX_PATH /soft/android/${ANDROID_ABI})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH}/lib)
|
||||
include_directories(${CMAKE_PREFIX_PATH}/include)
|
||||
@@ -1,67 +1,18 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(cd_utils)
|
||||
if (NOT LIBPROJECT)
|
||||
find_package(PIP REQUIRED)
|
||||
option(LIB "System install" 1)
|
||||
option(DEBUG "Build with -g3" 0)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall")
|
||||
if (DEBUG)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
|
||||
endif()
|
||||
endif()
|
||||
if (MINGW)
|
||||
find_package(MinGW REQUIRED)
|
||||
endif()
|
||||
find_package(MinGW REQUIRED)
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${PIP_INCLUDES})
|
||||
#file(GLOB HDRS_UTILS "*.h")
|
||||
#file(GLOB CPPS_UTILS "*.cpp")
|
||||
file(GLOB CPPS_UTILS "cdutils_*.cpp")
|
||||
file(GLOB HDRS_UTILS "cdutils_*.h")
|
||||
if (DEFINED ENV{QNX_HOST})
|
||||
add_library(${PROJECT_NAME} STATIC ${CPPS_UTILS} ${HDRS_UTILS})
|
||||
else()
|
||||
add_library(${PROJECT_NAME} SHARED ${CPPS_UTILS} ${HDRS_UTILS})
|
||||
endif()
|
||||
add_library(${PROJECT_NAME} SHARED ${CPPS_UTILS} ${HDRS_UTILS})
|
||||
target_link_libraries(${PROJECT_NAME} ${PIP_LIBRARY})
|
||||
|
||||
# # Apple crosscompiling rpath patch
|
||||
# if (APPLE AND CMAKE_CROSSCOMPILING AND CMAKE_MACOSX_RPATH)
|
||||
# foreach(_RP ${CMAKE_INSTALL_RPATH})
|
||||
# add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
|
||||
# COMMAND "${CMAKE_INSTALL_NAME_TOOL}"
|
||||
# "-add_rpath" "${_RP}"
|
||||
# "$<TARGET_FILE_DIR:${PROJECT_NAME}>/$<TARGET_FILE_NAME:${PROJECT_NAME}>"
|
||||
# COMMENT "Add to ${PROJECT_NAME} rpath \"${_RP}\"")
|
||||
# endforeach()
|
||||
# endif()
|
||||
generate_export_header(${PROJECT_NAME})
|
||||
list(APPEND HDRS_UTILS "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_export.h")
|
||||
|
||||
add_executable(cdutilstest "cdutilstest.cpp" "cdtest.h")
|
||||
target_link_libraries(cdutilstest ${PIP_LIBRARY} ${PROJECT_NAME})
|
||||
message(STATUS "Building ${PROJECT_NAME}")
|
||||
|
||||
if(NOT LIBPROJECT)
|
||||
if(LIB)
|
||||
if(WIN32)
|
||||
if(MINGW)
|
||||
set(CMAKE_INSTALL_PREFIX ${MINGW_DIR})
|
||||
endif()
|
||||
else()
|
||||
if (DEFINED ANDROID_PLATFORM)
|
||||
set(CMAKE_INSTALL_PREFIX ${ANDROID_SYSTEM_LIBRARY_PATH}/usr)
|
||||
else()
|
||||
if(CMAKE_CROSSCOMPILING)
|
||||
set(CMAKE_INSTALL_PREFIX ${CMAKE_STAGING_PREFIX})
|
||||
else()
|
||||
set(CMAKE_INSTALL_PREFIX ${INSTALL_PREFIX}/usr/local)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
message(STATUS "Install ${PROJECT_NAME} to system \"${CMAKE_INSTALL_PREFIX}\"")
|
||||
else()
|
||||
message(STATUS "Install ${PROJECT_NAME} to local \"bin\", \"lib\" and \"include\"")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(LIB)
|
||||
list(APPEND _ALL_TARGETS ${PROJECT_NAME})
|
||||
set(_ALL_TARGETS ${_ALL_TARGETS} PARENT_SCOPE)
|
||||
|
||||
165
cd_utils/LICENSE.txt
Normal file
@@ -0,0 +1,165 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
This version of the GNU Lesser General Public License incorporates
|
||||
the terms and conditions of version 3 of the GNU General Public
|
||||
License, supplemented by the additional permissions listed below.
|
||||
|
||||
0. Additional Definitions.
|
||||
|
||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
General Public License.
|
||||
|
||||
"The Library" refers to a covered work governed by this License,
|
||||
other than an Application or a Combined Work as defined below.
|
||||
|
||||
An "Application" is any work that makes use of an interface provided
|
||||
by the Library, but which is not otherwise based on the Library.
|
||||
Defining a subclass of a class defined by the Library is deemed a mode
|
||||
of using an interface provided by the Library.
|
||||
|
||||
A "Combined Work" is a work produced by combining or linking an
|
||||
Application with the Library. The particular version of the Library
|
||||
with which the Combined Work was made is also called the "Linked
|
||||
Version".
|
||||
|
||||
The "Minimal Corresponding Source" for a Combined Work means the
|
||||
Corresponding Source for the Combined Work, excluding any source code
|
||||
for portions of the Combined Work that, considered in isolation, are
|
||||
based on the Application, and not on the Linked Version.
|
||||
|
||||
The "Corresponding Application Code" for a Combined Work means the
|
||||
object code and/or source code for the Application, including any data
|
||||
and utility programs needed for reproducing the Combined Work from the
|
||||
Application, but excluding the System Libraries of the Combined Work.
|
||||
|
||||
1. Exception to Section 3 of the GNU GPL.
|
||||
|
||||
You may convey a covered work under sections 3 and 4 of this License
|
||||
without being bound by section 3 of the GNU GPL.
|
||||
|
||||
2. Conveying Modified Versions.
|
||||
|
||||
If you modify a copy of the Library, and, in your modifications, a
|
||||
facility refers to a function or data to be supplied by an Application
|
||||
that uses the facility (other than as an argument passed when the
|
||||
facility is invoked), then you may convey a copy of the modified
|
||||
version:
|
||||
|
||||
a) under this License, provided that you make a good faith effort to
|
||||
ensure that, in the event an Application does not supply the
|
||||
function or data, the facility still operates, and performs
|
||||
whatever part of its purpose remains meaningful, or
|
||||
|
||||
b) under the GNU GPL, with none of the additional permissions of
|
||||
this License applicable to that copy.
|
||||
|
||||
3. Object Code Incorporating Material from Library Header Files.
|
||||
|
||||
The object code form of an Application may incorporate material from
|
||||
a header file that is part of the Library. You may convey such object
|
||||
code under terms of your choice, provided that, if the incorporated
|
||||
material is not limited to numerical parameters, data structure
|
||||
layouts and accessors, or small macros, inline functions and templates
|
||||
(ten or fewer lines in length), you do both of the following:
|
||||
|
||||
a) Give prominent notice with each copy of the object code that the
|
||||
Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
4. Combined Works.
|
||||
|
||||
You may convey a Combined Work under terms of your choice that,
|
||||
taken together, effectively do not restrict modification of the
|
||||
portions of the Library contained in the Combined Work and reverse
|
||||
engineering for debugging such modifications, if you also do each of
|
||||
the following:
|
||||
|
||||
a) Give prominent notice with each copy of the Combined Work that
|
||||
the Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
c) For a Combined Work that displays copyright notices during
|
||||
execution, include the copyright notice for the Library among
|
||||
these notices, as well as a reference directing the user to the
|
||||
copies of the GNU GPL and this license document.
|
||||
|
||||
d) Do one of the following:
|
||||
|
||||
0) Convey the Minimal Corresponding Source under the terms of this
|
||||
License, and the Corresponding Application Code in a form
|
||||
suitable for, and under terms that permit, the user to
|
||||
recombine or relink the Application with a modified version of
|
||||
the Linked Version to produce a modified Combined Work, in the
|
||||
manner specified by section 6 of the GNU GPL for conveying
|
||||
Corresponding Source.
|
||||
|
||||
1) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (a) uses at run time
|
||||
a copy of the Library already present on the user's computer
|
||||
system, and (b) will operate properly with a modified version
|
||||
of the Library that is interface-compatible with the Linked
|
||||
Version.
|
||||
|
||||
e) Provide Installation Information, but only if you would otherwise
|
||||
be required to provide such information under section 6 of the
|
||||
GNU GPL, and only to the extent that such information is
|
||||
necessary to install and execute a modified version of the
|
||||
Combined Work produced by recombining or relinking the
|
||||
Application with a modified version of the Linked Version. (If
|
||||
you use option 4d0, the Installation Information must accompany
|
||||
the Minimal Corresponding Source and Corresponding Application
|
||||
Code. If you use option 4d1, you must provide the Installation
|
||||
Information in the manner specified by section 6 of the GNU GPL
|
||||
for conveying Corresponding Source.)
|
||||
|
||||
5. Combined Libraries.
|
||||
|
||||
You may place library facilities that are a work based on the
|
||||
Library side by side in a single library together with other library
|
||||
facilities that are not Applications and are not covered by this
|
||||
License, and convey such a combined library under terms of your
|
||||
choice, if you do both of the following:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based
|
||||
on the Library, uncombined with any other library facilities,
|
||||
conveyed under the terms of this License.
|
||||
|
||||
b) Give prominent notice with the combined library that part of it
|
||||
is a work based on the Library, and explaining where to find the
|
||||
accompanying uncombined form of the same work.
|
||||
|
||||
6. Revised Versions of the GNU Lesser General Public License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU Lesser General Public License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Library as you received it specifies that a certain numbered version
|
||||
of the GNU Lesser General Public License "or any later version"
|
||||
applies to it, you have the option of following the terms and
|
||||
conditions either of that published version or of any later version
|
||||
published by the Free Software Foundation. If the Library as you
|
||||
received it does not specify a version number of the GNU Lesser
|
||||
General Public License, you may choose any version of the GNU Lesser
|
||||
General Public License ever published by the Free Software Foundation.
|
||||
|
||||
If the Library as you received it specifies that a proxy can decide
|
||||
whether future versions of the GNU Lesser General Public License shall
|
||||
apply, that proxy's public statement of acceptance of any version is
|
||||
permanent authorization for you to choose that version for the
|
||||
Library.
|
||||
@@ -1,13 +1,33 @@
|
||||
/*
|
||||
CD Utils - Control-Debug utilites
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CDUTILS_C_H
|
||||
#define CDUTILS_C_H
|
||||
|
||||
#include "cdutils_interface.h"
|
||||
#include "cd_utils_export.h"
|
||||
|
||||
|
||||
namespace CDUtils {
|
||||
|
||||
|
||||
class CInterface: public Interface
|
||||
class CD_UTILS_EXPORT CInterface: public Interface
|
||||
{
|
||||
PIOBJECT_SUBCLASS(CInterface, Interface)
|
||||
public:
|
||||
@@ -21,6 +41,6 @@ public:
|
||||
|
||||
}
|
||||
|
||||
extern CDUtils::CInterface C;
|
||||
extern CD_UTILS_EXPORT CDUtils::CInterface C;
|
||||
|
||||
#endif // CDUTILS_C_H
|
||||
|
||||
@@ -1,3 +1,22 @@
|
||||
/*
|
||||
CD Utils - Control-Debug utilites
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CDUTILS_CORE_H
|
||||
#define CDUTILS_CORE_H
|
||||
|
||||
@@ -5,6 +24,7 @@
|
||||
#include "cdutils_protocol.h"
|
||||
#include "piconnection.h"
|
||||
#include "pidatatransfer.h"
|
||||
#include "cd_utils_export.h"
|
||||
|
||||
|
||||
namespace CDUtils {
|
||||
@@ -12,7 +32,7 @@ namespace CDUtils {
|
||||
class CDCore;
|
||||
|
||||
|
||||
class __Core_Initializer__ {
|
||||
class CD_UTILS_EXPORT __Core_Initializer__ {
|
||||
public:
|
||||
__Core_Initializer__();
|
||||
~__Core_Initializer__();
|
||||
@@ -21,7 +41,7 @@ public:
|
||||
};
|
||||
|
||||
|
||||
class CDCore: public PIObject
|
||||
class CD_UTILS_EXPORT CDCore: public PIObject
|
||||
{
|
||||
PIOBJECT(CDUtils::CDCore)
|
||||
friend class __Core_Initializer__;
|
||||
|
||||
@@ -135,7 +135,7 @@ bool Interface::configure(const PIString & config) {
|
||||
PIConfig conf(config, PIIODevice::ReadOnly);
|
||||
PIConfig::Entry & e(conf.getValue(core->typeLetter(s->cd_type_)));
|
||||
bool ret = false;
|
||||
setFileName(e.getValue("file", file(), &ret));
|
||||
setFileName(e.getValue("file", file(), &ret).toString());
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,28 @@
|
||||
/*
|
||||
CD Utils - Control-Debug utilites
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CDUTILS_INTERFACE_H
|
||||
#define CDUTILS_INTERFACE_H
|
||||
|
||||
#include "cdutils_types.h"
|
||||
#include "piobject.h"
|
||||
#include "cd_utils_export.h"
|
||||
|
||||
|
||||
namespace CDUtils {
|
||||
@@ -10,7 +30,7 @@ namespace CDUtils {
|
||||
class CDCore;
|
||||
|
||||
|
||||
class Interface: public PIObject
|
||||
class CD_UTILS_EXPORT Interface: public PIObject
|
||||
{
|
||||
PIOBJECT(CDUtils::Interface)
|
||||
public:
|
||||
|
||||
@@ -1,13 +1,33 @@
|
||||
/*
|
||||
CD Utils - Control-Debug utilites
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CDUTILS_K_H
|
||||
#define CDUTILS_K_H
|
||||
|
||||
#include "cdutils_interface.h"
|
||||
#include "cd_utils_export.h"
|
||||
|
||||
|
||||
namespace CDUtils {
|
||||
|
||||
|
||||
class KInterface: public Interface
|
||||
class CD_UTILS_EXPORT KInterface: public Interface
|
||||
{
|
||||
PIOBJECT_SUBCLASS(KInterface, Interface)
|
||||
public:
|
||||
@@ -22,6 +42,6 @@ public:
|
||||
|
||||
}
|
||||
|
||||
extern CDUtils::KInterface K;
|
||||
extern CD_UTILS_EXPORT CDUtils::KInterface K;
|
||||
|
||||
#endif // CDUTILS_K_H
|
||||
|
||||
@@ -1,13 +1,33 @@
|
||||
/*
|
||||
CD Utils - Control-Debug utilites
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CDUTILS_M_H
|
||||
#define CDUTILS_M_H
|
||||
|
||||
#include "cdutils_interface.h"
|
||||
#include "cd_utils_export.h"
|
||||
|
||||
|
||||
namespace CDUtils {
|
||||
|
||||
|
||||
class MInterface: public Interface
|
||||
class CD_UTILS_EXPORT MInterface: public Interface
|
||||
{
|
||||
PIOBJECT_SUBCLASS(MInterface, Interface)
|
||||
public:
|
||||
@@ -31,6 +51,6 @@ private:
|
||||
|
||||
}
|
||||
|
||||
extern CDUtils::MInterface M;
|
||||
extern CD_UTILS_EXPORT CDUtils::MInterface M;
|
||||
|
||||
#endif // CDUTILS_M_H
|
||||
|
||||
@@ -1,6 +1,26 @@
|
||||
/*
|
||||
CD Utils - Control-Debug utilites
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CDUTILS_PARSER_H
|
||||
#define CDUTILS_PARSER_H
|
||||
|
||||
#include "cd_utils_export.h"
|
||||
|
||||
class PIIODevice;
|
||||
|
||||
@@ -10,7 +30,7 @@ class CDSection;
|
||||
|
||||
namespace CDParser {
|
||||
|
||||
CDSection parse(PIIODevice * d, int cdsection_type);
|
||||
CD_UTILS_EXPORT CDSection parse(PIIODevice * d, int cdsection_type);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,27 @@
|
||||
/*
|
||||
CD Utils - Control-Debug utilites
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CDUTILS_PROTOCOL_H
|
||||
#define CDUTILS_PROTOCOL_H
|
||||
|
||||
#include "pibytearray.h"
|
||||
#include "pistring.h"
|
||||
#include "cd_utils_export.h"
|
||||
|
||||
namespace CDUtils {
|
||||
|
||||
@@ -29,12 +49,12 @@ namespace CDUtils {
|
||||
|
||||
# pragma pack(push,1)
|
||||
|
||||
struct PacketHeader {
|
||||
struct CD_UTILS_EXPORT PacketHeader {
|
||||
int type; // CDPacketType
|
||||
int session_id;
|
||||
};
|
||||
|
||||
struct PacketKDirectChange {
|
||||
struct CD_UTILS_EXPORT PacketKDirectChange {
|
||||
PIDeque<int> path;
|
||||
PIString value;
|
||||
};
|
||||
|
||||
@@ -356,9 +356,9 @@ int CDSection::sectionsCount() const {
|
||||
|
||||
PIStringList CDSection::index_names() const {
|
||||
PIStringList ret;
|
||||
PIMap<int, CDType>::const_iterator i;
|
||||
for (i = cd.begin(); i != cd.end(); ++i)
|
||||
ret << i->second.name();
|
||||
auto i = cd.makeIterator();
|
||||
while (i.next())
|
||||
ret << i.value().name();
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -387,15 +387,14 @@ CDType & CDSection::getByName(const PIString & name_) {
|
||||
int dv = 0;
|
||||
if (isd) dv = np[i].toInt();
|
||||
ns = 0;
|
||||
PIMap<int, CDSection>::iterator it;
|
||||
//piCout << np[i] << isd << dv;
|
||||
for (it = cs->s.begin(); it != cs->s.end(); ++it) {
|
||||
auto it = cs->s.makeIterator();
|
||||
while (it.next()) {
|
||||
bool f = false;
|
||||
if (isd) f = (dv == it.key());
|
||||
else f = (np[i] == it.value().alias);
|
||||
//piCout << "s..." << it.key() << it.value().alias << f;
|
||||
if (f) {
|
||||
ns = &(it.value());
|
||||
ns = &(it.valueRef());
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -403,13 +402,13 @@ CDType & CDSection::getByName(const PIString & name_) {
|
||||
if (!ns) return null;
|
||||
cs = ns;
|
||||
}
|
||||
PIMap<int, CDType>::iterator it;
|
||||
if (np.back().isEmpty()) return null;
|
||||
bool isd = np.back()[0].isDigit() || (np.back()[0] == '-');
|
||||
int dv = 0;
|
||||
if (isd) dv = np.back().toInt();
|
||||
//piCout << np.back() << isd << dv;
|
||||
for (it = cs->cd.begin(); it != cs->cd.end(); ++it) {
|
||||
auto it = cs->cd.makeIterator();
|
||||
while (it.next()) {
|
||||
bool f = false;
|
||||
if (isd) f = (dv == it.key());
|
||||
else f = (np.back() == it.value().name());
|
||||
@@ -446,9 +445,9 @@ void CDSection::write(PIIODevice * d, const PIString & prefix) {
|
||||
d->write(l.toUTF8());
|
||||
l = "alias = " + alias + " \n";
|
||||
d->write(l.toUTF8());
|
||||
PIMap<int, CDType>::iterator i;
|
||||
for (i = cd.begin(); i != cd.end(); ++i) {
|
||||
CDType & ck(i.value());
|
||||
auto i = cd.makeIterator();
|
||||
while (i.next()) {
|
||||
const CDType & ck(i.value());
|
||||
if (ck.cd_type() != cd_type_) continue;
|
||||
switch (cd_type_) {
|
||||
case CDType::cdNull: break;
|
||||
@@ -487,9 +486,9 @@ void CDSection::write(PIIODevice * d, const PIString & prefix) {
|
||||
if (!s.isEmpty()) {
|
||||
if (prefix.isEmpty()) l = "s";
|
||||
else l = prefix + ".s";
|
||||
PIMap<int, CDSection>::iterator j;
|
||||
for (j = s.begin(); j != s.end(); ++j) {
|
||||
j.value().write(d, l + "." + PIString::fromNumber(j.key()));
|
||||
auto j = s.makeIterator();
|
||||
while (j.next()) {
|
||||
j.valueRef().write(d, l + "." + PIString::fromNumber(j.key()));
|
||||
}
|
||||
}
|
||||
if (prefix.isEmpty()) {
|
||||
@@ -524,7 +523,7 @@ void CDSection::read(const void * ep) {
|
||||
case CDType::cdNull: break;
|
||||
case CDType::cdK:
|
||||
c = CDType(id, e->getValue("v").comment(), e->getValue("v").type(), e->getValue("v").value(), e->getValue("f").value(), e->getValue("f").comment(), cd_type_);
|
||||
ev = e->getValue("ev", "");
|
||||
ev = e->getValue("ev", "").value();
|
||||
if (!ev.isEmpty())
|
||||
c.enum_values = c.parseEnumComment(ev);
|
||||
break;
|
||||
|
||||
@@ -1,9 +1,29 @@
|
||||
/*
|
||||
CD Utils - Control-Debug utilites
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CDUTILS_TYPES_H
|
||||
#define CDUTILS_TYPES_H
|
||||
|
||||
#include "pistring.h"
|
||||
#include "pimap.h"
|
||||
#include "pivariant.h"
|
||||
#include "cd_utils_export.h"
|
||||
|
||||
class PIIODevice;
|
||||
class PIEvaluator;
|
||||
@@ -28,7 +48,7 @@ enum MessageType {
|
||||
|
||||
typedef PIFlags<UpdateMode> UpdateModeFlags;
|
||||
|
||||
class CDType {
|
||||
class CD_UTILS_EXPORT CDType {
|
||||
friend class CDSection;
|
||||
friend class CDCore;
|
||||
friend class Interface;
|
||||
@@ -93,7 +113,7 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
class CDSection {
|
||||
class CD_UTILS_EXPORT CDSection {
|
||||
friend class CDCore;
|
||||
friend class Interface;
|
||||
friend class XInterface;
|
||||
|
||||
@@ -1,13 +1,33 @@
|
||||
/*
|
||||
CD Utils - Control-Debug utilites
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CDUTILS_X_H
|
||||
#define CDUTILS_X_H
|
||||
|
||||
#include "cdutils_interface.h"
|
||||
#include "cd_utils_export.h"
|
||||
|
||||
|
||||
namespace CDUtils {
|
||||
|
||||
|
||||
class XInterface: public Interface
|
||||
class CD_UTILS_EXPORT XInterface: public Interface
|
||||
{
|
||||
PIOBJECT_SUBCLASS(XInterface, Interface)
|
||||
public:
|
||||
@@ -32,6 +52,6 @@ public:
|
||||
|
||||
}
|
||||
|
||||
extern CDUtils::XInterface X;
|
||||
extern CD_UTILS_EXPORT CDUtils::XInterface X;
|
||||
|
||||
#endif // CDUTILS_X_H
|
||||
|
||||
@@ -43,7 +43,7 @@ set Qt5_ROOT=%ANDROID_QT5_DIR%\lib\cmake
|
||||
rem set Qt5_DIR=%Qt5_ROOT%\Qt5
|
||||
if NOT [%QARCH%]==[] (
|
||||
@echo on
|
||||
cmake_mgw -Wno-dev -DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK_HOME%\build\cmake\android.toolchain.cmake -DANDROID_STL=c++_shared -DANDROID_PLATFORM=android-%_PLATFORM_% -DANDROID_ABI=%AARCH% -DICU=0 -DQt4=0 -DQt5=1 -DQGLVIEW=0 -DQGLENGINE=0 -DQt5_DIR=%Qt5_ROOT%\Qt5 -DQt5LinguistTools_DIR=%Qt5_ROOT%\Qt5LinguistTools -DQt5UiPlugin_DIR=%Qt5_ROOT%\Qt5UiPlugin -DQt5UiTools_DIR=%Qt5_ROOT%\Qt5UiTools -DQt5Widgets_DIR=%Qt5_ROOT%\Qt5Widgets -DQt5Core_DIR=%Qt5_ROOT%\Qt5Core -DQt5Gui_DIR=%Qt5_ROOT%\Qt5Gui -DQt5Sql_DIR=%Qt5_ROOT%\Qt5Sql -DQt5OpenGL_DIR=%Qt5_ROOT%\Qt5OpenGL -DQt5PrintSupport_DIR=%Qt5_ROOT%\Qt5PrintSupport -DQt5Script_DIR=%Qt5_ROOT%\Qt5Script -DQt5Positioning_DIR=%Qt5_ROOT%\Qt5Positioning -DQt5Network_DIR=%Qt5_ROOT%\Qt5Network -DQt5Qml_DIR=%Qt5_ROOT%\Qt5Qml -DQt5Quick_DIR=%Qt5_ROOT%\Qt5Quick -DQt5QuickWidgets_DIR=%Qt5_ROOT%\Qt5QuickWidgets %~3 %~4 %~5 %~6
|
||||
cmake_mgw -Wno-dev -DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK_HOME%\build\cmake\android.toolchain.cmake -DANDROID_STL=c++_shared -DANDROID_PLATFORM=android-%_PLATFORM_% -DANDROID_ABI=%AARCH% -DICU=0 -DQt4=0 -DQt5=1 -DQGLVIEW=0 -DQGLENGINE=0 -DQt5_DIR=%Qt5_ROOT%\Qt5 -DQt5LinguistTools_DIR=%Qt5_ROOT%\Qt5LinguistTools -DQt5UiPlugin_DIR=%Qt5_ROOT%\Qt5UiPlugin -DQt5UiTools_DIR=%Qt5_ROOT%\Qt5UiTools -DQt5Widgets_DIR=%Qt5_ROOT%\Qt5Widgets -DQt5Core_DIR=%Qt5_ROOT%\Qt5Core -DQt5Gui_DIR=%Qt5_ROOT%\Qt5Gui -DQt5Sql_DIR=%Qt5_ROOT%\Qt5Sql -DQt5OpenGL_DIR=%Qt5_ROOT%\Qt5OpenGL -DQt5PrintSupport_DIR=%Qt5_ROOT%\Qt5PrintSupport -DQt5Script_DIR=%Qt5_ROOT%\Qt5Script -DQt5Positioning_DIR=%Qt5_ROOT%\Qt5Positioning -DQt5Network_DIR=%Qt5_ROOT%\Qt5Network -DQt5Qml_DIR=%Qt5_ROOT%\Qt5Qml -DQt5Quick_DIR=%Qt5_ROOT%\Qt5Quick -DQt5QuickWidgets_DIR=%Qt5_ROOT%\Qt5QuickWidgets -DQt5QmlModels_DIR=%Qt5_ROOT%\Qt5QmlModels -DQt5AndroidExtras_DIR=%Qt5_ROOT%\Qt5AndroidExtras %~3 %~4 %~5 %~6
|
||||
) else (
|
||||
@echo on
|
||||
cmake_mgw -Wno-dev -DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK_HOME%\build\cmake\android.toolchain.cmake -DANDROID_STL=c++_shared -DANDROID_PLATFORM=android-%_PLATFORM_% -DANDROID_ABI=%AARCH% -DICU=0 -DQt4=0 -DQt5=0 -DQGLVIEW=0 %~3 %~4 %~5 %~6
|
||||
|
||||
0
cmake_android.sh
Executable file → Normal file
@@ -1,50 +1,43 @@
|
||||
ARG DOCKER_PREFIX=wapmobil
|
||||
|
||||
FROM ${DOCKER_PREFIX}/android
|
||||
ARG DOCKER_PREFIX=wapmobil/
|
||||
FROM ${DOCKER_PREFIX}android
|
||||
|
||||
ARG LIBS_BUILD_NUMBER=9999
|
||||
ARG JOBS_COUNT=4
|
||||
WORKDIR /soft
|
||||
#RUN svn co svn://db.shs.com.ru/libs --username peri4 --password a --no-auth-cache --non-interactive --trust-server-cert
|
||||
RUN git clone -b release --depth 1 --recursive https://git.shs.tools/SHS/libs.git
|
||||
ENV PATH=/opt/cmake/bin:$PATH
|
||||
ENV ANDROID_HOME=/usr/lib/android-sdk
|
||||
ENV ANDROID_NDK_HOME=${ANDROID_HOME}/ndk-bundle
|
||||
ENV ANDROID_TOOLCHAIN=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake
|
||||
ENV NDK_PLATFORM="android-21"
|
||||
|
||||
WORKDIR /soft/build_libs_linux
|
||||
RUN cmake -DICU=0 -DQGLENGINE=1 -DQGLVIEW=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../libs/ \
|
||||
&& make install -j${JOBS_COUNT} && rm -rf * \
|
||||
WORKDIR /soft
|
||||
RUN git clone -b release --single-branch --depth 1 --recursive https://git.shs.tools/SHS/libs.git
|
||||
|
||||
WORKDIR /soft/libs_build_host
|
||||
RUN cmake -DICU=0 -DCROSSTOOLS=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../libs \
|
||||
&& make install -j${JOBS_COUNT} \
|
||||
&& rm -rf * \
|
||||
&& ldconfig
|
||||
|
||||
WORKDIR /soft/build_libs_windows
|
||||
RUN cmake -DCMAKE_INSTALL_PREFIX=/soft/windows -DICU=0 -DLIB=0 -DQGLENGINE=1 -DQGLVIEW=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Windows.cmake ../libs/ \
|
||||
&& make install -j${JOBS_COUNT} && rm -rf *
|
||||
|
||||
WORKDIR /soft/build_libs_macos
|
||||
RUN cmake -DCMAKE_INSTALL_PREFIX=/soft/osx -DICU=0 -DLIB=0 -DQGLENGINE=1 -DQGLVIEW=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake ../libs/ \
|
||||
&& make install -j${JOBS_COUNT} && rm -rf *
|
||||
|
||||
WORKDIR /soft/libs_build_anroid
|
||||
ENV _ANDROID_TOOLCHAIN=/usr/lib/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake
|
||||
|
||||
ENV _CUR_ABI=armeabi-v7a
|
||||
WORKDIR /soft/build_libs_android_${_CUR_ABI}
|
||||
RUN cmake -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLIB=0 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../libs/ \
|
||||
&& make install -j${JOBS_COUNT} && rm -rf *
|
||||
|
||||
ENV _CUR_ABI=arm64-v8a
|
||||
WORKDIR /soft/build_libs_android_${_CUR_ABI}
|
||||
WORKDIR /soft/libs_build_android_${_CUR_ABI}
|
||||
RUN cmake -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLIB=0 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../libs/ \
|
||||
&& make install -j${JOBS_COUNT} && rm -rf *
|
||||
|
||||
ENV _CUR_ABI=x86
|
||||
WORKDIR /soft/build_libs_android_${_CUR_ABI}
|
||||
WORKDIR /soft/libs_build_android_${_CUR_ABI}
|
||||
RUN cmake -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLIB=0 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../libs/ \
|
||||
&& make install -j${JOBS_COUNT} && rm -rf *
|
||||
|
||||
ENV _CUR_ABI=x86_64
|
||||
WORKDIR /soft/build_libs_android_${_CUR_ABI}
|
||||
WORKDIR /soft/libs_build_android_${_CUR_ABI}
|
||||
RUN cmake -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLIB=0 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../libs/ \
|
||||
&& make install -j${JOBS_COUNT} && rm -rf *
|
||||
|
||||
WORKDIR /soft/src
|
||||
|
||||
# examples
|
||||
# docker build --no-cache -t libs .
|
||||
# cd <your_project_dir>
|
||||
# docker run --rm -it -v $(pwd):/soft/src libs bash
|
||||
17
docker/debian-libs/Dockerfile
Normal file
@@ -0,0 +1,17 @@
|
||||
ARG DOCKER_PREFIX=wapmobil/
|
||||
FROM ${DOCKER_PREFIX}debian
|
||||
|
||||
ARG LIBS_BUILD_NUMBER=9999
|
||||
ARG JOBS_COUNT=4
|
||||
ENV PATH=/opt/cmake/bin:$PATH
|
||||
|
||||
WORKDIR /soft
|
||||
RUN git clone -b release --single-branch --depth 1 --recursive https://git.shs.tools/SHS/libs.git
|
||||
|
||||
WORKDIR /soft/libs_build_debian
|
||||
RUN cmake -DICU=0 -DLIB=1 -DQGLENGINE=1 -DQGLVIEW=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../libs \
|
||||
&& make install -j${JOBS_COUNT} \
|
||||
&& rm -rf * \
|
||||
&& ldconfig
|
||||
|
||||
WORKDIR /soft/src
|
||||
21
docker/osx-libs/Dockerfile
Normal file
@@ -0,0 +1,21 @@
|
||||
ARG DOCKER_PREFIX=wapmobil/
|
||||
FROM ${DOCKER_PREFIX}osx
|
||||
|
||||
ARG LIBS_BUILD_NUMBER=9999
|
||||
ARG JOBS_COUNT=4
|
||||
ENV PATH=/soft/osxcross/target/bin:/opt/cmake/bin:$PATH
|
||||
|
||||
WORKDIR /soft
|
||||
RUN git clone -b release --single-branch --depth 1 --recursive https://git.shs.tools/SHS/libs.git
|
||||
|
||||
WORKDIR /soft/libs_build_host
|
||||
RUN cmake -DICU=0 -DCROSSTOOLS=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../libs \
|
||||
&& make install -j${JOBS_COUNT} \
|
||||
&& rm -rf * \
|
||||
&& ldconfig
|
||||
|
||||
WORKDIR /soft/libs_build_osx
|
||||
RUN cmake -DCMAKE_INSTALL_PREFIX=/soft/osx -DICU=0 -DLIB=0 -DQGLENGINE=1 -DQGLVIEW=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake ../libs/ \
|
||||
&& make install -j${JOBS_COUNT} && rm -rf *
|
||||
|
||||
WORKDIR /soft/src
|
||||
21
docker/pi-libs/Dockerfile
Normal file
@@ -0,0 +1,21 @@
|
||||
ARG DOCKER_PREFIX=wapmobil/
|
||||
FROM ${DOCKER_PREFIX}pi
|
||||
|
||||
ARG LIBS_BUILD_NUMBER=9999
|
||||
ARG JOBS_COUNT=4
|
||||
ENV PATH=/opt/cmake/bin:$PATH
|
||||
|
||||
WORKDIR /soft
|
||||
RUN git clone -b release --single-branch --depth 1 --recursive https://git.shs.tools/SHS/libs.git
|
||||
|
||||
WORKDIR /soft/libs_build_host
|
||||
RUN cmake -DICU=0 -DCROSSTOOLS=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../libs \
|
||||
&& make install -j${JOBS_COUNT} \
|
||||
&& rm -rf * \
|
||||
&& ldconfig
|
||||
|
||||
WORKDIR /soft/libs_build_pi
|
||||
RUN cmake -DCMAKE_INSTALL_PREFIX=/soft/pi/usr -DICU=0 -DLIB=0 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-RPi.cmake ../libs/ \
|
||||
&& make install -j${JOBS_COUNT} && rm -rf *
|
||||
|
||||
WORKDIR /soft/src
|
||||
21
docker/windows-libs/Dockerfile
Normal file
@@ -0,0 +1,21 @@
|
||||
ARG DOCKER_PREFIX=wapmobil/
|
||||
FROM ${DOCKER_PREFIX}windows
|
||||
|
||||
ARG LIBS_BUILD_NUMBER=9999
|
||||
ARG JOBS_COUNT=4
|
||||
ENV PATH=/opt/cmake/bin:$PATH
|
||||
|
||||
WORKDIR /soft
|
||||
RUN git clone -b release --single-branch --depth 1 --recursive https://git.shs.tools/SHS/libs.git
|
||||
|
||||
WORKDIR /soft/libs_build_host
|
||||
RUN cmake -DICU=0 -DCROSSTOOLS=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../libs \
|
||||
&& make install -j${JOBS_COUNT} \
|
||||
&& rm -rf * \
|
||||
&& ldconfig
|
||||
|
||||
WORKDIR /soft/libs_build_windows
|
||||
RUN cmake -DCMAKE_INSTALL_PREFIX=/soft/windows -DICU=0 -DLIB=0 -DQGLENGINE=1 -DQGLVIEW=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Windows.cmake ../libs/ \
|
||||
&& make install -j${JOBS_COUNT} && rm -rf *
|
||||
|
||||
WORKDIR /soft/src
|
||||
@@ -4,19 +4,19 @@
|
||||
/*
|
||||
PIP - Platform Independent Primitives
|
||||
Protocol, input/output channel (COM, UDP)
|
||||
Copyright (C) 2020 Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
0
make_libs.sh
Executable file → Normal file
2
pip
@@ -1,49 +1,21 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(piqt)
|
||||
if(NOT LIBPROJECT)
|
||||
find_package(PIP REQUIRED)
|
||||
option(LIB "System install" 0)
|
||||
option(DEBUG "Build with -g3" 0)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall")
|
||||
if(DEBUG)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
|
||||
endif()
|
||||
endif()
|
||||
find_package(QAD REQUIRED)
|
||||
list(APPEND QT_MULTILIB_LIST ${PROJECT_NAME})
|
||||
set(QT_MULTILIB_LIST ${QT_MULTILIB_LIST} PARENT_SCOPE)
|
||||
include_directories(${PIP_INCLUDES} ${QAD_INCLUDES})
|
||||
file(GLOB SRC "*.h" "*.cpp" "*.ui" "*.qrc" "lang/*.ts")
|
||||
find_qt(${QtVersions} Core Gui Positioning)
|
||||
qt_wrap(${SRC} HDRS out_HDR CPPS out_CPP QMS out_QM)
|
||||
qt_add_library(${PROJECT_NAME} SHARED out_CPP)
|
||||
qt_target_link_libraries(${PROJECT_NAME} pip qad_utils qad_widgets)
|
||||
message(STATUS "Building ${PROJECT_NAME}")
|
||||
if(LIBPROJECT)
|
||||
sdk_install("pip" "${PROJECT_NAME}" "${out_HDR}" "${out_QM}")
|
||||
else()
|
||||
if(LIB)
|
||||
if(WIN32)
|
||||
install(FILES ${out_HDR} DESTINATION ${MINGW_INCLUDE}/pip)
|
||||
if(NOT "x${out_QM}" STREQUAL "x")
|
||||
qt_install(FILES ${out_QM} DESTINATION QtLang)
|
||||
endif()
|
||||
qt_install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION ${MINGW_LIB})
|
||||
qt_install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${MINGW_BIN})
|
||||
qt_install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION QtBin)
|
||||
else()
|
||||
install(FILES ${out_HDR} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/pip)
|
||||
qt_install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
endif()
|
||||
message(STATUS "Install ${PROJECT_NAME} to system \"${CMAKE_INSTALL_PREFIX}\"")
|
||||
else()
|
||||
if(WIN32)
|
||||
qt_install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)
|
||||
qt_install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION lib)
|
||||
else()
|
||||
qt_install(TARGETS ${PROJECT_NAME} DESTINATION lib)
|
||||
endif()
|
||||
install(FILES ${out_HDR} DESTINATION include/pip)
|
||||
message(STATUS "Install ${PROJECT_NAME} to local \"bin\", \"lib\" and \"include\"")
|
||||
endif()
|
||||
cmake_policy(SET CMP0017 NEW) # need include() with .cmake
|
||||
|
||||
macro(piqt_library NAME _MODULES _LIBS)
|
||||
_qt_project(${NAME} FALSE "PIQt" "${_MODULES}" "pip;${_LIBS}" ${ARGN})
|
||||
_qt_install(${NAME} FALSE "pip" "out_HDR" "out_QM")
|
||||
endmacro()
|
||||
|
||||
macro(piqt_application NAME _MODULES _LIBS)
|
||||
_qt_project(${NAME} TRUE "PIQt" "${_MODULES}" "pip;${_LIBS}" ${ARGN})
|
||||
_qt_install(${NAME} TRUE "pip" "" "out_QM")
|
||||
endmacro()
|
||||
|
||||
|
||||
include_directories(${PIP_INCLUDES})
|
||||
add_subdirectory(libs)
|
||||
if (UTILS)
|
||||
add_subdirectory(utils)
|
||||
endif()
|
||||
|
||||
copy_to_parent(piqt_includes)
|
||||
|
||||
165
piqt/LICENSE.txt
Normal file
@@ -0,0 +1,165 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
This version of the GNU Lesser General Public License incorporates
|
||||
the terms and conditions of version 3 of the GNU General Public
|
||||
License, supplemented by the additional permissions listed below.
|
||||
|
||||
0. Additional Definitions.
|
||||
|
||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
General Public License.
|
||||
|
||||
"The Library" refers to a covered work governed by this License,
|
||||
other than an Application or a Combined Work as defined below.
|
||||
|
||||
An "Application" is any work that makes use of an interface provided
|
||||
by the Library, but which is not otherwise based on the Library.
|
||||
Defining a subclass of a class defined by the Library is deemed a mode
|
||||
of using an interface provided by the Library.
|
||||
|
||||
A "Combined Work" is a work produced by combining or linking an
|
||||
Application with the Library. The particular version of the Library
|
||||
with which the Combined Work was made is also called the "Linked
|
||||
Version".
|
||||
|
||||
The "Minimal Corresponding Source" for a Combined Work means the
|
||||
Corresponding Source for the Combined Work, excluding any source code
|
||||
for portions of the Combined Work that, considered in isolation, are
|
||||
based on the Application, and not on the Linked Version.
|
||||
|
||||
The "Corresponding Application Code" for a Combined Work means the
|
||||
object code and/or source code for the Application, including any data
|
||||
and utility programs needed for reproducing the Combined Work from the
|
||||
Application, but excluding the System Libraries of the Combined Work.
|
||||
|
||||
1. Exception to Section 3 of the GNU GPL.
|
||||
|
||||
You may convey a covered work under sections 3 and 4 of this License
|
||||
without being bound by section 3 of the GNU GPL.
|
||||
|
||||
2. Conveying Modified Versions.
|
||||
|
||||
If you modify a copy of the Library, and, in your modifications, a
|
||||
facility refers to a function or data to be supplied by an Application
|
||||
that uses the facility (other than as an argument passed when the
|
||||
facility is invoked), then you may convey a copy of the modified
|
||||
version:
|
||||
|
||||
a) under this License, provided that you make a good faith effort to
|
||||
ensure that, in the event an Application does not supply the
|
||||
function or data, the facility still operates, and performs
|
||||
whatever part of its purpose remains meaningful, or
|
||||
|
||||
b) under the GNU GPL, with none of the additional permissions of
|
||||
this License applicable to that copy.
|
||||
|
||||
3. Object Code Incorporating Material from Library Header Files.
|
||||
|
||||
The object code form of an Application may incorporate material from
|
||||
a header file that is part of the Library. You may convey such object
|
||||
code under terms of your choice, provided that, if the incorporated
|
||||
material is not limited to numerical parameters, data structure
|
||||
layouts and accessors, or small macros, inline functions and templates
|
||||
(ten or fewer lines in length), you do both of the following:
|
||||
|
||||
a) Give prominent notice with each copy of the object code that the
|
||||
Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
4. Combined Works.
|
||||
|
||||
You may convey a Combined Work under terms of your choice that,
|
||||
taken together, effectively do not restrict modification of the
|
||||
portions of the Library contained in the Combined Work and reverse
|
||||
engineering for debugging such modifications, if you also do each of
|
||||
the following:
|
||||
|
||||
a) Give prominent notice with each copy of the Combined Work that
|
||||
the Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
c) For a Combined Work that displays copyright notices during
|
||||
execution, include the copyright notice for the Library among
|
||||
these notices, as well as a reference directing the user to the
|
||||
copies of the GNU GPL and this license document.
|
||||
|
||||
d) Do one of the following:
|
||||
|
||||
0) Convey the Minimal Corresponding Source under the terms of this
|
||||
License, and the Corresponding Application Code in a form
|
||||
suitable for, and under terms that permit, the user to
|
||||
recombine or relink the Application with a modified version of
|
||||
the Linked Version to produce a modified Combined Work, in the
|
||||
manner specified by section 6 of the GNU GPL for conveying
|
||||
Corresponding Source.
|
||||
|
||||
1) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (a) uses at run time
|
||||
a copy of the Library already present on the user's computer
|
||||
system, and (b) will operate properly with a modified version
|
||||
of the Library that is interface-compatible with the Linked
|
||||
Version.
|
||||
|
||||
e) Provide Installation Information, but only if you would otherwise
|
||||
be required to provide such information under section 6 of the
|
||||
GNU GPL, and only to the extent that such information is
|
||||
necessary to install and execute a modified version of the
|
||||
Combined Work produced by recombining or relinking the
|
||||
Application with a modified version of the Linked Version. (If
|
||||
you use option 4d0, the Installation Information must accompany
|
||||
the Minimal Corresponding Source and Corresponding Application
|
||||
Code. If you use option 4d1, you must provide the Installation
|
||||
Information in the manner specified by section 6 of the GNU GPL
|
||||
for conveying Corresponding Source.)
|
||||
|
||||
5. Combined Libraries.
|
||||
|
||||
You may place library facilities that are a work based on the
|
||||
Library side by side in a single library together with other library
|
||||
facilities that are not Applications and are not covered by this
|
||||
License, and convey such a combined library under terms of your
|
||||
choice, if you do both of the following:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based
|
||||
on the Library, uncombined with any other library facilities,
|
||||
conveyed under the terms of this License.
|
||||
|
||||
b) Give prominent notice with the combined library that part of it
|
||||
is a work based on the Library, and explaining where to find the
|
||||
accompanying uncombined form of the same work.
|
||||
|
||||
6. Revised Versions of the GNU Lesser General Public License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU Lesser General Public License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Library as you received it specifies that a certain numbered version
|
||||
of the GNU Lesser General Public License "or any later version"
|
||||
applies to it, you have the option of following the terms and
|
||||
conditions either of that published version or of any later version
|
||||
published by the Free Software Foundation. If the Library as you
|
||||
received it does not specify a version number of the GNU Lesser
|
||||
General Public License, you may choose any version of the GNU Lesser
|
||||
General Public License ever published by the Free Software Foundation.
|
||||
|
||||
If the Library as you received it specifies that a proxy can decide
|
||||
whether future versions of the GNU Lesser General Public License shall
|
||||
apply, that proxy's public statement of acceptance of any version is
|
||||
permanent authorization for you to choose that version for the
|
||||
Library.
|
||||
1
piqt/libs/CMakeLists.txt
Normal file
@@ -0,0 +1 @@
|
||||
add_directories_with_include("piqt_")
|
||||
1
piqt/libs/core/CMakeLists.txt
Normal file
@@ -0,0 +1 @@
|
||||
piqt_library(piqt "Gui;Positioning" "qad_utils;qad_widgets")
|
||||
@@ -106,7 +106,7 @@ const QAD::IODevice PI2QADIODevice(const PIVariantTypes::IODevice & v) {
|
||||
|
||||
|
||||
const QAD::File PI2QADFile(const PIVariantTypes::File & v) {
|
||||
return QAD::File(PI2QString(v.file), PI2QString(v.filter), v.is_abs);
|
||||
return QAD::File(PI2QString(v.file), PI2QString(v.filter), v.is_abs, v.is_save);
|
||||
}
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@ const QAD::Dir PI2QADDir(const PIVariantTypes::Dir & v) {
|
||||
|
||||
|
||||
const PIVariantTypes::File QAD2PIFile(const QAD::File & v) {
|
||||
return PIVariantTypes::File(Q2PIString(v.file), Q2PIString(v.filter), v.is_abs);
|
||||
return PIVariantTypes::File(Q2PIString(v.file), Q2PIString(v.filter), v.is_abs, v.is_save);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,22 @@
|
||||
/*
|
||||
PIQt - PIP <-> Qt convertions
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef PIQT_H
|
||||
#define PIQT_H
|
||||
|
||||
@@ -10,13 +29,14 @@
|
||||
#if QT_VERSION >= 0x050200
|
||||
# include "pigeoposition.h"
|
||||
#endif
|
||||
#include "piqt_export.h"
|
||||
|
||||
|
||||
class QGeoCoordinate;
|
||||
|
||||
|
||||
const QVariant PI2QVariant(const PIVariant & v);
|
||||
const PIVariant Q2PIVariant(const QVariant & v);
|
||||
PIQT_EXPORT const QVariant PI2QVariant(const PIVariant & v);
|
||||
PIQT_EXPORT const PIVariant Q2PIVariant(const QVariant & v);
|
||||
|
||||
//inline const QString PI2QString(const PIString & v) {return QString::fromLocal8Bit(v.data());}
|
||||
inline const QString PI2QString(const PIString & v) {return QString::fromUtf8(v.dataUTF8());}
|
||||
@@ -105,20 +125,20 @@ inline PropertyStorage PI2QPropertyStorage(const PIPropertyStorage & props) {
|
||||
}
|
||||
|
||||
|
||||
const QAD::Enum PI2QADEnum(const PIVariantTypes::Enum & el);
|
||||
const QAD::File PI2QADFile(const PIVariantTypes::File & v);
|
||||
const QAD::Dir PI2QADDir(const PIVariantTypes::Dir & v);
|
||||
const QAD::IODevice PI2QADIODevice(const PIVariantTypes::IODevice & v);
|
||||
const PIVariantTypes::Enum QAD2PIEnum(const QAD::Enum & el);
|
||||
const PIVariantTypes::File QAD2PIFile(const QAD::File & v);
|
||||
const PIVariantTypes::Dir QAD2PIDir(const QAD::Dir & v);
|
||||
const PIVariantTypes::IODevice QAD2PIIODevice(const QAD::IODevice & v);
|
||||
PIQT_EXPORT const QAD::Enum PI2QADEnum(const PIVariantTypes::Enum & el);
|
||||
PIQT_EXPORT const QAD::File PI2QADFile(const PIVariantTypes::File & v);
|
||||
PIQT_EXPORT const QAD::Dir PI2QADDir(const PIVariantTypes::Dir & v);
|
||||
PIQT_EXPORT const QAD::IODevice PI2QADIODevice(const PIVariantTypes::IODevice & v);
|
||||
PIQT_EXPORT const PIVariantTypes::Enum QAD2PIEnum(const QAD::Enum & el);
|
||||
PIQT_EXPORT const PIVariantTypes::File QAD2PIFile(const QAD::File & v);
|
||||
PIQT_EXPORT const PIVariantTypes::Dir QAD2PIDir(const QAD::Dir & v);
|
||||
PIQT_EXPORT const PIVariantTypes::IODevice QAD2PIIODevice(const QAD::IODevice & v);
|
||||
|
||||
//inline const PIVariant QString2PIVariant(const QString & v) {return PIVariant::readFromString(QString2PIString(v));}
|
||||
|
||||
#if QT_VERSION >= 0x050200
|
||||
const QGeoCoordinate PI2QGeoPosition(const PIGeoPosition & v);
|
||||
const PIGeoPosition Q2PIGeoPosition(const QGeoCoordinate & v);
|
||||
PIQT_EXPORT const QGeoCoordinate PI2QGeoPosition(const PIGeoPosition & v);
|
||||
PIQT_EXPORT const PIGeoPosition Q2PIGeoPosition(const QGeoCoordinate & v);
|
||||
#endif
|
||||
|
||||
template <typename From>
|
||||
52
piqt/libs/core/qpiconnection.h
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
PIQt Utils - Qt utilites for PIP
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef QPICONNECTION_H
|
||||
#define QPICONNECTION_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QMetaObject>
|
||||
#include "piconnection.h"
|
||||
#include "qpiconfig.h"
|
||||
#include "piqt.h"
|
||||
#include "piqt_export.h"
|
||||
|
||||
|
||||
class PIQT_EXPORT QPIConnection: public QObject, public PIConnection {
|
||||
Q_OBJECT
|
||||
PIOBJECT_SUBCLASS(QPIConnection, PIConnection)
|
||||
public:
|
||||
QPIConnection(const QString & name = QString());
|
||||
|
||||
bool loadFromCMFile(const QString & file);
|
||||
|
||||
protected:
|
||||
void propertyChanged(const PIString & ) {setObjectName(PI2QString(name()));}
|
||||
EVENT_HANDLER2(void, piDataRec, const PIString &, from, const PIByteArray &, data);
|
||||
EVENT_HANDLER2(void, piPacketRec, const PIString &, from, const PIByteArray &, data);
|
||||
|
||||
public slots:
|
||||
|
||||
signals:
|
||||
void qDataReceivedEvent(QString from, QByteArray data);
|
||||
void qPacketReceivedEvent(QString from, QByteArray data);
|
||||
|
||||
};
|
||||
|
||||
#endif // QPICONNECTION_H
|
||||
1
piqt/libs/qcd/CMakeLists.txt
Normal file
@@ -0,0 +1 @@
|
||||
piqt_library(qcd_utils "Gui" "pip;qad_utils;qad_widgets;qad_graphic;cd_utils;piqt")
|
||||
@@ -1,3 +1,22 @@
|
||||
/*
|
||||
QCD Utils - Qt bindings/utilites for CD Utils
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef QCD_CORE_H
|
||||
#define QCD_CORE_H
|
||||
|
||||
@@ -6,12 +25,13 @@
|
||||
#include <QVariant>
|
||||
#include "piobject.h"
|
||||
#include "cdutils_types.h"
|
||||
#include "qcd_utils_export.h"
|
||||
|
||||
|
||||
class QCDCore;
|
||||
|
||||
|
||||
class __QCore_Initializer__ {
|
||||
class QCD_UTILS_EXPORT __QCore_Initializer__ {
|
||||
public:
|
||||
__QCore_Initializer__();
|
||||
~__QCore_Initializer__();
|
||||
@@ -20,7 +40,7 @@ public:
|
||||
};
|
||||
|
||||
|
||||
class QCDCore: public QObject, public PIObject
|
||||
class QCD_UTILS_EXPORT QCDCore: public QObject, public PIObject
|
||||
{
|
||||
Q_OBJECT
|
||||
PIOBJECT(QCDCore)
|
||||
67
piqt/libs/qcd/qcd_graphic.h
Normal file
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
QCD Utils - Qt bindings/utilites for CD Utils
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef QCD_GRAPHIC_H
|
||||
#define QCD_GRAPHIC_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <evalspinbox.h>
|
||||
#include <pistring.h>
|
||||
#include "qcd_utils_export.h"
|
||||
|
||||
namespace CDUtils {
|
||||
class CDType;
|
||||
class CDSection;
|
||||
}
|
||||
|
||||
namespace Ui {
|
||||
class CDGraphicWidget;
|
||||
}
|
||||
|
||||
class Graphic;
|
||||
class Graphic;
|
||||
|
||||
|
||||
class QCD_UTILS_EXPORT CDGraphicWidget: public QWidget {
|
||||
Q_OBJECT
|
||||
friend class CDGraphics;
|
||||
friend class GDockWidget;
|
||||
public:
|
||||
CDGraphicWidget(QWidget * p = 0);
|
||||
|
||||
Graphic * graphic() const;
|
||||
bool isConfigVisible() const;
|
||||
|
||||
EvalSpinBox * evalSpinBoxHistory();
|
||||
EvalSpinBox * evalSpinBoxVisible();
|
||||
|
||||
public slots:
|
||||
void setConfigVisible(bool on);
|
||||
|
||||
private:
|
||||
Ui::CDGraphicWidget * ui;
|
||||
|
||||
private slots:
|
||||
|
||||
signals:
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif // QCD_GRAPHIC_H
|
||||
@@ -32,7 +32,7 @@
|
||||
<item>
|
||||
<widget class="Graphic" name="graphic">
|
||||
<property name="buttons">
|
||||
<set>Graphic::Autofit|Graphic::BorderInputs|Graphic::Clear|Graphic::Configure|Graphic::CursorAxis|Graphic::Fullscreen|Graphic::Legend|Graphic::OnlyExpandY|Graphic::Pause|Graphic::Save</set>
|
||||
<set>Graphic::Autofit|Graphic::BorderInputs|Graphic::Clear|Graphic::Configure|Graphic::CursorAxis|Graphic::Fullscreen|Graphic::Legend|Graphic::Pause|Graphic::Save</set>
|
||||
</property>
|
||||
<property name="borderInputsVisible">
|
||||
<bool>false</bool>
|
||||
51
piqt/libs/qcd/qcd_modedialog.h
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
QCD Utils - Qt bindings/utilites for CD Utils
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef QCD_MODEDIALOG_H
|
||||
#define QCD_MODEDIALOG_H
|
||||
|
||||
#include <QDialog>
|
||||
#include <cdutils_types.h>
|
||||
#include "qcd_utils_export.h"
|
||||
|
||||
namespace Ui {
|
||||
class QCDModeDialog;
|
||||
}
|
||||
|
||||
class QCD_UTILS_EXPORT QCDModeDialog: public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit QCDModeDialog(QWidget * parent = 0);
|
||||
~QCDModeDialog();
|
||||
|
||||
CDUtils::UpdateModeFlags mode() const;
|
||||
|
||||
protected:
|
||||
void changeEvent(QEvent *e);
|
||||
|
||||
Ui::QCDModeDialog * ui;
|
||||
|
||||
private slots:
|
||||
void on_checkSaveIndex_clicked(bool checked);
|
||||
void on_checkSaveName_clicked(bool checked);
|
||||
|
||||
};
|
||||
|
||||
#endif // QCD_MODEDIALOG_H
|
||||
@@ -309,10 +309,10 @@ int CDItemModel::columnCount(const QModelIndex &parent) const {
|
||||
|
||||
|
||||
Qt::ItemFlags CDItemModel::flags(const QModelIndex & index) const {
|
||||
if (!index.isValid()) return 0;
|
||||
if (!index.isValid()) return Qt::ItemFlags();
|
||||
Qt::ItemFlags f = Qt::ItemIsEnabled | Qt::ItemIsSelectable;
|
||||
CDItem * item = getItem(index);
|
||||
if (!item) return 0;
|
||||
if (!item) return Qt::ItemFlags();
|
||||
if (item->type_ == CDItem::ItemCDType) {
|
||||
CDType & t(interface->section(item->buildPath())[item->index_]);
|
||||
if (t.cd_type() == CDType::cdK) {
|
||||
@@ -394,15 +394,15 @@ void CDItemModel::rebuildModel() {
|
||||
|
||||
void CDItemModel::buildItem(CDItem * it, CDSection & r) {
|
||||
//piCout << "build item" << r.name << r.alias;
|
||||
PIMap<int, CDType>::iterator i;
|
||||
for (i = r.cd.begin(); i != r.cd.end(); ++i) {
|
||||
auto i = r.cd.makeIterator();
|
||||
while (i.next()) {
|
||||
it->childs << new CDItem(interface, i.key(), CDItem::ItemCDType, it);
|
||||
}
|
||||
it->item_count = it->childs.size();
|
||||
PIMap<int, CDSection>::iterator j;
|
||||
for (j = r.s.begin(); j != r.s.end(); ++j) {
|
||||
auto j = r.s.makeIterator();
|
||||
while (j.next()) {
|
||||
it->childs << new CDItem(interface, j.key(), CDItem::ItemCDSection, it);
|
||||
buildItem(it->childs.back(), j.value());
|
||||
buildItem(it->childs.back(), j.valueRef());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,22 @@
|
||||
/*
|
||||
QCD Utils - Qt bindings/utilites for CD Utils
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef QCD_MODEL_H
|
||||
#define QCD_MODEL_H
|
||||
|
||||
@@ -5,6 +24,7 @@
|
||||
#include <QItemDelegate>
|
||||
#include <QStyledItemDelegate>
|
||||
#include "pistring.h"
|
||||
#include "qcd_utils_export.h"
|
||||
|
||||
namespace CDUtils {
|
||||
class CDType;
|
||||
@@ -31,7 +51,7 @@ namespace QAD {
|
||||
class CDItemModel;
|
||||
|
||||
|
||||
class CDItem {
|
||||
class QCD_UTILS_EXPORT CDItem {
|
||||
friend class CDItemModel;
|
||||
friend class CDView;
|
||||
public:
|
||||
@@ -59,7 +79,7 @@ private:
|
||||
};
|
||||
|
||||
|
||||
class CDDelegate : public QStyledItemDelegate
|
||||
class QCD_UTILS_EXPORT CDDelegate : public QStyledItemDelegate
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -75,7 +95,7 @@ public:
|
||||
};
|
||||
|
||||
|
||||
class CDItemModel : public QAbstractItemModel {
|
||||
class QCD_UTILS_EXPORT CDItemModel : public QAbstractItemModel {
|
||||
Q_OBJECT
|
||||
friend class CDView;
|
||||
public:
|
||||
@@ -1,8 +1,28 @@
|
||||
/*
|
||||
QCD Utils - Qt bindings/utilites for CD Utils
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef QCD_VIEW_H
|
||||
#define QCD_VIEW_H
|
||||
|
||||
#include "piobject.h"
|
||||
#include <QTreeView>
|
||||
#include "piobject.h"
|
||||
#include "qcd_utils_export.h"
|
||||
|
||||
namespace CDUtils {
|
||||
class CDType;
|
||||
@@ -12,7 +32,7 @@ namespace CDUtils {
|
||||
class CDItemModel;
|
||||
class QSortFilterProxyModel;
|
||||
|
||||
class CDView: public QTreeView, public PIObject
|
||||
class QCD_UTILS_EXPORT CDView: public QTreeView, public PIObject
|
||||
{
|
||||
Q_OBJECT
|
||||
PIOBJECT(CDView)
|
||||
9
piqt/libs/widgets/CMakeLists.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
include(PIPMacros)
|
||||
pip_code_model(CCM "${ROOT_DIR}/pip/libs/main/io_devices/piiodevice.h" "${ROOT_DIR}/pip/libs/main/io_utils/pipacketextractor.h" OPTIONS "-DPIP_EXPORT" "-Es")
|
||||
piqt_library(piqt_utils "Gui" "qad_utils;qad_widgets;qad_blockview;piqt" ${CCM})
|
||||
|
||||
foreach(_v ${_QT_VERSIONS_})
|
||||
if (LOCAL_FOUND${_v})
|
||||
add_dependencies(piqt_utils${_v} pip_cmg)
|
||||
endif()
|
||||
endforeach()
|
||||
@@ -1,8 +1,29 @@
|
||||
/*
|
||||
PIQt Utils - Qt utilites for PIP
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CONNECTION_EDIT_H
|
||||
#define CONNECTION_EDIT_H
|
||||
|
||||
#include <QDialog>
|
||||
#include "piconnection.h"
|
||||
#include "piqt_utils_export.h"
|
||||
|
||||
|
||||
namespace Ui {
|
||||
class ConnectionEdit;
|
||||
@@ -12,7 +33,7 @@ class FilterItem;
|
||||
class DeviceItem;
|
||||
class SenderItem;
|
||||
|
||||
class ConnectionEdit: public QDialog {
|
||||
class PIQT_UTILS_EXPORT ConnectionEdit: public QDialog {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ConnectionEdit(QWidget * parent = 0);
|
||||
@@ -22,14 +22,20 @@
|
||||
<widget class="QWidget" name="layoutWidget">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QFrame" name="frame">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<widget class="QWidget" name="widget" native="true">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_10">
|
||||
<item>
|
||||
@@ -268,7 +274,7 @@
|
||||
<string>Add</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<iconset resource="../../../qad/libs/application/qad_application.qrc">
|
||||
<normaloff>:/icons/list-add.png</normaloff>:/icons/list-add.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
@@ -282,8 +288,8 @@
|
||||
<string>Modify</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="piconnedit/piconnedit.qrc">
|
||||
<normaloff>:/icons/document-save-.png</normaloff>:/icons/document-save-.png</iconset>
|
||||
<iconset resource="../../../qad/libs/application/qad_application.qrc">
|
||||
<normaloff>:/icons/document-save.png</normaloff>:/icons/document-save.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -330,7 +336,16 @@
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||
<property name="margin">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
@@ -371,7 +386,16 @@
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||
<property name="margin">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
@@ -400,7 +424,16 @@
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
||||
<property name="margin">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
@@ -451,7 +484,16 @@
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_9">
|
||||
<property name="margin">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
@@ -500,7 +542,16 @@
|
||||
<item>
|
||||
<widget class="QWidget" name="widgetDT" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_12">
|
||||
<property name="margin">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
@@ -535,7 +586,16 @@
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_13">
|
||||
<property name="margin">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</layout>
|
||||
@@ -622,7 +682,7 @@
|
||||
<string>Add</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<iconset resource="../../../qad/libs/application/qad_application.qrc">
|
||||
<normaloff>:/icons/list-add.png</normaloff>:/icons/list-add.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
@@ -636,7 +696,7 @@
|
||||
<string>Modify</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="piconnedit/piconnedit.qrc">
|
||||
<iconset>
|
||||
<normaloff>:/icons/document-save-.png</normaloff>:/icons/document-save-.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
@@ -727,7 +787,7 @@
|
||||
<string>Add</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<iconset resource="../../../qad/libs/application/qad_application.qrc">
|
||||
<normaloff>:/icons/list-add.png</normaloff>:/icons/list-add.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
@@ -741,7 +801,7 @@
|
||||
<string>Modify</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="piconnedit/piconnedit.qrc">
|
||||
<iconset>
|
||||
<normaloff>:/icons/document-save-.png</normaloff>:/icons/document-save-.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
@@ -764,7 +824,7 @@
|
||||
<string>Remove</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<iconset resource="../../../qad/libs/application/qad_application.qrc">
|
||||
<normaloff>:/icons/edit-delete.png</normaloff>:/icons/edit-delete.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
@@ -775,8 +835,8 @@
|
||||
<string>Clear</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="piconnedit/piconnedit.qrc">
|
||||
<normaloff>:/icons/edit-clear-.png</normaloff>:/icons/edit-clear-.png</iconset>
|
||||
<iconset resource="../../../qad/libs/application/qad_application.qrc">
|
||||
<normaloff>:/icons/edit-clear.png</normaloff>:/icons/edit-clear.png</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -840,7 +900,7 @@
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="piconnedit/piconnedit.qrc"/>
|
||||
<include location="../../../qad/libs/application/qad_application.qrc"/>
|
||||
</resources>
|
||||
<connections>
|
||||
<connection>
|
||||
@@ -875,22 +935,6 @@
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>lineName</sender>
|
||||
<signal>editingFinished()</signal>
|
||||
<receiver>ConnectionEdit</receiver>
|
||||
<slot>recreateConnection()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>644</x>
|
||||
<y>29</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>662</x>
|
||||
<y>-5</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
<slots>
|
||||
<slot>recreateConnection()</slot>
|
||||
@@ -74,7 +74,7 @@ void FilterItem::rename() {
|
||||
piForeachC (PICodeInfo::EnumeratorInfo & i, ei->members)
|
||||
if (i.value == mode()) {
|
||||
ms = PI2QString(i.name);
|
||||
piBreak;
|
||||
break;
|
||||
}
|
||||
}
|
||||
text_mode->setText(ms);
|
||||
@@ -1,15 +1,35 @@
|
||||
/*
|
||||
PIQt Utils - Qt utilites for PIP
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CONNECTION_VIEW_H
|
||||
#define CONNECTION_VIEW_H
|
||||
|
||||
#include "blockview.h"
|
||||
#include "piconnection.h"
|
||||
#include "piqt_utils_export.h"
|
||||
|
||||
const int __CV_Device = 1;
|
||||
const int __CV_Filter = 2;
|
||||
const int __CV_Sender = 3;
|
||||
|
||||
|
||||
class DeviceItem: public BlockItem {
|
||||
class PIQT_UTILS_EXPORT DeviceItem: public BlockItem {
|
||||
public:
|
||||
DeviceItem();
|
||||
|
||||
@@ -35,7 +55,7 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
class FilterItem: public BlockItem {
|
||||
class PIQT_UTILS_EXPORT FilterItem: public BlockItem {
|
||||
public:
|
||||
FilterItem();
|
||||
|
||||
@@ -65,7 +85,7 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
class SenderItem: public BlockItem {
|
||||
class PIQT_UTILS_EXPORT SenderItem: public BlockItem {
|
||||
public:
|
||||
SenderItem();
|
||||
|
||||
@@ -85,7 +105,7 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
class ConnectionView: public BlockView {
|
||||
class PIQT_UTILS_EXPORT ConnectionView: public BlockView {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ConnectionView(QWidget * parent = 0);
|
||||
51
piqt/libs/widgets/piqt_highlighter.h
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
PIQt Utils - Qt utilites for PIP
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CONF_HIGHLIGHTER_H
|
||||
#define CONF_HIGHLIGHTER_H
|
||||
|
||||
#include <QSyntaxHighlighter>
|
||||
#include <QTextCursor>
|
||||
#include <QTextCharFormat>
|
||||
#include "piqt_utils_export.h"
|
||||
|
||||
class QTextDocument;
|
||||
|
||||
class PIQT_UTILS_EXPORT ConfigHighlighter : public QSyntaxHighlighter
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
ConfigHighlighter(QTextDocument *parent = 0);
|
||||
|
||||
QTextCursor cursor;
|
||||
|
||||
private:
|
||||
void highlightBlock(const QString &text);
|
||||
|
||||
struct PIQT_UTILS_EXPORT HighlightingRule {
|
||||
QRegExp pattern;
|
||||
QTextCharFormat format;
|
||||
};
|
||||
|
||||
QVector<HighlightingRule> highlightingRules;
|
||||
QRegExp commentStartExpression, commentEndExpression;
|
||||
QTextCharFormat singleLineCommentFormat, valueNameFormat, valueFormat, equalFormat, sectionFormat, spaceFormat, substFormat;
|
||||
};
|
||||
|
||||
#endif // CONF_HIGHTLIGHTER_H
|
||||
74
piqt/libs/widgets/piqt_iodevice_edit.h
Normal file
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
PIQt Utils - Qt utilites for PIP
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef PIQT_IODEVICE_EDIT_H
|
||||
#define PIQT_IODEVICE_EDIT_H
|
||||
|
||||
#include <QWidget>
|
||||
#include "qad_types.h"
|
||||
#include "piqt_utils_export.h"
|
||||
|
||||
class QLineEdit;
|
||||
class QToolButton;
|
||||
class IODeviceEditDialog;
|
||||
|
||||
|
||||
class PIQT_UTILS_EXPORT IODeviceEdit: public QWidget {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QVariant value READ value WRITE setValue NOTIFY valueChanged)
|
||||
Q_PROPERTY(bool readOnly READ isReadOnly WRITE setReadOnly)
|
||||
public:
|
||||
explicit IODeviceEdit(QWidget * parent = 0);
|
||||
~IODeviceEdit();
|
||||
|
||||
QVariant value() const;
|
||||
bool isReadOnly() const;
|
||||
|
||||
private:
|
||||
void setDevice(const QAD::IODevice & d);
|
||||
|
||||
QLineEdit * line;
|
||||
QToolButton * btn;
|
||||
IODeviceEditDialog * dlg;
|
||||
QAD::IODevice dev;
|
||||
|
||||
public slots:
|
||||
void setValue(const QVariant & v);
|
||||
void setReadOnly(bool yes);
|
||||
|
||||
private slots:
|
||||
void buttonDlg_clicked();
|
||||
|
||||
signals:
|
||||
void valueChanged();
|
||||
|
||||
};
|
||||
|
||||
|
||||
class PIQT_UTILS_EXPORT __IODeviceEditRegistrator__ {
|
||||
public:
|
||||
__IODeviceEditRegistrator__();
|
||||
};
|
||||
|
||||
static __IODeviceEditRegistrator__ __iodeviceeditregistrator__;
|
||||
|
||||
PIQT_UTILS_EXPORT void QAD_IODevice_toString(const QVariant & v, QString & r);
|
||||
|
||||
|
||||
#endif // PIQT_IODEVICE_EDIT_H
|
||||
54
piqt/libs/widgets/piqt_iodevice_edit_dialog.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
PIQt Utils - Qt utilites for PIP
|
||||
|
||||
Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef PIQT_IODEVICE_EDIT_DIALOG_H
|
||||
#define PIQT_IODEVICE_EDIT_DIALOG_H
|
||||
|
||||
#include <QDialog>
|
||||
#include "qad_types.h"
|
||||
#include "propertystorage.h"
|
||||
#include "piqt_utils_export.h"
|
||||
|
||||
namespace Ui {
|
||||
class IODeviceEditDialog;
|
||||
}
|
||||
|
||||
class PIQT_UTILS_EXPORT IODeviceEditDialog: public QDialog {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit IODeviceEditDialog(QWidget * parent = 0);
|
||||
~IODeviceEditDialog();
|
||||
|
||||
QAD::IODevice getIODevice(const QAD::IODevice & d);
|
||||
|
||||
private:
|
||||
QAD::IODevice value() const;
|
||||
void setValue(const QAD::IODevice & d);
|
||||
int getOptions() const;
|
||||
void setOptions(int o);
|
||||
|
||||
PropertyStorage ps;
|
||||
Ui::IODeviceEditDialog * ui;
|
||||
|
||||
private slots:
|
||||
void on_comboType_currentIndexChanged(int index);
|
||||
|
||||
};
|
||||
|
||||
#endif // PIQT_IODEVICE_EDIT_DIALOG_H
|
||||
1
piqt/utils/CMakeLists.txt
Normal file
@@ -0,0 +1 @@
|
||||
add_directories("piqt_")
|
||||
14
piqt/utils/cd_pult/CMakeLists.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
project(cd_pult)
|
||||
if(APPLE)
|
||||
set(APP_ICON "")
|
||||
elseif(WIN32)
|
||||
set(APP_ICON "")
|
||||
else()
|
||||
set(APP_ICON "")
|
||||
endif()
|
||||
set(APP_INFO "CD Pult")
|
||||
piqt_application(${PROJECT_NAME} "Gui;Widgets" "qad_utils;qad_widgets;qad_graphic;qad_application;qcd_utils;piqt_utils")
|
||||
if (Qt5_FOUND)
|
||||
import_version(${PROJ_NAME}5 ${PROJECT_NAME})
|
||||
deploy_target(${PROJECT_NAME}5 DEPLOY_DIR ${CMAKE_CURRENT_BINARY_DIR} DESTINATION ${ROOT_DIR}/release)
|
||||
endif()
|
||||
16
piqt/utils/cd_pult/cdpult.qrc
Normal file
@@ -0,0 +1,16 @@
|
||||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>../../../qad/icons/dialog-information.png</file>
|
||||
<file>../../../qad/icons/dialog-cancel.png</file>
|
||||
<file>../../../qad/icons/dialog-ok-apply.png</file>
|
||||
<file>../../../qad/icons/document-revert.png</file>
|
||||
<file>../../../qad/icons/view-refresh.png</file>
|
||||
<file>../../../qad/icons/format-stroke-color.png</file>
|
||||
<file>icons/db-export.png</file>
|
||||
<file>icons/db-import.png</file>
|
||||
<file>icons/timer.png</file>
|
||||
<file>icons/flame.png</file>
|
||||
<file>icons/Apps-accessories-calculator-icon.png</file>
|
||||
<file>icons/accessories-text-editor.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
@@ -199,7 +199,7 @@ public:
|
||||
PIHash<Key, T> & clear() {pih_content.clear(); return *this;}
|
||||
|
||||
void swap(PIHash<Key, T> & other) {
|
||||
piSwapBinary<PIVector<PIVector<HashEntry> > >(pih_content, other.pih_content);
|
||||
pih_content.swap(other.pih_content);
|
||||
}
|
||||
|
||||
PIHash<Key, T> & insert(const Key & key, const T & value) {
|
||||
@@ -302,6 +302,7 @@ protected:
|
||||
uint qHash(const PIString & v, uint seed = 0) {return piHash(v);}
|
||||
|
||||
|
||||
#include "logview.h"
|
||||
int main(int argc, char *argv[]) {
|
||||
QApplication a(argc, argv);
|
||||
#if QT_VERSION >= 0x050000
|
||||
@@ -342,6 +343,28 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
return 0;*/
|
||||
//################################
|
||||
//1245hghgfhfdgshrgnhdsgfhjshdszdgsdgnjedghrbnlcvleabjmbassfdggfhbnsjkgnfdvfdsdfojbwasv213443gr2t4sfth
|
||||
/*LogView lw;
|
||||
lw.setLogFont(QFont("dejavu sans mono", 9));
|
||||
lw.registerCategory("Warning", "Warning", QImage(":/icons/flame.png"), Qt::darkYellow);
|
||||
lw.registerCategory("Error", "Error", QImage(":/icons/dialog-cancel.png"), Qt::darkRed, true);
|
||||
//lw.setLinesLimit(12);
|
||||
lw.show();
|
||||
piForTimes(100)
|
||||
lw.addText(QString("row %1").arg(_i100));
|
||||
lw.addText("-- Up-to-date: C:/sdk/MinGW/x32/i686-w64-mingw32/include/qglengine/scene_tree.h");
|
||||
lw.addText("-- Up-to-date: C:/sdk/MinGW/x32/i686-w64-mingw32/include/qglengine/scene_tree.h");
|
||||
lw.addText("-- Up-to-date: C:/sdk/MinGW/x32/i686-w64-mingw32/include/qglengine/view_editor.h");
|
||||
lw.addText("-- Up-to-date: C:/sdk/MinGW/x32/i686-w64-mingw32/include/qglengine/material_map_editor.h\n"
|
||||
"-- Up-to-date: C:/sdk/MinGW/x32/i686-w64-mingw32/include/qglengine/materials_editor\n"
|
||||
"-- Up-to-date: C:/sdk/MinGW/x32/i686-w64-mingw32/include/qglengine/object_editor.h");
|
||||
lw.addText("[Warning] sdfkjhdfgj");
|
||||
lw.addText("[Error] gbflknwed");
|
||||
QLineEdit * le = new QLineEdit();
|
||||
QObject::connect(le, &QLineEdit::returnPressed, [&](){lw.addText(le->text());});
|
||||
le->show();
|
||||
return a.exec();*/
|
||||
|
||||
CDPultWindow w;
|
||||
w.show();
|
||||
if (a.arguments().size() > 1)
|
||||
10
piqt/utils/piconnedit/CMakeLists.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
project(piconnedit)
|
||||
if(APPLE)
|
||||
set(APP_ICON "")
|
||||
elseif(WIN32)
|
||||
set(APP_ICON "")
|
||||
else()
|
||||
set(APP_ICON "")
|
||||
endif()
|
||||
set(APP_INFO "PIConnection GUI editor")
|
||||
piqt_application(${PROJECT_NAME} "Gui;Widgets" "qad_utils;qad_widgets;qad_blockview;piqt_utils")
|
||||
@@ -30,5 +30,5 @@ int main(int argc, char * argv[]) {
|
||||
}
|
||||
}
|
||||
}
|
||||
return a.exec();
|
||||
return 0;
|
||||
}
|
||||
10
piqt/utils/pidumper/CMakeLists.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
project(pidumper)
|
||||
if(APPLE)
|
||||
set(APP_ICON "")
|
||||
elseif(WIN32)
|
||||
set(APP_ICON "")
|
||||
else()
|
||||
set(APP_ICON "")
|
||||
endif()
|
||||
set(APP_INFO "PIConnection GUI editor")
|
||||
piqt_application(${PROJECT_NAME} "Gui;Widgets" "qad_utils;qad_widgets;piqt_utils")
|
||||
13
piqt/utils/piintrospector/CMakeLists.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
project(piintrospector)
|
||||
if(APPLE)
|
||||
set(APP_ICON "")
|
||||
elseif(WIN32)
|
||||
set(APP_ICON "")
|
||||
else()
|
||||
set(APP_ICON "")
|
||||
endif()
|
||||
set(APP_INFO "PIConnection GUI editor")
|
||||
include(PIPMacros)
|
||||
set(PII_ROOT "${ROOT_DIR}/pip/libs/main/introspection")
|
||||
pip_code_model(CCM "${PII_ROOT}/piintrospection_server_p.h" "${PII_ROOT}/piintrospection_threads_p.h" OPTIONS "-DPIP_EXPORT" "-Es")
|
||||
piqt_application(${PROJECT_NAME} "Gui;Widgets" "qad_utils;qad_widgets;qad_application;piqt_utils" ${CCM})
|
||||