From 40a9f46d71e9d4b2371115810c4e04942305516c Mon Sep 17 00:00:00 2001 From: tritao Date: Wed, 7 Jan 2026 15:24:48 +0000 Subject: [PATCH] Base: Remove Boost-based signals and switch to `FastSignals`. --- src/3rdParty/CMakeLists.txt | 2 + src/App/Application.cpp | 4 +- src/App/Application.h | 89 ++++++++++--------- src/App/Document.h | 64 ++++++------- src/App/DocumentObject.h | 6 +- src/App/DocumentObserver.cpp | 4 +- src/App/DocumentObserver.h | 4 +- src/App/DocumentObserverPython.h | 4 +- src/App/GroupExtension.h | 2 +- src/App/Link.cpp | 2 +- src/App/Link.h | 10 +-- src/App/MergeDocuments.h | 4 +- src/App/ObjectIdentifier.h | 1 + src/App/PreCompiled.h | 2 +- src/App/Property.h | 4 +- src/App/PropertyExpressionEngine.cpp | 2 +- src/App/PropertyExpressionEngine.h | 4 +- src/App/PropertyLinks.cpp | 2 +- src/App/PropertyLinks.h | 2 +- src/App/TextDocument.cpp | 6 +- src/App/TextDocument.h | 6 +- src/Base/CMakeLists.txt | 2 +- src/Base/Parameter.h | 4 +- src/Base/ParameterPy.cpp | 2 +- src/Base/Tools.h | 19 +--- src/Gui/Application.h | 38 ++++---- src/Gui/AutoSaver.h | 4 +- src/Gui/CMakeLists.txt | 4 + src/Gui/Command.cpp | 4 +- src/Gui/Command.h | 14 +-- src/Gui/DAGView/DAGModel.h | 4 +- src/Gui/DAGView/DAGModelGraph.h | 4 +- src/Gui/DAGView/DAGView.h | 6 +- src/Gui/Dialogs/DlgKeyboardImp.cpp | 6 +- src/Gui/Dialogs/DlgKeyboardImp.h | 8 +- src/Gui/Dialogs/DlgToolbarsImp.h | 4 +- src/Gui/DockWindowManager.cpp | 5 +- src/Gui/Document.cpp | 19 ++-- src/Gui/Document.h | 30 +++---- src/Gui/DocumentObserver.cpp | 4 +- src/Gui/DocumentObserver.h | 4 +- src/Gui/DocumentObserverPython.h | 4 +- src/Gui/ExpressionBinding.h | 8 +- src/Gui/GraphvizView.h | 5 +- src/Gui/MDIView.cpp | 2 +- src/Gui/MDIView.h | 4 +- src/Gui/MainWindow.cpp | 5 +- src/Gui/ManualAlignment.h | 2 +- src/Gui/MergeDocuments.h | 4 +- src/Gui/NotificationArea.cpp | 2 +- src/Gui/OverlayManager.cpp | 2 +- src/Gui/ParamHandler.h | 4 +- src/Gui/Placement.h | 2 +- src/Gui/PreCompiled.h | 2 +- src/Gui/PropertyView.h | 2 +- src/Gui/Selection/Selection.h | 8 +- src/Gui/TaskElementColors.cpp | 2 +- src/Gui/TaskView/TaskAppearance.h | 2 +- src/Gui/TaskView/TaskSolverMessages.h | 4 +- src/Gui/TaskView/TaskView.h | 2 +- src/Gui/TextDocumentEditorView.cpp | 2 +- src/Gui/TextDocumentEditorView.h | 4 +- src/Gui/ToolBarAreaWidget.cpp | 2 +- src/Gui/ToolBarAreaWidget.h | 6 +- src/Gui/ToolBarManager.cpp | 3 +- src/Gui/ToolBarManager.h | 4 +- src/Gui/Tree.cpp | 2 +- src/Gui/Tree.h | 6 +- src/Gui/View3DSettings.h | 2 +- src/Gui/ViewProvider.h | 10 +-- src/Gui/ViewProviderLink.cpp | 2 +- src/Gui/Window.h | 2 +- src/Mod/Assembly/App/AssemblyObject.h | 2 +- src/Mod/Assembly/Gui/ViewProviderAssembly.cpp | 6 +- src/Mod/Assembly/Gui/ViewProviderAssembly.h | 8 +- src/Mod/Fem/App/FemConstraint.h | 2 +- src/Mod/Fem/Gui/TaskPostBoxes.h | 2 +- src/Mod/Fem/Gui/ViewProviderFemPostFunction.h | 4 +- src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp | 2 +- .../Material/Gui/DlgDisplayPropertiesImp.cpp | 4 +- src/Mod/Material/Gui/DlgMaterialImp.cpp | 4 +- src/Mod/Measure/App/MeasureBase.h | 2 +- src/Mod/Measure/Gui/TaskMeasure.h | 4 +- src/Mod/Measure/Gui/ViewProviderMeasureBase.h | 2 +- src/Mod/Mesh/Gui/MeshEditor.h | 2 +- src/Mod/Part/App/OCAF/ImportExportSettings.h | 1 + src/Mod/Part/App/PropertyTopoShape.h | 2 +- src/Mod/Part/Gui/DlgBooleanOperation.h | 2 +- src/Mod/Part/Gui/DlgFilletEdges.cpp | 2 +- src/Mod/Part/Gui/TaskAttacher.h | 2 +- src/Mod/Part/Gui/TaskFaceAppearances.cpp | 2 +- src/Mod/PartDesign/App/Body.h | 2 +- src/Mod/PartDesign/App/ShapeBinder.h | 4 +- src/Mod/PartDesign/Gui/TaskHoleParameters.h | 2 +- .../PartDesign/Gui/TaskTransformedMessages.h | 2 +- .../PartDesign/Gui/ViewProviderTransformed.h | 2 +- src/Mod/PartDesign/Gui/WorkflowManager.h | 6 +- src/Mod/Sketcher/App/PropertyConstraintList.h | 6 +- src/Mod/Sketcher/App/SketchObject.h | 8 +- .../Gui/DrawSketchDefaultWidgetController.h | 18 ++-- .../Sketcher/Gui/SketcherToolDefaultWidget.h | 29 +++--- src/Mod/Sketcher/Gui/TaskDlgEditSketch.h | 6 +- .../Sketcher/Gui/TaskSketcherConstraints.cpp | 2 +- .../Sketcher/Gui/TaskSketcherConstraints.h | 4 +- src/Mod/Sketcher/Gui/TaskSketcherElements.h | 4 +- src/Mod/Sketcher/Gui/TaskSketcherTool.h | 8 +- src/Mod/Sketcher/Gui/ViewProviderSketch.h | 20 ++--- src/Mod/Spreadsheet/App/PropertySheet.h | 2 +- src/Mod/Spreadsheet/App/Sheet.h | 10 +-- src/Mod/Spreadsheet/Gui/SheetModel.h | 4 +- src/Mod/Spreadsheet/Gui/SheetTableView.h | 2 +- src/Mod/Spreadsheet/Gui/SpreadsheetView.h | 6 +- src/Mod/TechDraw/App/DrawPage.h | 4 +- src/Mod/TechDraw/App/DrawView.h | 6 +- src/Mod/TechDraw/Gui/MDIViewPage.cpp | 2 +- src/Mod/TechDraw/Gui/MDIViewPage.h | 2 +- src/Mod/TechDraw/Gui/QGIView.h | 2 +- .../TechDraw/Gui/ViewProviderDrawingView.cpp | 4 +- .../TechDraw/Gui/ViewProviderDrawingView.h | 4 +- src/Mod/TechDraw/Gui/ViewProviderPage.cpp | 4 +- src/Mod/TechDraw/Gui/ViewProviderPage.h | 4 +- src/Tools/embedded/Qt/cxx/CMakeLists.txt | 1 + src/Tools/params_utils.py | 10 +-- 123 files changed, 385 insertions(+), 380 deletions(-) diff --git a/src/3rdParty/CMakeLists.txt b/src/3rdParty/CMakeLists.txt index a79d60acb2..a42dfebb9a 100644 --- a/src/3rdParty/CMakeLists.txt +++ b/src/3rdParty/CMakeLists.txt @@ -1,3 +1,5 @@ +add_subdirectory(FastSignals) + # Build SalomeMesh for all Platforms since heavily patched if (BUILD_SMESH) add_subdirectory(salomesmesh) diff --git a/src/App/Application.cpp b/src/App/Application.cpp index 70a697e40a..b5df187731 100644 --- a/src/App/Application.cpp +++ b/src/App/Application.cpp @@ -651,8 +651,8 @@ struct DocTiming { class DocOpenGuard { public: bool &flag; - boost::signals2::signal &signal; - DocOpenGuard(bool &f, boost::signals2::signal &s) + fastsignals::signal &signal; + DocOpenGuard(bool &f, fastsignals::signal &s) :flag(f),signal(s) { flag = true; diff --git a/src/App/Application.h b/src/App/Application.h index e16cda3c38..511badca96 100644 --- a/src/App/Application.h +++ b/src/App/Application.h @@ -26,10 +26,11 @@ #ifndef SRC_APP_APPLICATION_H_ #define SRC_APP_APPLICATION_H_ -#include +#include #include #include +#include #include #include #include @@ -222,49 +223,49 @@ public: /** @name Signals of the Application */ //@{ /// signal on new Document - boost::signals2::signal signalNewDocument; + fastsignals::signal signalNewDocument; /// signal on document getting deleted - boost::signals2::signal signalDeleteDocument; + fastsignals::signal signalDeleteDocument; /// signal on already deleted Document - boost::signals2::signal signalDeletedDocument; + fastsignals::signal signalDeletedDocument; /// signal on relabeling Document (user name) - boost::signals2::signal signalRelabelDocument; + fastsignals::signal signalRelabelDocument; /// signal on renaming Document (internal name) - boost::signals2::signal signalRenameDocument; + fastsignals::signal signalRenameDocument; /// signal on activating Document - boost::signals2::signal signalActiveDocument; + fastsignals::signal signalActiveDocument; /// signal on saving Document - boost::signals2::signal signalSaveDocument; + fastsignals::signal signalSaveDocument; /// signal on starting to restore Document - boost::signals2::signal signalStartRestoreDocument; + fastsignals::signal signalStartRestoreDocument; /// signal on restoring Document - boost::signals2::signal signalFinishRestoreDocument; + fastsignals::signal signalFinishRestoreDocument; /// signal on pending reloading of a partial Document - boost::signals2::signal signalPendingReloadDocument; + fastsignals::signal signalPendingReloadDocument; /// signal on starting to save Document - boost::signals2::signal signalStartSaveDocument; + fastsignals::signal signalStartSaveDocument; /// signal on saved Document - boost::signals2::signal signalFinishSaveDocument; + fastsignals::signal signalFinishSaveDocument; /// signal on undo in document - boost::signals2::signal signalUndoDocument; + fastsignals::signal signalUndoDocument; /// signal on application wide undo - boost::signals2::signal signalUndo; + fastsignals::signal signalUndo; /// signal on redo in document - boost::signals2::signal signalRedoDocument; + fastsignals::signal signalRedoDocument; /// signal on application wide redo - boost::signals2::signal signalRedo; + fastsignals::signal signalRedo; /// signal before open active transaction - boost::signals2::signal signalBeforeOpenTransaction; + fastsignals::signal signalBeforeOpenTransaction; /// signal before close/abort active transaction - boost::signals2::signal signalBeforeCloseTransaction; + fastsignals::signal signalBeforeCloseTransaction; /// signal after close/abort active transaction - boost::signals2::signal signalCloseTransaction; + fastsignals::signal signalCloseTransaction; /// signal on show hidden items - boost::signals2::signal signalShowHidden; + fastsignals::signal signalShowHidden; /// signal on start opening document(s) - boost::signals2::signal signalStartOpenDocument; + fastsignals::signal signalStartOpenDocument; /// signal on finished opening document(s) - boost::signals2::signal signalFinishOpenDocument; + fastsignals::signal signalFinishOpenDocument; //@} @@ -274,34 +275,34 @@ public: */ //@{ /// signal before change of doc property - boost::signals2::signal signalBeforeChangeDocument; + fastsignals::signal signalBeforeChangeDocument; /// signal on changed doc property - boost::signals2::signal signalChangedDocument; + fastsignals::signal signalChangedDocument; /// signal on new Object - boost::signals2::signal signalNewObject; - //boost::signals2::signal m_sig; + fastsignals::signal signalNewObject; + //fastsignals::signal m_sig; /// signal on deleted Object - boost::signals2::signal signalDeletedObject; + fastsignals::signal signalDeletedObject; /// signal on changed Object - boost::signals2::signal signalBeforeChangeObject; + fastsignals::signal signalBeforeChangeObject; /// signal on changed Object - boost::signals2::signal signalChangedObject; + fastsignals::signal signalChangedObject; /// signal on relabeled Object - boost::signals2::signal signalRelabelObject; + fastsignals::signal signalRelabelObject; /// signal on activated Object - boost::signals2::signal signalActivatedObject; + fastsignals::signal signalActivatedObject; /// signal before recomputed document - boost::signals2::signal signalBeforeRecomputeDocument; + fastsignals::signal signalBeforeRecomputeDocument; /// signal on recomputed document - boost::signals2::signal signalRecomputed; + fastsignals::signal signalRecomputed; /// signal on recomputed document object - boost::signals2::signal signalObjectRecomputed; + fastsignals::signal signalObjectRecomputed; // signal on opened transaction - boost::signals2::signal signalOpenTransaction; + fastsignals::signal signalOpenTransaction; // signal a committed transaction - boost::signals2::signal signalCommitTransaction; + fastsignals::signal signalCommitTransaction; // signal an aborted transaction - boost::signals2::signal signalAbortTransaction; + fastsignals::signal signalAbortTransaction; //@} /** @name Signals of property changes @@ -310,13 +311,13 @@ public: */ //@{ /// signal on adding a dynamic property - boost::signals2::signal signalAppendDynamicProperty; + fastsignals::signal signalAppendDynamicProperty; /// signal on renaming a dynamic property - boost::signals2::signal signalRenameDynamicProperty; + fastsignals::signal signalRenameDynamicProperty; /// signal on about removing a dynamic property - boost::signals2::signal signalRemoveDynamicProperty; + fastsignals::signal signalRemoveDynamicProperty; /// signal on about changing the editor mode of a property - boost::signals2::signal signalChangePropertyEditor; + fastsignals::signal signalChangePropertyEditor; //@} /** @name Signals of extension changes @@ -326,9 +327,9 @@ public: */ //@{ /// signal before adding the extension - boost::signals2::signal signalBeforeAddingDynamicExtension; + fastsignals::signal signalBeforeAddingDynamicExtension; /// signal after the extension was added - boost::signals2::signal signalAddedDynamicExtension; + fastsignals::signal signalAddedDynamicExtension; //@} // clang-format off // NOLINTEND diff --git a/src/App/Document.h b/src/App/Document.h index fa68a3595a..536f3d8a46 100644 --- a/src/App/Document.h +++ b/src/App/Document.h @@ -165,61 +165,61 @@ public: //@{ // clang-format off /// signal before changing an doc property - boost::signals2::signal signalBeforeChange; + fastsignals::signal signalBeforeChange; /// signal on changed doc property - boost::signals2::signal signalChanged; + fastsignals::signal signalChanged; /// signal on new Object - boost::signals2::signal signalNewObject; + fastsignals::signal signalNewObject; /// signal on deleted Object - boost::signals2::signal signalDeletedObject; + fastsignals::signal signalDeletedObject; /// signal before changing an Object - boost::signals2::signal signalBeforeChangeObject; + fastsignals::signal signalBeforeChangeObject; /// signal on changed Object - boost::signals2::signal signalChangedObject; + fastsignals::signal signalChangedObject; /// signal on manually called DocumentObject::touch() - boost::signals2::signal signalTouchedObject; + fastsignals::signal signalTouchedObject; /// signal on relabeled Object - boost::signals2::signal signalRelabelObject; + fastsignals::signal signalRelabelObject; /// signal on activated Object - boost::signals2::signal signalActivatedObject; + fastsignals::signal signalActivatedObject; /// signal on created object - boost::signals2::signal signalTransactionAppend; + fastsignals::signal signalTransactionAppend; /// signal on removed object - boost::signals2::signal signalTransactionRemove; + fastsignals::signal signalTransactionRemove; /// signal on undo - boost::signals2::signal signalUndo; + fastsignals::signal signalUndo; /// signal on redo - boost::signals2::signal signalRedo; + fastsignals::signal signalRedo; /** signal on load/save document * this signal is given when the document gets streamed. * you can use this hook to write additional information in * the file (like the Gui::Document does). */ - boost::signals2::signal signalSaveDocument; - boost::signals2::signal signalRestoreDocument; - boost::signals2::signal&, Base::Writer&)> signalExportObjects; - boost::signals2::signal&, Base::Writer&)> signalExportViewObjects; - boost::signals2::signal&, Base::XMLReader&)> signalImportObjects; - boost::signals2::signal&, Base::Reader&, + fastsignals::signal signalSaveDocument; + fastsignals::signal signalRestoreDocument; + fastsignals::signal&, Base::Writer&)> signalExportObjects; + fastsignals::signal&, Base::Writer&)> signalExportViewObjects; + fastsignals::signal&, Base::XMLReader&)> signalImportObjects; + fastsignals::signal&, Base::Reader&, const std::map&)> signalImportViewObjects; - boost::signals2::signal&)> signalFinishImportObjects; + fastsignals::signal&)> signalFinishImportObjects; // signal starting a save action to a file - boost::signals2::signal signalStartSave; + fastsignals::signal signalStartSave; // signal finishing a save action to a file - boost::signals2::signal signalFinishSave; - boost::signals2::signal signalBeforeRecompute; - boost::signals2::signal&)> signalRecomputed; - boost::signals2::signal signalRecomputedObject; + fastsignals::signal signalFinishSave; + fastsignals::signal signalBeforeRecompute; + fastsignals::signal&)> signalRecomputed; + fastsignals::signal signalRecomputedObject; // signal a new opened transaction - boost::signals2::signal signalOpenTransaction; + fastsignals::signal signalOpenTransaction; // signal a committed transaction - boost::signals2::signal signalCommitTransaction; + fastsignals::signal signalCommitTransaction; // signal an aborted transaction - boost::signals2::signal signalAbortTransaction; - boost::signals2::signal&)> signalSkipRecompute; - boost::signals2::signal signalFinishRestoreObject; - boost::signals2::signal signalChangePropertyEditor; - boost::signals2::signal signalLinkXsetValue; + fastsignals::signal signalAbortTransaction; + fastsignals::signal&)> signalSkipRecompute; + fastsignals::signal signalFinishRestoreObject; + fastsignals::signal signalChangePropertyEditor; + fastsignals::signal signalLinkXsetValue; // clang-format on //@} // NOLINTEND diff --git a/src/App/DocumentObject.h b/src/App/DocumentObject.h index 12061faf5e..6414b05842 100644 --- a/src/App/DocumentObject.h +++ b/src/App/DocumentObject.h @@ -129,11 +129,11 @@ public: // clang-format off /// signal before changing a property of this object - boost::signals2::signal signalBeforeChange; + fastsignals::signal signalBeforeChange; /// signal on changed property of this object - boost::signals2::signal signalChanged; + fastsignals::signal signalChanged; /// signal on changed property of this object before document scoped signalChangedObject - boost::signals2::signal signalEarlyChanged; + fastsignals::signal signalEarlyChanged; // clang-format on /// returns the type name of the ViewProvider diff --git a/src/App/DocumentObserver.cpp b/src/App/DocumentObserver.cpp index 95a581fa8e..a2204eed7c 100644 --- a/src/App/DocumentObserver.cpp +++ b/src/App/DocumentObserver.cpp @@ -709,7 +709,7 @@ public: } App::Document* _document; - using Connection = boost::signals2::scoped_connection; + using Connection = fastsignals::scoped_connection; Connection connectApplicationDeletedDocument; }; @@ -800,7 +800,7 @@ public: App::DocumentObject* object; bool indocument {false}; - using Connection = boost::signals2::scoped_connection; + using Connection = fastsignals::scoped_connection; Connection connectApplicationDeletedDocument; Connection connectDocumentCreatedObject; Connection connectDocumentDeletedObject; diff --git a/src/App/DocumentObserver.h b/src/App/DocumentObserver.h index 34b04284c8..3c4ea5c591 100644 --- a/src/App/DocumentObserver.h +++ b/src/App/DocumentObserver.h @@ -28,7 +28,7 @@ #include #include -#include +#include #include #include #include @@ -559,7 +559,7 @@ protected: private: App::Document* _document; - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectApplicationCreatedDocument; Connection connectApplicationDeletedDocument; Connection connectApplicationActivateDocument; diff --git a/src/App/DocumentObserverPython.h b/src/App/DocumentObserverPython.h index 36e7c63401..38818e2b6a 100644 --- a/src/App/DocumentObserverPython.h +++ b/src/App/DocumentObserverPython.h @@ -27,7 +27,7 @@ #define APP_DOCUMENTOBSERVERPYTHON_H #include -#include +#include #include #include #include @@ -125,7 +125,7 @@ private: using Connection = struct PythonObject { - boost::signals2::scoped_connection slot; + fastsignals::scoped_connection slot; Py::Object py; PyObject* ptr() { diff --git a/src/App/GroupExtension.h b/src/App/GroupExtension.h index f15a042a26..c192ff3bd7 100644 --- a/src/App/GroupExtension.h +++ b/src/App/GroupExtension.h @@ -154,7 +154,7 @@ private: // for tracking children visibility void slotChildChanged(const App::DocumentObject&, const App::Property&); - std::unordered_map _Conns; + std::unordered_map _Conns; }; diff --git a/src/App/Link.cpp b/src/App/Link.cpp index 34eaf5c36e..b94a96f4ce 100644 --- a/src/App/Link.cpp +++ b/src/App/Link.cpp @@ -797,7 +797,7 @@ void LinkBaseExtension::setupCopyOnChange(DocumentObject* parent, bool checkSour bool LinkBaseExtension::setupCopyOnChange( DocumentObject* parent, DocumentObject* linked, - std::vector* copyOnChangeConns, + std::vector* copyOnChangeConns, bool checkExisting) { if (!parent || !linked) { diff --git a/src/App/Link.h b/src/App/Link.h index ba3b8aa814..11c02633e3 100644 --- a/src/App/Link.h +++ b/src/App/Link.h @@ -420,7 +420,7 @@ public: static bool setupCopyOnChange(App::DocumentObject* obj, App::DocumentObject* linked, - std::vector* copyOnChangeConns, + std::vector* copyOnChangeConns, bool checkExisting); static bool isCopyOnChangeProperty(App::DocumentObject* obj, const Property& prop); @@ -483,7 +483,7 @@ protected: mutable std::vector mySubElements; mutable std::string mySubName; - std::unordered_map + std::unordered_map plainGroupConns; long prevLinkedObjectID = 0; @@ -492,14 +492,14 @@ protected: mutable bool enableLabelCache {false}; bool hasOldSubElement {false}; - std::vector copyOnChangeConns; - std::vector copyOnChangeSrcConns; + std::vector copyOnChangeConns; + std::vector copyOnChangeSrcConns; bool hasCopyOnChange {true}; mutable bool checkingProperty = false; bool pauseCopyOnChange = false; - boost::signals2::scoped_connection connCopyOnChangeSource; + fastsignals::scoped_connection connCopyOnChangeSource; }; /////////////////////////////////////////////////////////////////////////// diff --git a/src/App/MergeDocuments.h b/src/App/MergeDocuments.h index 8f3a6a67f2..085300eff3 100644 --- a/src/App/MergeDocuments.h +++ b/src/App/MergeDocuments.h @@ -27,7 +27,7 @@ #define APP_MERGEDOCUMENTS_H #include -#include +#include namespace zipios { @@ -72,7 +72,7 @@ private: App::Document* appdoc {nullptr}; std::vector objects; std::map nameMap; - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectExport; Connection connectImport; }; diff --git a/src/App/ObjectIdentifier.h b/src/App/ObjectIdentifier.h index e4eb3bafe5..e2b49be7f1 100644 --- a/src/App/ObjectIdentifier.h +++ b/src/App/ObjectIdentifier.h @@ -27,6 +27,7 @@ #define APP_PATH_H #include +#include #include #include #include diff --git a/src/App/PreCompiled.h b/src/App/PreCompiled.h index c951838ad7..8b32f51627 100644 --- a/src/App/PreCompiled.h +++ b/src/App/PreCompiled.h @@ -74,7 +74,7 @@ // Boost #include -#include +#include #include #include diff --git a/src/App/Property.h b/src/App/Property.h index fe1010f700..2408df85cc 100644 --- a/src/App/Property.h +++ b/src/App/Property.h @@ -29,7 +29,7 @@ #include #include #include -#include +#include #include #include #include @@ -608,7 +608,7 @@ private: public: /// Signal emitted when the property value has changed. - boost::signals2::signal signalChanged; + fastsignals::signal signalChanged; }; diff --git a/src/App/PropertyExpressionEngine.cpp b/src/App/PropertyExpressionEngine.cpp index c698ca8004..241a93ead7 100644 --- a/src/App/PropertyExpressionEngine.cpp +++ b/src/App/PropertyExpressionEngine.cpp @@ -91,7 +91,7 @@ struct PropertyExpressionEngine::Private { // For some reason, MSVC has trouble with vector of scoped_connection if // defined in header, hence the private structure here. - std::vector conns; + std::vector conns; std::unordered_map> propMap; }; diff --git a/src/App/PropertyExpressionEngine.h b/src/App/PropertyExpressionEngine.h index 7156d77649..3edb835c12 100644 --- a/src/App/PropertyExpressionEngine.h +++ b/src/App/PropertyExpressionEngine.h @@ -29,7 +29,7 @@ #include #include -#include +#include #include #include @@ -184,7 +184,7 @@ public: size_t numExpressions() const; /// signal called when an expression was changed - boost::signals2::signal expressionChanged; + fastsignals::signal expressionChanged; void afterRestore() override; void onContainerRestored() override; diff --git a/src/App/PropertyLinks.cpp b/src/App/PropertyLinks.cpp index f136a1ba55..3d090cc384 100644 --- a/src/App/PropertyLinks.cpp +++ b/src/App/PropertyLinks.cpp @@ -3304,7 +3304,7 @@ DocInfoMap _DocInfoMap; class App::DocInfo: public std::enable_shared_from_this { public: - using Connection = boost::signals2::scoped_connection; + using Connection = fastsignals::scoped_connection; Connection connFinishRestoreDocument; Connection connPendingReloadDocument; Connection connDeleteDocument; diff --git a/src/App/PropertyLinks.h b/src/App/PropertyLinks.h index 227996ecd6..973cfdd0e3 100644 --- a/src/App/PropertyLinks.h +++ b/src/App/PropertyLinks.h @@ -618,7 +618,7 @@ public: void setSilentRestore(bool enable); - boost::signals2::signal + fastsignals::signal signalUpdateElementReference; protected: diff --git a/src/App/TextDocument.cpp b/src/App/TextDocument.cpp index a00ece77f2..d6854ac5b5 100644 --- a/src/App/TextDocument.cpp +++ b/src/App/TextDocument.cpp @@ -53,12 +53,12 @@ const char* TextDocument::getViewProviderName() const return "Gui::ViewProviderTextDocument"; } -boost::signals2::connection TextDocument::connectText(const TextSlot& sub) +fastsignals::advanced_connection TextDocument::connectText(const TextSlot& sub) { - return textChanged.connect(sub); + return textChanged.connect(sub, fastsignals::advanced_tag()); } -boost::signals2::connection TextDocument::connectLabel(const TextSlot& sub) +fastsignals::connection TextDocument::connectLabel(const TextSlot& sub) { return labelChanged.connect(sub); } diff --git a/src/App/TextDocument.h b/src/App/TextDocument.h index bab4070c99..2e90c7d19f 100644 --- a/src/App/TextDocument.h +++ b/src/App/TextDocument.h @@ -38,7 +38,7 @@ class AppExport TextDocument: public App::DocumentObject PROPERTY_HEADER_WITH_OVERRIDE(App::TextDocument); public: - using TextSignal = boost::signals2::signal; + using TextSignal = fastsignals::signal; using TextSlot = TextSignal::slot_type; PropertyString Text; @@ -49,8 +49,8 @@ public: void onChanged(const Property* prop) override; const char* getViewProviderName() const override; - boost::signals2::connection connectText(const TextSlot& sub); - boost::signals2::connection connectLabel(const TextSlot& sub); + fastsignals::advanced_connection connectText(const TextSlot& sub); + fastsignals::connection connectLabel(const TextSlot& sub); private: TextSignal textChanged; diff --git a/src/Base/CMakeLists.txt b/src/Base/CMakeLists.txt index 54035ed472..79904bb860 100644 --- a/src/Base/CMakeLists.txt +++ b/src/Base/CMakeLists.txt @@ -84,7 +84,7 @@ endif() list(APPEND FreeCADBase_LIBS ${QtCore_LIBRARIES}) -list(APPEND FreeCADBase_LIBS fmt::fmt) +list(APPEND FreeCADBase_LIBS libfastsignals fmt::fmt) if (BUILD_DYNAMIC_LINK_PYTHON) list(APPEND FreeCADBase_LIBS ${Python3_LIBRARIES}) diff --git a/src/Base/Parameter.h b/src/Base/Parameter.h index 5d5a952939..0070c8552f 100644 --- a/src/Base/Parameter.h +++ b/src/Base/Parameter.h @@ -51,7 +51,7 @@ using PyObject = struct _object; #include #include -#include +#include #include #include "Handle.h" @@ -565,7 +565,7 @@ public: * - Group removal: both 'name' and 'value' are empty * - Group rename: 'name' is the new name, and 'value' is the old name */ - boost::signals2::signal< + fastsignals::signal< void(ParameterGrp* /*param*/, ParamType /*type*/, const char* /*name*/, const char* /*value*/)> signalParamChanged; diff --git a/src/Base/ParameterPy.cpp b/src/Base/ParameterPy.cpp index ab1eaf14bf..def480445a 100644 --- a/src/Base/ParameterPy.cpp +++ b/src/Base/ParameterPy.cpp @@ -92,7 +92,7 @@ public: public: // NOLINTBEGIN Py::Object callable; - boost::signals2::scoped_connection conn; + fastsignals::scoped_connection conn; ParameterGrp* _target = nullptr; // no reference counted, do not access // NOLINTEND diff --git a/src/Base/Tools.h b/src/Base/Tools.h index f13862b089..69897df5e9 100644 --- a/src/Base/Tools.h +++ b/src/Base/Tools.h @@ -29,22 +29,13 @@ #ifndef FC_GLOBAL_H # include #endif +#include #include #include #include #include #include - -#include - -namespace boost -{ -namespace signals2 -{ -class connection; -} -} // namespace boost - +#include class QString; @@ -332,12 +323,10 @@ private: class ConnectionBlocker { - using Connection = boost::signals2::connection; - using ConnectionBlock = boost::signals2::shared_connection_block; - ConnectionBlock blocker; + fastsignals::shared_connection_block blocker; public: - ConnectionBlocker(Connection& c) + ConnectionBlocker(fastsignals::advanced_connection& c) : blocker(c) {} ~ConnectionBlocker() = default; diff --git a/src/Gui/Application.h b/src/Gui/Application.h index 61f15225df..eff1ac8854 100644 --- a/src/Gui/Application.h +++ b/src/Gui/Application.h @@ -118,43 +118,43 @@ public: /** @name Signals of the Application */ //@{ /// signal on new Document - boost::signals2::signal signalNewDocument; + fastsignals::signal signalNewDocument; /// signal on deleted Document - boost::signals2::signal signalDeleteDocument; + fastsignals::signal signalDeleteDocument; /// signal on relabeling Document - boost::signals2::signal signalRelabelDocument; + fastsignals::signal signalRelabelDocument; /// signal on renaming Document - boost::signals2::signal signalRenameDocument; + fastsignals::signal signalRenameDocument; /// signal on activating Document - boost::signals2::signal signalActiveDocument; + fastsignals::signal signalActiveDocument; /// signal on new Object - boost::signals2::signal signalNewObject; + fastsignals::signal signalNewObject; /// signal on deleted Object - boost::signals2::signal signalDeletedObject; + fastsignals::signal signalDeletedObject; /// signal on changed Object - boost::signals2::signal signalBeforeChangeObject; + fastsignals::signal signalBeforeChangeObject; /// signal on changed object property - boost::signals2::signal signalChangedObject; + fastsignals::signal signalChangedObject; /// signal on renamed Object - boost::signals2::signal signalRelabelObject; + fastsignals::signal signalRelabelObject; /// signal on activated Object - boost::signals2::signal signalActivatedObject; + fastsignals::signal signalActivatedObject; /// signal on activated workbench - boost::signals2::signal signalActivateWorkbench; + fastsignals::signal signalActivateWorkbench; /// signal on added/removed workbench - boost::signals2::signal signalRefreshWorkbenches; + fastsignals::signal signalRefreshWorkbenches; /// signal on show hidden items - boost::signals2::signal signalShowHidden; + fastsignals::signal signalShowHidden; /// signal on activating view - boost::signals2::signal signalActivateView; + fastsignals::signal signalActivateView; /// signal on closing view - boost::signals2::signal signalCloseView; + fastsignals::signal signalCloseView; /// signal on entering in edit mode - boost::signals2::signal signalInEdit; + fastsignals::signal signalInEdit; /// signal on leaving edit mode - boost::signals2::signal signalResetEdit; + fastsignals::signal signalResetEdit; /// signal on changing user edit mode - boost::signals2::signal signalUserEditModeChanged; + fastsignals::signal signalUserEditModeChanged; //@} /** @name methods for Document handling */ diff --git a/src/Gui/AutoSaver.h b/src/Gui/AutoSaver.h index 5298693380..62054130db 100644 --- a/src/Gui/AutoSaver.h +++ b/src/Gui/AutoSaver.h @@ -29,7 +29,7 @@ #include #include #include -#include +#include #include namespace App @@ -56,7 +56,7 @@ public: private: void slotNewObject(const App::DocumentObject&); void slotChangePropertyData(const App::Property&); - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection documentNew; Connection documentMod; }; diff --git a/src/Gui/CMakeLists.txt b/src/Gui/CMakeLists.txt index c256a0f40b..28dcd164bc 100644 --- a/src/Gui/CMakeLists.txt +++ b/src/Gui/CMakeLists.txt @@ -83,6 +83,8 @@ target_include_directories( FreeCADGui SYSTEM PRIVATE + ${FastSignals_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} ${EIGEN3_INCLUDE_DIR} ${3DCONNEXION_INCLUDE_DIR} ) @@ -99,6 +101,7 @@ endif(MSVC) if(MSVC) set(FreeCADGui_LIBS FreeCADApp + libfastsignals ${OPENGL_gl_LIBRARY} ) @@ -111,6 +114,7 @@ if(MSVC) else(MSVC) set(FreeCADGui_LIBS FreeCADApp + libfastsignals ${Boost_LIBRARIES} ${OPENGL_gl_LIBRARY} ${3DCONNEXION_LINKFLAGS} diff --git a/src/Gui/Command.cpp b/src/Gui/Command.cpp index 437ab10afe..8871f2718d 100644 --- a/src/Gui/Command.cpp +++ b/src/Gui/Command.cpp @@ -1595,7 +1595,7 @@ bool PythonCommand::isChecked() const } } -void PythonCommand::onActionInit() const +void PythonCommand::onActionInit() { try { Base::PyGILStateLocker lock; @@ -1979,7 +1979,7 @@ bool PythonGroupCommand::hasDropDownMenu() const } } -void PythonGroupCommand::onActionInit() const +void PythonGroupCommand::onActionInit() { try { Base::PyGILStateLocker lock; diff --git a/src/Gui/Command.h b/src/Gui/Command.h index 950bfbb112..f060a3dd86 100644 --- a/src/Gui/Command.h +++ b/src/Gui/Command.h @@ -28,7 +28,7 @@ #include #include #include -#include +#include #include #include @@ -829,9 +829,9 @@ protected: /// the activation sequence std::string Activation; //// set the parameters on action creation - void onActionInit() const; + void onActionInit(); - boost::signals2::connection connPyCmdInitialized; + fastsignals::connection connPyCmdInitialized; }; /** The Python group command class @@ -880,13 +880,13 @@ protected: /// Returns the resource values const char* getResource(const char* sName) const; //// set the parameters on action creation - void onActionInit() const; + void onActionInit(); /// a pointer to the Python command object PyObject* _pcPyCommand; /// the command object resources PyObject* _pcPyResource; - boost::signals2::connection connPyCmdInitialized; + fastsignals::connection connPyCmdInitialized; }; @@ -1019,10 +1019,10 @@ public: } /// Signal on any addition or removal of command - boost::signals2::signal signalChanged; + fastsignals::signal signalChanged; /// Signal to Python command on first workbench activation - boost::signals2::signal signalPyCmdInitialized; + fastsignals::signal signalPyCmdInitialized; /** * Returns a pointer to a conflicting command, or nullptr if there is no conflict. diff --git a/src/Gui/DAGView/DAGModel.h b/src/Gui/DAGView/DAGModel.h index d0425814e4..4d318c9044 100644 --- a/src/Gui/DAGView/DAGModel.h +++ b/src/Gui/DAGView/DAGModel.h @@ -27,7 +27,7 @@ #include #include -#include +#include #include #include @@ -87,7 +87,7 @@ private Q_SLOTS: private: Model() = default; // documentObject slots. - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectNewObject; Connection connectDelObject; Connection connectChgObject; diff --git a/src/Gui/DAGView/DAGModelGraph.h b/src/Gui/DAGView/DAGModelGraph.h index ed19d7a7c1..fde5a621fc 100644 --- a/src/Gui/DAGView/DAGModelGraph.h +++ b/src/Gui/DAGView/DAGModelGraph.h @@ -36,7 +36,7 @@ #include #include #include -#include +#include #include "DAGRectItem.h" @@ -85,7 +85,7 @@ struct VertexProperty std::shared_ptr stateIcon; //!< visible Icon std::shared_ptr icon; //!< icon std::shared_ptr text; //!< text - boost::signals2::connection connChangeIcon; + fastsignals::connection connChangeIcon; int row = 0; //!< row for this entry. ColumnMask column = 0; //!< column number containing the point. int topoSortIndex = 0; diff --git a/src/Gui/DAGView/DAGView.h b/src/Gui/DAGView/DAGView.h index 7aab7e685c..ab9964fe27 100644 --- a/src/Gui/DAGView/DAGView.h +++ b/src/Gui/DAGView/DAGView.h @@ -26,7 +26,7 @@ #include #include -#include +#include #include #include @@ -58,8 +58,8 @@ private: using ModelMap = std::map>; ModelMap modelMap; - boost::signals2::scoped_connection conActive; - boost::signals2::scoped_connection conDelete; + fastsignals::scoped_connection conActive; + fastsignals::scoped_connection conDelete; }; //! @brief dock window for DAG viewer diff --git a/src/Gui/Dialogs/DlgKeyboardImp.cpp b/src/Gui/Dialogs/DlgKeyboardImp.cpp index 015709e544..06d11d7cbe 100644 --- a/src/Gui/Dialogs/DlgKeyboardImp.cpp +++ b/src/Gui/Dialogs/DlgKeyboardImp.cpp @@ -22,7 +22,7 @@ * * ***************************************************************************/ -#include +#include #include #include @@ -230,7 +230,7 @@ void DlgCustomKeyboardImp::populateCommandList( commandTreeWidget->resizeColumnToContents(3); } -boost::signals2::connection DlgCustomKeyboardImp::initCommandList( +fastsignals::connection DlgCustomKeyboardImp::initCommandList( QTreeWidget* commandTreeWidget, QTreeWidgetItem* separatorItem, QComboBox* combo @@ -317,7 +317,7 @@ void DlgCustomKeyboardImp::initPriorityList( }); } -boost::signals2::connection DlgCustomKeyboardImp::initCommandWidgets( +fastsignals::connection DlgCustomKeyboardImp::initCommandWidgets( QTreeWidget* commandTreeWidget, QTreeWidgetItem* separatorItem, QComboBox* comboGroups, diff --git a/src/Gui/Dialogs/DlgKeyboardImp.h b/src/Gui/Dialogs/DlgKeyboardImp.h index e20519f01c..6bc174357c 100644 --- a/src/Gui/Dialogs/DlgKeyboardImp.h +++ b/src/Gui/Dialogs/DlgKeyboardImp.h @@ -26,7 +26,7 @@ #ifndef GUI_DIALOG_DLGKEYBOARD_IMP_H #define GUI_DIALOG_DLGKEYBOARD_IMP_H -#include +#include #include #include #include @@ -77,7 +77,7 @@ public: * @return Return a boost signal connection for monitoring command changes. * Most disconnect the signal before widgets gets destroyed. */ - static boost::signals2::connection initCommandWidgets( + static fastsignals::connection initCommandWidgets( QTreeWidget* commandTreeWidget, QTreeWidgetItem* separatorItem, QComboBox* comboGroups, @@ -99,7 +99,7 @@ protected: QTreeWidget* treeWidget, QTreeWidgetItem* separatorItem ); - static boost::signals2::connection initCommandList(QTreeWidget*, QTreeWidgetItem*, QComboBox* combo); + static fastsignals::connection initCommandList(QTreeWidget*, QTreeWidgetItem*, QComboBox* combo); static void initPriorityList(QTreeWidget*, QAbstractButton* buttonUp, QAbstractButton* buttonDown); static void populateCommandGroups(QComboBox*); static void populateCommandList(QTreeWidget*, QTreeWidgetItem*, QComboBox*); @@ -132,7 +132,7 @@ protected: private: std::unique_ptr ui; bool firstShow; - boost::signals2::scoped_connection conn; + fastsignals::scoped_connection conn; }; } // namespace Dialog diff --git a/src/Gui/Dialogs/DlgToolbarsImp.h b/src/Gui/Dialogs/DlgToolbarsImp.h index 77e76ee088..885a5db57c 100644 --- a/src/Gui/Dialogs/DlgToolbarsImp.h +++ b/src/Gui/Dialogs/DlgToolbarsImp.h @@ -26,7 +26,7 @@ #ifndef GUI_DIALOG_DLGTOOLBARS_IMP_H #define GUI_DIALOG_DLGTOOLBARS_IMP_H -#include +#include #include "PropertyPage.h" #include @@ -100,7 +100,7 @@ protected: private: Type type; - boost::signals2::scoped_connection conn; + fastsignals::scoped_connection conn; }; /** This class implements the creation of user defined toolbars. diff --git a/src/Gui/DockWindowManager.cpp b/src/Gui/DockWindowManager.cpp index 0477117707..00999cfd64 100644 --- a/src/Gui/DockWindowManager.cpp +++ b/src/Gui/DockWindowManager.cpp @@ -158,7 +158,7 @@ struct DockWindowManagerP QMap> _dockWindows; DockWindowItems _dockWindowItems; ParameterGrp::handle _hPref; - boost::signals2::scoped_connection _connParam; + fastsignals::advanced_scoped_connection _connParam; QTimer _timer; DockWidgetEventFilter _dockWidgetEventFilter; QPointer overlayManager; @@ -228,7 +228,8 @@ void DockWindowManager::setupOverlayManagement() break; } } - } + }, + fastsignals::advanced_tag() ); d->_timer.setSingleShot(true); diff --git a/src/Gui/Document.cpp b/src/Gui/Document.cpp index 73e257b4f0..eb86c30c10 100644 --- a/src/Gui/Document.cpp +++ b/src/Gui/Document.cpp @@ -117,12 +117,13 @@ struct DocumentP std::map _ViewProviderMapAnnotation; std::list _redoViewProviders; - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; + using AdvancedConnection = fastsignals::advanced_connection; Connection connectNewObject; Connection connectDelObject; Connection connectCngObject; Connection connectRenObject; - Connection connectActObject; + AdvancedConnection connectActObject; Connection connectSaveDocument; Connection connectRestDocument; Connection connectStartLoadDocument; @@ -141,9 +142,9 @@ struct DocumentP Connection connectTransactionRemove; Connection connectTouchedObject; Connection connectChangePropertyEditor; - Connection connectChangeDocument; + AdvancedConnection connectChangeDocument; - using ConnectionBlock = boost::signals2::shared_connection_block; + using ConnectionBlock = fastsignals::shared_connection_block; ConnectionBlock connectActObjectBlocker; ConnectionBlock connectChangeDocumentBlocker; @@ -458,9 +459,10 @@ Document::Document(App::Document* pcDocument, Application* app) std::bind(&Gui::Document::slotRelabelObject, this, sp::_1) ); d->connectActObject = pcDocument->signalActivatedObject.connect( - std::bind(&Gui::Document::slotActivatedObject, this, sp::_1) + std::bind(&Gui::Document::slotActivatedObject, this, sp::_1), + fastsignals::advanced_tag() ); - d->connectActObjectBlocker = boost::signals2::shared_connection_block(d->connectActObject, false); + d->connectActObjectBlocker = fastsignals::shared_connection_block(d->connectActObject, false); d->connectSaveDocument = pcDocument->signalSaveDocument.connect( std::bind(&Gui::Document::Save, this, sp::_1) ); @@ -482,9 +484,10 @@ Document::Document(App::Document* pcDocument, Application* app) ); d->connectChangeDocument = d->_pcDocument->signalChanged.connect // use the same slot function - (std::bind(&Gui::Document::slotChangePropertyEditor, this, sp::_1, sp::_2)); + (std::bind(&Gui::Document::slotChangePropertyEditor, this, sp::_1, sp::_2), + fastsignals::advanced_tag()); d->connectChangeDocumentBlocker - = boost::signals2::shared_connection_block(d->connectChangeDocument, true); + = fastsignals::shared_connection_block(d->connectChangeDocument, true); d->connectFinishRestoreObject = pcDocument->signalFinishRestoreObject.connect( std::bind(&Gui::Document::slotFinishRestoreObject, this, sp::_1) ); diff --git a/src/Gui/Document.h b/src/Gui/Document.h index 37932319bb..b8a1213561 100644 --- a/src/Gui/Document.h +++ b/src/Gui/Document.h @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include #include @@ -112,23 +112,23 @@ public: /** @name Signals of the document */ //@{ /// signal on new Object - mutable boost::signals2::signal signalNewObject; + mutable fastsignals::signal signalNewObject; /// signal on deleted Object - mutable boost::signals2::signal signalDeletedObject; + mutable fastsignals::signal signalDeletedObject; /** signal on changed Object, the 2nd argument is the changed property of the referenced document object, not of the view provider */ - mutable boost::signals2::signal + mutable fastsignals::signal signalChangedObject; /// signal on renamed Object - mutable boost::signals2::signal signalRelabelObject; + mutable fastsignals::signal signalRelabelObject; /// signal on activated Object - mutable boost::signals2::signal signalActivatedObject; + mutable fastsignals::signal signalActivatedObject; /// signal on entering in edit mode - mutable boost::signals2::signal signalInEdit; + mutable fastsignals::signal signalInEdit; /// signal on leaving edit mode - mutable boost::signals2::signal signalResetEdit; + mutable fastsignals::signal signalResetEdit; /// signal on changed Object, the 2nd argument is the highlite mode to use - mutable boost::signals2::signal signalHighlightObject; /// signal on changed Object, the 2nd argument is the highlite mode to use - mutable boost::signals2::signal signalExpandObject; /// signal on changed ShowInTree property in view provider - mutable boost::signals2::signal signalShowItem; + mutable fastsignals::signal signalShowItem; /// signal on scrolling to an object - mutable boost::signals2::signal signalScrollToObject; + mutable fastsignals::signal signalScrollToObject; /// signal on undo Document - mutable boost::signals2::signal signalUndoDocument; + mutable fastsignals::signal signalUndoDocument; /// signal on redo Document - mutable boost::signals2::signal signalRedoDocument; + mutable fastsignals::signal signalRedoDocument; /// signal on deleting Document - mutable boost::signals2::signal signalDeleteDocument; + mutable fastsignals::signal signalDeleteDocument; //@} /** @name I/O of the document */ diff --git a/src/Gui/DocumentObserver.cpp b/src/Gui/DocumentObserver.cpp index a6535fac46..613cd4a337 100644 --- a/src/Gui/DocumentObserver.cpp +++ b/src/Gui/DocumentObserver.cpp @@ -248,7 +248,7 @@ public: } Gui::Document* _document; - using Connection = boost::signals2::scoped_connection; + using Connection = fastsignals::scoped_connection; Connection connectApplicationDeletedDocument; }; @@ -349,7 +349,7 @@ public: Gui::ViewProviderDocumentObject* object; bool indocument {false}; - using Connection = boost::signals2::scoped_connection; + using Connection = fastsignals::scoped_connection; Connection connectApplicationDeletedDocument; Connection connectDocumentCreatedObject; Connection connectDocumentDeletedObject; diff --git a/src/Gui/DocumentObserver.h b/src/Gui/DocumentObserver.h index 2b618ad0d2..b323e555cb 100644 --- a/src/Gui/DocumentObserver.h +++ b/src/Gui/DocumentObserver.h @@ -24,7 +24,7 @@ #define GUI_DOCUMENTOBSERVER_H #include -#include +#include namespace App @@ -370,7 +370,7 @@ private: virtual void slotDeleteDocument(const Document& Doc); private: - using Connection = boost::signals2::scoped_connection; + using Connection = fastsignals::scoped_connection; Connection connectDocumentCreatedObject; Connection connectDocumentDeletedObject; Connection connectDocumentChangedObject; diff --git a/src/Gui/DocumentObserverPython.h b/src/Gui/DocumentObserverPython.h index 9271ca2534..364b908bdf 100644 --- a/src/Gui/DocumentObserverPython.h +++ b/src/Gui/DocumentObserverPython.h @@ -25,7 +25,7 @@ #define GUI_DOCUMENTOBSERVERPYTHON_H #include -#include +#include #include #include #include @@ -89,7 +89,7 @@ private: using Connection = struct PythonObject { - boost::signals2::scoped_connection slot; + fastsignals::scoped_connection slot; Py::Object py; PyObject* ptr() { diff --git a/src/Gui/ExpressionBinding.h b/src/Gui/ExpressionBinding.h index 1ab3be6762..d34b0b763c 100644 --- a/src/Gui/ExpressionBinding.h +++ b/src/Gui/ExpressionBinding.h @@ -27,7 +27,7 @@ #include #include #include -#include +#include namespace App @@ -89,9 +89,9 @@ protected: void expressionChange(const App::ObjectIdentifier& id); void objectDeleted(const App::DocumentObject&); void onDocumentDeleted(const App::Document&); - boost::signals2::scoped_connection expressionchanged; - boost::signals2::scoped_connection objectdeleted; - boost::signals2::scoped_connection documentdeleted; + fastsignals::scoped_connection expressionchanged; + fastsignals::scoped_connection objectdeleted; + fastsignals::scoped_connection documentdeleted; bool m_autoApply {false}; }; diff --git a/src/Gui/GraphvizView.h b/src/Gui/GraphvizView.h index dfd93c32ab..e50a0f85b4 100644 --- a/src/Gui/GraphvizView.h +++ b/src/Gui/GraphvizView.h @@ -23,8 +23,9 @@ #ifndef GUI_GRAPHVIZVIEW_H #define GUI_GRAPHVIZVIEW_H -#include "MDIView.h" +#include +#include "MDIView.h" class QGraphicsScene; class QGraphicsView; @@ -81,7 +82,7 @@ private: GraphvizWorker* thread; int nPending; - using Connection = boost::signals2::scoped_connection; + using Connection = fastsignals::scoped_connection; Connection recomputeConnection; Connection undoConnection; Connection redoConnection; diff --git a/src/Gui/MDIView.cpp b/src/Gui/MDIView.cpp index 3d5f449d87..00de2e5f5d 100644 --- a/src/Gui/MDIView.cpp +++ b/src/Gui/MDIView.cpp @@ -20,7 +20,7 @@ * * ***************************************************************************/ -#include +#include #include #include #include diff --git a/src/Gui/MDIView.h b/src/Gui/MDIView.h index d006c5c808..03a881b85b 100644 --- a/src/Gui/MDIView.h +++ b/src/Gui/MDIView.h @@ -23,7 +23,7 @@ #ifndef GUI_MDIVIEW_H #define GUI_MDIVIEW_H -#include +#include #include #include #include @@ -207,7 +207,7 @@ private: Qt::WindowStates wstate; // list of active objects of this view ActiveObjectList ActiveObjects; - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectDelObject; // remove active object upon delete. friend class MainWindow; diff --git a/src/Gui/MainWindow.cpp b/src/Gui/MainWindow.cpp index 84e8dad909..b5266e8e81 100644 --- a/src/Gui/MainWindow.cpp +++ b/src/Gui/MainWindow.cpp @@ -321,7 +321,7 @@ struct MainWindowP int actionUpdateDelay = 0; QMap> urlHandler; std::string hiddenDockWindows; - boost::signals2::scoped_connection connParam; + fastsignals::advanced_scoped_connection connParam; ParameterGrp::handle hGrp; bool _restoring = false; QTime _showNormal; @@ -367,7 +367,8 @@ MainWindow::MainWindow(QWidget* parent, Qt::WindowFlags f) OverlayManager::instance()->reload(OverlayManager::ReloadMode::ReloadPause); d->restoreStateTimer.start(100); } - } + }, + fastsignals::advanced_tag() ); d->hGrp = App::GetApplication().GetParameterGroupByPath( diff --git a/src/Gui/ManualAlignment.h b/src/Gui/ManualAlignment.h index 7d0a7f4fe1..5c28bd9c66 100644 --- a/src/Gui/ManualAlignment.h +++ b/src/Gui/ManualAlignment.h @@ -263,7 +263,7 @@ private: static ManualAlignment* _instance; - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectApplicationDeletedDocument; Connection connectDocumentDeletedObject; diff --git a/src/Gui/MergeDocuments.h b/src/Gui/MergeDocuments.h index 51836c02c9..cf3d5c7383 100644 --- a/src/Gui/MergeDocuments.h +++ b/src/Gui/MergeDocuments.h @@ -27,7 +27,7 @@ #include #include #include -#include +#include namespace zipios { @@ -62,7 +62,7 @@ private: Gui::Document* document; std::vector objects; std::map nameMap; - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectExport; Connection connectImport; }; diff --git a/src/Gui/NotificationArea.cpp b/src/Gui/NotificationArea.cpp index 5be7fb3780..7b6ba508ba 100644 --- a/src/Gui/NotificationArea.cpp +++ b/src/Gui/NotificationArea.cpp @@ -52,7 +52,7 @@ using namespace Gui; -using Connection = boost::signals2::connection; +using Connection = fastsignals::connection; namespace sp = std::placeholders; diff --git a/src/Gui/OverlayManager.cpp b/src/Gui/OverlayManager.cpp index 9b14fd99a4..522cd6cb9b 100644 --- a/src/Gui/OverlayManager.cpp +++ b/src/Gui/OverlayManager.cpp @@ -199,7 +199,7 @@ struct OverlayInfo Qt::DockWidgetArea dockArea; std::unordered_map& overlayMap; ParameterGrp::handle hGrp; - boost::signals2::scoped_connection conn; + fastsignals::scoped_connection conn; OverlayInfo( QWidget* parent, diff --git a/src/Gui/ParamHandler.h b/src/Gui/ParamHandler.h index a5b4db877b..2426c12eb5 100644 --- a/src/Gui/ParamHandler.h +++ b/src/Gui/ParamHandler.h @@ -24,7 +24,7 @@ #include #include -#include +#include #include #include @@ -261,7 +261,7 @@ public: protected: std::map> handlers; std::set> pendings; - boost::signals2::scoped_connection conn; + fastsignals::scoped_connection conn; QTimer timer; }; diff --git a/src/Gui/Placement.h b/src/Gui/Placement.h index 668071298c..2be324e7ec 100644 --- a/src/Gui/Placement.h +++ b/src/Gui/Placement.h @@ -95,7 +95,7 @@ private Q_SLOTS: void openTransaction(); private: - using Connection = boost::signals2::scoped_connection; + using Connection = fastsignals::scoped_connection; std::string propertyName; // the name of the placement property std::set documents; /** If false apply the placement directly to the transform nodes, diff --git a/src/Gui/PreCompiled.h b/src/Gui/PreCompiled.h index 04df2ad804..62b9ccee9e 100644 --- a/src/Gui/PreCompiled.h +++ b/src/Gui/PreCompiled.h @@ -67,7 +67,7 @@ // Boost #include -#include +#include #include #include #include diff --git a/src/Gui/PropertyView.h b/src/Gui/PropertyView.h index fc50a94917..5099b2df49 100644 --- a/src/Gui/PropertyView.h +++ b/src/Gui/PropertyView.h @@ -99,7 +99,7 @@ private: private: struct PropInfo; struct PropFind; - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectPropData; Connection connectPropView; Connection connectPropAppend; diff --git a/src/Gui/Selection/Selection.h b/src/Gui/Selection/Selection.h index be91d353f6..358ebf3235 100644 --- a/src/Gui/Selection/Selection.h +++ b/src/Gui/Selection/Selection.h @@ -260,7 +260,7 @@ private: void _onSelectionChanged(const SelectionChanges& msg); private: - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectSelection; std::string filterDocName; std::string filterObjName; @@ -503,12 +503,12 @@ public: void setClarifySelectionActive(bool active); /// signal on new object - boost::signals2::signal signalSelectionChanged; + fastsignals::signal signalSelectionChanged; /// signal on selection change with resolved object - boost::signals2::signal signalSelectionChanged2; + fastsignals::signal signalSelectionChanged2; /// signal on selection change with resolved object and sub element map - boost::signals2::signal signalSelectionChanged3; + fastsignals::signal signalSelectionChanged3; /** Returns a vector of selection objects * diff --git a/src/Gui/TaskElementColors.cpp b/src/Gui/TaskElementColors.cpp index 8b1601f799..b824eb42f8 100644 --- a/src/Gui/TaskElementColors.cpp +++ b/src/Gui/TaskElementColors.cpp @@ -50,7 +50,7 @@ namespace sp = std::placeholders; class ElementColors::Private: public Gui::SelectionGate { public: - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; std::unique_ptr ui; ViewProviderDocumentObject* vp; ViewProviderDocumentObject* vpParent; diff --git a/src/Gui/TaskView/TaskAppearance.h b/src/Gui/TaskView/TaskAppearance.h index 992325c675..76da6e7da7 100644 --- a/src/Gui/TaskView/TaskAppearance.h +++ b/src/Gui/TaskView/TaskAppearance.h @@ -41,7 +41,7 @@ class ViewProvider; namespace TaskView { -using TaskAppearance_Connection = boost::signals2::connection; +using TaskAppearance_Connection = fastsignals::connection; class Ui_TaskAppearance; class TaskAppearance: public TaskBox, public Gui::SelectionSingleton::ObserverType diff --git a/src/Gui/TaskView/TaskSolverMessages.h b/src/Gui/TaskView/TaskSolverMessages.h index 816c209709..fe3a54105b 100644 --- a/src/Gui/TaskView/TaskSolverMessages.h +++ b/src/Gui/TaskView/TaskSolverMessages.h @@ -24,12 +24,12 @@ #ifndef GUI_TASKVIEW_TaskSolverMessages_H #define GUI_TASKVIEW_TaskSolverMessages_H -#include +#include #include class Ui_TaskSolverMessages; -using Connection = boost::signals2::connection; +using Connection = fastsignals::connection; namespace App { diff --git a/src/Gui/TaskView/TaskView.h b/src/Gui/TaskView/TaskView.h index 43767b258b..5b3e540e79 100644 --- a/src/Gui/TaskView/TaskView.h +++ b/src/Gui/TaskView/TaskView.h @@ -51,7 +51,7 @@ class ComboView; namespace TaskView { -using Connection = boost::signals2::connection; +using Connection = fastsignals::connection; class TaskEditControl; class TaskDialog; diff --git a/src/Gui/TextDocumentEditorView.cpp b/src/Gui/TextDocumentEditorView.cpp index d0799c318d..115be72e9c 100644 --- a/src/Gui/TextDocumentEditorView.cpp +++ b/src/Gui/TextDocumentEditorView.cpp @@ -125,7 +125,7 @@ void TextDocumentEditorView::refresh() void TextDocumentEditorView::saveToObject() { - boost::signals2::shared_connection_block textBlock {textConnection}; + fastsignals::shared_connection_block textBlock {textConnection}; textDocument->Text.setValue(getEditor()->document()->toPlainText().toUtf8()); textDocument->purgeTouched(); } diff --git a/src/Gui/TextDocumentEditorView.h b/src/Gui/TextDocumentEditorView.h index 5a8bbb097a..1bf6342463 100644 --- a/src/Gui/TextDocumentEditorView.h +++ b/src/Gui/TextDocumentEditorView.h @@ -75,8 +75,8 @@ private: private: QPlainTextEdit* const editor; App::TextDocument* const textDocument; - boost::signals2::connection textConnection; - boost::signals2::connection labelConnection; + fastsignals::advanced_connection textConnection; + fastsignals::connection labelConnection; bool aboutToClose = false; }; diff --git a/src/Gui/ToolBarAreaWidget.cpp b/src/Gui/ToolBarAreaWidget.cpp index 335e010369..88449ed58b 100644 --- a/src/Gui/ToolBarAreaWidget.cpp +++ b/src/Gui/ToolBarAreaWidget.cpp @@ -35,7 +35,7 @@ ToolBarAreaWidget::ToolBarAreaWidget( QWidget* parent, ToolBarArea area, const ParameterGrp::handle& hParam, - boost::signals2::scoped_connection& conn, + fastsignals::advanced_scoped_connection& conn, QTimer* timer ) : QWidget(parent) diff --git a/src/Gui/ToolBarAreaWidget.h b/src/Gui/ToolBarAreaWidget.h index 0f80cbb0eb..fd543a186e 100644 --- a/src/Gui/ToolBarAreaWidget.h +++ b/src/Gui/ToolBarAreaWidget.h @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include namespace Gui @@ -56,7 +56,7 @@ public: QWidget* parent, ToolBarArea area, const ParameterGrp::handle& hParam, - boost::signals2::scoped_connection& conn, + fastsignals::advanced_scoped_connection& conn, QTimer* timer = nullptr ); @@ -110,7 +110,7 @@ private: QHBoxLayout* _layout; QPointer _sizingTimer; ParameterGrp::handle _hParam; - boost::signals2::scoped_connection& _conn; + fastsignals::advanced_scoped_connection& _conn; ToolBarArea _area; }; diff --git a/src/Gui/ToolBarManager.cpp b/src/Gui/ToolBarManager.cpp index c5e588a832..2454735bfb 100644 --- a/src/Gui/ToolBarManager.cpp +++ b/src/Gui/ToolBarManager.cpp @@ -503,7 +503,8 @@ void ToolBarManager::setupConnection() timer.start(100); } } - } + }, + fastsignals::advanced_tag() ); } diff --git a/src/Gui/ToolBarManager.h b/src/Gui/ToolBarManager.h index 08587acdb0..f000b4e310 100644 --- a/src/Gui/ToolBarManager.h +++ b/src/Gui/ToolBarManager.h @@ -25,7 +25,7 @@ #define GUI_TOOLBARMANAGER_H #include -#include +#include #include #include @@ -226,7 +226,7 @@ private: QTimer menuBarTimer; QTimer sizeTimer; QTimer resizeTimer; - boost::signals2::scoped_connection connParam; + fastsignals::advanced_scoped_connection connParam; ToolBarAreaWidget* statusBarAreaWidget = nullptr; ToolBarAreaWidget* menuBarLeftAreaWidget = nullptr; ToolBarAreaWidget* menuBarRightAreaWidget = nullptr; diff --git a/src/Gui/Tree.cpp b/src/Gui/Tree.cpp index ccfd464ec9..3dbb7af680 100644 --- a/src/Gui/Tree.cpp +++ b/src/Gui/Tree.cpp @@ -251,7 +251,7 @@ public: std::string label2; std::string internalName; - using Connection = boost::signals2::scoped_connection; + using Connection = fastsignals::scoped_connection; Connection connectIcon; Connection connectTool; diff --git a/src/Gui/Tree.h b/src/Gui/Tree.h index 741adf7768..247f039b71 100644 --- a/src/Gui/Tree.h +++ b/src/Gui/Tree.h @@ -300,7 +300,7 @@ private: friend class TreeParams; friend class TreeWidgetItemDelegate; - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectNewDocument; Connection connectDelDocument; Connection connectRenDocument; @@ -430,7 +430,7 @@ private: ExpandInfoPtr _ExpandInfo; void restoreItemExpansion(const ExpandInfoPtr&, DocumentObjectItem*); - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectNewObject; Connection connectDelObject; Connection connectChgObject; @@ -531,7 +531,7 @@ private: DocumentItem* myOwner; DocumentObjectDataPtr myData; std::vector mySubs; - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; int previousStatus; int selected; bool populated; diff --git a/src/Gui/View3DSettings.h b/src/Gui/View3DSettings.h index ccef176218..d9e563fc23 100644 --- a/src/Gui/View3DSettings.h +++ b/src/Gui/View3DSettings.h @@ -72,7 +72,7 @@ private: void parameterChanged(ParameterGrp::MessageType pName); ParameterGrp::handle hGrp; View3DInventorViewer* _viewer; - boost::signals2::connection connectParameterChanged; + fastsignals::connection connectParameterChanged; }; } // namespace Gui diff --git a/src/Gui/ViewProvider.h b/src/Gui/ViewProvider.h index d431cd3932..1adc5e8b70 100644 --- a/src/Gui/ViewProvider.h +++ b/src/Gui/ViewProvider.h @@ -28,7 +28,7 @@ #include #include #include -#include +#include #include #include @@ -449,13 +449,13 @@ public: /** @name Signals of the view provider */ //@{ /// signal on icon change - boost::signals2::signal signalChangeIcon; + fastsignals::signal signalChangeIcon; /// signal on tooltip change - boost::signals2::signal signalChangeToolTip; + fastsignals::signal signalChangeToolTip; /// signal on status tip change - boost::signals2::signal signalChangeStatusTip; + fastsignals::signal signalChangeStatusTip; /// signal on highlight change - boost::signals2::signal signalChangeHighlight; + fastsignals::signal signalChangeHighlight; //@} /** update the content of the ViewProvider diff --git a/src/Gui/ViewProviderLink.cpp b/src/Gui/ViewProviderLink.cpp index e4bd027484..bea63d40df 100644 --- a/src/Gui/ViewProviderLink.cpp +++ b/src/Gui/ViewProviderLink.cpp @@ -121,7 +121,7 @@ class Gui::LinkInfo public: std::atomic ref; - using Connection = boost::signals2::scoped_connection; + using Connection = fastsignals::scoped_connection; Connection connChangeIcon; ViewProviderDocumentObject* pcLinked; diff --git a/src/Gui/Window.h b/src/Gui/Window.h index c19be52479..c73f696f6c 100644 --- a/src/Gui/Window.h +++ b/src/Gui/Window.h @@ -55,7 +55,7 @@ protected: private: ParameterGrp::handle _handle; - boost::signals2::connection connParamChanged; + fastsignals::connection connParamChanged; }; diff --git a/src/Mod/Assembly/App/AssemblyObject.h b/src/Mod/Assembly/App/AssemblyObject.h index 56e197fdcd..29ab5d4c58 100644 --- a/src/Mod/Assembly/App/AssemblyObject.h +++ b/src/Mod/Assembly/App/AssemblyObject.h @@ -256,7 +256,7 @@ public: { return lastMalformedConstraints; } - boost::signals2::signal signalSolverUpdate; + fastsignals::signal signalSolverUpdate; private: std::shared_ptr mbdAssembly; diff --git a/src/Mod/Assembly/Gui/ViewProviderAssembly.cpp b/src/Mod/Assembly/Gui/ViewProviderAssembly.cpp index 7bec529a21..c87cf5622f 100644 --- a/src/Mod/Assembly/Gui/ViewProviderAssembly.cpp +++ b/src/Mod/Assembly/Gui/ViewProviderAssembly.cpp @@ -300,9 +300,9 @@ bool ViewProviderAssembly::setEdit(int mode) } auto* assembly = getObject(); - connectSolverUpdate = assembly->signalSolverUpdate.connect( - boost::bind(&ViewProviderAssembly::UpdateSolverInformation, this) - ); + connectSolverUpdate = assembly->signalSolverUpdate.connect([this] { + UpdateSolverInformation(); + }); return true; } diff --git a/src/Mod/Assembly/Gui/ViewProviderAssembly.h b/src/Mod/Assembly/Gui/ViewProviderAssembly.h index e551a8e8a0..189eb6c186 100644 --- a/src/Mod/Assembly/Gui/ViewProviderAssembly.h +++ b/src/Mod/Assembly/Gui/ViewProviderAssembly.h @@ -25,7 +25,7 @@ #define ASSEMBLYGUI_VIEWPROVIDER_ViewProviderAssembly_H #include -#include +#include #include @@ -247,7 +247,7 @@ public: SoFieldSensor* translationSensor = nullptr; SoFieldSensor* rotationSensor = nullptr; - boost::signals2::signal< + fastsignals::signal< void(const QString& state, const QString& msg, const QString& url, const QString& linkText)> signalSetUp; @@ -284,8 +284,8 @@ private: std::set& visited ); - boost::signals2::connection connectSolverUpdate; - boost::signals2::scoped_connection m_preTransactionConn; + fastsignals::connection connectSolverUpdate; + fastsignals::scoped_connection m_preTransactionConn; }; } // namespace AssemblyGui diff --git a/src/Mod/Fem/App/FemConstraint.h b/src/Mod/Fem/App/FemConstraint.h index fcc6370468..1c440f3e1c 100644 --- a/src/Mod/Fem/App/FemConstraint.h +++ b/src/Mod/Fem/App/FemConstraint.h @@ -231,7 +231,7 @@ private: double sizeFactor; void slotChangedObject(const App::DocumentObject& Obj, const App::Property& Prop); - boost::signals2::connection connDocChangedObject; + fastsignals::connection connDocChangedObject; }; using ConstraintPython = App::FeaturePythonT; diff --git a/src/Mod/Fem/Gui/TaskPostBoxes.h b/src/Mod/Fem/Gui/TaskPostBoxes.h index 996afb6c38..ec84ed0f21 100644 --- a/src/Mod/Fem/Gui/TaskPostBoxes.h +++ b/src/Mod/Fem/Gui/TaskPostBoxes.h @@ -204,7 +204,7 @@ private: QPixmap m_icon; App::DocumentObjectWeakPtrT m_object; Gui::ViewProviderWeakPtrT m_view; - boost::signals2::connection m_connection; + fastsignals::connection m_connection; }; diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostFunction.h b/src/Mod/Fem/Gui/ViewProviderFemPostFunction.h index f786684cf3..c9e6ce015d 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostFunction.h +++ b/src/Mod/Fem/Gui/ViewProviderFemPostFunction.h @@ -25,7 +25,7 @@ #include #include -#include +#include #include #include @@ -90,7 +90,7 @@ private: bool m_block {false}; ViewProviderFemPostFunction* m_view {nullptr}; Fem::FemPostFunction* m_object {nullptr}; - boost::signals2::scoped_connection m_connection; + fastsignals::scoped_connection m_connection; }; class FemGuiExport ViewProviderFemPostFunctionProvider: public Gui::ViewProviderDocumentObjectGroup diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp b/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp index 773145594f..fb4fffb409 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp @@ -139,7 +139,7 @@ public: private: std::set views; - using Connection = boost::signals2::scoped_connection; + using Connection = fastsignals::scoped_connection; Connection connectSelection; }; diff --git a/src/Mod/Material/Gui/DlgDisplayPropertiesImp.cpp b/src/Mod/Material/Gui/DlgDisplayPropertiesImp.cpp index a2e0f333b6..713e2b6a7d 100644 --- a/src/Mod/Material/Gui/DlgDisplayPropertiesImp.cpp +++ b/src/Mod/Material/Gui/DlgDisplayPropertiesImp.cpp @@ -24,7 +24,7 @@ #include #include -#include +#include #include #include @@ -50,7 +50,7 @@ namespace sp = std::placeholders; class DlgDisplayPropertiesImp::Private { - using DlgDisplayPropertiesImp_Connection = boost::signals2::connection; + using DlgDisplayPropertiesImp_Connection = fastsignals::connection; public: Ui::DlgDisplayProperties ui; diff --git a/src/Mod/Material/Gui/DlgMaterialImp.cpp b/src/Mod/Material/Gui/DlgMaterialImp.cpp index d46f804548..addda3b4b9 100644 --- a/src/Mod/Material/Gui/DlgMaterialImp.cpp +++ b/src/Mod/Material/Gui/DlgMaterialImp.cpp @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include #include @@ -58,7 +58,7 @@ namespace sp = std::placeholders; class DlgMaterialImp::Private { - using DlgMaterialImp_Connection = boost::signals2::connection; + using DlgMaterialImp_Connection = fastsignals::connection; public: Ui::DlgMaterial ui; diff --git a/src/Mod/Measure/App/MeasureBase.h b/src/Mod/Measure/App/MeasureBase.h index f9eae63d3e..b1314e5fec 100644 --- a/src/Mod/Measure/App/MeasureBase.h +++ b/src/Mod/Measure/App/MeasureBase.h @@ -58,7 +58,7 @@ public: App::PropertyPlacement Placement; - // boost::signals2::signal signalGuiInit; + // fastsignals::signal signalGuiInit; // return PyObject as MeasureBasePy PyObject* getPyObject() override; diff --git a/src/Mod/Measure/Gui/TaskMeasure.h b/src/Mod/Measure/Gui/TaskMeasure.h index 0ad2be45ce..48dc6677d9 100644 --- a/src/Mod/Measure/Gui/TaskMeasure.h +++ b/src/Mod/Measure/Gui/TaskMeasure.h @@ -43,7 +43,7 @@ #include #include -#include +#include namespace MeasureGui { @@ -90,7 +90,7 @@ private: QAction* newMeasurementBehaviourAction {nullptr}; QToolButton* mSettings {nullptr}; - boost::signals2::connection m_deletedConnection; + fastsignals::connection m_deletedConnection; void removeObject(); void onModeChanged(int index); diff --git a/src/Mod/Measure/Gui/ViewProviderMeasureBase.h b/src/Mod/Measure/Gui/ViewProviderMeasureBase.h index 5af5372d0c..d836e58af8 100644 --- a/src/Mod/Measure/Gui/ViewProviderMeasureBase.h +++ b/src/Mod/Measure/Gui/ViewProviderMeasureBase.h @@ -168,7 +168,7 @@ protected: SoSeparator* pLineSeparatorSecondary; private: - boost::signals2::connection _mVisibilityChangedConnection; + fastsignals::connection _mVisibilityChangedConnection; }; diff --git a/src/Mod/Mesh/Gui/MeshEditor.h b/src/Mod/Mesh/Gui/MeshEditor.h index 26959f647a..b6ae51d793 100644 --- a/src/Mod/Mesh/Gui/MeshEditor.h +++ b/src/Mod/Mesh/Gui/MeshEditor.h @@ -161,7 +161,7 @@ private Q_SLOTS: private: using TBoundary = std::vector; - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; static void fileHoleCallback(void* ud, SoEventCallback* n); void createPolygons(); diff --git a/src/Mod/Part/App/OCAF/ImportExportSettings.h b/src/Mod/Part/App/OCAF/ImportExportSettings.h index 494b313d21..f88a31ac3e 100644 --- a/src/Mod/Part/App/OCAF/ImportExportSettings.h +++ b/src/Mod/Part/App/OCAF/ImportExportSettings.h @@ -25,6 +25,7 @@ #ifndef PART_OCAF_IMPORTEXPORTSETTINGS_H #define PART_OCAF_IMPORTEXPORTSETTINGS_H +#include #include #include #include diff --git a/src/Mod/Part/App/PropertyTopoShape.h b/src/Mod/Part/App/PropertyTopoShape.h index b84649e489..92638bc1b9 100644 --- a/src/Mod/Part/App/PropertyTopoShape.h +++ b/src/Mod/Part/App/PropertyTopoShape.h @@ -310,7 +310,7 @@ private: private: std::unordered_map cache; - boost::signals2::scoped_connection connChanged; + fastsignals::scoped_connection connChanged; }; } // namespace Part diff --git a/src/Mod/Part/Gui/DlgBooleanOperation.h b/src/Mod/Part/Gui/DlgBooleanOperation.h index cbfe830844..0b43c70c18 100644 --- a/src/Mod/Part/Gui/DlgBooleanOperation.h +++ b/src/Mod/Part/Gui/DlgBooleanOperation.h @@ -39,7 +39,7 @@ class Property; namespace PartGui { -using Connection = boost::signals2::connection; +using Connection = fastsignals::connection; class Ui_DlgBooleanOperation; class DlgBooleanOperation: public QWidget { diff --git a/src/Mod/Part/Gui/DlgFilletEdges.cpp b/src/Mod/Part/Gui/DlgFilletEdges.cpp index 0f73d5a434..2f5016a04e 100644 --- a/src/Mod/Part/Gui/DlgFilletEdges.cpp +++ b/src/Mod/Part/Gui/DlgFilletEdges.cpp @@ -220,7 +220,7 @@ public: std::vector edge_ids; TopTools_IndexedMapOfShape all_edges; TopTools_IndexedMapOfShape all_faces; - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectApplicationDeletedObject; Connection connectApplicationDeletedDocument; diff --git a/src/Mod/Part/Gui/TaskAttacher.h b/src/Mod/Part/Gui/TaskAttacher.h index 849d454581..e15914c303 100644 --- a/src/Mod/Part/Gui/TaskAttacher.h +++ b/src/Mod/Part/Gui/TaskAttacher.h @@ -174,7 +174,7 @@ private: Attacher::SuggestResult lastSuggestResult; bool completed; - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectDelObject; Connection connectDelDocument; diff --git a/src/Mod/Part/Gui/TaskFaceAppearances.cpp b/src/Mod/Part/Gui/TaskFaceAppearances.cpp index 1fb6e33f75..4f43ff8162 100644 --- a/src/Mod/Part/Gui/TaskFaceAppearances.cpp +++ b/src/Mod/Part/Gui/TaskFaceAppearances.cpp @@ -95,7 +95,7 @@ public: class FaceAppearances::Private { public: - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Ui_TaskFaceAppearances* ui; QPointer view; ViewProviderPartExt* vp; diff --git a/src/Mod/PartDesign/App/Body.h b/src/Mod/PartDesign/App/Body.h index 0540bf4f89..06464d13c9 100644 --- a/src/Mod/PartDesign/App/Body.h +++ b/src/Mod/PartDesign/App/Body.h @@ -161,7 +161,7 @@ protected: void onDocumentRestored() override; private: - boost::signals2::scoped_connection connection; + fastsignals::scoped_connection connection; bool showTip = false; }; diff --git a/src/Mod/PartDesign/App/ShapeBinder.h b/src/Mod/PartDesign/App/ShapeBinder.h index 9bfa21a439..b4d6b0572b 100644 --- a/src/Mod/PartDesign/App/ShapeBinder.h +++ b/src/Mod/PartDesign/App/ShapeBinder.h @@ -81,7 +81,7 @@ private: void slotChangedObject(const App::DocumentObject& Obj, const App::Property& Prop); void onSettingDocument() override; - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectDocumentChangedObject; }; @@ -168,7 +168,7 @@ protected: void slotRecomputedObject(const App::DocumentObject& Obj); - using Connection = boost::signals2::scoped_connection; + using Connection = fastsignals::scoped_connection; Connection connRecomputedObj; App::Document* contextDoc = nullptr; diff --git a/src/Mod/PartDesign/Gui/TaskHoleParameters.h b/src/Mod/PartDesign/Gui/TaskHoleParameters.h index cf1b4183cc..9e47998580 100644 --- a/src/Mod/PartDesign/Gui/TaskHoleParameters.h +++ b/src/Mod/PartDesign/Gui/TaskHoleParameters.h @@ -144,7 +144,7 @@ private: void updateHoleTypeCombo(); private: - using Connection = boost::signals2::scoped_connection; + using Connection = fastsignals::scoped_connection; Connection connectPropChanged; std::unique_ptr observer; diff --git a/src/Mod/PartDesign/Gui/TaskTransformedMessages.h b/src/Mod/PartDesign/Gui/TaskTransformedMessages.h index 4319be79c5..c662c5b04f 100644 --- a/src/Mod/PartDesign/Gui/TaskTransformedMessages.h +++ b/src/Mod/PartDesign/Gui/TaskTransformedMessages.h @@ -27,7 +27,7 @@ #include class Ui_TaskTransformedMessages; -using Connection = boost::signals2::connection; +using Connection = fastsignals::connection; namespace App { diff --git a/src/Mod/PartDesign/Gui/ViewProviderTransformed.h b/src/Mod/PartDesign/Gui/ViewProviderTransformed.h index a9923eeec7..cd911beec6 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderTransformed.h +++ b/src/Mod/PartDesign/Gui/ViewProviderTransformed.h @@ -54,7 +54,7 @@ public: void setupContextMenu(QMenu*, QObject*, const char*) override; /// signals if the transformation contains errors - boost::signals2::signal signalDiagnosis; + fastsignals::signal signalDiagnosis; // Name of menu dialog QString menuName; diff --git a/src/Mod/PartDesign/Gui/WorkflowManager.h b/src/Mod/PartDesign/Gui/WorkflowManager.h index 7a74a9bb1e..a9eb42d66d 100644 --- a/src/Mod/PartDesign/Gui/WorkflowManager.h +++ b/src/Mod/PartDesign/Gui/WorkflowManager.h @@ -100,9 +100,9 @@ private: private: std::map dwMap; - boost::signals2::connection connectNewDocument; - boost::signals2::connection connectFinishRestoreDocument; - boost::signals2::connection connectDeleteDocument; + fastsignals::connection connectNewDocument; + fastsignals::connection connectFinishRestoreDocument; + fastsignals::connection connectDeleteDocument; static WorkflowManager* _instance; }; diff --git a/src/Mod/Sketcher/App/PropertyConstraintList.h b/src/Mod/Sketcher/App/PropertyConstraintList.h index d6e83f5238..c561b11857 100644 --- a/src/Mod/Sketcher/App/PropertyConstraintList.h +++ b/src/Mod/Sketcher/App/PropertyConstraintList.h @@ -29,7 +29,7 @@ #include #include -#include +#include #include #include @@ -152,9 +152,9 @@ public: using ConstraintInfo = std::pair; - boost::signals2::signal&)> + fastsignals::signal&)> signalConstraintsRenamed; - boost::signals2::signal&)> signalConstraintsRemoved; + fastsignals::signal&)> signalConstraintsRemoved; static std::string getConstraintName(const std::string& name, int i); diff --git a/src/Mod/Sketcher/App/SketchObject.h b/src/Mod/Sketcher/App/SketchObject.h index 5fe64f2f99..b868ab5131 100644 --- a/src/Mod/Sketcher/App/SketchObject.h +++ b/src/Mod/Sketcher/App/SketchObject.h @@ -971,8 +971,8 @@ public: std::vector getOpenVertices() const; // Signaled when solver has done update - boost::signals2::signal signalSolverUpdate; - boost::signals2::signal signalElementsChanged; + fastsignals::signal signalSolverUpdate; + fastsignals::signal signalElementsChanged; Part::TopoShape buildInternals(const Part::TopoShape& edges) const; @@ -1161,8 +1161,8 @@ private: std::vector lastPartiallyRedundant; std::vector lastMalformedConstraints; - boost::signals2::scoped_connection constraintsRenamedConn; - boost::signals2::scoped_connection constraintsRemovedConn; + fastsignals::scoped_connection constraintsRenamedConn; + fastsignals::scoped_connection constraintsRemovedConn; bool AutoLockTangencyAndPerpty(Constraint* cstr, bool bForce = false, bool bLock = true); diff --git a/src/Mod/Sketcher/Gui/DrawSketchDefaultWidgetController.h b/src/Mod/Sketcher/Gui/DrawSketchDefaultWidgetController.h index 0b40a01e19..be54124263 100644 --- a/src/Mod/Sketcher/Gui/DrawSketchDefaultWidgetController.h +++ b/src/Mod/Sketcher/Gui/DrawSketchDefaultWidgetController.h @@ -95,7 +95,7 @@ private: SketcherToolDefaultWidget* toolWidget; - using Connection = boost::signals2::connection; + using Connection = fastsignals::advanced_connection; Connection connectionParameterTabOrEnterPressed; Connection connectionParameterValueChanged; @@ -378,12 +378,12 @@ private: /// Resets the widget void resetDefaultWidget() { - boost::signals2::shared_connection_block parameter_focus_block( + fastsignals::shared_connection_block parameter_focus_block( connectionParameterTabOrEnterPressed ); - boost::signals2::shared_connection_block parameter_block(connectionParameterValueChanged); - boost::signals2::shared_connection_block checkbox_block(connectionCheckboxCheckedChanged); - boost::signals2::shared_connection_block combobox_block(connectionComboboxSelectionChanged); + fastsignals::shared_connection_block parameter_block(connectionParameterValueChanged); + fastsignals::shared_connection_block checkbox_block(connectionCheckboxCheckedChanged); + fastsignals::shared_connection_block combobox_block(connectionComboboxSelectionChanged); nParameter = WidgetParametersT::size(handler->constructionMethod()); nCheckbox = WidgetCheckboxesT::size(handler->constructionMethod()); @@ -403,9 +403,7 @@ private: if (currentindex != methodint) { // avoid triggering of method change - boost::signals2::shared_connection_block combobox_block( - connectionComboboxSelectionChanged - ); + fastsignals::shared_connection_block combobox_block(connectionComboboxSelectionChanged); toolWidget->setComboboxIndex(WCombobox::FirstCombo, methodint); } } @@ -454,9 +452,7 @@ private: auto actualconstructionmethod = static_cast(handler->constructionMethod()); if (constructionmethod != actualconstructionmethod) { - boost::signals2::shared_connection_block combobox_block( - connectionComboboxSelectionChanged - ); + fastsignals::shared_connection_block combobox_block(connectionComboboxSelectionChanged); toolWidget->setComboboxIndex(WCombobox::FirstCombo, actualconstructionmethod); } } diff --git a/src/Mod/Sketcher/Gui/SketcherToolDefaultWidget.h b/src/Mod/Sketcher/Gui/SketcherToolDefaultWidget.h index 0ef065cf02..472943b348 100644 --- a/src/Mod/Sketcher/Gui/SketcherToolDefaultWidget.h +++ b/src/Mod/Sketcher/Gui/SketcherToolDefaultWidget.h @@ -30,7 +30,7 @@ #include #include #include -#include +#include class QComboBox; @@ -156,27 +156,30 @@ public: void restoreComboboxPref(int comboboxindex); template - boost::signals2::connection registerParameterTabOrEnterPressed(F&& fn) + fastsignals::advanced_connection registerParameterTabOrEnterPressed(F&& fn) { - return signalParameterTabOrEnterPressed.connect(std::forward(fn)); + return signalParameterTabOrEnterPressed.connect( + std::forward(fn), + fastsignals::advanced_tag() + ); } template - boost::signals2::connection registerParameterValueChanged(F&& fn) + fastsignals::advanced_connection registerParameterValueChanged(F&& fn) { - return signalParameterValueChanged.connect(std::forward(fn)); + return signalParameterValueChanged.connect(std::forward(fn), fastsignals::advanced_tag()); } template - boost::signals2::connection registerCheckboxCheckedChanged(F&& fn) + fastsignals::advanced_connection registerCheckboxCheckedChanged(F&& fn) { - return signalCheckboxCheckedChanged.connect(std::forward(fn)); + return signalCheckboxCheckedChanged.connect(std::forward(fn), fastsignals::advanced_tag()); } template - boost::signals2::connection registerComboboxSelectionChanged(F&& fn) + fastsignals::advanced_connection registerComboboxSelectionChanged(F&& fn) { - return signalComboboxSelectionChanged.connect(std::forward(fn)); + return signalComboboxSelectionChanged.connect(std::forward(fn), fastsignals::advanced_tag()); } @@ -218,10 +221,10 @@ private: private: std::unique_ptr ui; - boost::signals2::signal signalParameterTabOrEnterPressed; - boost::signals2::signal signalParameterValueChanged; - boost::signals2::signal signalCheckboxCheckedChanged; - boost::signals2::signal signalComboboxSelectionChanged; + fastsignals::signal signalParameterTabOrEnterPressed; + fastsignals::signal signalParameterValueChanged; + fastsignals::signal signalCheckboxCheckedChanged; + fastsignals::signal signalComboboxSelectionChanged; /// lock to block QT slots bool blockParameterSlots; diff --git a/src/Mod/Sketcher/Gui/TaskDlgEditSketch.h b/src/Mod/Sketcher/Gui/TaskDlgEditSketch.h index d2078f60eb..c2d928a123 100644 --- a/src/Mod/Sketcher/Gui/TaskDlgEditSketch.h +++ b/src/Mod/Sketcher/Gui/TaskDlgEditSketch.h @@ -25,7 +25,7 @@ #ifndef SKETCHERGUI_TaskDlgEditSketch_H #define SKETCHERGUI_TaskDlgEditSketch_H -#include +#include #include @@ -37,7 +37,7 @@ #include "ViewProviderSketch.h" -using Connection = boost::signals2::connection; +using Connection = fastsignals::connection; namespace SketcherGui { @@ -75,7 +75,7 @@ public: /** @brief Function used to register a slot to be triggered when the tool widget is changed. */ template - boost::signals2::connection registerToolWidgetChanged(F&& f) + fastsignals::connection registerToolWidgetChanged(F&& f) { return ToolSettings->registerToolWidgetChanged(std::forward(f)); } diff --git a/src/Mod/Sketcher/Gui/TaskSketcherConstraints.cpp b/src/Mod/Sketcher/Gui/TaskSketcherConstraints.cpp index e3da95d75a..caa6c178c6 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherConstraints.cpp +++ b/src/Mod/Sketcher/Gui/TaskSketcherConstraints.cpp @@ -982,7 +982,7 @@ TaskSketcherConstraints::TaskSketcherConstraints(ViewProviderSketch* sketchView) //NOLINTBEGIN Gui::Application* app = Gui::Application::Instance; changedSketchView = app->signalChangedObject.connect( - std::bind(&TaskSketcherConstraints::onChangedSketchView, this, sp::_1, sp::_2)); + std::bind(&TaskSketcherConstraints::onChangedSketchView, this, sp::_1, sp::_2), fastsignals::advanced_tag()); //NOLINTEND updateList(); diff --git a/src/Mod/Sketcher/Gui/TaskSketcherConstraints.h b/src/Mod/Sketcher/Gui/TaskSketcherConstraints.h index 5670d50d42..64d5ca6318 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherConstraints.h +++ b/src/Mod/Sketcher/Gui/TaskSketcherConstraints.h @@ -200,7 +200,7 @@ public: protected: void changeEvent(QEvent* e) override; ViewProviderSketch* sketchView; - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectionConstraintsChanged; private: @@ -221,7 +221,7 @@ private: // constraints associated with the // selected geometry ConstraintFilterList* filterList; - boost::signals2::scoped_connection changedSketchView; + fastsignals::advanced_scoped_connection changedSketchView; // Buffering structures std::unordered_map constraintMap; diff --git a/src/Mod/Sketcher/Gui/TaskSketcherElements.h b/src/Mod/Sketcher/Gui/TaskSketcherElements.h index 131be1b48c..e94c8db839 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherElements.h +++ b/src/Mod/Sketcher/Gui/TaskSketcherElements.h @@ -29,7 +29,7 @@ #include #include -#include +#include #include #include @@ -152,7 +152,7 @@ protected: void changeEvent(QEvent* e) override; void leaveEvent(QEvent* event) override; ViewProviderSketch* sketchView; - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectionElementsChanged; private: diff --git a/src/Mod/Sketcher/Gui/TaskSketcherTool.h b/src/Mod/Sketcher/Gui/TaskSketcherTool.h index f4b5c1a7bc..edca94e71d 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherTool.h +++ b/src/Mod/Sketcher/Gui/TaskSketcherTool.h @@ -29,7 +29,7 @@ #include #include #include -#include +#include namespace App { @@ -63,7 +63,7 @@ public: void toolChanged(const std::string& toolname); template - boost::signals2::connection registerToolWidgetChanged(F&& f) + fastsignals::connection registerToolWidgetChanged(F&& f) { return signalToolWidgetChanged.connect(std::forward(f)); } @@ -71,9 +71,9 @@ public: private: ViewProviderSketch* sketchView; std::unique_ptr widget; - boost::signals2::scoped_connection changedSketchView; + fastsignals::scoped_connection changedSketchView; - boost::signals2::signal signalToolWidgetChanged; + fastsignals::signal signalToolWidgetChanged; }; } // namespace SketcherGui diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketch.h b/src/Mod/Sketcher/Gui/ViewProviderSketch.h index df8f93d033..5c8fb81387 100644 --- a/src/Mod/Sketcher/Gui/ViewProviderSketch.h +++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.h @@ -29,7 +29,7 @@ #include #include #include -#include +#include #include #include @@ -704,19 +704,19 @@ public: /** @name Signals for controlling information in Task dialogs */ //@{ /// signals if the constraints list has changed - boost::signals2::signal signalConstraintsChanged; + fastsignals::signal signalConstraintsChanged; /// signals if the sketch has been set up - boost::signals2::signal< + fastsignals::signal< void(const QString& state, const QString& msg, const QString& url, const QString& linkText)> signalSetUp; /// signals if the elements list has changed - boost::signals2::signal signalElementsChanged; + fastsignals::signal signalElementsChanged; //@} /** @name Register slot for signal */ //@{ template - boost::signals2::connection registerToolChanged(F&& f) + fastsignals::connection registerToolChanged(F&& f) { return signalToolChanged.connect(std::forward(f)); } @@ -863,7 +863,7 @@ private: /** @name signals*/ //@{ /// signals a tool change - boost::signals2::signal signalToolChanged; + fastsignals::signal signalToolChanged; //@} void slotToolWidgetChanged(QWidget* newwidget); @@ -969,9 +969,9 @@ private: //@} private: - boost::signals2::connection connectUndoDocument; - boost::signals2::connection connectRedoDocument; - boost::signals2::connection connectSolverUpdate; + fastsignals::connection connectUndoDocument; + fastsignals::connection connectRedoDocument; + fastsignals::connection connectSolverUpdate; QMetaObject::Connection screenChangeConnection; @@ -1005,7 +1005,7 @@ private: ViewProviderParameters viewProviderParameters; - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectionToolWidget; SoNodeSensor cameraSensor; diff --git a/src/Mod/Spreadsheet/App/PropertySheet.h b/src/Mod/Spreadsheet/App/PropertySheet.h index 403e63ce4e..eed815c477 100644 --- a/src/Mod/Spreadsheet/App/PropertySheet.h +++ b/src/Mod/Spreadsheet/App/PropertySheet.h @@ -353,7 +353,7 @@ private: /*! The associated python object */ Py::SmartPtr PythonObject; - std::map depConnections; + std::map depConnections; int updateCount = 0; bool restoring = false; diff --git a/src/Mod/Spreadsheet/App/Sheet.h b/src/Mod/Spreadsheet/App/Sheet.h index e4a788a752..6b347db8e7 100644 --- a/src/Mod/Spreadsheet/App/Sheet.h +++ b/src/Mod/Spreadsheet/App/Sheet.h @@ -231,15 +231,15 @@ public: // Signals - boost::signals2::signal cellUpdated; + fastsignals::signal cellUpdated; - boost::signals2::signal rangeUpdated; + fastsignals::signal rangeUpdated; - boost::signals2::signal cellSpanChanged; + fastsignals::signal cellSpanChanged; - boost::signals2::signal columnWidthChanged; + fastsignals::signal columnWidthChanged; - boost::signals2::signal rowHeightChanged; + fastsignals::signal rowHeightChanged; void renameObjectIdentifiers( const std::map& paths diff --git a/src/Mod/Spreadsheet/Gui/SheetModel.h b/src/Mod/Spreadsheet/Gui/SheetModel.h index fae115e69d..9defe58696 100644 --- a/src/Mod/Spreadsheet/Gui/SheetModel.h +++ b/src/Mod/Spreadsheet/Gui/SheetModel.h @@ -60,8 +60,8 @@ private: void cellUpdated(App::CellAddress address); void rangeUpdated(const App::Range& range); - boost::signals2::scoped_connection cellUpdatedConnection; - boost::signals2::scoped_connection rangeUpdatedConnection; + fastsignals::scoped_connection cellUpdatedConnection; + fastsignals::scoped_connection rangeUpdatedConnection; Spreadsheet::Sheet* sheet; QColor aliasBgColor; QColor textFgColor; diff --git a/src/Mod/Spreadsheet/Gui/SheetTableView.h b/src/Mod/Spreadsheet/Gui/SheetTableView.h index 063a24ae5c..07890b5a32 100644 --- a/src/Mod/Spreadsheet/Gui/SheetTableView.h +++ b/src/Mod/Spreadsheet/Gui/SheetTableView.h @@ -125,7 +125,7 @@ protected: QTimer timer; - boost::signals2::scoped_connection cellSpanChangedConnection; + fastsignals::scoped_connection cellSpanChangedConnection; std::set spanChanges; }; diff --git a/src/Mod/Spreadsheet/Gui/SpreadsheetView.h b/src/Mod/Spreadsheet/Gui/SpreadsheetView.h index 2870ed380e..6231733e6b 100644 --- a/src/Mod/Spreadsheet/Gui/SpreadsheetView.h +++ b/src/Mod/Spreadsheet/Gui/SpreadsheetView.h @@ -139,9 +139,9 @@ protected: Spreadsheet::Sheet* sheet; SpreadsheetDelegate* delegate; SheetModel* model; - boost::signals2::scoped_connection columnWidthChangedConnection; - boost::signals2::scoped_connection rowHeightChangedConnection; - boost::signals2::scoped_connection positionChangedConnection; + fastsignals::scoped_connection columnWidthChangedConnection; + fastsignals::scoped_connection rowHeightChangedConnection; + fastsignals::scoped_connection positionChangedConnection; std::map newColumnSizes; std::map newRowSizes; diff --git a/src/Mod/TechDraw/App/DrawPage.h b/src/Mod/TechDraw/App/DrawPage.h index 63811b455a..4971539853 100644 --- a/src/Mod/TechDraw/App/DrawPage.h +++ b/src/Mod/TechDraw/App/DrawPage.h @@ -23,7 +23,7 @@ #ifndef DrawPage_h_ #define DrawPage_h_ -#include +#include #include #include @@ -63,7 +63,7 @@ public: int addView(App::DocumentObject* docObj, bool setPosition = true); int removeView(App::DocumentObject* docObj); short mustExecute() const override; - boost::signals2::signal signalGuiPaint; + fastsignals::signal signalGuiPaint; /// returns the type name of the ViewProvider const char* getViewProviderName() const override { return "TechDrawGui::ViewProviderPage"; } diff --git a/src/Mod/TechDraw/App/DrawView.h b/src/Mod/TechDraw/App/DrawView.h index 5d84f45ce7..e3a4a32573 100644 --- a/src/Mod/TechDraw/App/DrawView.h +++ b/src/Mod/TechDraw/App/DrawView.h @@ -23,7 +23,7 @@ #ifndef DrawView_h_ #define DrawView_h_ -#include +#include #include #include @@ -101,8 +101,8 @@ public: virtual Base::Vector3d getPosition() const { return Base::Vector3d(X.getValue(), Y.getValue(), 0.0); } virtual bool keepUpdated(void); - boost::signals2::signal signalGuiPaint; - boost::signals2::signal signalProgressMessage; + fastsignals::signal signalGuiPaint; + fastsignals::signal signalProgressMessage; void requestPaint(void); void showProgressMessage(std::string featureName, std::string text); diff --git a/src/Mod/TechDraw/Gui/MDIViewPage.cpp b/src/Mod/TechDraw/Gui/MDIViewPage.cpp index 915f797e64..3738769b14 100644 --- a/src/Mod/TechDraw/Gui/MDIViewPage.cpp +++ b/src/Mod/TechDraw/Gui/MDIViewPage.cpp @@ -35,7 +35,7 @@ #include #include #include -#include +#include #include diff --git a/src/Mod/TechDraw/Gui/MDIViewPage.h b/src/Mod/TechDraw/Gui/MDIViewPage.h index 44f29775be..6e63fbf8ab 100644 --- a/src/Mod/TechDraw/Gui/MDIViewPage.h +++ b/src/Mod/TechDraw/Gui/MDIViewPage.h @@ -136,7 +136,7 @@ protected: void sceneSelectionManager(); private: - using Connection = boost::signals2::connection; + using Connection = fastsignals::connection; Connection connectDeletedObject; QAction *m_toggleFrameAction; diff --git a/src/Mod/TechDraw/Gui/QGIView.h b/src/Mod/TechDraw/Gui/QGIView.h index 85b750774f..1d49cd8d13 100644 --- a/src/Mod/TechDraw/Gui/QGIView.h +++ b/src/Mod/TechDraw/Gui/QGIView.h @@ -25,7 +25,7 @@ #include -#include +#include #include #include diff --git a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp index 53a944ed73..3fbf41ac0f 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp @@ -22,8 +22,8 @@ ***************************************************************************/ #include -#include -#include +#include +#include #include #include diff --git a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.h b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.h index 247fa61018..b682ea359c 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.h +++ b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.h @@ -26,7 +26,7 @@ #include -#include +#include #include #include @@ -89,7 +89,7 @@ public: void onProgressMessage(const TechDraw::DrawView* dv, const std::string featureName, const std::string text); - using Connection = boost::signals2::scoped_connection; + using Connection = fastsignals::scoped_connection; Connection connectGuiRepaint; Connection connectProgressMessage; diff --git a/src/Mod/TechDraw/Gui/ViewProviderPage.cpp b/src/Mod/TechDraw/Gui/ViewProviderPage.cpp index 2c981211f0..6fa169e3f3 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderPage.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderPage.cpp @@ -28,8 +28,8 @@ # include # include -# include -# include +#include +#include #include #include diff --git a/src/Mod/TechDraw/Gui/ViewProviderPage.h b/src/Mod/TechDraw/Gui/ViewProviderPage.h index 7ac3d6cc17..c04d70a86d 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderPage.h +++ b/src/Mod/TechDraw/Gui/ViewProviderPage.h @@ -27,7 +27,7 @@ #include #include -#include +#include #include #include @@ -110,7 +110,7 @@ public: void onGuiRepaint(const TechDraw::DrawPage* dp); // NOLINTBEGIN - using Connection = boost::signals2::scoped_connection; + using Connection = fastsignals::scoped_connection; Connection connectGuiRepaint; // NOLINTEND diff --git a/src/Tools/embedded/Qt/cxx/CMakeLists.txt b/src/Tools/embedded/Qt/cxx/CMakeLists.txt index ca3c914209..2815f26587 100644 --- a/src/Tools/embedded/Qt/cxx/CMakeLists.txt +++ b/src/Tools/embedded/Qt/cxx/CMakeLists.txt @@ -37,6 +37,7 @@ include_directories( include_directories( SYSTEM + ${FastSignals_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} #${COIN3D_INCLUDE_DIRS} ${PYCXX_INCLUDE_DIR} diff --git a/src/Tools/params_utils.py b/src/Tools/params_utils.py index 3a3b3ba3a3..c6b3cd22ff 100644 --- a/src/Tools/params_utils.py +++ b/src/Tools/params_utils.py @@ -82,7 +82,7 @@ def declare_begin(module, header=True): f""" {trace_comment()} #include -{"#include " if signal else ""} +{"#include " if signal else ""} """ ) @@ -128,7 +128,7 @@ public: if signal: cog.out( f""" - static boost::signals2::signal &signalParamChanged(); + static fastsignals::signal &signalParamChanged(); static void signalAll(); """ ) @@ -218,7 +218,7 @@ public: cog.out( f""" {trace_comment()} - boost::signals2::signal signalParamChanged; + fastsignals::signal signalParamChanged; void signalAll() {{""" ) @@ -330,7 +330,7 @@ ParameterGrp::handle {class_name}::getHandle() {{ cog.out( f""" {trace_comment()} -boost::signals2::signal & +fastsignals::signal & {class_name}::signalParamChanged() {{ return instance()->signalParamChanged; }} @@ -1197,7 +1197,7 @@ class Property: ) cog.out( f""" - if (auto prop = freecad_cast<{self.type_name}*>( + if (auto prop = Base::freecad_dynamic_cast<{self.type_name}>( obj->getPropertyByName("{self.name}"))) {{ if (prop->getContainer() == obj)