Завел контроллер Месанджера

This commit is contained in:
2025-09-03 17:24:36 +03:00
parent e9b571aa81
commit 5e834b582f
11 changed files with 178 additions and 60 deletions

View File

@@ -75,6 +75,8 @@ add_library(InstructorsAndTrainees SHARED
messanger/msgwidget.ui messanger/msgwidget.ui
messanger/tabdialogmessenger.cpp messanger/tabdialogmessenger.cpp
messanger/tabdialogmessenger.h messanger/tabdialogmessenger.h
messanger/messangercontroller.cpp
messanger/messangercontroller.h
tasks/ammtaskswidget.cpp tasks/ammtaskswidget.cpp
tasks/ammtaskswidget.h tasks/ammtaskswidget.h

View File

@@ -12,8 +12,7 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
viewerTrainees(nullptr), viewerTrainees(nullptr),
viewerInstructors(nullptr), viewerInstructors(nullptr),
messangerWidget(nullptr), messangerWidget(nullptr),
//ammTasksWidget(nullptr), messangerController(nullptr),
//fimTasksWidget(nullptr),
adminMode(false), adminMode(false),
loginInstructorLoggedInLocal(QStringLiteral("")), loginInstructorLoggedInLocal(QStringLiteral("")),
nameInstructorLoggedInLocal(QStringLiteral("")), nameInstructorLoggedInLocal(QStringLiteral("")),
@@ -22,7 +21,6 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
ui->setupUi(this); ui->setupUi(this);
ui->btnSettings->setObjectName("btnSettings"); ui->btnSettings->setObjectName("btnSettings");
//ui->tabWidget_Tasks->setObjectName("tabWidgetTasks");
ui->widget_Top->setObjectName("widgetTop"); ui->widget_Top->setObjectName("widgetTop");
ui->groupBox_Trainees->setObjectName("groupBox_Trainees"); ui->groupBox_Trainees->setObjectName("groupBox_Trainees");
@@ -52,45 +50,26 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
connect(connectorToServer,&ConnectorToServer::sigLoginResult,this,&InstructorsAndTraineesWidget::checkLoginResult); connect(connectorToServer,&ConnectorToServer::sigLoginResult,this,&InstructorsAndTraineesWidget::checkLoginResult);
connect(connectorToServer,&ConnectorToServer::sigDeLoginResult,this,&InstructorsAndTraineesWidget::checkDeLoginResult); connect(connectorToServer,&ConnectorToServer::sigDeLoginResult,this,&InstructorsAndTraineesWidget::checkDeLoginResult);
viewerTrainees = new ViewerTrainees(connectorToServer, this); messangerController = new MessangerController(connectorToServer, this);
viewerTrainees = new ViewerTrainees(connectorToServer, messangerController, this);
viewerInstructors = new ViewerInstructors(connectorToServer, this); viewerInstructors = new ViewerInstructors(connectorToServer, this);
connect(this, &InstructorsAndTraineesWidget::signal_NeedUpdateUI, viewerTrainees, &ViewerTrainees::slot_NeedUpdateUI); connect(this, &InstructorsAndTraineesWidget::signal_NeedUpdateUI, viewerTrainees, &ViewerTrainees::slot_NeedUpdateUI);
connect(this, &InstructorsAndTraineesWidget::signal_NeedUpdateUI, viewerInstructors, &ViewerInstructors::slot_NeedUpdateUI); connect(this, &InstructorsAndTraineesWidget::signal_NeedUpdateUI, viewerInstructors, &ViewerInstructors::slot_NeedUpdateUI);
connect(viewerInstructors, &ViewerInstructors::signal_BlockAutorization, this, &InstructorsAndTraineesWidget::signal_BlockAutorization); connect(viewerInstructors, &ViewerInstructors::signal_BlockAutorization, this, &InstructorsAndTraineesWidget::signal_BlockAutorization);
connect(viewerTrainees, &ViewerTrainees::signal_BlockAutorization, this, &InstructorsAndTraineesWidget::signal_BlockAutorization); connect(viewerTrainees, &ViewerTrainees::signal_BlockAutorization, this, &InstructorsAndTraineesWidget::signal_BlockAutorization);
//connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
//connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI);
connect(connectorToServer,&ConnectorToServer::signal_ConnectedToServer,this,&InstructorsAndTraineesWidget::slot_ConnectedToServer); connect(connectorToServer,&ConnectorToServer::signal_ConnectedToServer,this,&InstructorsAndTraineesWidget::slot_ConnectedToServer);
/* connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, messangerController, &MessangerController::signal_traineeSelected);
ammTasksWidget = new AMMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listCommon, this); connect(messangerController, &MessangerController::signal_tabMessengerChanged, viewerTrainees, &ViewerTrainees::slot_tabMessengerChanged);
fimTasksWidget = new FIMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listCommon, this);
connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksFIM, fimTasksWidget, &FIMtasksWidget::slot_NeedUpdateUI); messangerWidget = messangerController->newWidget(this);
connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksAMM, ammTasksWidget, &AMMtasksWidget::slot_NeedUpdateUI);
connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, fimTasksWidget, &FIMtasksWidget::slot_traineeSelected);
connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, ammTasksWidget, &AMMtasksWidget::slot_traineeSelected);
*/
messangerWidget = new MessangerWidget(this);
//connect(connectorToServer,&ConnectorToServer::signal_InitMessanger,messangerWidget,&MessangerWidget::slot_InitMessanger);
connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, messangerWidget, &MessangerWidget::slot_traineeSelected);
connect(messangerWidget, &MessangerWidget::signal_tabMessengerChanged, viewerTrainees, &ViewerTrainees::slot_tabMessengerChanged);
connect(messangerWidget, &MessangerWidget::signal_sendMessage, connectorToServer, &ConnectorToServer::slot_sendMessage);
connect(connectorToServer,&ConnectorToServer::signal_receiveMessage,messangerWidget,&MessangerWidget::slot_showMessage);
//connect(fimTasksWidget, &FIMtasksWidget::signal_AssignedTask, viewerTrainees, &ViewerTrainees::slot_waitAnimationWidgetShowWithPlayFIM);
//connect(ammTasksWidget, &AMMtasksWidget::signal_AssignedTask, viewerTrainees, &ViewerTrainees::slot_waitAnimationWidgetShowWithPlayAMM);
//Размещение //Размещение
ui->verticalLayout_Trainees->addWidget(viewerTrainees); ui->verticalLayout_Trainees->addWidget(viewerTrainees);
//ui->verticalLayout_AMM->addWidget(ammTasksWidget);
//ui->verticalLayout_FIM->addWidget(fimTasksWidget);
ui->verticalLayout_Messenger->addWidget(messangerWidget); ui->verticalLayout_Messenger->addWidget(messangerWidget);
ui->verticalLayout_Instructors->addWidget(viewerInstructors); ui->verticalLayout_Instructors->addWidget(viewerInstructors);
@@ -123,9 +102,7 @@ InstructorsAndTraineesWidget::~InstructorsAndTraineesWidget()
if(authorizationIsCompleted()) if(authorizationIsCompleted())
deAuthorizationInstructor(loginInstructorLoggedInLocal); deAuthorizationInstructor(loginInstructorLoggedInLocal);
//delete ammTasksWidget; delete messangerController;
//delete fimTasksWidget;
delete messangerWidget;
delete viewerInstructors; delete viewerInstructors;
delete viewerTrainees; delete viewerTrainees;
delete connectorToServer; delete connectorToServer;
@@ -218,7 +195,7 @@ void InstructorsAndTraineesWidget::checkLoginResult(ServerAuthorization *serverA
updateLabelLoggedInInstructor(serverAuth->Login, serverAuth->ClientName); updateLabelLoggedInInstructor(serverAuth->Login, serverAuth->ClientName);
connectorToServer->setLoginName(nameInstructorLoggedInLocal); connectorToServer->setLoginName(nameInstructorLoggedInLocal);
messangerWidget->initialize(serverAuth->Id); messangerController->initialize(serverAuth->Id);
connectorToServer->sendQueryTasksXML("fim"); connectorToServer->sendQueryTasksXML("fim");
connectorToServer->sendQueryTasksXML("amm"); connectorToServer->sendQueryTasksXML("amm");
@@ -298,7 +275,7 @@ void InstructorsAndTraineesWidget::slot_ConnectedToServer(bool state)
//ammTasksWidget->deactivate(); //ammTasksWidget->deactivate();
//fimTasksWidget->deactivate(); //fimTasksWidget->deactivate();
messangerWidget->clear(); messangerController->clear();
loginInstructorLoggedInLocal = ""; loginInstructorLoggedInLocal = "";
nameInstructorLoggedInLocal = ""; nameInstructorLoggedInLocal = "";
@@ -368,7 +345,7 @@ void InstructorsAndTraineesWidget::on_btnAuthorizationInstructor_clicked()
{ {
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI); connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI); connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI);
connect(connectorToServer,&ConnectorToServer::signal_InitMessanger,messangerWidget,&MessangerWidget::slot_InitMessanger); connect(connectorToServer,&ConnectorToServer::signal_InitMessanger,messangerController,&MessangerController::signal_InitMessanger);
} }
else else
ui->btnAuthorizationInstructor->setChecked(false); ui->btnAuthorizationInstructor->setChecked(false);
@@ -381,7 +358,7 @@ void InstructorsAndTraineesWidget::on_btnAuthorizationInstructor_clicked()
{ {
disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI); disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI); disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI);
disconnect(connectorToServer,&ConnectorToServer::signal_InitMessanger,messangerWidget,&MessangerWidget::slot_InitMessanger); disconnect(connectorToServer,&ConnectorToServer::signal_InitMessanger,messangerController,&MessangerController::signal_InitMessanger);
viewerTrainees->deactivate(); viewerTrainees->deactivate();
viewerInstructors->deactivate(); viewerInstructors->deactivate();
@@ -389,7 +366,7 @@ void InstructorsAndTraineesWidget::on_btnAuthorizationInstructor_clicked()
//ammTasksWidget->deactivate(); //ammTasksWidget->deactivate();
//fimTasksWidget->deactivate(); //fimTasksWidget->deactivate();
messangerWidget->clear(); messangerController->clear();
} }
else else
ui->btnAuthorizationInstructor->setChecked(true); ui->btnAuthorizationInstructor->setChecked(true);

