Files
RRJServer/InstructorsAndTrainees/docTasks/doctaskswidget.h

60 lines
1.3 KiB
C++

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