MainPanel.h 929 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #pragma once
  2. #include <QStringList>
  3. #include <QWidget>
  4. #include "qobjectdefs.h"
  5. class QSplitter;
  6. class QListWidget;
  7. class UserProfileWidget;
  8. class ChatWindow;
  9. class QListWidgetItem;
  10. class WebSocketClient;
  11. class MainPanel : public QWidget
  12. {
  13. Q_OBJECT
  14. public:
  15. explicit MainPanel(QWidget *parent = nullptr);
  16. ~MainPanel();
  17. void setRole(const QStringList &roleList);
  18. void setPushRoomId(const QString &room);
  19. QListWidget *roomListWidget() { return m_roomListWidget; }
  20. signals:
  21. void logoutClicked();
  22. private:
  23. void setPlayerWidget(QWidget *newPlayer);
  24. void roomItemChanged(QListWidgetItem *item);
  25. private:
  26. QSplitter *splitter = nullptr;
  27. QWidget *playerContainer = nullptr;
  28. QWidget *playerWidget = nullptr;
  29. UserProfileWidget *userProfile = nullptr;
  30. ChatWindow *chatView = nullptr;
  31. QListWidget *m_roomListWidget = nullptr;
  32. WebSocketClient *webSocketClient = nullptr;
  33. };