feat: remove static members from singleton, convert to thread safe

This commit is contained in:
parker
2025-07-14 16:36:44 +01:00
parent 4dfae16942
commit a1d4d77be4
9 changed files with 71 additions and 60 deletions

View File

@@ -44,6 +44,6 @@ EnzoUI::EnzoUI()
mainLayout_->addWidget(viewportSplitter_);
// connect signals
connect(enzo::nt::NetworkManager::getInstance(), &enzo::nt::NetworkManager::updateDisplay, viewport, &Viewport::geometryChanged);
connect(&enzo::nt::nm(), &enzo::nt::NetworkManager::updateDisplay, viewport, &Viewport::geometryChanged);
}

View File

@@ -310,7 +310,7 @@ void Network::keyPressEvent(QKeyEvent *event)
NodeGraphic* Network::createNode(nt::opConstructor ctorFunc)
{
if(nt::OpId id = nt::NetworkManager::addOperator(ctorFunc))
if(nt::OpId id = enzo::nt::nm().addOperator(ctorFunc))
{
NodeGraphic* newNode = new NodeGraphic(id);
scene_->addItem(newNode);
@@ -376,15 +376,15 @@ void Network::mouseReleaseEvent(QMouseEvent *event)
QLineF(event->pos(), leftMouseStart).length()<5.0f
)
{
enzo::nt::NetworkManager* nm = enzo::nt::NetworkManager::getInstance();
enzo::nt::NetworkManager& nm = enzo::nt::nm();
NodeGraphic* clickedNode = static_cast<NodeGraphic*>(itemOfType<NodeGraphic>(hoverItems));
enzo::nt::OpId opId = clickedNode->getOpId();
if(auto prevDisplayOpId = nt::NetworkManager::getDisplayOp(); prevDisplayOpId)
if(auto prevDisplayOpId = nm.getDisplayOp(); prevDisplayOpId)
{
NodeGraphic* prevDisplayNode = nodeStore_.at(*prevDisplayOpId);
prevDisplayNode->setDisplayFlag(false);
}
enzo::nt::NetworkManager::setDisplayOp(opId);
nm.setDisplayOp(opId);
static_cast<DisplayFlagButton*>(clickedDisplayFlag)->setEnabled(true);
}
if(state_==State::MOVING_NODE)

View File

@@ -79,7 +79,7 @@ void NodeGraphic::initFlagButtons()
void NodeGraphic::initSockets()
{
enzo::nt::GeometryOperator& op = enzo::nt::NetworkManager::getGeoOperator(opId_);
enzo::nt::GeometryOperator& op = enzo::nt::nm().getGeoOperator(opId_);
for(int i=0, max=op.getMaxInputs(); i<max; ++i)
{
auto* socketInput = new SocketGraphic(enzo::nt::SocketIOType::Input, opId_, i, this);
@@ -202,7 +202,7 @@ void NodeGraphic::updatePositions()
QPointF NodeGraphic::getSocketPosition(int socketIndex, enzo::nt::SocketIOType socketType)
{
enzo::nt::GeometryOperator& op = enzo::nt::NetworkManager::getGeoOperator(opId_);
enzo::nt::GeometryOperator& op = enzo::nt::nm().getGeoOperator(opId_);
int maxSocketNumber = socketType==enzo::nt::SocketIOType::Input ? op.getMaxInputs() : op.getMaxOutputs();
float socketSpread = socketSize_*1.5*maxSocketNumber;