View File

@@ -7,6 +7,7 @@
#include "viewertrainees.h" #include "viewertrainees.h"
#include "viewerinstructors.h" #include "viewerinstructors.h"
#include "messangerwidget.h" #include "messangerwidget.h"
#include "messangercontroller.h"
#include "ammtaskswidget.h" #include "ammtaskswidget.h"
#include "fimtaskswidget.h" #include "fimtaskswidget.h"
#include "connectortoserver.h" #include "connectortoserver.h"
@@ -95,6 +96,7 @@ private:
ViewerTrainees* viewerTrainees; ViewerTrainees* viewerTrainees;
ViewerInstructors* viewerInstructors; ViewerInstructors* viewerInstructors;
MessangerWidget* messangerWidget; MessangerWidget* messangerWidget;
MessangerController* messangerController;
//AMMtasksWidget* ammTasksWidget; //AMMtasksWidget* ammTasksWidget;
//FIMtasksWidget* fimTasksWidget; //FIMtasksWidget* fimTasksWidget;

View File

@@ -0,0 +1,76 @@
#include "messangercontroller.h"
MessangerController::MessangerController(ConnectorToServer* connectorToServer, QObject *parent) :
QObject(parent),
connectorToServer(connectorToServer),
currClientId("")
{
}
MessangerController::~MessangerController()
{
for(MessangerWidget* widget : listWidgets)
{
delete widget;
}
}
MessangerWidget *MessangerController::newWidget(QWidget *parent)
{
MessangerWidget *msgWdgt = new MessangerWidget(parent);
connect(msgWdgt, &MessangerWidget::signal_sendMessage, this, &MessangerController::slot_sendMessage);
connect(connectorToServer,&ConnectorToServer::signal_receiveMessage,msgWdgt,&MessangerWidget::slot_showMessage);
connect(this, &MessangerController::signal_traineeSelected, msgWdgt, &MessangerWidget::slot_traineeSelected);
connect(msgWdgt, &MessangerWidget::signal_tabMessengerChanged, this, &MessangerController::signal_tabMessengerChanged);
connect(this, &MessangerController::signal_InitMessanger, msgWdgt,&MessangerWidget::slot_InitMessanger);
msgWdgt->initialize(currClientId);
listWidgets.append(msgWdgt);
return msgWdgt;
}
void MessangerController::deleteWidget(MessangerWidget *msgWdgt)
{
for(int i = 0; i < listWidgets.count(); i++)
{
if(listWidgets.at(i) == msgWdgt)
{
delete msgWdgt;
listWidgets.removeAt(i);
}
}
}
void MessangerController::initialize(QString id)
{
currClientId = id;
for(MessangerWidget* widget : listWidgets)
{
widget->initialize(currClientId);
}
}
void MessangerController::clear()
{
for(MessangerWidget* widget : listWidgets)
{
widget->clear();
}
}
void MessangerController::slot_sendMessage(ClientMessage clientMessage)
{
connectorToServer->slot_sendMessage(clientMessage);
for(MessangerWidget* widget : listWidgets)
{
widget->addMsgWidgetLocal(clientMessage.Text);
}
}

