Workspace 6.21.5
Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
GlobalNameTracker Class Reference

Class keeps track of whether all the global names in the Workspace are unique, and changes the status indicator image according to the current status.

#include <Workspace/Presentation/globalnametracker.h>

Classes

struct  Status
 

Public Member Functions

 GlobalNameTracker ()
 
QStringList duplicates ()
 
bool isDuplicate (DataExecution::Updatable &) const
 
void setRootWorkspace (DataExecution::Workspace &root)
 Sets the Workspace whose global names are to be tracked.
 
DuplicateGlobalNameIndicatorstatusIndicator ()
 Returns a QLabel-based widget with image that reflects if all the current Workspace's global names are unique.
 

Protected Types

enum class  Type { IOBase , Operation , Other }
 

Protected Member Functions

bool areAllUnique ()
 
Status clear ()
 
void deepTrackInput (DataExecution::Input &input)
 Sets up observers for the input as well as any input elements if it is an array.
 
void onInputAdded (const DataExecution::InputAddedEvent &event)
 
void onInputDeleted (const DataExecution::DeletingIOBaseEvent &event)
 
void onInputElementAdded (const DataExecution::InputElementAddedEvent &event)
 
void onInputElementDeleted (const DataExecution::DeletingIOBaseEvent &event)
 
void onInputElementRemoved (const DataExecution::InputElementRemovalEvent &event)
 
void onInputGlobalNameChanged (const DataExecution::GlobalNameChangedEvent &event)
 
void onInputRemoved (const DataExecution::InputRemovalEvent &event)
 
void onNamespaceChanged ()
 
void onOperationAdded (const DataExecution::AddOperationEvent &event)
 
void onOperationGlobalNameChanged (const DataExecution::GlobalNameChangedEvent &event)
 
void onOperationRemoved (const DataExecution::RemoveOperationEvent &event)
 
void onOutputAdded (const DataExecution::OutputAddedEvent &event)
 
void onOutputDeleted (const DataExecution::DeletingIOBaseEvent &event)
 
void onOutputGlobalNameChanged (const DataExecution::GlobalNameChangedEvent &event)
 
void onOutputRemoved (const DataExecution::OutputRemovalEvent &event)
 
void onWorkspaceDeleted (const DataExecution::WorkspaceDeletedEvent &event)
 
void recursivelyTrackOperation (DataExecution::Operation &operation)
 Sets up observers for the operation as well as any inputs, outputs and child operations.
 
void stopTrackingInput (DataExecution::Input &input)
 
void stopTrackingOperation (DataExecution::Operation &op)
 
void stopTrackingOutput (DataExecution::Output &output)
 
void trackInput (DataExecution::Input &input)
 
void trackInputElement (DataExecution::InputScalar &input)
 
void trackOperation (DataExecution::Operation &operation)
 
void trackOutput (DataExecution::Output &input)
 
void updateGlobalName (Type type, DataExecution::Updatable &updatable, bool updateStatusIndicator)
 
Status updateStatus (bool queryNames=false)
 
Status updateStatus (Type type, bool queryNames=false)
 

Protected Attributes

QMap< Type, QStringListduplicates_
 
QMap< Type, QMap< DataExecution::Updatable *, QString > > nameMap_
 
QMap< const DataExecution::Updatable *, bool > observedSet_
 
DataExecution::ObserverSet observers_
 
DuplicateGlobalNameIndicator statusIndicator_
 
QMap< Type, bool > statusMap_
 

Member Enumeration Documentation

◆ Type

enum class Type
strongprotected
Enumerator
IOBase 
Operation 
Other 

Constructor & Destructor Documentation

◆ GlobalNameTracker()

Member Function Documentation

◆ areAllUnique()

bool areAllUnique ( )
protected

◆ clear()

GlobalNameTracker::Status clear ( )
protected

◆ deepTrackInput()

void deepTrackInput ( DataExecution::Input input)
protected

◆ duplicates()

QStringList duplicates ( )

