#ifndef MESSANGERCONTROLLER_H #define MESSANGERCONTROLLER_H #include #include #include "messangerwidget.h" #include "connectortoserver.h" struct MessageOfMessanger { QString text; bool flLocal; }; class MessangerController : public QObject { Q_OBJECT public: explicit MessangerController(ConnectorToServer* connectorToServer, QObject *parent = nullptr); ~MessangerController(); public: MessangerWidget* newWidget(QWidget *parent, Trainee* trainee = nullptr, QVBoxLayout* boxLayout = nullptr); void deleteWidget(MessangerWidget* msgWdgt); void setGUIclientId(QString id); void clearAllWidgets(); signals: void signal_tabMessengerChanged(QString login); public slots: void slot_sendMessage(ClientMessage clientMessage); void slot_tabMessengerChanged(QString login); void slot_receiveMessage(ClientMessage clientMessage); void slot_initMessanger(QList listTrainees); void slot_traineeSelected(QString login); private: ConnectorToServer* connectorToServer; QList listWidgets; QString GUIclientId; //id этого GUI клиента QMap *> mapAlldialogsWithClients; }; #endif // MESSANGERCONTROLLER_H