Files
RRJServer/InstructorsAndTrainees/messanger/messangercontroller.h

46 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, Trainee* trainee = nullptr, QVBoxLayout* boxLayout = nullptr);
void deleteWidget(MessangerWidget* msgWdgt);
void setGUIclientId(QString id);
void clearAllWidgets();
public slots:
void slot_sendMessage(ClientMessage clientMessage);
void slot_receiveMessage(ClientMessage clientMessage);
void slot_initMessanger(QList<Trainee> listTrainees);
void slot_traineeSelected(QString login);
private:
ConnectorToServer* connectorToServer;
QList <MessangerWidget*> listWidgets;
QString GUIclientId; //id этого GUI клиента
QMap <int, QList<MessageOfMessanger>*> mapAlldialogsWithClients;
};
#endif // MESSANGERCONTROLLER_H