added web service

This commit is contained in:
2026-09-02 12:48:03 +03:00
parent 84b7eceb9f
commit 02c43072c4
60 changed files with 6148 additions and 22 deletions
+65
View File
@@ -0,0 +1,65 @@
#ifndef SIMPLELISTTABLECONTROLLER_H
#define SIMPLELISTTABLECONTROLLER_H
#include <QObject>
#include <QList>
#include <QStringList>
#include "../model/simplelisttablemodel.h"
class ComponentModel;
class SimpleListTableController : public QObject
{
Q_OBJECT
public:
explicit SimpleListTableController(QObject *parent = nullptr);
~SimpleListTableController();
// Получение модели для отображения в UI
SimpleListTableModel* getTableModel() const { return m_tableModel; }
SimpleListTableModel* getModel() const { return m_tableModel; } // Алиас для совместимости
// Методы для работы с компонентами
void setComponents(const QList<ComponentModel*> &components);
void generateTableFromComponents();
void generateTableFromSpecificationPCB(class SpecificationPCBTableModel *specPCBModel); // Генерация из SpecificationPCB
void updateTableFromComponents(); // Метод для обновления таблицы по кнопке
// Новые методы для управления строками
void addEmptyRow();
void addEmptyRowAt(int position);
void insertEmptyRowAt(int position); // Вставка строки в определенную позицию
void removeRow(int row);
void clearTable();
// Метод для установки модели таблицы (для интеграции)
void setModel(SimpleListTableModel *model);
// Методы для работы с настройками
void setNameField(const QString &fieldName);
QString getNameField() const;
void setTechReservePercent(int percent);
int getTechReservePercent() const;
void setBoardsCount(int count);
int getBoardsCount() const;
QStringList getAvailableProperties() const;
private:
QString getComponentValue(ComponentModel *component, const QString &propertyName);
QString parseExpression(ComponentModel *component, const QString &expression);
QStringList collectPropertyNames();
// Метод для разделения десигнатора на буквенную и цифровую части
static QPair<QString, QString> splitDesignator(const QString &designator);
SimpleListTableModel *m_tableModel;
QList<ComponentModel*> m_components;
QStringList m_propertyNames;
QString m_nameField; // Поле для наименования компонента (по умолчанию "Name")
int m_techReservePercent; // Процент тех запаса (по умолчанию 10)
int m_boardsCount; // Кол-во плат (по умолчанию 1)
};
#endif // SIMPLELISTTABLECONTROLLER_H