TankOs/SFGUI — Issue #54: Replace Boost.Signals2 by more lightweight solution
Author: TankOs
Created: 2011-10-28 11:18:50+00:00
State: open

# General

Boost.Signals2 is a great library, but all the extended features are not really needed by SFGUI. By dropping it, we can remove a dependency and also reduce compile times a lot.

I've implemented an own solution already in a separated test environment (not SFGUI), works great. It needs Boost.Function and Boost.Bind -- still an impact on compile times, but it's needed for the features I want. Of course these can be replaced by C++11 features later.

# Remove signal return types

Whilst writing the replacement, I was asking myself if the return types could be dropped completely, thus removing the signal combiners. Return types are currently mostly used for determining if certain events shall be eaten or not (e.g. mouse presses).

```HandleEvent``` is already virtual, therefore it can be used to override the behaviour without using signals for that. So the only *"feature"* the return types give are for user intervention. But I don't think users should be able to affect widget's behaviour in **any** way. ;)

Open for comments, preferably on IRC.