pqCollaborationPanel.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
3 // SPDX-License-Identifier: BSD-3-Clause
4 #ifndef pqCollaborationPanel_h
5 #define pqCollaborationPanel_h
6 
7 #include "pqComponentsModule.h"
8 #include "vtkSMMessageMinimal.h"
9 #include <QWidget>
10 
11 class pqServer;
12 class pqView;
14 class QTableWidgetItem;
16 
22 {
23  Q_OBJECT
24  typedef QWidget Superclass;
25 
26 public:
27  pqCollaborationPanel(QWidget* parent = nullptr);
28  ~pqCollaborationPanel() override;
29 
30 Q_SIGNALS:
36  void triggerChatMessage(pqServer* server, int userId, QString& msgContent);
37 
42  void shareLocalMousePointer(bool);
43 
48  void disableFurtherConnections(bool);
49 
54  void delayUpdateCamera(vtkSMMessage* msg);
55 
59  void connectIDChanged(int);
60 
61 public Q_SLOTS:
65  void writeChatMessage(pqServer* server, int userId, QString& txt);
70  void onUserUpdate();
74  void onNewMaster(int);
75 
76 protected Q_SLOTS:
80  void onUserMessage();
81 
85  void connectViewLocalSlots(pqView*);
86  void disconnectViewLocalSlots(pqView*);
87  void stopFollowingCamera();
88 
93  void itemChanged(QTableWidgetItem* item);
94 
98  void cellDoubleClicked(int, int);
99 
103  void followUserCamera(int userId);
104 
105  void onServerChanged();
106 
110  void onConnectIDChanged();
111 
112 protected: // NOLINT(readability-redundant-access-specifiers)
116  void promoteToMaster(int masterId);
117 
118  Q_DISABLE_COPY(pqCollaborationPanel)
119 
120  pqCollaborationManager* getCollaborationManager();
121  vtkSMCollaborationManager* getSMCollaborationManager();
122 
123  class pqInternal;
124  pqInternal* Internal;
125 };
126 
127 #endif
pqCollaborationManager is a QObject that aims to handle the collaboration for the Qt layer...
#define PQCOMPONENTS_EXPORT
This is a PQ abstraction of a generic view module.
Definition: pqView.h:26
Class used to broadcast message from one client to the others.
Header class that setup every thing in order to use Protobuf messages in a transparent manner...
pqCollaborationPanel is a properties page for the collaborative session.
pqServer (should be renamed to pqSession) is a pqServerManagerModelItem subclass that represents a vt...
Definition: pqServer.h:35