Explorer::NodeUpdateProxy Class Reference

The NodeUpdateProxy class. More...

Detailed Description

The NodeUpdateProxy class.

This class is used to correctly add and remove elements to the node hierarchy. If there is no device explorer model yet (e.g. while restoring from a crash), we can simply add them where required to the root node and they will be loaded afterwards. But when there is a device explorer model, we have to use its methods (that calls beginAddRows, etc.) to prevent a full refresh which would be laggy.

Public Member Functions

 NodeUpdateProxy (DeviceDocumentPlugin &root)
 
 NodeUpdateProxy (const NodeUpdateProxy &)=delete
 
 NodeUpdateProxy (NodeUpdateProxy &&)=delete
 
NodeUpdateProxyoperator= (const NodeUpdateProxy &)=delete
 
NodeUpdateProxyoperator= (NodeUpdateProxy &&)=delete
 
void addDevice (const Device::Node &node)
 
void loadDevice (const Device::Node &node)
 
void updateDevice (const QString &name, const Device::DeviceSettings &dev)
 
void removeDevice (const Device::DeviceSettings &dev)
 
void addAddress (const Device::NodePath &parentPath, const Device::AddressSettings &settings, int row)
 addAddress Adds a single address in the tree More...
 
void addAddress (const Device::FullAddressSettings &settings)
 
void addNode (const Device::NodePath &parentPath, const Device::Node &node, int row)
 addNode Adds a node hierarchy in the tree More...
 
void updateAddress (const Device::NodePath &nodePath, const Device::AddressSettings &settings)
 
void removeNode (const Device::NodePath &parentPath, const Device::AddressSettings &settings)
 
void addLocalAddress (Device::Node &parent, const Device::AddressSettings &data, int row)
 
void addLocalAddresses (Device::Node &parent, Device::AddressSettings data, int row)
 
void addLocalNode (Device::Node &parent, Device::Node &&node)
 
void removeLocalNode (const State::Address &)
 
void updateLocalValue (const State::AddressAccessor &, const ossia::value &)
 
void updateLocalSettings (const State::Address &, const Device::AddressSettings &, Device::DeviceInterface &newdev)
 
void updateRemoteValue (const State::Address &, const ossia::value &)
 
ossia::value refreshRemoteValue (const State::Address &) const
 
std::optional< ossia::value > try_refreshRemoteValue (const State::Address &) const
 
void refreshRemoteValues (const Device::NodeList &)
 

Public Attributes

DeviceDocumentPlugin & devModel
 

Member Function Documentation

◆ addAddress()

void Explorer::NodeUpdateProxy::addAddress ( const Device::NodePath parentPath,
const Device::AddressSettings settings,
int  row 
)

addAddress Adds a single address in the tree

Parameters
parentPathPath to the parent
settingsInformation of the address

Used to add a new address (after input from user for instance)

◆ addNode()

void Explorer::NodeUpdateProxy::addNode ( const Device::NodePath parentPath,
const Device::Node node,
int  row 
)

addNode Adds a node hierarchy in the tree

Parameters
parentPathPath to the parent
nodeThe node to insert.

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