Files
RRJServer/InstructorsAndTrainees/tasks/ammtaskswidget.h
2025-01-21 15:42:36 +03:00

60 lines
1.3 KiB
C++

#ifndef AMMTASKSWIDGET_H
#define AMMTASKSWIDGET_H
#include <QWidget>
#include <QTreeWidget>
#include <QDomNode>
#include "module.h"
#include "connectortoserver.h"
namespace Ui {
class AMMtasksWidget;
}
class AMMtasksWidget : public QWidget
{
Q_OBJECT
private:
enum ColumnsTree{
clmn_PMorDM = 0,
clmn_ID
};
public:
explicit AMMtasksWidget(ConnectorToServer* connectorToServer, QWidget *parent = nullptr);
~AMMtasksWidget();
private Q_SLOTS:
void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
void on_btnUpdateTasks_clicked();
public Q_SLOTS:
//Слот обработки сигнала необходимости обновления интерфейса
void slot_NeedUpdateUI();
private:
void loadAMMtasksFromXML(QByteArray array);
void domElementParser(QDomElement element, Module* moduleParent);
void deleteAllModuls();
Module* searchModuleByID(int id);
void preparationTreeWidget();
void reSetHeadTreeWidget();
void fillTree();
void addModuleToTreeWidget(Module* module, QTreeWidgetItem* parentItem = nullptr);
void loadTasksAMM();
private:
Ui::AMMtasksWidget *ui;
ConnectorToServer* connectorToServer;
QTreeWidget* treeWidget;
private:
QList<Module*> listAllModules;
};
#endif // AMMTASKSWIDGET_H