#ifndef MESSANGERCONTROLLER_H #define MESSANGERCONTROLLER_H #include #include #include "messangerwidget.h" #include "connectortoserver.h" struct MessageOfMessanger { QString text; bool flLocal; QTime time; }; class MessangerController : public QObject { Q_OBJECT public: explicit MessangerController(ConnectorToServer* connectorToServer, QObject *parent = nullptr); ~MessangerController(); public: MessangerWidget* newWidget(QWidget *parent, User* user, QVBoxLayout* boxLayout); void deleteWidget(MessangerWidget* msgWdgt); void deleteAllWidgets(); void setUserLocalGUI_ID(int id); public slots: void slot_sendMessage(ClientMessage clientMessage); void slot_receiveMessage(ClientMessage clientMessage); void slot_reinitMessangers(QList listUsers); signals: void signal_receiveMessage_fromInstructor(ClientMessage clientMessage); void signal_receiveMessage_fromTrainee(ClientMessage clientMessage); private: void showMessageInAllWidgets(ClientMessage clientMessage); private: ConnectorToServer* connectorToServer; QList listWidgets; int userLocalGUI_ID; QMap *> mapAlldialogsWithClients; }; #endif // MESSANGERCONTROLLER_H