Add initial project structure with essential files including .gitignore, application resources, and various model and view components for the application. Implemented asynchronous parsing support and database structure checks.

This commit is contained in:
2025-12-08 15:21:18 +03:00
parent 4f8c90c15b
commit 3467003721
110 changed files with 35406 additions and 0 deletions
+125
View File
@@ -0,0 +1,125 @@
cmake_minimum_required(VERSION 3.16)
project(GostGenerator VERSION 1.0.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt5 REQUIRED COMPONENTS Core Widgets Sql Concurrent Quick QuickWidgets PrintSupport)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /utf-8")
# Исходные файлы
set(SOURCES
main.cpp
controller/maincontroller.cpp
controller/altiumparser.cpp
controller/databasecontroller.cpp
model/componentmodel.cpp
model/componenttablemodel.cpp
model/paramtable.cpp
model/projectparammodel.cpp
model/projectparamtablemodel.cpp
model/projectsettingsmodel.cpp
model/titleinscriptionsmodel.cpp
model/designatormappingmodel.cpp
model/designatormappingtablemodel.cpp
model/perechentablemodel.cpp
model/specificationpcbtablemodel.cpp
model/specificationtablemodel.cpp
model/vedomosttablemodel.cpp
model/pcbmaterialmodel.cpp
view/adddesignatordialog.cpp
view/basegosttable.cpp
view/componentspreview.cpp
view/columnsettingsdialog.cpp
view/freezetablewidget.cpp
view/pcbmaterialpreview.cpp
view/designatormappingdialog.cpp
view/documentprocessor.cpp
controller/perechentablecontroller.cpp
controller/specificationpcbcontroller.cpp
controller/specificationcontroller.cpp
controller/vedomostcontroller.cpp
controller/csvexporter.cpp
view/editpdfwidget.cpp
view/importeddataview.cpp
view/mainwindow.cpp
view/previewpdfwidget.cpp
view/projectparampreview.cpp
view/projectsettingsdialog.cpp
view/titleinscriptionsdialog.cpp
view/documentsettingsdialog.cpp
view/cellsettingsdialog.cpp
view/pagebreakconfirmationdialog.cpp
)
# Заголовочные файлы
set(HEADERS
controller/maincontroller.h
controller/altiumparser.h
controller/databasecontroller.h
model/componentmodel.h
model/componenttablemodel.h
model/paramtable.h
model/projectparammodel.h
model/projectparamtablemodel.h
model/projectsettingsmodel.h
model/titleinscriptionsmodel.h
model/designatormappingmodel.h
model/designatormappingtablemodel.h
model/perechentablemodel.h
model/specificationpcbtablemodel.h
model/specificationtablemodel.h
model/vedomosttablemodel.h
model/pcbmaterialmodel.h
view/adddesignatordialog.h
view/basegosttable.h
view/columnsettingsdialog.h
view/componentspreview.h
view/freezetablewidget.h
view/pcbmaterialpreview.h
view/designatormappingdialog.h
view/documentprocessor.h
controller/perechentablecontroller.h
controller/specificationpcbcontroller.h
controller/specificationcontroller.h
controller/vedomostcontroller.h
controller/csvexporter.h
view/editpdfwidget.h
view/importeddataview.h
view/mainwindow.h
view/previewpdfwidget.h
view/projectparampreview.h
view/projectsettingsdialog.h
view/titleinscriptionsdialog.h
view/documentsettingsdialog.h
view/cellsettingsdialog.h
view/titleinscriptiontypes.h
view/pagebreakconfirmationdialog.h
)
# Создание исполняемого файла
if(WIN32)
add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS}
qml.qrc
app_icon.rc
controller/pdfcontroller.h controller/pdfcontroller.cpp)
else()
add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS}
qml.qrc
controller/pdfcontroller.h controller/pdfcontroller.cpp)
endif()
# Подключение Qt модулей
target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Widgets Qt5::Sql Qt5::Concurrent Qt5::Quick Qt5::QuickWidgets Qt5::PrintSupport)
# Установка
install(TARGETS ${PROJECT_NAME}
BUNDLE DESTINATION .
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)