ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
signalblocker.cpp
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #include "signalblocker.h"
9 
10 namespace VtkUtils {
11 
12 SignalBlocker::SignalBlocker(QObject* object) { addObject(object); }
13 
14 void SignalBlocker::addObject(QObject* object) {
15  if (object) {
16  object->blockSignals(true);
17  m_objectList.append(object);
18  }
19 }
20 
22  foreach (QObject* obj, m_objectList) obj->blockSignals(false);
23 }
24 
25 } // namespace VtkUtils
void addObject(QObject *object)
SignalBlocker(QObject *object=nullptr)