Base: Remove Boost-based signals and switch to FastSignals.

This commit is contained in:
tritao
2026-01-07 15:24:48 +00:00
parent 4ed69332c5
commit 69058376e6
123 changed files with 385 additions and 380 deletions

View File

@@ -29,7 +29,7 @@
#include <vector>
#include <boost/unordered/unordered_map.hpp>
#include <boost/signals2.hpp>
#include <fastsignals/signal.h>
#include <App/Property.h>
#include <Mod/Part/App/Geometry.h>
@@ -152,9 +152,9 @@ public:
using ConstraintInfo = std::pair<int, const Constraint*>;
boost::signals2::signal<void(const std::map<App::ObjectIdentifier, App::ObjectIdentifier>&)>
fastsignals::signal<void(const std::map<App::ObjectIdentifier, App::ObjectIdentifier>&)>
signalConstraintsRenamed;
boost::signals2::signal<void(const std::set<App::ObjectIdentifier>&)> signalConstraintsRemoved;
fastsignals::signal<void(const std::set<App::ObjectIdentifier>&)> signalConstraintsRemoved;
static std::string getConstraintName(const std::string& name, int i);

View File

@@ -971,8 +971,8 @@ public:
std::vector<Base::Vector3d> getOpenVertices() const;
// Signaled when solver has done update
boost::signals2::signal<void()> signalSolverUpdate;
boost::signals2::signal<void()> signalElementsChanged;
fastsignals::signal<void()> signalSolverUpdate;
fastsignals::signal<void()> signalElementsChanged;
Part::TopoShape buildInternals(const Part::TopoShape& edges) const;
@@ -1161,8 +1161,8 @@ private:
std::vector<int> lastPartiallyRedundant;
std::vector<int> 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);

View File

@@ -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<int>(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);
}
}

View File

@@ -30,7 +30,7 @@
#include <Gui/TaskView/TaskView.h>
#include <Gui/TaskView/TaskDialog.h>
#include <Gui/Selection/Selection.h>
#include <boost/signals2.hpp>
#include <fastsignals/signal.h>
class QComboBox;
@@ -156,27 +156,30 @@ public:
void restoreComboboxPref(int comboboxindex);
template<typename F>
boost::signals2::connection registerParameterTabOrEnterPressed(F&& fn)
fastsignals::advanced_connection registerParameterTabOrEnterPressed(F&& fn)
{
return signalParameterTabOrEnterPressed.connect(std::forward<F>(fn));
return signalParameterTabOrEnterPressed.connect(
std::forward<F>(fn),
fastsignals::advanced_tag()
);
}
template<typename F>
boost::signals2::connection registerParameterValueChanged(F&& fn)
fastsignals::advanced_connection registerParameterValueChanged(F&& fn)
{
return signalParameterValueChanged.connect(std::forward<F>(fn));
return signalParameterValueChanged.connect(std::forward<F>(fn), fastsignals::advanced_tag());
}
template<typename F>
boost::signals2::connection registerCheckboxCheckedChanged(F&& fn)
fastsignals::advanced_connection registerCheckboxCheckedChanged(F&& fn)
{
return signalCheckboxCheckedChanged.connect(std::forward<F>(fn));
return signalCheckboxCheckedChanged.connect(std::forward<F>(fn), fastsignals::advanced_tag());
}
template<typename F>
boost::signals2::connection registerComboboxSelectionChanged(F&& fn)
fastsignals::advanced_connection registerComboboxSelectionChanged(F&& fn)
{
return signalComboboxSelectionChanged.connect(std::forward<F>(fn));
return signalComboboxSelectionChanged.connect(std::forward<F>(fn), fastsignals::advanced_tag());
}
@@ -218,10 +221,10 @@ private:
private:
std::unique_ptr<Ui_SketcherToolDefaultWidget> ui;
boost::signals2::signal<void(int parameterindex)> signalParameterTabOrEnterPressed;
boost::signals2::signal<void(int parameterindex, double value)> signalParameterValueChanged;
boost::signals2::signal<void(int checkboxindex, bool value)> signalCheckboxCheckedChanged;
boost::signals2::signal<void(int comboindex, int value)> signalComboboxSelectionChanged;
fastsignals::signal<void(int parameterindex)> signalParameterTabOrEnterPressed;
fastsignals::signal<void(int parameterindex, double value)> signalParameterValueChanged;
fastsignals::signal<void(int checkboxindex, bool value)> signalCheckboxCheckedChanged;
fastsignals::signal<void(int comboindex, int value)> signalComboboxSelectionChanged;
/// lock to block QT slots
bool blockParameterSlots;

