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
+70
View File
@@ -0,0 +1,70 @@
#ifndef EDITPDFWIDGET_H
#define EDITPDFWIDGET_H
#include <QWidget>
#include <QVBoxLayout>
#include <QTabWidget>
#include "documentprocessor.h"
#include "../model/titleinscriptionsmodel.h"
class MainController;
class SpecificationController;
class SpecificationTableModel;
class EditPDFWidget : public QWidget
{
Q_OBJECT
public:
explicit EditPDFWidget(QWidget *parent = nullptr);
explicit EditPDFWidget(MainController *controller, QWidget *parent = nullptr);
// Методы для работы с данными
void setData(ComponentTableModel *componentModel, ProjectParamTableModel *projectParamModel);
void updateAllViews();
// Методы для работы с надписями титульного листа
TitleInscriptionsModel* getTitleInscriptionsModel() const;
// Методы для работы с перечнем элементов
PerechenTableModel* getPerechenTableModel() const;
// Методы для экспорта
bool exportCurrentDocument(const QString &filePath = QString());
bool exportAllDocuments(const QString &basePath = QString());
private:
void setUp();
void setWidgets();
void setUpLayout();
void setUpConnections();
QTabWidget* m_tabWidget;
// Процессоры документов
PerechenProcessor* m_perechenProcessor;
SpecificationProcessor* m_specificationProcessor;
SpecificationPCBProcessor* m_specificationPCBProcessor;
VedomostProcessor* m_vedomostProcessor;
// Виджеты документов
DocumentEditWidget* m_perechenEditWidget;
DocumentEditWidget* m_specificationEditWidget;
DocumentEditWidget* m_specificationPCBEditWidget;
DocumentEditWidget* m_vedomostEditWidget;
// Модели данных
ComponentTableModel* m_componentModel;
ProjectParamTableModel* m_projectParamModel;
MainController* m_controller;
signals:
// Сигнал изменения типа документа для синхронизации с PreviewPdfWidget
void documentTypeChanged(const QString &documentType);
// TODO: Добавить сигналы экспорта когда будет реализован экспорт
// signals:
// void documentExported(const QString &documentType, const QString &filePath);
// void exportError(const QString &documentType, const QString &error);
};
#endif // EDITPDFWIDGET_H