◆ isDuplicate()

bool isDuplicate ( DataExecution::Updatable updatable) const

◆ onInputAdded()

void onInputAdded ( const DataExecution::InputAddedEvent event)
protected

◆ onInputDeleted()

void onInputDeleted ( const DataExecution::DeletingIOBaseEvent event)
protected

◆ onInputElementAdded()

void onInputElementAdded ( const DataExecution::InputElementAddedEvent event)
protected

◆ onInputElementDeleted()

void onInputElementDeleted ( const DataExecution::DeletingIOBaseEvent event)
protected

◆ onInputElementRemoved()

void onInputElementRemoved ( const DataExecution::InputElementRemovalEvent event)
protected

◆ onInputGlobalNameChanged()

void onInputGlobalNameChanged ( const DataExecution::GlobalNameChangedEvent event)
protected

◆ onInputRemoved()

void onInputRemoved ( const DataExecution::InputRemovalEvent event)
protected

◆ onNamespaceChanged()

void onNamespaceChanged ( )
protected

◆ onOperationAdded()

void onOperationAdded ( const DataExecution::AddOperationEvent event)
protected

◆ onOperationGlobalNameChanged()

void onOperationGlobalNameChanged ( const DataExecution::GlobalNameChangedEvent event)
protected

◆ onOperationRemoved()

void onOperationRemoved ( const DataExecution::RemoveOperationEvent event)
protected

◆ onOutputAdded()

void onOutputAdded ( const DataExecution::OutputAddedEvent event)
protected

◆ onOutputDeleted()

void onOutputDeleted ( const DataExecution::DeletingIOBaseEvent event)
protected

◆ onOutputGlobalNameChanged()

void onOutputGlobalNameChanged ( const DataExecution::GlobalNameChangedEvent event)
protected

◆ onOutputRemoved()

void onOutputRemoved ( const DataExecution::OutputRemovalEvent event)
protected

◆ onWorkspaceDeleted()

void onWorkspaceDeleted ( const DataExecution::WorkspaceDeletedEvent event)
protected

◆ recursivelyTrackOperation()

void recursivelyTrackOperation ( DataExecution::Operation operation)
protected

◆ setRootWorkspace()

void setRootWorkspace ( DataExecution::Workspace root)
Parameters
rootThe Workspace to track

◆ statusIndicator()

DuplicateGlobalNameIndicator & statusIndicator ( )

◆ stopTrackingInput()

void stopTrackingInput ( DataExecution::Input input)
protected

◆ stopTrackingOperation()

void stopTrackingOperation ( DataExecution::Operation op)
protected

◆ stopTrackingOutput()

void stopTrackingOutput ( DataExecution::Output output)
protected

◆ trackInput()

void trackInput ( DataExecution::Input input)
protected

◆ trackInputElement()

void trackInputElement ( DataExecution::InputScalar input)
protected

◆ trackOperation()

void trackOperation ( DataExecution::Operation operation)
protected

◆ trackOutput()

void trackOutput ( DataExecution::Output input)
protected

◆ updateGlobalName()

void updateGlobalName ( Type  type,
DataExecution::Updatable updatable,
bool  updateStatusIndicator 
)
protected

◆ updateStatus() [1/2]

GlobalNameTracker::Status updateStatus ( bool  queryNames = false)
protected

◆ updateStatus() [2/2]

GlobalNameTracker::Status updateStatus ( Type  type,
bool  queryNames = false 
)
protected

Member Data Documentation

◆ duplicates_

QMap<Type, QStringList> duplicates_
protected

◆ nameMap_

QMap<Type, QMap<DataExecution::Updatable*, QString> > nameMap_
protected

◆ observedSet_

QMap<const DataExecution::Updatable*, bool> observedSet_
protected

◆ observers_

DataExecution::ObserverSet observers_
protected

◆ statusIndicator_

DuplicateGlobalNameIndicator statusIndicator_
protected

◆ statusMap_

QMap<Type, bool> statusMap_
protected