diff --git a/InstructorsAndTrainees/trainees/personalcardtrainee.cpp b/InstructorsAndTrainees/trainees/personalcardtrainee.cpp index 8e55373..2e971fe 100644 --- a/InstructorsAndTrainees/trainees/personalcardtrainee.cpp +++ b/InstructorsAndTrainees/trainees/personalcardtrainee.cpp @@ -1,14 +1,15 @@ #include "personalcardtrainee.h" #include "ui_personalcardtrainee.h" -PersonalCardTrainee::PersonalCardTrainee(ConnectorToServer* connectorToServer, int id_trainee, QWidget *parent) : +//PersonalCardTrainee::PersonalCardTrainee(ConnectorToServer* connectorToServer, int id_trainee, QWidget *parent) : +PersonalCardTrainee::PersonalCardTrainee(ConnectorToServer* connectorToServer, int id_trainee, AMMtasksWidget* ammTasksWidgetIn, FIMtasksWidget* fimTasksWidgetIn, QWidget *parent) : QWidget(parent), connectorToServer(connectorToServer), id_trainee(id_trainee), ammTasksWidget_personal(nullptr), fimTasksWidget_personal(nullptr), - ammTasksWidget(nullptr), - fimTasksWidget(nullptr), + ammTasksWidget(ammTasksWidgetIn), + fimTasksWidget(fimTasksWidgetIn), ui(new Ui::PersonalCardTrainee) { ui->setupUi(this); @@ -31,30 +32,36 @@ PersonalCardTrainee::PersonalCardTrainee(ConnectorToServer* connectorToServer, i ui->verticalLayout_FIMpersonal->addWidget(fimTasksWidget_personal); - ammTasksWidget = new AMMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listCommon, this); - fimTasksWidget = new FIMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listCommon, this); + //ammTasksWidget = new AMMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listCommon, this); + //fimTasksWidget = new FIMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listCommon, this); - connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksFIM, fimTasksWidget, &FIMtasksWidget::slot_NeedUpdateUI); - connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksAMM, ammTasksWidget, &AMMtasksWidget::slot_NeedUpdateUI); + // connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksFIM, fimTasksWidget, &FIMtasksWidget::slot_NeedUpdateUI); + // 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); - fimTasksWidget->slot_traineeSelected(connectorToServer->getTrainee(id_trainee).getLogin()); - ammTasksWidget->slot_traineeSelected(connectorToServer->getTrainee(id_trainee).getLogin()); + // fimTasksWidget->slot_traineeSelected(connectorToServer->getTrainee(id_trainee).getLogin()); + // ammTasksWidget->slot_traineeSelected(connectorToServer->getTrainee(id_trainee).getLogin()); ui->verticalLayout_AMMcommon->addWidget(ammTasksWidget); ui->verticalLayout_FIMcommon->addWidget(fimTasksWidget); //connectorToServer->sendQueryTasksXML("fim"); //connectorToServer->sendQueryTasksXML("amm"); - fimTasksWidget->slot_NeedUpdateUI(); - ammTasksWidget->slot_NeedUpdateUI(); + // fimTasksWidget->slot_NeedUpdateUI(); + // ammTasksWidget->slot_NeedUpdateUI(); } PersonalCardTrainee::~PersonalCardTrainee() { - delete ammTasksWidget; - delete fimTasksWidget; + //delete ammTasksWidget; + //delete fimTasksWidget; + //ui->verticalLayout_AMMcommon->removeWidget(ammTasksWidget); + //ui->verticalLayout_AMMcommon->removeWidget(fimTasksWidget); + + //ammTasksWidget = nullptr; + //fimTasksWidget = nullptr; + delete ammTasksWidget_personal; delete fimTasksWidget_personal; diff --git a/InstructorsAndTrainees/trainees/personalcardtrainee.h b/InstructorsAndTrainees/trainees/personalcardtrainee.h index 24009df..ee57297 100644 --- a/InstructorsAndTrainees/trainees/personalcardtrainee.h +++ b/InstructorsAndTrainees/trainees/personalcardtrainee.h @@ -15,7 +15,8 @@ class PersonalCardTrainee : public QWidget Q_OBJECT 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, FIMtasksWidget* fimTasksWidget, QWidget *parent = nullptr); ~PersonalCardTrainee(); private: diff --git a/InstructorsAndTrainees/trainees/viewertrainees.cpp b/InstructorsAndTrainees/trainees/viewertrainees.cpp index 41b082b..3f24c2a 100644 --- a/InstructorsAndTrainees/trainees/viewertrainees.cpp +++ b/InstructorsAndTrainees/trainees/viewertrainees.cpp @@ -4,10 +4,12 @@ #include "ui_viewertrainees.h" ViewerTrainees::ViewerTrainees(ConnectorToServer* connectorToServer, QWidget *parent) : - TraineesView(connectorToServer, CommonView::TypeView::onlyView, parent), - ui(new Ui::ViewerTrainees), - ammTasksWidget(nullptr), - fimTasksWidget(nullptr) + TraineesView(connectorToServer, CommonView::TypeView::onlyView, parent), + ammTasksWidget_pers0(nullptr), + fimTasksWidget_pers0(nullptr), + ammTasksWidgetCommon(nullptr), + fimTasksWidgetCommon(nullptr), + ui(new Ui::ViewerTrainees) { ui->setupUi(this); @@ -16,17 +18,35 @@ ViewerTrainees::ViewerTrainees(ConnectorToServer* connectorToServer, QWidget *pa ui->horizontalLayout_11->addWidget(treeWidget); - ammTasksWidget = new AMMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listForTrainee, this); - fimTasksWidget = new FIMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listForTrainee, this); + //------ + ammTasksWidget_pers0 = new AMMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listForTrainee, this); + fimTasksWidget_pers0 = new FIMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listForTrainee, this); - connect(this, &ViewerTrainees::signal_traineeSelected, fimTasksWidget, &FIMtasksWidget::slot_traineeSelected); - connect(this, &ViewerTrainees::signal_traineeSelected, ammTasksWidget, &AMMtasksWidget::slot_traineeSelected); + connect(this, &ViewerTrainees::signal_traineeSelected, fimTasksWidget_pers0, &FIMtasksWidget::slot_traineeSelected); + connect(this, &ViewerTrainees::signal_traineeSelected, ammTasksWidget_pers0, &AMMtasksWidget::slot_traineeSelected); - connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksAMMforTrainee, ammTasksWidget, &AMMtasksWidget::slot_UpdateTasksAMMforTrainee); - connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksFIMforTrainee, fimTasksWidget, &FIMtasksWidget::slot_UpdateTasksFIMforTrainee); + connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksAMMforTrainee, ammTasksWidget_pers0, &AMMtasksWidget::slot_UpdateTasksAMMforTrainee); + connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksFIMforTrainee, fimTasksWidget_pers0, &FIMtasksWidget::slot_UpdateTasksFIMforTrainee); - ui->verticalLayout_2->addWidget(ammTasksWidget); - ui->verticalLayout_2->addWidget(fimTasksWidget); + ui->verticalLayout_2->addWidget(ammTasksWidget_pers0); + ui->verticalLayout_2->addWidget(fimTasksWidget_pers0); + //------ + + //------ + ammTasksWidgetCommon = new AMMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listCommon, /*this*/nullptr); + fimTasksWidgetCommon = new FIMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listCommon, /*this*/nullptr); + + connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksFIM, fimTasksWidgetCommon, &FIMtasksWidget::slot_NeedUpdateUI); + connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksAMM, ammTasksWidgetCommon, &AMMtasksWidget::slot_NeedUpdateUI); + connect(this, &ViewerTrainees::signal_traineeSelected, fimTasksWidgetCommon, &FIMtasksWidget::slot_traineeSelected); + connect(this, &ViewerTrainees::signal_traineeSelected, ammTasksWidgetCommon, &AMMtasksWidget::slot_traineeSelected); + + connect(fimTasksWidgetCommon, &FIMtasksWidget::signal_AssignedTask, this, &ViewerTrainees::slot_waitAnimationWidgetShowWithPlayFIM); + connect(ammTasksWidgetCommon, &AMMtasksWidget::signal_AssignedTask, this, &ViewerTrainees::slot_waitAnimationWidgetShowWithPlayAMM); + + //ammTasksWidgetCommon->setParent(this); + //fimTasksWidgetCommon->setParent(this); + //------ preparationTreeWidget(); setNotLoggedInVisible(true); @@ -36,6 +56,9 @@ ViewerTrainees::ViewerTrainees(ConnectorToServer* connectorToServer, QWidget *pa ViewerTrainees::~ViewerTrainees() { + delete ammTasksWidgetCommon; + delete fimTasksWidgetCommon; + delete ui; } @@ -48,8 +71,11 @@ void ViewerTrainees::setAuthComplited(bool authComplited) void ViewerTrainees::deactivate() { CommonView::deactivate(); - ammTasksWidget->deactivate(); - fimTasksWidget->deactivate(); + ammTasksWidget_pers0->deactivate(); + fimTasksWidget_pers0->deactivate(); + + ammTasksWidgetCommon->deactivate(); + fimTasksWidgetCommon->deactivate(); updateButtons(); } @@ -94,12 +120,12 @@ void ViewerTrainees::slot_tabMessengerChanged(QString login) void ViewerTrainees::slot_waitAnimationWidgetShowWithPlayFIM() { - fimTasksWidget->waitAnimationWidgetShowWithPlay(); + fimTasksWidget_pers0->waitAnimationWidgetShowWithPlay(); } void ViewerTrainees::slot_waitAnimationWidgetShowWithPlayAMM() { - ammTasksWidget->waitAnimationWidgetShowWithPlay(); + ammTasksWidget_pers0->waitAnimationWidgetShowWithPlay(); } void ViewerTrainees::changeEvent(QEvent *event) @@ -168,7 +194,8 @@ void ViewerTrainees::on_itemDoubleClicked(QTreeWidgetItem *item, int column) { int id_trainee = connectorToServer->getIdTraineeByLogin(login); - PersonalCardTrainee cardTrainee(connectorToServer, id_trainee, this); + + PersonalCardTrainee cardTrainee(connectorToServer, id_trainee, ammTasksWidgetCommon, fimTasksWidgetCommon, this); QDialog* dialog = new QDialog(this); QHBoxLayout *layout = new QHBoxLayout(dialog); @@ -176,6 +203,9 @@ void ViewerTrainees::on_itemDoubleClicked(QTreeWidgetItem *item, int column) dialog->setWindowTitle(tr("Personal card trainee")); dialog->setMinimumSize(1600, 800); dialog->exec(); + + ammTasksWidgetCommon->setParent(this); + fimTasksWidgetCommon->setParent(this); } } } diff --git a/InstructorsAndTrainees/trainees/viewertrainees.h b/InstructorsAndTrainees/trainees/viewertrainees.h index 8e6f9b0..f03a11e 100644 --- a/InstructorsAndTrainees/trainees/viewertrainees.h +++ b/InstructorsAndTrainees/trainees/viewertrainees.h @@ -53,8 +53,11 @@ private: void updateButtons() override; private: - AMMtasksWidget* ammTasksWidget; - FIMtasksWidget* fimTasksWidget; + AMMtasksWidget* ammTasksWidget_pers0; + FIMtasksWidget* fimTasksWidget_pers0; + + AMMtasksWidget* ammTasksWidgetCommon; + FIMtasksWidget* fimTasksWidgetCommon; private: Ui::ViewerTrainees *ui;