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
+50
View File
@@ -0,0 +1,50 @@
#ifndef COMPONENTMODEL_H
#define COMPONENTMODEL_H
#include <QObject>
#include <QMap>
#include <QDebug>
class ComponentModel : public QObject
{
Q_OBJECT
Q_PROPERTY(int id READ id WRITE setId NOTIFY idChanged FINAL)
Q_PROPERTY(QString designator READ designator WRITE setDesignator NOTIFY designatorChanged FINAL)
Q_PROPERTY(QString currentVariant READ currentVariant WRITE setCurrentVariant NOTIFY currentVariantChanged FINAL)
Q_PROPERTY(QMap<QString, QString> properties READ properties WRITE setProperties NOTIFY propertiesChanged FINAL)
public:
explicit ComponentModel(QObject *parent = nullptr);
int id() const;
void setId(int newId);
QString designator() const;
void setDesignator(const QString &newDesignator);
QString currentVariant() const;
void setCurrentVariant(const QString &newCurrentVariant);
QMap<QString, QString> properties() const;
void setProperties(const QMap<QString, QString> &newProperties);
void setBaseProperties(const QMap<QString, QString> &newBaseProperties);
void setVariantProperties(const QString &variantName, const QMap<QString, QString> &variantProps);
signals:
void idChanged();
void designatorChanged();
void currentVariantChanged();
void propertiesChanged();
private:
int m_id;
QString m_designator;
QString m_currentVariant;
QMap<QString, QString> m_currentProperties;
QMap<QString, QString> m_baseProperties;
QMap<QString, QMap<QString, QString>> m_variantProperties;
void updateCurrentProperties();
};
#endif // COMPONENTMODEL_H