ENLIGHTEN
Cross-platform desktop GUI for Wasatch Photonics spectrometers
Loading...
Searching...
No Matches
ModelUpdateThreadWorker Class Reference

#include <modelupdatethreadworker.h>

Inheritance diagram for ModelUpdateThreadWorker:
[legend]
Collaboration diagram for ModelUpdateThreadWorker:
[legend]

Public Types

enum class  State { IDLE , BUSY , PAUSED , CANCELED }
 

Public Slots

void cancel ()
 
void nodeChanged (const std::shared_ptr< peak::core::nodes::Node > &changedNode)
 
void unregisterAll ()
 

Signals

void finished ()
 
void started ()
 
void updateList (int minIndex, int maxIndex, QVector< int > changedRoles)
 
void updateRequest ()
 

Public Member Functions

State currentState ()
 
 ModelUpdateThreadWorker (QObject *parent=nullptr)
 
void pause ()
 
void resume ()
 
void setNodeMap (std::shared_ptr< peak::core::NodeMap > nodeMap)
 
void setNodes (const std::vector< std::shared_ptr< peak::core::nodes::Node > > &nodes)
 
void update ()
 
 ~ModelUpdateThreadWorker () override
 

Private Member Functions

void clear ()
 

Private Attributes

std::vector< std::string > m_changedNodes
 
std::unordered_map< std::string, peak::core::nodes::Node::ChangedCallbackHandle > m_nodeChangedCallbackHandles
 
std::shared_ptr< peak::core::NodeMap > m_nodeMap
 
QStringList m_nodeNames
 
std::vector< std::unique_ptr< NodeListObject > > m_objects
 
std::atomic< Statem_state {State::IDLE}
 
QMutex mutex
 

Member Enumeration Documentation

◆ State

enum class ModelUpdateThreadWorker::State
strong
Enumerator
IDLE 
BUSY 
PAUSED 
CANCELED 

Constructor & Destructor Documentation

◆ ModelUpdateThreadWorker()

ModelUpdateThreadWorker::ModelUpdateThreadWorker ( QObject * parent = nullptr)
explicit

◆ ~ModelUpdateThreadWorker()

ModelUpdateThreadWorker::~ModelUpdateThreadWorker ( )
override

Member Function Documentation

◆ cancel

void ModelUpdateThreadWorker::cancel ( )
slot

◆ clear()

void ModelUpdateThreadWorker::clear ( )
private

◆ currentState()

ModelUpdateThreadWorker::State ModelUpdateThreadWorker::currentState ( )

◆ finished

void ModelUpdateThreadWorker::finished ( )
signal

◆ nodeChanged

void ModelUpdateThreadWorker::nodeChanged ( const std::shared_ptr< peak::core::nodes::Node > & changedNode)
slot

◆ pause()

void ModelUpdateThreadWorker::pause ( )

◆ resume()

void ModelUpdateThreadWorker::resume ( )

◆ setNodeMap()

void ModelUpdateThreadWorker::setNodeMap ( std::shared_ptr< peak::core::NodeMap > nodeMap)

◆ setNodes()

void ModelUpdateThreadWorker::setNodes ( const std::vector< std::shared_ptr< peak::core::nodes::Node > > & nodes)

◆ started

void ModelUpdateThreadWorker::started ( )
signal

◆ unregisterAll

void ModelUpdateThreadWorker::unregisterAll ( )
slot

◆ update()

void ModelUpdateThreadWorker::update ( )

◆ updateList

void ModelUpdateThreadWorker::updateList ( int minIndex,
int maxIndex,
QVector< int > changedRoles )
signal

◆ updateRequest

void ModelUpdateThreadWorker::updateRequest ( )
signal

Member Data Documentation

◆ m_changedNodes

std::vector<std::string> ModelUpdateThreadWorker::m_changedNodes
private

◆ m_nodeChangedCallbackHandles

std::unordered_map<std::string, peak::core::nodes::Node::ChangedCallbackHandle> ModelUpdateThreadWorker::m_nodeChangedCallbackHandles
private

◆ m_nodeMap

std::shared_ptr<peak::core::NodeMap> ModelUpdateThreadWorker::m_nodeMap
private

◆ m_nodeNames

QStringList ModelUpdateThreadWorker::m_nodeNames
private

◆ m_objects

std::vector<std::unique_ptr<NodeListObject> > ModelUpdateThreadWorker::m_objects
private

◆ m_state

std::atomic<State> ModelUpdateThreadWorker::m_state {State::IDLE}
private

◆ mutex

QMutex ModelUpdateThreadWorker::mutex
mutableprivate

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