Public Slots | Signals | Public Member Functions | List of all members
pqCollaborationManager Class Reference

pqCollaborationManager is a QObject that aims to handle the collaboration for the Qt layer. More...

#include <pqCollaborationManager.h>

Inherits QObject.

Public Slots

void onServerAdded (pqServer *)
 Slot used to keep track of all possible vtkSMCollaborationManagers They are used in pqCollaborationBehavior to listen to the ServerManagerModel... More...
 
void onServerRemoved (pqServer *)
 
void onChatMessage (pqServer *server, int userId, QString &msgContent)
 This will be triggered by the triggerChatMessage() signal and will broadcast to other client a chat message. More...
 
void updateEnabledState ()
 updates the enabled-state for application wide widgets and actions based whether the application is a master or not. More...
 
void updateMousePointerLocation (QMouseEvent *e)
 Method called localy when user want to broadcast its pointer to other users. More...
 
void sendMousePointerLocationToOtherClients ()
 Method triggered by the internal collaboration Timer. More...
 
void sendChartViewBoundsToOtherClients ()
 Method triggered by the internal collaboration Timer. More...
 
void attachMouseListenerTo3DViews ()
 Attach a mouse listener if its a 3D view so we can share that information with other clients. More...
 
void enableMousePointerSharing (bool)
 Enable/disable local mouse pointer location. More...
 
void disableFurtherConnections (bool disable)
 Enable/disable further connections to the server. More...
 
void setConnectID (int connectID)
 Set the connect-id. More...
 

Signals

void triggerChatMessage (pqServer *server, int userId, QString &msgContent)
 This will be triggered by the remote clients to update any interesting components. More...
 
void triggerStateClientOnlyMessage (pqServer *origin, vtkSMMessage *msg)
 This will forward client_only message to anyone that may interessted when not managed locally. More...
 
void triggeredMasterUser (int)
 Signal triggered when user information get updated regardless the active one A nice thing TODO could be to just forward from the pqServer but ONLY IF (activeServer == sender) More...
 
void triggeredMasterChanged (bool)
 
void triggeredUserName (int, QString &)
 
void triggeredUserListChanged ()
 
void triggerFollowCamera (int)
 This will be triggered when a remote master client has requested the other users to follow a given camera. More...
 

Public Member Functions

 pqCollaborationManager (QObject *parent)
 
 ~pqCollaborationManager () override
 
vtkSMCollaborationManageractiveCollaborationManager ()
 Return the vtkSMCollaborationManager. More...
 

Detailed Description

pqCollaborationManager is a QObject that aims to handle the collaboration for the Qt layer.

This class is used to synchronize the ActiveObject across client instances as well as managing the rendering request when data has been changed by other clients. This class is responsible to synchronize

Definition at line 30 of file pqCollaborationManager.h.

Constructor & Destructor Documentation

◆ pqCollaborationManager()

pqCollaborationManager::pqCollaborationManager ( QObject *  parent)

◆ ~pqCollaborationManager()

pqCollaborationManager::~pqCollaborationManager ( )
override

Member Function Documentation

◆ activeCollaborationManager()

vtkSMCollaborationManager* pqCollaborationManager::activeCollaborationManager ( )

◆ triggerChatMessage

void pqCollaborationManager::triggerChatMessage ( pqServer server,
int  userId,
QString &  msgContent 
)
signal

This will be triggered by the remote clients to update any interesting components.

This should be triggered by local client to broadcast to the other clients

◆ triggerStateClientOnlyMessage

void pqCollaborationManager::triggerStateClientOnlyMessage ( pqServer origin,
vtkSMMessage msg 
)
signal

This will forward client_only message to anyone that may interessted when not managed locally.

◆ triggeredMasterUser

void pqCollaborationManager::triggeredMasterUser ( int  )
signal

Signal triggered when user information get updated regardless the active one A nice thing TODO could be to just forward from the pqServer but ONLY IF (activeServer == sender)

◆ triggeredMasterChanged

void pqCollaborationManager::triggeredMasterChanged ( bool  )
signal

◆ triggeredUserName

void pqCollaborationManager::triggeredUserName ( int  ,
QString &   
)
signal

◆ triggeredUserListChanged

void pqCollaborationManager::triggeredUserListChanged ( )
signal

◆ triggerFollowCamera

void pqCollaborationManager::triggerFollowCamera ( int  )
signal

This will be triggered when a remote master client has requested the other users to follow a given camera.

◆ onServerAdded

void pqCollaborationManager::onServerAdded ( pqServer )
slot

Slot used to keep track of all possible vtkSMCollaborationManagers They are used in pqCollaborationBehavior to listen to the ServerManagerModel...

(preServerAdded/aboutToRemoveServer)

◆ onServerRemoved

void pqCollaborationManager::onServerRemoved ( pqServer )
slot

◆ onChatMessage

void pqCollaborationManager::onChatMessage ( pqServer server,
int  userId,
QString &  msgContent 
)
slot

This will be triggered by the triggerChatMessage() signal and will broadcast to other client a chat message.

◆ updateEnabledState

void pqCollaborationManager::updateEnabledState ( )
slot

updates the enabled-state for application wide widgets and actions based whether the application is a master or not.

Widget/Actions need to set a dynamic property named PV_MUST_BE_MASTER or PV_MUST_BE_MASTER_TO_SHOW. Only the state for widgets/actions with these any of properties will be updated by this method.

◆ updateMousePointerLocation

void pqCollaborationManager::updateMousePointerLocation ( QMouseEvent *  e)
slot

Method called localy when user want to broadcast its pointer to other users.

◆ sendMousePointerLocationToOtherClients

void pqCollaborationManager::sendMousePointerLocationToOtherClients ( )
slot

Method triggered by the internal collaboration Timer.

This timer prevent a network overload by only sending the latest mouse location to the other clients every 100 ms

◆ sendChartViewBoundsToOtherClients

void pqCollaborationManager::sendChartViewBoundsToOtherClients ( )
slot

Method triggered by the internal collaboration Timer.

This timer prevent a network overload by only sending the latest modified view location to the other clients every 100 ms

◆ attachMouseListenerTo3DViews

void pqCollaborationManager::attachMouseListenerTo3DViews ( )
slot

Attach a mouse listener if its a 3D view so we can share that information with other clients.

◆ enableMousePointerSharing

void pqCollaborationManager::enableMousePointerSharing ( bool  )
slot

Enable/disable local mouse pointer location.

◆ disableFurtherConnections

void pqCollaborationManager::disableFurtherConnections ( bool  disable)
slot

Enable/disable further connections to the server.

◆ setConnectID

void pqCollaborationManager::setConnectID ( int  connectID)
slot

Set the connect-id.


The documentation for this class was generated from the following file: