Files
RRJServer/InstructorsAndTrainees/messanger/messangercontroller.h

45 lines
1.1 KiB
C++

#ifndef MESSANGERCONTROLLER_H
#define MESSANGERCONTROLLER_H
#include <QObject>
#include <QVBoxLayout>
#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, User* user, QVBoxLayout* boxLayout);
void deleteWidget(MessangerWidget* msgWdgt);
void deleteAllWidgets();
void setGUIclientId(QString id_GUIclient);
public slots:
void slot_sendMessage(ClientMessage clientMessage);
void slot_receiveMessage(ClientMessage clientMessage);
void slot_reinitMessangers(QList<User> listUsers);
private:
ConnectorToServer* connectorToServer;
QList <MessangerWidget*> listWidgets;
QString GUIclientId; //id этого GUI клиента
QMap <int, QList<MessageOfMessanger>*> mapAlldialogsWithClients;
};
#endif // MESSANGERCONTROLLER_H