summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2015-07-10 14:22:25 +0200
committerMichael Stahl <mstahl@redhat.com>2015-07-10 23:27:40 +0200
commit20bd0a2ee9ed899ea542c2de08efda243dbef446 (patch)
tree6b91afd982d11bec1e4e48b67a38bee3c6109ea6 /include
parentece8699f8f22f6bae137c601bc29b83b75dc3bf3 (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.hxx2
-rw-r--r--include/vcl/edit.hxx16
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;