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
+82
View File
@@ -0,0 +1,82 @@
#ifndef TITLEINSCRIPTIONSDIALOG_H
#define TITLEINSCRIPTIONSDIALOG_H
#include <QDialog>
#include <QComboBox>
#include <QPushButton>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QGridLayout>
#include <QLabel>
#include <QScrollArea>
#include <QLineEdit>
#include <QGroupBox>
#include <QMap>
#include <QString>
#include <QGraphicsView>
#include <QGraphicsScene>
#include <QGraphicsPixmapItem>
#include <QSlider>
#include "../model/projectparamtablemodel.h"
#include "../model/titleinscriptionsmodel.h"
#include "titleinscriptiontypes.h"
class TitleInscriptionsDialog : public QDialog
{
Q_OBJECT
public:
explicit TitleInscriptionsDialog(ProjectParamTableModel *projectParamModel, QWidget *parent = nullptr);
// Методы для получения настроек
QMap<int, QString> getInscriptionValues() const;
void setInscriptionValues(const QMap<int, QString> &values);
// Методы для работы с моделью
void setTitleInscriptionsModel(TitleInscriptionsModel *model);
TitleInscriptionsModel* getTitleInscriptionsModel() const;
private slots:
void onComboBoxChanged(int fieldNumber, const QString &value);
void onCustomValueChanged(int fieldNumber, const QString &value);
void onZoomChanged(int value);
void onAccept();
void onCancel();
private:
void setUp();
void setWidgets();
void setUpLayout();
void setUpConnections();
void createInscriptionFields();
void createImagePreview();
void updateFieldValue(int fieldNumber, const QString &value);
ProjectParamTableModel *m_projectParamModel;
TitleInscriptionsModel *m_titleInscriptionsModel;
// Виджеты
QScrollArea *m_scrollArea;
QWidget *m_scrollContent;
QGraphicsView *m_imageView;
QGraphicsScene *m_imageScene;
QGraphicsPixmapItem *m_imageItem;
QSlider *m_zoomSlider;
// Кнопки
QPushButton *m_okButton;
QPushButton *m_cancelButton;
// Данные полей
QMap<int, TitleInscriptionField> m_fields;
QMap<int, QComboBox*> m_comboBoxes;
QMap<int, QLineEdit*> m_customEdits;
QMap<int, QLabel*> m_fieldLabels;
// Статические данные о графах ГОСТ
static QMap<int, QString> s_fieldNames;
static QMap<int, QString> s_fieldDescriptions;
static void initializeFieldData();
};
#endif // TITLEINSCRIPTIONSDIALOG_H