Workspace 6.21.5
Public Member Functions | List of all members
QueuedWidgetConnector Class Reference

A widget connector that causes the attached IOBase to queue all data changes to the workspace hierarchy while it's being updated. More...

#include <Workspace/Widgets/queuedwidgetconnector.h>

Inheritance diagram for QueuedWidgetConnector:
[legend]

Public Member Functions

 QueuedWidgetConnector (QWidget &widget, const NamePath &namePath, bool directWidgetUpdates=false)
 
 ~QueuedWidgetConnector () override
 
- Public Member Functions inherited from QWidgetConnector
void clearAllWidgetPropertyMonitors ()
 
WidgetPropertyMonitorcreateWidgetPropertyMonitor (const QString &propertyName)
 
NamePathgetNamePath ()
 
QUuid getUuid () const
 
QWidget & getWidget ()
 
bool setAdaptorFactory (const DataExecution::TypeAdaptorFactory *adaptorFactory)
 
virtual void setWidgetReadOnly (bool b)
 

Additional Inherited Members

- Public Slots inherited from QWidgetConnector
bool hasOutstandingDataUpdateRequests () const
 
void requestUpdateData ()
 
void requestUpdateWidget ()
 
void synchronizeWithData ()
 
- Signals inherited from QWidgetConnector
void dataUpdated ()
 
- Static Public Member Functions inherited from QWidgetConnector
static QStringList connectWidgetTree (QWidget &widget, DataExecution::Operation &forOperation)
 
static QStringList connectWidgetTree (QWidget &widget, DataExecution::Operation &forOperation, const std::function< bool(QString)> &isIgnoredGlobalName)
 
static QStringList connectWidgetTree (QWidget &widget, DataExecution::Workspace &relativeTo)
 
static QStringList connectWidgetTree (QWidget &widget, DataExecution::Workspace &relativeTo, const std::function< bool(QString)> &isIgnoredGlobalName)
 
- Protected Slots inherited from QWidgetConnector
virtual void checkIfWidgetWantsUpdateTriggers ()
 
virtual void flushChanges (bool widgetWillRemainAlive=true)
 
void madeUncommittedChange ()
 
- Protected Member Functions inherited from QWidgetConnector
 QWidgetConnector (QWidget &widget, const NamePath &namePath, bool directWidgetUpdates=false)
 
 ~QWidgetConnector () override
 
void clearUncommittedChanges ()
 
template<typename T >
void commitData (const T &value)
 
bool haveUncommittedChanges () const
 
void setWantUpdateTriggers (bool b)
 

Detailed Description

By using this type of connector you are guaranteeing that the IOBase it brought up to date in once pass of updating all it dependencies. This is not usually the case if something (eg. some other widget) is constantly wanting to change data as this update is taking place.

A rendering widget such as GLWidget uses this type of connector to allow a frame to be rendered for each single update of the IOBase dependency tree even if itself or other widgets want to make data changes while the update is occurring.

Constructor & Destructor Documentation

◆ QueuedWidgetConnector()

QueuedWidgetConnector ( QWidget &  widget,
const NamePath namePath,
bool  directWidgetUpdates = false 
)

◆ ~QueuedWidgetConnector()

~QueuedWidgetConnector ( )
override