diff options
author | Michael Stahl <mstahl@redhat.com> | 2015-07-10 14:22:25 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2015-07-10 23:27:40 +0200 |
commit | 20bd0a2ee9ed899ea542c2de08efda243dbef446 (patch) | |
tree | 6b91afd982d11bec1e4e48b67a38bee3c6109ea6 /include | |
parent | ece8699f8f22f6bae137c601bc29b83b75dc3bf3 (diff) |
vcl: remove boost/signal2/signal.hpp from header
The most relevant signal member function appears to be connect(),
so let's create a wrapper function for that now, without the more
esoteric ordering features for now.
Move the signal member itself to a new pImpl.
The benefits are worth it: preprocessor input reduced by 2.8GB,
that's 9% of the total (excluding system headers which are not counted
because they don't generate dependencies).
Change-Id: I0aaeda51a5630a348bb12c81a83f67afbd508a14
Diffstat (limited to 'include')
-rw-r--r-- | include/svtools/DocumentInfoPreview.hxx | 2 | ||||
-rw-r--r-- | include/vcl/edit.hxx | 16 |
2 files changed, 15 insertions, 3 deletions
diff --git a/include/svtools/DocumentInfoPreview.hxx b/include/svtools/DocumentInfoPreview.hxx index 9eba310af05c..6cd4fc8b7365 100644 --- a/include/svtools/DocumentInfoPreview.hxx +++ b/include/svtools/DocumentInfoPreview.hxx @@ -29,6 +29,8 @@ #include <tools/wintypes.hxx> #include <vcl/window.hxx> +#include <boost/scoped_ptr.hpp> + class SvtDocInfoTable_Impl; namespace com { namespace sun { namespace star { diff --git a/include/vcl/edit.hxx b/include/vcl/edit.hxx index c134780ee035..a24598516aef 100644 --- a/include/vcl/edit.hxx +++ b/include/vcl/edit.hxx @@ -20,17 +20,23 @@ #ifndef INCLUDED_VCL_EDIT_HXX #define INCLUDED_VCL_EDIT_HXX -#include <boost/signals2/signal.hpp> +#include <vcl/ctrl.hxx> + +#include <functional> +#include <memory> + #include <tools/solar.h> #include <vcl/dllapi.h> #include <vcl/timer.hxx> #include <vcl/idle.hxx> -#include <vcl/ctrl.hxx> #include <vcl/menu.hxx> #include <vcl/dndhelp.hxx> #include <vcl/vclptr.hxx> #include <com/sun/star/uno/Reference.h> +// forward declare signals stuff - those headers are staggeringly expensive +namespace boost { namespace signals2 { class connection; } } + namespace com { namespace sun { namespace star { @@ -68,6 +74,9 @@ enum AutocompleteAction{ AUTOCOMPLETE_KEYINPUT, AUTOCOMPLETE_TABFORWARD, AUTOCOM class VCL_DLLPUBLIC Edit : public Control, public vcl::unohelper::DragAndDropClient { private: + struct Impl; + ::std::unique_ptr<Impl> m_pImpl; + VclPtr<Edit> mpSubEdit; Timer* mpUpdateDataTimer; TextFilter* mpFilterText; @@ -244,7 +253,8 @@ public: void SetSubEdit( Edit* pEdit ); Edit* GetSubEdit() const { return mpSubEdit; } - boost::signals2::signal< void ( Edit* ) > autocompleteSignal; + void SignalConnectAutocomplete(::boost::signals2::connection * pConnection, + ::std::function<void (Edit *)>); AutocompleteAction GetAutocompleteAction() const { return meAutocompleteAction; } virtual Size CalcMinimumSize() const; |