View File

@@ -0,0 +1,39 @@
#ifndef MESSANGERCONTROLLER_H
#define MESSANGERCONTROLLER_H
#include <QObject>
#include "messangerwidget.h"
#include "connectortoserver.h"
class MessangerController : public QObject
{
Q_OBJECT
public:
explicit MessangerController(ConnectorToServer* connectorToServer, QObject *parent = nullptr);
~MessangerController();
public:
MessangerWidget* newWidget(QWidget *parent);
void deleteWidget(MessangerWidget* msgWdgt);
void initialize(QString id);
void clear();
signals:
void signal_tabMessengerChanged(QString login);
void signal_traineeSelected(QString login);
void signal_InitMessanger(QList<Trainee> listTrainees);
public slots:
void slot_sendMessage(ClientMessage clientMessage);
private:
ConnectorToServer* connectorToServer;
QList <MessangerWidget*> listWidgets;
QString currClientId; //id этого клиента
};
#endif // MESSANGERCONTROLLER_H

View File

@@ -150,17 +150,8 @@ void MessangerWidget::clear()
actualizationTabsDialogMessenger(); actualizationTabsDialogMessenger();
} }
void MessangerWidget::on_btnSend_clicked() void MessangerWidget::addMsgWidgetLocal(QString text)
{ {
QString text = ui->editMsg->toPlainText();
QString from = currClientId;
QString to = selectedUserId;
ClientMessage message = ClientMessage(from,to,text);
emit signal_sendMessage(message);
ui->editMsg->clear();
//Ищем нужный диалог //Ищем нужный диалог
foreach(TabDialogMessenger* tabDialog, listTabDialogMessenger) foreach(TabDialogMessenger* tabDialog, listTabDialogMessenger)
{ {
@@ -176,6 +167,33 @@ void MessangerWidget::on_btnSend_clicked()
} }
} }
void MessangerWidget::on_btnSend_clicked()
{
QString text = ui->editMsg->toPlainText();
QString from = currClientId;
QString to = selectedUserId;
ClientMessage message = ClientMessage(from,to,text);
emit signal_sendMessage(message);
ui->editMsg->clear();
/*
//Ищем нужный диалог
foreach(TabDialogMessenger* tabDialog, listTabDialogMessenger)
{
if(tabDialog->getUserLogin() == selectedUserLogin)
{
//Добавляем в существующую вкладку
tabDialog->addMsgWidgetLocal(text);
//Делаем ее активной
ui->tabWidget->setCurrentIndex(getIndexTab(selectedUserLogin));
return;
}
}*/
}
void MessangerWidget::on_tabWidget_currentChanged(int index) void MessangerWidget::on_tabWidget_currentChanged(int index)
{ {
//Ищем нужный диалог //Ищем нужный диалог

View File

@@ -40,6 +40,8 @@ public:
void clear(); void clear();
void addMsgWidgetLocal(QString text);
private slots: private slots:
void on_btnSend_clicked(); void on_btnSend_clicked();
void on_tabWidget_currentChanged(int index); void on_tabWidget_currentChanged(int index);

View File

@@ -1,9 +1,10 @@
#include "personalcardtrainee.h" #include "personalcardtrainee.h"
#include "ui_personalcardtrainee.h" #include "ui_personalcardtrainee.h"
PersonalCardTrainee::PersonalCardTrainee(ConnectorToServer* connectorToServer, int id_trainee, AMMtasksWidget* ammTasksWidgetIn, FIMtasksWidget* fimTasksWidgetIn, QWidget *parent) : PersonalCardTrainee::PersonalCardTrainee(ConnectorToServer* connectorToServer, MessangerController* messangerController, int id_trainee, AMMtasksWidget* ammTasksWidgetIn, FIMtasksWidget* fimTasksWidgetIn, QWidget *parent) :
QWidget(parent), QWidget(parent),
connectorToServer(connectorToServer), connectorToServer(connectorToServer),
messangerController(messangerController),
id_trainee(id_trainee), id_trainee(id_trainee),
ammTasksWidget_personal(nullptr), ammTasksWidget_personal(nullptr),
fimTasksWidget_personal(nullptr), fimTasksWidget_personal(nullptr),
@@ -32,15 +33,9 @@ PersonalCardTrainee::PersonalCardTrainee(ConnectorToServer* connectorToServer, i
ui->verticalLayout_FIMcommon->addWidget(fimTasksWidget_common); ui->verticalLayout_FIMcommon->addWidget(fimTasksWidget_common);
/* Messanger*/ /* Messanger*/
messangerWidget = new MessangerWidget(this); messangerWidget = messangerController->newWidget(this);
//connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, messangerWidget, &MessangerWidget::slot_traineeSelected);
//connect(messangerWidget, &MessangerWidget::signal_tabMessengerChanged, viewerTrainees, &ViewerTrainees::slot_tabMessengerChanged);
connect(messangerWidget, &MessangerWidget::signal_sendMessage, connectorToServer, &ConnectorToServer::slot_sendMessage);
connect(connectorToServer,&ConnectorToServer::signal_receiveMessage,messangerWidget,&MessangerWidget::slot_showMessage);
//ui->verticalLayout_Messenger->addWidget(messangerWidget); ui->verticalLayout_Messenger->addWidget(messangerWidget);
messangerWidget->initialize(connectorToServer->getServerAuth().Id);
QList<Trainee> listTrainees; QList<Trainee> listTrainees;
Trainee trainee = connectorToServer->getTrainee(id_trainee); Trainee trainee = connectorToServer->getTrainee(id_trainee);
@@ -57,7 +52,8 @@ PersonalCardTrainee::~PersonalCardTrainee()
delete ammTasksWidget_personal; delete ammTasksWidget_personal;
delete fimTasksWidget_personal; delete fimTasksWidget_personal;
delete messangerWidget; //delete messangerWidget;
messangerController->deleteWidget(messangerWidget);
delete ui; delete ui;
} }

View File

@@ -5,6 +5,7 @@
#include "ammtaskswidget.h" #include "ammtaskswidget.h"
#include "fimtaskswidget.h" #include "fimtaskswidget.h"
#include "messangerwidget.h" #include "messangerwidget.h"
#include "messangercontroller.h"
#include <QWidget> #include <QWidget>
namespace Ui { namespace Ui {
@@ -17,7 +18,7 @@ class PersonalCardTrainee : public QWidget
public: public:
//explicit PersonalCardTrainee(ConnectorToServer* connectorToServer, int id_trainee, QWidget *parent = nullptr); //explicit PersonalCardTrainee(ConnectorToServer* connectorToServer, int id_trainee, QWidget *parent = nullptr);
explicit PersonalCardTrainee(ConnectorToServer* connectorToServer, int id_trainee, AMMtasksWidget* ammTasksWidget_common, FIMtasksWidget* fimTasksWidget_common, QWidget *parent = nullptr); explicit PersonalCardTrainee(ConnectorToServer* connectorToServer, MessangerController* messangerController, int id_trainee, AMMtasksWidget* ammTasksWidget_common, FIMtasksWidget* fimTasksWidget_common, QWidget *parent = nullptr);
~PersonalCardTrainee(); ~PersonalCardTrainee();
private: private:
@@ -25,6 +26,7 @@ private:
private: private:
ConnectorToServer* connectorToServer; ConnectorToServer* connectorToServer;
MessangerController* messangerController;
int id_trainee; int id_trainee;
AMMtasksWidget* ammTasksWidget_personal; AMMtasksWidget* ammTasksWidget_personal;

View File

@@ -3,12 +3,13 @@
#include "personalcardtrainee.h" #include "personalcardtrainee.h"
#include "ui_viewertrainees.h" #include "ui_viewertrainees.h"
ViewerTrainees::ViewerTrainees(ConnectorToServer* connectorToServer, QWidget *parent) : ViewerTrainees::ViewerTrainees(ConnectorToServer* connectorToServer, MessangerController* messangerController, QWidget *parent) :
TraineesView(connectorToServer, CommonView::TypeView::onlyView, parent), TraineesView(connectorToServer, CommonView::TypeView::onlyView, parent),
//ammTasksWidget_pers0(nullptr), //ammTasksWidget_pers0(nullptr),
//fimTasksWidget_pers0(nullptr), //fimTasksWidget_pers0(nullptr),
ammTasksWidgetCommon(nullptr), ammTasksWidgetCommon(nullptr),
fimTasksWidgetCommon(nullptr), fimTasksWidgetCommon(nullptr),
messangerController(messangerController),
ui(new Ui::ViewerTrainees) ui(new Ui::ViewerTrainees)
{ {
ui->setupUi(this); ui->setupUi(this);
@@ -197,7 +198,7 @@ void ViewerTrainees::on_itemDoubleClicked(QTreeWidgetItem *item, int column)
int id_trainee = connectorToServer->getIdTraineeByLogin(login); int id_trainee = connectorToServer->getIdTraineeByLogin(login);
PersonalCardTrainee cardTrainee(connectorToServer, id_trainee, ammTasksWidgetCommon, fimTasksWidgetCommon, this); PersonalCardTrainee cardTrainee(connectorToServer, messangerController, id_trainee, ammTasksWidgetCommon, fimTasksWidgetCommon, this);
QDialog* dialog = new QDialog(this); QDialog* dialog = new QDialog(this);
QHBoxLayout *layout = new QHBoxLayout(dialog); QHBoxLayout *layout = new QHBoxLayout(dialog);

View File

@@ -4,6 +4,7 @@
#include "traineesview.h" #include "traineesview.h"
#include "ammtaskswidget.h" #include "ammtaskswidget.h"
#include "fimtaskswidget.h" #include "fimtaskswidget.h"
#include "messangercontroller.h"
namespace Ui { namespace Ui {
class ViewerTrainees; class ViewerTrainees;
@@ -16,7 +17,7 @@ class ViewerTrainees : public TraineesView
Q_OBJECT Q_OBJECT
public: public:
explicit ViewerTrainees(ConnectorToServer* connectorToServer, QWidget *parent = nullptr); explicit ViewerTrainees(ConnectorToServer* connectorToServer, MessangerController* messangerController, QWidget *parent = nullptr);
~ViewerTrainees(); ~ViewerTrainees();
public: public:
@@ -59,6 +60,8 @@ private:
AMMtasksWidget* ammTasksWidgetCommon; AMMtasksWidget* ammTasksWidgetCommon;
FIMtasksWidget* fimTasksWidgetCommon; FIMtasksWidget* fimTasksWidgetCommon;
MessangerController* messangerController;
private: private:
Ui::ViewerTrainees *ui; Ui::ViewerTrainees *ui;
}; };