View File

@@ -25,7 +25,7 @@
#ifndef SKETCHERGUI_TaskDlgEditSketch_H
#define SKETCHERGUI_TaskDlgEditSketch_H
#include <boost/signals2.hpp>
#include <fastsignals/signal.h>
#include <Gui/TaskView/TaskDialog.h>
@@ -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<typename F>
boost::signals2::connection registerToolWidgetChanged(F&& f)
fastsignals::connection registerToolWidgetChanged(F&& f)
{
return ToolSettings->registerToolWidgetChanged(std::forward<F>(f));
}

View File

@@ -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();

View File

@@ -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<int, ConstraintItem*> constraintMap;

View File

@@ -29,7 +29,7 @@
#include <QListWidget>
#include <QStyledItemDelegate>
#include <boost/signals2.hpp>
#include <fastsignals/signal.h>
#include <Gui/Selection/Selection.h>
#include <Gui/TaskView/TaskView.h>
@@ -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:

View File

@@ -29,7 +29,7 @@
#include <Gui/TaskView/TaskView.h>
#include <Gui/TaskView/TaskDialog.h>
#include <Gui/Selection/Selection.h>
#include <boost/signals2.hpp>
#include <fastsignals/signal.h>
namespace App
{
@@ -63,7 +63,7 @@ public:
void toolChanged(const std::string& toolname);
template<typename F>
boost::signals2::connection registerToolWidgetChanged(F&& f)
fastsignals::connection registerToolWidgetChanged(F&& f)
{
return signalToolWidgetChanged.connect(std::forward<F>(f));
}
@@ -71,9 +71,9 @@ public:
private:
ViewProviderSketch* sketchView;
std::unique_ptr<QWidget> widget;
boost::signals2::scoped_connection changedSketchView;
fastsignals::scoped_connection changedSketchView;
boost::signals2::signal<void(QWidget* newwidget)> signalToolWidgetChanged;
fastsignals::signal<void(QWidget* newwidget)> signalToolWidgetChanged;
};
} // namespace SketcherGui

View File

@@ -29,7 +29,7 @@
#include <Inventor/sensors/SoNodeSensor.h>
#include <QCoreApplication>
#include <QMetaObject>
#include <boost/signals2.hpp>
#include <fastsignals/signal.h>
#include <memory>
#include <Base/Parameter.h>
@@ -704,19 +704,19 @@ public:
/** @name Signals for controlling information in Task dialogs */
//@{
/// signals if the constraints list has changed
boost::signals2::signal<void()> signalConstraintsChanged;
fastsignals::signal<void()> 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<void()> signalElementsChanged;
fastsignals::signal<void()> signalElementsChanged;
//@}
/** @name Register slot for signal */
//@{
template<typename F>
boost::signals2::connection registerToolChanged(F&& f)
fastsignals::connection registerToolChanged(F&& f)
{
return signalToolChanged.connect(std::forward<F>(f));
}
@@ -863,7 +863,7 @@ private:
/** @name signals*/
//@{
/// signals a tool change
boost::signals2::signal<void(const std::string& toolname)> signalToolChanged;
fastsignals::signal<void(const std::string& toolname)> 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;