summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorGabor Kelemen <kelemen.gabor2@nisz.hu>2019-01-30 00:10:38 +0100
committerMiklos Vajna <vmiklos@collabora.com>2019-02-05 09:15:25 +0100
commit16ee4d434692387419e6493aefba4312b2d80a8c (patch)
treedaaf55af20782ec2c68f03a56b83ac0ecc0049ed /include
parent209f2fe0304114409434a3bf5f1e08c6613d83c0 (diff)
tdf#42949 Fix IWYU warnings in include/svtools/*
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I937ed12f2a96943664087ddcdd035f1347e84a57 Reviewed-on: https://gerrit.libreoffice.org/67102 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'include')
-rw-r--r--include/IwyuFilter_include.yaml61
-rw-r--r--include/sfx2/sfxhtml.hxx1
-rw-r--r--include/svtools/DocumentInfoPreview.hxx4
-rw-r--r--include/svtools/DocumentToGraphicRenderer.hxx10
-rw-r--r--include/svtools/PlaceEditDialog.hxx11
-rw-r--r--include/svtools/ServerDetailsControls.hxx19
-rw-r--r--include/svtools/acceleratorexecute.hxx18
-rw-r--r--include/svtools/accessibilityoptions.hxx1
-rw-r--r--include/svtools/accessibleruler.hxx15
-rw-r--r--include/svtools/addresstemplate.hxx15
-rw-r--r--include/svtools/asynclink.hxx2
-rw-r--r--include/svtools/bindablecontrolhelper.hxx5
-rw-r--r--include/svtools/borderhelper.hxx4
-rw-r--r--include/svtools/borderline.hxx1
-rw-r--r--include/svtools/breadcrumb.hxx5
-rw-r--r--include/svtools/brwbox.hxx1
-rw-r--r--include/svtools/calendar.hxx2
-rw-r--r--include/svtools/collatorres.hxx2
-rw-r--r--include/svtools/ctrlbox.hxx7
-rw-r--r--include/svtools/ctrltool.hxx1
-rw-r--r--include/svtools/dialogcontrolling.hxx1
-rw-r--r--include/svtools/editbrowsebox.hxx3
-rw-r--r--include/svtools/ehdl.hxx1
-rw-r--r--include/svtools/embedhlp.hxx5
-rw-r--r--include/svtools/embedtransfer.hxx3
-rw-r--r--include/svtools/extensionlistbox.hxx1
-rw-r--r--include/svtools/filechangedchecker.hxx6
-rw-r--r--include/svtools/filectrl.hxx3
-rw-r--r--include/svtools/fileview.hxx7
-rw-r--r--include/svtools/foldertree.hxx13
-rw-r--r--include/svtools/framestatuslistener.hxx9
-rw-r--r--include/svtools/generictoolboxcontroller.hxx1
-rw-r--r--include/svtools/genericunodialog.hxx8
-rw-r--r--include/svtools/helpopt.hxx1
-rw-r--r--include/svtools/htmlout.hxx4
-rw-r--r--include/svtools/htmltokn.h1
-rw-r--r--include/svtools/hyperlabel.hxx1
-rw-r--r--include/svtools/iconview.hxx1
-rw-r--r--include/svtools/imagemgr.hxx1
-rw-r--r--include/svtools/imageresourceaccess.hxx6
-rw-r--r--include/svtools/indexentryres.hxx2
-rw-r--r--include/svtools/insdlg.hxx2
-rw-r--r--include/svtools/ivctrl.hxx4
-rw-r--r--include/svtools/javacontext.hxx4
-rw-r--r--include/svtools/javainteractionhandler.hxx5
-rw-r--r--include/svtools/menuoptions.hxx4
-rw-r--r--include/svtools/miscopt.hxx6
-rw-r--r--include/svtools/openfiledroptargetlistener.hxx3
-rw-r--r--include/svtools/optionsdrawinglayer.hxx4
-rw-r--r--include/svtools/parhtml.hxx6
-rw-r--r--include/svtools/popupmenucontrollerbase.hxx13
-rw-r--r--include/svtools/printoptions.hxx4
-rw-r--r--include/svtools/restartdialog.hxx3
-rw-r--r--include/svtools/rtfout.hxx5
-rw-r--r--include/svtools/ruler.hxx7
-rw-r--r--include/svtools/sampletext.hxx1
-rw-r--r--include/svtools/scriptedtext.hxx5
-rw-r--r--include/svtools/sfxecode.hxx2
-rw-r--r--include/svtools/simptabl.hxx1
-rw-r--r--include/svtools/slidesorterbaropt.hxx5
-rw-r--r--include/svtools/soerr.hxx1
-rw-r--r--include/svtools/statusbarcontroller.hxx13
-rw-r--r--include/svtools/svmedit.hxx2
-rw-r--r--include/svtools/svparser.hxx1
-rw-r--r--include/svtools/tabbar.hxx7
-rw-r--r--include/svtools/table/tableinputhandler.hxx3
-rw-r--r--include/svtools/table/tablemodel.hxx7
-rw-r--r--include/svtools/table/tablerenderer.hxx7
-rw-r--r--include/svtools/templatefoldercache.hxx1
-rw-r--r--include/svtools/textwindowpeer.hxx1
-rw-r--r--include/svtools/toolbarmenu.hxx14
-rw-r--r--include/svtools/toolboxcontroller.hxx13
-rw-r--r--include/svtools/unitconv.hxx9
-rw-r--r--include/svtools/unoevent.hxx3
-rw-r--r--include/svtools/unoimap.hxx4
-rw-r--r--include/svtools/valueset.hxx6
-rw-r--r--include/svtools/wizardmachine.hxx8
-rw-r--r--include/svtools/wizdlg.hxx3
-rw-r--r--include/svx/dlgctrl.hxx1
-rw-r--r--include/svx/dlgutil.hxx1
-rw-r--r--include/svx/gridctrl.hxx1
81 files changed, 232 insertions, 221 deletions
diff --git a/include/IwyuFilter_include.yaml b/include/IwyuFilter_include.yaml
index 5da7e0550fc0..95379a3d61bd 100644
--- a/include/IwyuFilter_include.yaml
+++ b/include/IwyuFilter_include.yaml
@@ -481,3 +481,64 @@ blacklist:
include/xmloff/xmltabe.hxx:
# Needed for css shortcut
- sal/types.h
+ include/svtools/accessibleruler.hxx:
+ # base class has to be a complete type
+ - com/sun/star/accessibility/XAccessible.hpp
+ - com/sun/star/accessibility/XAccessibleComponent.hpp
+ - com/sun/star/accessibility/XAccessibleContext.hpp
+ - com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp
+ - com/sun/star/lang/XServiceInfo.hpp
+ include/svtools/asynclink.hxx:
+ # unique_ptr needs complete type
+ - osl/mutex.hxx
+ - vcl/idle.hxx
+ include/svtools/cliplistener.hxx:
+ # base class has to be a complete type
+ - com/sun/star/datatransfer/clipboard/XClipboardListener.hpp
+ include/svtools/dialogclosedlistener.hxx:
+ # base class has to be a complete type
+ - com/sun/star/ui/dialogs/XDialogClosedListener.hpp
+ include/svtools/framestatuslistener.hxx:
+ # base class has to be a complete type
+ - com/sun/star/frame/XFrameActionListener.hpp
+ - com/sun/star/frame/XStatusListener.hpp
+ include/svtools/genericunodialog.hxx:
+ # base class has to be a complete type
+ - com/sun/star/lang/XInitialization.hpp
+ - com/sun/star/lang/XServiceInfo.hpp
+ - com/sun/star/ui/dialogs/XExecutableDialog.hpp
+ include/svtools/openfiledroptargetlistener.hxx:
+ # base class has to be a complete type
+ - com/sun/star/datatransfer/dnd/XDropTargetListener.hpp
+ include/svtools/popupmenucontrollerbase.hxx:
+ # base class has to be a complete type
+ - com/sun/star/frame/XDispatch.hpp
+ - com/sun/star/frame/XDispatchProvider.hpp
+ - com/sun/star/frame/XPopupMenuController.hpp
+ - com/sun/star/frame/XStatusListener.hpp
+ - com/sun/star/lang/XInitialization.hpp
+ - com/sun/star/lang/XServiceInfo.hpp
+ include/svtools/popupwindowcontroller.hxx:
+ # base class has to be a complete type
+ - com/sun/star/lang/XServiceInfo.hpp
+ - svtools/toolboxcontroller.hxx
+ include/svtools/sfxecode.hxx:
+ # Needed for macro defines
+ - class ErrCode
+ include/svtools/statusbarcontroller.hxx:
+ # Don't propose hxx -> h change in URE libs
+ - cppuhelper/interfacecontainer.hxx
+ include/svtools/toolboxcontroller.hxx:
+ # base class has to be a complete type
+ - com/sun/star/frame/XStatusListener.hpp
+ - com/sun/star/frame/XToolbarController.hpp
+ - com/sun/star/util/XUpdatable.hpp
+ - com/sun/star/lang/XInitialization.hpp
+ # Complete type is needed for DispatchInfo struct
+ - com/sun/star/beans/PropertyValue.hpp
+ # Don't propose hxx -> h change in URE libs
+ - cppuhelper/interfacecontainer.hxx
+ include/svtools/unoevent.hxx:
+ # base class has to be a complete type
+ - com/sun/star/container/XNameReplace.hpp
+ - com/sun/star/lang/XServiceInfo.hpp
diff --git a/include/sfx2/sfxhtml.hxx b/include/sfx2/sfxhtml.hxx
index 318d70af1209..5a140f59f0cf 100644
--- a/include/sfx2/sfxhtml.hxx
+++ b/include/sfx2/sfxhtml.hxx
@@ -32,6 +32,7 @@
class ImageMap;
class SfxMedium;
class SfxObjectShell;
+class SvNumberFormatter;
class SFX2_DLLPUBLIC SfxHTMLParser : public HTMLParser
{
diff --git a/include/svtools/DocumentInfoPreview.hxx b/include/svtools/DocumentInfoPreview.hxx
index cec92f040b41..a4491d2f4510 100644
--- a/include/svtools/DocumentInfoPreview.hxx
+++ b/include/svtools/DocumentInfoPreview.hxx
@@ -20,14 +20,14 @@
#ifndef INCLUDED_SVTOOLS_DOCUMENTINFOPREVIEW_HXX
#define INCLUDED_SVTOOLS_DOCUMENTINFOPREVIEW_HXX
-#include <memory>
#include <sal/config.h>
-#include <com/sun/star/uno/Reference.hxx>
#include <svtools/svtdllapi.h>
#include <tools/wintypes.hxx>
#include <vcl/window.hxx>
+namespace com :: sun :: star :: uno { template <typename > class Reference; }
+
class ExtMultiLineEdit;
namespace com { namespace sun { namespace star {
diff --git a/include/svtools/DocumentToGraphicRenderer.hxx b/include/svtools/DocumentToGraphicRenderer.hxx
index 49a3ab0b347e..2eff2d731dd9 100644
--- a/include/svtools/DocumentToGraphicRenderer.hxx
+++ b/include/svtools/DocumentToGraphicRenderer.hxx
@@ -23,15 +23,15 @@
#include <vector>
-#include <com/sun/star/frame/XModel.hpp>
-#include <com/sun/star/frame/XController.hpp>
-#include <com/sun/star/view/XRenderable.hpp>
-#include <com/sun/star/awt/XToolkit.hpp>
-
#include <vcl/graph.hxx>
#include <svtools/svtdllapi.h>
+namespace com :: sun :: star :: awt { class XToolkit; }
+namespace com :: sun :: star :: frame { class XModel; }
+namespace com :: sun :: star :: lang { class XComponent; }
+namespace com :: sun :: star :: view { class XRenderable; }
+
namespace com { namespace sun { namespace star {
namespace drawing {
class XShapes;
diff --git a/include/svtools/PlaceEditDialog.hxx b/include/svtools/PlaceEditDialog.hxx
index df7e1ec2047c..6047e8680e46 100644
--- a/include/svtools/PlaceEditDialog.hxx
+++ b/include/svtools/PlaceEditDialog.hxx
@@ -10,18 +10,15 @@
#ifndef INCLUDED_SVTOOLS_PLACEEDITDIALOG_HXX
#define INCLUDED_SVTOOLS_PLACEEDITDIALOG_HXX
-#include <svtools/ServerDetailsControls.hxx>
-
+#include <svtools/svtdllapi.h>
#include <vcl/weld.hxx>
-#include <svtools/inettbc.hxx>
-#include <svtools/place.hxx>
-
-#include <config_oauth2.h>
-
#include <memory>
#include <vector>
+class Place;
+class DetailsContainer;
+
class SVT_DLLPUBLIC PlaceEditDialog : public weld::GenericDialogController
{
private:
diff --git a/include/svtools/ServerDetailsControls.hxx b/include/svtools/ServerDetailsControls.hxx
index adef4696901c..12fd0f2bba2e 100644
--- a/include/svtools/ServerDetailsControls.hxx
+++ b/include/svtools/ServerDetailsControls.hxx
@@ -9,14 +9,23 @@
#ifndef INCLUDED_SVTOOLS_SERVERDETAILSCONTROLS_HXX
#define INCLUDED_SVTOOLS_SERVERDETAILSCONTROLS_HXX
-#include <map>
+#include <vector>
-#include <com/sun/star/ucb/XCommandEnvironment.hpp>
-#include <com/sun/star/task/PasswordContainer.hpp>
-#include <com/sun/star/task/XPasswordContainer2.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <tools/link.hxx>
#include <tools/urlobj.hxx>
-#include <vcl/weld.hxx>
+
+namespace com :: sun :: star :: ucb { class XCommandEnvironment; }
+namespace com :: sun :: star :: awt { class XWindow; }
+
+namespace weld {
+ class Button;
+ class ComboBox;
+ class Entry;
+ class SpinButton;
+ class ToggleButton;
+}
class PlaceEditDialog;
diff --git a/include/svtools/acceleratorexecute.hxx b/include/svtools/acceleratorexecute.hxx
index b2ec4a04edeb..46911c1e7715 100644
--- a/include/svtools/acceleratorexecute.hxx
+++ b/include/svtools/acceleratorexecute.hxx
@@ -23,18 +23,16 @@
#include <svtools/svtdllapi.h>
#include <memory>
-#include <vector>
-
-#include <com/sun/star/uno/XComponentContext.hpp>
-#include <com/sun/star/frame/XFrame.hpp>
-#include <com/sun/star/frame/XDispatchProvider.hpp>
-#include <com/sun/star/ui/XAcceleratorConfiguration.hpp>
-#include <com/sun/star/util/XURLTransformer.hpp>
-#include <com/sun/star/util/URL.hpp>
+
#include <com/sun/star/awt/KeyEvent.hpp>
#include <vcl/keycod.hxx>
-#include <vcl/evntpost.hxx>
-#include <osl/mutex.h>
+
+namespace com :: sun :: star :: frame { class XDispatchProvider; }
+namespace com :: sun :: star :: frame { class XFrame; }
+namespace com :: sun :: star :: frame { class XModel; }
+namespace com :: sun :: star :: ui { class XAcceleratorConfiguration; }
+namespace com :: sun :: star :: uno { class XComponentContext; }
+namespace com :: sun :: star :: util { class XURLTransformer; }
namespace svt
diff --git a/include/svtools/accessibilityoptions.hxx b/include/svtools/accessibilityoptions.hxx
index 1cc78a7dc9f5..9aa9ab12f14b 100644
--- a/include/svtools/accessibilityoptions.hxx
+++ b/include/svtools/accessibilityoptions.hxx
@@ -20,7 +20,6 @@
#define INCLUDED_SVTOOLS_ACCESSIBILITYOPTIONS_HXX
#include <svtools/svtdllapi.h>
-#include <unotools/configitem.hxx>
#include <svl/lstner.hxx>
#include <unotools/options.hxx>
diff --git a/include/svtools/accessibleruler.hxx b/include/svtools/accessibleruler.hxx
index 009d152d2dc0..c26cf96fa239 100644
--- a/include/svtools/accessibleruler.hxx
+++ b/include/svtools/accessibleruler.hxx
@@ -23,31 +23,16 @@
#include <com/sun/star/accessibility/XAccessibleComponent.hpp>
#include <com/sun/star/accessibility/XAccessibleContext.hpp>
#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
-#include <com/sun/star/accessibility/IllegalAccessibleComponentStateException.hpp>
-#include <com/sun/star/beans/XPropertyChangeListener.hpp>
#include <com/sun/star/uno/Reference.hxx>
-#include <cppuhelper/weak.hxx>
#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/lang/XTypeProvider.hpp>
-#include <com/sun/star/lang/XServiceName.hpp>
-#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
-#include <com/sun/star/lang/DisposedException.hpp>
#include <cppuhelper/interfacecontainer.h>
#include <cppuhelper/compbase5.hxx>
#include <cppuhelper/basemutex.hxx>
#include <vcl/vclptr.hxx>
-namespace com { namespace sun { namespace star { namespace awt {
- struct Point;
- struct Rectangle;
- struct Size;
- class XFocusListener;
-} } } }
-
namespace tools { class Rectangle; }
class Ruler;
-namespace vcl { class Window; }
typedef ::cppu::WeakAggComponentImplHelper5<
diff --git a/include/svtools/addresstemplate.hxx b/include/svtools/addresstemplate.hxx
index 752f14f5f8ce..90b2dd308d69 100644
--- a/include/svtools/addresstemplate.hxx
+++ b/include/svtools/addresstemplate.hxx
@@ -23,18 +23,15 @@
#include <memory>
#include <svtools/svtdllapi.h>
#include <vcl/dialog.hxx>
-#include <vcl/fixed.hxx>
#include <vcl/combobox.hxx>
#include <vcl/button.hxx>
-#include <vcl/layout.hxx>
-#include <vcl/lstbox.hxx>
#include <vcl/scrbar.hxx>
-#include <com/sun/star/container/XNameAccess.hpp>
-#include <com/sun/star/util/AliasProgrammaticPair.hpp>
-#include <com/sun/star/sdb/XDatabaseContext.hpp>
-#include <com/sun/star/uno/XComponentContext.hpp>
-#include <com/sun/star/sdbc/XDataSource.hpp>
-#include <unotools/configitem.hxx>
+
+namespace com :: sun :: star :: container { class XNameAccess; }
+namespace com :: sun :: star :: sdbc { class XDataSource; }
+namespace com :: sun :: star :: sdb { class XDatabaseContext; }
+namespace com :: sun :: star :: uno { class XComponentContext; }
+namespace com :: sun :: star :: util { struct AliasProgrammaticPair; }
#define FIELD_PAIRS_VISIBLE 5
#define FIELD_CONTROLS_VISIBLE 2 * FIELD_PAIRS_VISIBLE
diff --git a/include/svtools/asynclink.hxx b/include/svtools/asynclink.hxx
index 5a5c891ef97a..9c72c42e8abf 100644
--- a/include/svtools/asynclink.hxx
+++ b/include/svtools/asynclink.hxx
@@ -21,13 +21,11 @@
#define INCLUDED_SVTOOLS_ASYNCLINK_HXX
#include <svtools/svtdllapi.h>
-#include <tools/solar.h>
#include <tools/link.hxx>
#include <vcl/idle.hxx>
#include <osl/mutex.hxx>
#include <memory>
-class Idle;
class Timer;
struct ImplSVEvent;
diff --git a/include/svtools/bindablecontrolhelper.hxx b/include/svtools/bindablecontrolhelper.hxx
index 847e0711742e..d05f52b71e9f 100644
--- a/include/svtools/bindablecontrolhelper.hxx
+++ b/include/svtools/bindablecontrolhelper.hxx
@@ -22,7 +22,10 @@
#include <svtools/svtdllapi.h>
-#include <com/sun/star/frame/XModel.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace com :: sun :: star :: frame { class XModel; }
+namespace com :: sun :: star :: uno { class XInterface; }
namespace svt
{
diff --git a/include/svtools/borderhelper.hxx b/include/svtools/borderhelper.hxx
index 43d757be80b0..3692cdf5a3d9 100644
--- a/include/svtools/borderhelper.hxx
+++ b/include/svtools/borderhelper.hxx
@@ -25,7 +25,9 @@
#include <basegfx/polygon/b2dpolypolygon.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
#include <basegfx/point/b2dpoint.hxx>
-#include <vcl/outdev.hxx>
+
+class OutputDevice;
+class Point;
enum class SvxBorderLineStyle : sal_Int16;
diff --git a/include/svtools/borderline.hxx b/include/svtools/borderline.hxx
index d4811ffa267c..1d7d9f1cd2f7 100644
--- a/include/svtools/borderline.hxx
+++ b/include/svtools/borderline.hxx
@@ -22,7 +22,6 @@
#include <svtools/svtdllapi.h>
#include <o3tl/typed_flags_set.hxx>
-#include <memory>
/**
Class computing border widths shared between Line style listbox and the
diff --git a/include/svtools/breadcrumb.hxx b/include/svtools/breadcrumb.hxx
index 87273a5a36bc..1889d923441c 100644
--- a/include/svtools/breadcrumb.hxx
+++ b/include/svtools/breadcrumb.hxx
@@ -12,13 +12,12 @@
#include <svtools/svtdllapi.h>
-#include <tools/urlobj.hxx>
-
-#include <vcl/fixedhyper.hxx>
#include <vcl/layout.hxx>
#include <vector>
+class FixedHyperlink;
+
#define SPACING 6
enum SvtBreadcrumbMode
diff --git a/include/svtools/brwbox.hxx b/include/svtools/brwbox.hxx
index fbff8176572e..eecf189cca84 100644
--- a/include/svtools/brwbox.hxx
+++ b/include/svtools/brwbox.hxx
@@ -39,7 +39,6 @@
class BrowserColumn;
class BrowserDataWin;
-class MultiSelection;
class BrowserHeader;
namespace svt {
diff --git a/include/svtools/calendar.hxx b/include/svtools/calendar.hxx
index 7674885dc0c0..cc5b62ba9e70 100644
--- a/include/svtools/calendar.hxx
+++ b/include/svtools/calendar.hxx
@@ -22,10 +22,8 @@
#include <svtools/svtdllapi.h>
#include <unotools/calendarwrapper.hxx>
-#include <com/sun/star/i18n/Weekdays.hpp>
#include <vcl/ctrl.hxx>
-#include <vcl/timer.hxx>
#include <vcl/field.hxx>
#include <memory>
#include <set>
diff --git a/include/svtools/collatorres.hxx b/include/svtools/collatorres.hxx
index 5b41b61cc9ad..adb854213d5f 100644
--- a/include/svtools/collatorres.hxx
+++ b/include/svtools/collatorres.hxx
@@ -24,8 +24,6 @@
#include <rtl/ustring.hxx>
#include <vector>
-class CollatorResourceData;
-
class SVT_DLLPUBLIC CollatorResource
{
private:
diff --git a/include/svtools/ctrlbox.hxx b/include/svtools/ctrlbox.hxx
index 5b2583e5ce13..eea2e0a51023 100644
--- a/include/svtools/ctrlbox.hxx
+++ b/include/svtools/ctrlbox.hxx
@@ -22,18 +22,17 @@
#include <svtools/svtdllapi.h>
-#include <vcl/customweld.hxx>
#include <vcl/lstbox.hxx>
#include <vcl/combobox.hxx>
-#include <vcl/image.hxx>
-#include <vcl/virdev.hxx>
#include <vcl/metric.hxx>
#include <vcl/field.hxx>
#include <vcl/weld.hxx>
-#include <com/sun/star/table/BorderLineStyle.hpp>
#include <memory>
+namespace weld { class CustomWeld; }
+
+class VirtualDevice;
class BorderWidthImpl;
class FontList;
class ImpLineListData;
diff --git a/include/svtools/ctrltool.hxx b/include/svtools/ctrltool.hxx
index d462088fc2d4..c2f859b4208b 100644
--- a/include/svtools/ctrltool.hxx
+++ b/include/svtools/ctrltool.hxx
@@ -25,7 +25,6 @@
#include <sal/types.h>
#include <vcl/metric.hxx>
#include <vcl/vclptr.hxx>
-#include <tools/solar.h>
#include <vector>
#include <memory>
diff --git a/include/svtools/dialogcontrolling.hxx b/include/svtools/dialogcontrolling.hxx
index ada35ea75581..a3915a3d40b3 100644
--- a/include/svtools/dialogcontrolling.hxx
+++ b/include/svtools/dialogcontrolling.hxx
@@ -27,7 +27,6 @@
#include <vcl/vclevent.hxx>
#include <memory>
-#include <vector>
namespace svt
{
diff --git a/include/svtools/editbrowsebox.hxx b/include/svtools/editbrowsebox.hxx
index 9080c6a4f617..b3f4483f9450 100644
--- a/include/svtools/editbrowsebox.hxx
+++ b/include/svtools/editbrowsebox.hxx
@@ -31,10 +31,8 @@
#include <vcl/button.hxx>
#include <svtools/brwbox.hxx>
-#include <vcl/timer.hxx>
#include <svtools/brwhead.hxx>
#include <svtools/svmedit.hxx>
-#include <vcl/svapp.hxx>
#include <o3tl/typed_flags_set.hxx>
@@ -74,7 +72,6 @@ namespace o3tl
class Edit;
-class SpinField;
class FormattedField;
diff --git a/include/svtools/ehdl.hxx b/include/svtools/ehdl.hxx
index 99a2016e091e..24878019ec0e 100644
--- a/include/svtools/ehdl.hxx
+++ b/include/svtools/ehdl.hxx
@@ -20,7 +20,6 @@
#ifndef INCLUDED_SVTOOLS_EHDL_HXX
#define INCLUDED_SVTOOLS_EHDL_HXX
-#include <memory>
#include <svtools/svtdllapi.h>
#include <svtools/svtresid.hxx>
#include <vcl/errinf.hxx>
diff --git a/include/svtools/embedhlp.hxx b/include/svtools/embedhlp.hxx
index 5e74e97a3d60..ad9a592ae6c0 100644
--- a/include/svtools/embedhlp.hxx
+++ b/include/svtools/embedhlp.hxx
@@ -22,12 +22,12 @@
#include <svtools/svtdllapi.h>
#include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/io/XInputStream.hpp>
#include <vcl/graph.hxx>
-#include <tools/mapunit.hxx>
#include <rtl/ustring.hxx>
#include <memory>
+namespace com :: sun :: star :: io { class XInputStream; }
+
namespace comphelper
{
class EmbeddedObjectContainer;
@@ -37,7 +37,6 @@ namespace com { namespace sun { namespace star { namespace embed {
class XEmbeddedObject;
}}}}
-namespace tools { class Rectangle; }
class OutputDevice;
namespace svt {
diff --git a/include/svtools/embedtransfer.hxx b/include/svtools/embedtransfer.hxx
index ca69d2b28386..59394bc27675 100644
--- a/include/svtools/embedtransfer.hxx
+++ b/include/svtools/embedtransfer.hxx
@@ -21,10 +21,11 @@
#define INCLUDED_SVTOOLS_EMBEDTRANSFER_HXX
#include <svtools/svtdllapi.h>
-#include <com/sun/star/embed/XEmbeddedObject.hpp>
#include <vcl/transfer.hxx>
#include <memory>
+namespace com :: sun :: star :: embed { class XEmbeddedObject; }
+
class Graphic;
class SVT_DLLPUBLIC SvEmbedTransferHelper : public TransferableHelper
{
diff --git a/include/svtools/extensionlistbox.hxx b/include/svtools/extensionlistbox.hxx
index 9d1a4bb95a24..f246c5a02448 100644
--- a/include/svtools/extensionlistbox.hxx
+++ b/include/svtools/extensionlistbox.hxx
@@ -21,7 +21,6 @@
#define INCLUDED_SVTOOLS_EXTENSIONLISTBOX_HXX
#include <vcl/ctrl.hxx>
-#include <rtl/ustring.hxx>
namespace svt
diff --git a/include/svtools/filechangedchecker.hxx b/include/svtools/filechangedchecker.hxx
index 97a3a0617a3c..ec8d8a41fdac 100644
--- a/include/svtools/filechangedchecker.hxx
+++ b/include/svtools/filechangedchecker.hxx
@@ -12,12 +12,14 @@
#include <svtools/svtdllapi.h>
-#include <osl/file.hxx>
-#include <vcl/timer.hxx>
+#include <osl/time.h>
+#include <rtl/ustring.hxx>
#include <vcl/idle.hxx>
#include <functional>
+class Timer;
+
/** Periodically checks if a file has been modified
Instances of this class setup a vcl timer to occasionally wake up
diff --git a/include/svtools/filectrl.hxx b/include/svtools/filectrl.hxx
index 280b76ffd127..fc4fd00f003c 100644
--- a/include/svtools/filectrl.hxx
+++ b/include/svtools/filectrl.hxx
@@ -22,9 +22,10 @@
#include <svtools/svtdllapi.h>
#include <vcl/window.hxx>
-#include <vcl/edit.hxx>
#include <vcl/button.hxx>
+class Edit;
+
// Flags for internal use of FileControl
enum class FileControlMode_Internal
{
diff --git a/include/svtools/fileview.hxx b/include/svtools/fileview.hxx
index af19027a2601..c53edb0c017a 100644
--- a/include/svtools/fileview.hxx
+++ b/include/svtools/fileview.hxx
@@ -22,17 +22,14 @@
#include <memory>
#include <svtools/svtdllapi.h>
#include <com/sun/star/uno/Sequence.h>
-#include <com/sun/star/ucb/XContent.hpp>
#include <vcl/ctrl.hxx>
-#include <vcl/image.hxx>
-#include <vcl/fixed.hxx>
-#include <vcl/button.hxx>
#include <vcl/weld.hxx>
#include <rtl/ustring.hxx>
+namespace com :: sun :: star :: ucb { class XContent; }
+
// class SvtFileView -----------------------------------------------------
-class ViewTabListBox_Impl;
class SvtFileView_Impl;
class SvTreeListEntry;
class HeaderBar;
diff --git a/include/svtools/foldertree.hxx b/include/svtools/foldertree.hxx
index 29c2534c331f..f62cc71be6f3 100644
--- a/include/svtools/foldertree.hxx
+++ b/include/svtools/foldertree.hxx
@@ -11,23 +11,18 @@
#define INCLUDED_SVTOOLS_FOLDERTREE_HXX
#include <com/sun/star/uno/Sequence.hxx>
-#include <com/sun/star/ucb/XCommandEnvironment.hpp>
-#include <com/sun/star/task/InteractionHandler.hpp>
-
-#include <officecfg/Office/Common.hxx>
#include <svtools/svtdllapi.h>
-#include <tools/urlobj.hxx>
+#include <tools/wintypes.hxx>
+#include <vcl/treelistbox.hxx>
-#include <ucbhelper/commandenvironment.hxx>
+namespace com :: sun :: star :: ucb { class XCommandEnvironment; }
-#include <vcl/image.hxx>
-#include <vcl/treelistentry.hxx>
+class SvTreeListEntry;
using namespace ::com::sun::star::ucb;
using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::task;
using namespace ::svt;
class SVT_DLLPUBLIC FolderTree : public SvTreeListBox
diff --git a/include/svtools/framestatuslistener.hxx b/include/svtools/framestatuslistener.hxx
index 0fa756b08dc8..b4999bfba9ad 100644
--- a/include/svtools/framestatuslistener.hxx
+++ b/include/svtools/framestatuslistener.hxx
@@ -21,18 +21,17 @@
#define INCLUDED_SVTOOLS_FRAMESTATUSLISTENER_HXX
#include <svtools/svtdllapi.h>
-#include <com/sun/star/uno/XComponentContext.hpp>
-#include <com/sun/star/util/XURLTransformer.hpp>
-#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/frame/XFrameActionListener.hpp>
-#include <com/sun/star/frame/XDispatch.hpp>
#include <com/sun/star/frame/XStatusListener.hpp>
#include <cppuhelper/weak.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
#include <cppuhelper/basemutex.hxx>
#include <unordered_map>
+namespace com :: sun :: star :: frame { class XDispatch; }
+namespace com :: sun :: star :: frame { class XFrame; }
+namespace com :: sun :: star :: uno { class XComponentContext; }
+
namespace svt
{
diff --git a/include/svtools/generictoolboxcontroller.hxx b/include/svtools/generictoolboxcontroller.hxx
index c309ec3956b4..7e792b9f4d3a 100644
--- a/include/svtools/generictoolboxcontroller.hxx
+++ b/include/svtools/generictoolboxcontroller.hxx
@@ -27,7 +27,6 @@
namespace svt
{
-struct ExecuteInfo;
class SVT_DLLPUBLIC GenericToolboxController : public svt::ToolboxController
{
public:
diff --git a/include/svtools/genericunodialog.hxx b/include/svtools/genericunodialog.hxx
index 46c56a0d781a..108f8a61f09a 100644
--- a/include/svtools/genericunodialog.hxx
+++ b/include/svtools/genericunodialog.hxx
@@ -24,15 +24,10 @@
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/lang/XInitialization.hpp>
-#include <com/sun/star/awt/XWindow.hpp>
-#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <com/sun/star/lang/NotInitializedException.hpp>
#include <cppuhelper/implbase.hxx>
-#include <cppuhelper/propshlp.hxx>
#include <comphelper/uno3.hxx>
#include <comphelper/propertycontainer.hxx>
#include <comphelper/broadcasthelper.hxx>
@@ -41,6 +36,9 @@
#include <vcl/vclptr.hxx>
#include <vcl/weld.hxx>
+namespace com :: sun :: star :: awt { class XWindow; }
+namespace com :: sun :: star :: uno { class XComponentContext; }
+
class VclWindowEvent;
diff --git a/include/svtools/helpopt.hxx b/include/svtools/helpopt.hxx
index 07ad90c1c191..358a107c410f 100644
--- a/include/svtools/helpopt.hxx
+++ b/include/svtools/helpopt.hxx
@@ -21,7 +21,6 @@
#include <svtools/svtdllapi.h>
-#include <list>
#include <rtl/ustring.hxx>
#include <unotools/options.hxx>
#include <memory>
diff --git a/include/svtools/htmlout.hxx b/include/svtools/htmlout.hxx
index 6fbff8903609..b5685840b431 100644
--- a/include/svtools/htmlout.hxx
+++ b/include/svtools/htmlout.hxx
@@ -26,12 +26,10 @@
#include <rtl/string.hxx>
#include <svl/macitem.hxx>
-#include <svtools/HtmlWriter.hxx>
-
class Color;
class ImageMap;
+class HtmlWriter;
class SvStream;
-class SvxMacroTableDtor;
class SvNumberFormatter;
struct HTMLOutEvent
diff --git a/include/svtools/htmltokn.h b/include/svtools/htmltokn.h
index 46e0fb57fb2f..a3374a37e877 100644
--- a/include/svtools/htmltokn.h
+++ b/include/svtools/htmltokn.h
@@ -22,7 +22,6 @@
#include <svtools/svtdllapi.h>
#include <sal/types.h>
-#include <cassert>
#include <stdexcept>
namespace rtl {
diff --git a/include/svtools/hyperlabel.hxx b/include/svtools/hyperlabel.hxx
index bd86801724ae..b4a6b22dbff1 100644
--- a/include/svtools/hyperlabel.hxx
+++ b/include/svtools/hyperlabel.hxx
@@ -20,7 +20,6 @@
#define INCLUDED_SVTOOLS_HYPERLABEL_HXX
#include <memory>
-#include <vcl/event.hxx>
#include <vcl/fixed.hxx>
diff --git a/include/svtools/iconview.hxx b/include/svtools/iconview.hxx
index 2281d35e94d4..17a9103e9c2f 100644
--- a/include/svtools/iconview.hxx
+++ b/include/svtools/iconview.hxx
@@ -20,7 +20,6 @@
#ifndef INCLUDED_SVTOOLS_ICONVIEW_HXX
#define INCLUDED_SVTOOLS_ICONVIEW_HXX
-#include <svtools/svtdllapi.h>
#include <vcl/treelistbox.hxx>
class IconView : public SvTreeListBox
diff --git a/include/svtools/imagemgr.hxx b/include/svtools/imagemgr.hxx
index feaa9d537e60..a72566586eb8 100644
--- a/include/svtools/imagemgr.hxx
+++ b/include/svtools/imagemgr.hxx
@@ -21,7 +21,6 @@
#define INCLUDED_SVTOOLS_IMAGEMGR_HXX
#include <rtl/ustring.hxx>
-#include <sal/types.h>
#include <svtools/svtdllapi.h>
enum class SvImageId {
diff --git a/include/svtools/imageresourceaccess.hxx b/include/svtools/imageresourceaccess.hxx
index 0ad0eb7d35cb..782091cf2cc3 100644
--- a/include/svtools/imageresourceaccess.hxx
+++ b/include/svtools/imageresourceaccess.hxx
@@ -22,8 +22,10 @@
#include <svtools/svtdllapi.h>
-#include <com/sun/star/io/XInputStream.hpp>
-#include <com/sun/star/uno/XComponentContext.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace com :: sun :: star :: io { class XInputStream; }
+namespace com :: sun :: star :: uno { class XComponentContext; }
class SvStream;
diff --git a/include/svtools/indexentryres.hxx b/include/svtools/indexentryres.hxx
index 2de22b01cef4..800ee906e3ce 100644
--- a/include/svtools/indexentryres.hxx
+++ b/include/svtools/indexentryres.hxx
@@ -24,8 +24,6 @@
#include <rtl/ustring.hxx>
#include <vector>
-class IndexEntryResourceData;
-
class SVT_DLLPUBLIC IndexEntryResource
{
private:
diff --git a/include/svtools/insdlg.hxx b/include/svtools/insdlg.hxx
index 9aae287249b8..add32fffcada 100644
--- a/include/svtools/insdlg.hxx
+++ b/include/svtools/insdlg.hxx
@@ -20,8 +20,6 @@
#define INCLUDED_SVTOOLS_INSDLG_HXX
#include <svtools/svtdllapi.h>
-#include <com/sun/star/embed/XEmbeddedObject.hpp>
-#include <com/sun/star/embed/XStorage.hpp>
#include <tools/globname.hxx>
#include <sot/formats.hxx>
diff --git a/include/svtools/ivctrl.hxx b/include/svtools/ivctrl.hxx
index f4625fe27a8a..ec28ec339c26 100644
--- a/include/svtools/ivctrl.hxx
+++ b/include/svtools/ivctrl.hxx
@@ -24,15 +24,11 @@
#include <svtools/svtdllapi.h>
#include <vcl/ctrl.hxx>
#include <tools/link.hxx>
-#include <tools/contnr.hxx>
#include <vcl/image.hxx>
-#include <vcl/seleng.hxx>
#include <o3tl/deleter.hxx>
#include <o3tl/typed_flags_set.hxx>
-class Point;
class SvxIconChoiceCtrl_Impl;
-class Image;
enum class SvxIconViewFlags
{
diff --git a/include/svtools/javacontext.hxx b/include/svtools/javacontext.hxx
index 19b6f26acdd6..99274c1c2090 100644
--- a/include/svtools/javacontext.hxx
+++ b/include/svtools/javacontext.hxx
@@ -22,11 +22,11 @@
#include <svtools/svtdllapi.h>
-#include <com/sun/star/task/XInteractionHandler.hpp>
-#include <com/sun/star/task/XInteractionRequest.hpp>
#include <com/sun/star/uno/XCurrentContext.hpp>
+namespace com :: sun :: star :: task { class XInteractionHandler; }
+
namespace svt
{
// We cannot derive from cppu::WeakImplHelper because we would export the inline
diff --git a/include/svtools/javainteractionhandler.hxx b/include/svtools/javainteractionhandler.hxx
index 80529d36f424..23249a5dc8e8 100644
--- a/include/svtools/javainteractionhandler.hxx
+++ b/include/svtools/javainteractionhandler.hxx
@@ -23,8 +23,9 @@
#include <svtools/svtdllapi.h>
#include <sal/types.h>
-#include <com/sun/star/task/XInteractionRequest.hpp>
-#include <svtools/javacontext.hxx>
+#include <com/sun/star/task/XInteractionHandler.hpp>
+
+namespace com :: sun :: star :: task { class XInteractionRequest; }
#define JAVA_INTERACTION_HANDLER_NAME "java-vm.interaction-handler"
diff --git a/include/svtools/menuoptions.hxx b/include/svtools/menuoptions.hxx
index a50daf4ff10a..0408443338b6 100644
--- a/include/svtools/menuoptions.hxx
+++ b/include/svtools/menuoptions.hxx
@@ -22,11 +22,11 @@
#include <svtools/svtdllapi.h>
#include <sal/types.h>
#include <tools/gen.hxx>
-#include <tools/link.hxx>
-#include <osl/mutex.hxx>
#include <unotools/options.hxx>
#include <memory>
+namespace osl { class Mutex; }
+
/*-************************************************************************************************************
@short forward declaration to our private date container implementation
@descr We use these class as internal member to support small memory requirements.
diff --git a/include/svtools/miscopt.hxx b/include/svtools/miscopt.hxx
index dc60c6a22745..b84bbc2da8d4 100644
--- a/include/svtools/miscopt.hxx
+++ b/include/svtools/miscopt.hxx
@@ -21,12 +21,14 @@
#include <svtools/svtdllapi.h>
#include <sal/types.h>
-#include <tools/link.hxx>
-#include <osl/mutex.hxx>
#include <rtl/ustring.hxx>
#include <unotools/options.hxx>
#include <memory>
+namespace osl { class Mutex; }
+template <typename Arg, typename Ret> class Link;
+class LinkParamNone;
+
/*-************************************************************************************************************
@short forward declaration to our private date container implementation
@descr We use these class as internal member to support small memory requirements.
diff --git a/include/svtools/openfiledroptargetlistener.hxx b/include/svtools/openfiledroptargetlistener.hxx
index 695f14df7135..d5a83b8ff1da 100644
--- a/include/svtools/openfiledroptargetlistener.hxx
+++ b/include/svtools/openfiledroptargetlistener.hxx
@@ -23,13 +23,14 @@
#include <svtools/svtdllapi.h>
#include <com/sun/star/datatransfer/dnd/XDropTargetListener.hpp>
-#include <com/sun/star/frame/XFrame.hpp>
#include <cppuhelper/implbase.hxx>
#include <cppuhelper/weakref.hxx>
#include <sot/exchange.hxx>
+namespace com :: sun :: star :: frame { class XFrame; }
+
namespace com { namespace sun { namespace star { namespace uno {
class XComponentContext;
} } } }
diff --git a/include/svtools/optionsdrawinglayer.hxx b/include/svtools/optionsdrawinglayer.hxx
index 866cb5ed23b1..d3cb4a00c0b2 100644
--- a/include/svtools/optionsdrawinglayer.hxx
+++ b/include/svtools/optionsdrawinglayer.hxx
@@ -22,11 +22,11 @@
#include <svtools/svtdllapi.h>
#include <sal/types.h>
-#include <osl/mutex.hxx>
-#include <rtl/ustring.hxx>
#include <tools/color.hxx>
#include <memory>
+namespace osl { class Mutex; }
+
/*-************************************************************************************************************
@short forward declaration to our private date container implementation
@descr We use these class as internal member to support small memory requirements.
diff --git a/include/svtools/parhtml.hxx b/include/svtools/parhtml.hxx
index b2ece425a87e..c2f9d850bd79 100644
--- a/include/svtools/parhtml.hxx
+++ b/include/svtools/parhtml.hxx
@@ -20,12 +20,14 @@
#ifndef INCLUDED_SVTOOLS_PARHTML_HXX
#define INCLUDED_SVTOOLS_PARHTML_HXX
-#include <com/sun/star/uno/Reference.h>
#include <svtools/svtdllapi.h>
#include <svtools/svparser.hxx>
+#include <svtools/htmltokn.h>
#include <vector>
+namespace com :: sun :: star :: uno { template <class interface_type> class Reference; }
+
namespace com { namespace sun { namespace star {
namespace document {
class XDocumentProperties;
@@ -33,8 +35,6 @@ namespace com { namespace sun { namespace star {
} } }
class Color;
-class SvNumberFormatter;
-class SvKeyValueIterator;
enum class HtmlOptionId;
#define HTMLFONTSZ1_DFLT 7
diff --git a/include/svtools/popupmenucontrollerbase.hxx b/include/svtools/popupmenucontrollerbase.hxx
index ff4b62f04313..aba659970ec3 100644
--- a/include/svtools/popupmenucontrollerbase.hxx
+++ b/include/svtools/popupmenucontrollerbase.hxx
@@ -23,26 +23,23 @@
#include <svtools/svtdllapi.h>
#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/lang/XTypeProvider.hpp>
#include <com/sun/star/lang/XInitialization.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/frame/XDispatch.hpp>
#include <com/sun/star/frame/XStatusListener.hpp>
#include <com/sun/star/frame/XPopupMenuController.hpp>
-#include <com/sun/star/uno/XComponentContext.hpp>
-#include <com/sun/star/util/XURLTransformer.hpp>
-#include <toolkit/awt/vclxmenu.hxx>
+#include <tools/link.hxx>
#include <cppuhelper/compbase.hxx>
#include <cppuhelper/basemutex.hxx>
-#include <cppuhelper/weak.hxx>
#include <rtl/ustring.hxx>
+namespace com :: sun :: star :: frame { class XFrame; }
+namespace com :: sun :: star :: uno { class XComponentContext; }
+namespace com :: sun :: star :: util { class XURLTransformer; }
+
namespace svt
{
- struct PopupMenuControllerBaseDispatchInfo;
typedef cppu::WeakComponentImplHelper<
css::lang::XServiceInfo ,
diff --git a/include/svtools/printoptions.hxx b/include/svtools/printoptions.hxx
index f06a53d5ae44..2cb5315b02f3 100644
--- a/include/svtools/printoptions.hxx
+++ b/include/svtools/printoptions.hxx
@@ -22,10 +22,10 @@
#include <svtools/svtdllapi.h>
#include <sal/types.h>
-#include <osl/mutex.hxx>
-#include <rtl/ustring.hxx>
#include <unotools/options.hxx>
+namespace osl { class Mutex; }
+
class SvtPrintOptions_Impl;
class PrinterOptions;
diff --git a/include/svtools/restartdialog.hxx b/include/svtools/restartdialog.hxx
index 932a03271a1e..a49289b5f8f7 100644
--- a/include/svtools/restartdialog.hxx
+++ b/include/svtools/restartdialog.hxx
@@ -12,9 +12,10 @@
#include <sal/config.h>
-#include <com/sun/star/uno/Reference.hxx>
#include <svtools/svtdllapi.h>
+namespace com :: sun :: star :: uno { template <typename > class Reference; }
+
namespace weld { class Window; }
namespace com { namespace sun { namespace star { namespace uno {
class XComponentContext;
diff --git a/include/svtools/rtfout.hxx b/include/svtools/rtfout.hxx
index 2f8751faf29f..1bcd3361b370 100644
--- a/include/svtools/rtfout.hxx
+++ b/include/svtools/rtfout.hxx
@@ -21,13 +21,10 @@
#define INCLUDED_SVTOOLS_RTFOUT_HXX
#include <svtools/svtdllapi.h>
-#include <tools/solar.h>
+#include <rtl/ustring.hxx>
#include <rtl/textenc.h>
-namespace rtl {
- class OUString;
-};
class SvStream;
namespace RTFOutFuncs {
diff --git a/include/svtools/ruler.hxx b/include/svtools/ruler.hxx
index 8f042909bd2b..3aedb16531de 100644
--- a/include/svtools/ruler.hxx
+++ b/include/svtools/ruler.hxx
@@ -24,19 +24,16 @@
#include <map>
#include <svtools/svtdllapi.h>
#include <rtl/ref.hxx>
+#include <tools/fldunit.hxx>
#include <tools/link.hxx>
#include <tools/fract.hxx>
#include <vcl/window.hxx>
-#include <vcl/virdev.hxx>
-#include <vcl/field.hxx>
#include <vcl/glyphitem.hxx>
-#include <vcl/vcllayout.hxx>
-
-#include <svtools/accessibleruler.hxx>
class MouseEvent;
class TrackingEvent;
class DataChangedEvent;
+class SvtRulerAccessible;
/*************************************************************************
diff --git a/include/svtools/sampletext.hxx b/include/svtools/sampletext.hxx
index 1f68e108b3bf..b9c53ad4c3d5 100644
--- a/include/svtools/sampletext.hxx
+++ b/include/svtools/sampletext.hxx
@@ -13,7 +13,6 @@
#include <rtl/ustring.hxx>
#include <unicode/uscript.h>
#include <i18nlangtag/lang.h>
-#include <com/sun/star/i18n/ScriptType.hpp>
#include <vcl/fontcapabilities.hxx>
class OutputDevice;
diff --git a/include/svtools/scriptedtext.hxx b/include/svtools/scriptedtext.hxx
index 7b8d6cd0f46e..603ff22cb8d8 100644
--- a/include/svtools/scriptedtext.hxx
+++ b/include/svtools/scriptedtext.hxx
@@ -21,10 +21,13 @@
#define INCLUDED_SVTOOLS_SCRIPTEDTEXT_HXX
#include <svtools/svtdllapi.h>
-#include <com/sun/star/i18n/XBreakIterator.hpp>
+#include <rtl/ustring.hxx>
#include <memory>
+namespace com :: sun :: star :: i18n { class XBreakIterator; }
+namespace com :: sun :: star :: uno { template <typename > class Reference; }
+
class OutputDevice;
namespace vcl { class Font; }
class SvtScriptedTextHelper_Impl;
diff --git a/include/svtools/sfxecode.hxx b/include/svtools/sfxecode.hxx
index 3cc2f28e4816..3cdad87f4cd9 100644
--- a/include/svtools/sfxecode.hxx
+++ b/include/svtools/sfxecode.hxx
@@ -19,7 +19,7 @@
#ifndef INCLUDED_SVTOOLS_SFXECODE_HXX
#define INCLUDED_SVTOOLS_SFXECODE_HXX
-#include <vcl/errcode.hxx>
+class ErrCode;
#define ERRCODE_SFX_NOTATEMPLATE ErrCode(ErrCodeArea::Sfx, ErrCodeClass::Format, 2)
#define ERRCODE_SFX_GENERAL ErrCode(ErrCodeArea::Sfx, ErrCodeClass::General, 3)
diff --git a/include/svtools/simptabl.hxx b/include/svtools/simptabl.hxx
index 7f999a809623..b853a21fd497 100644
--- a/include/svtools/simptabl.hxx
+++ b/include/svtools/simptabl.hxx
@@ -23,7 +23,6 @@
#include <svtools/svtdllapi.h>
#include <vcl/headbar.hxx>
#include <vcl/svtabbx.hxx>
-#include <unotools/intlwrapper.hxx>
#include <unotools/collatorwrapper.hxx>
#include <vcl/commandevent.hxx>
diff --git a/include/svtools/slidesorterbaropt.hxx b/include/svtools/slidesorterbaropt.hxx
index 6471a6cca6e6..4a1d5ab9890d 100644
--- a/include/svtools/slidesorterbaropt.hxx
+++ b/include/svtools/slidesorterbaropt.hxx
@@ -21,12 +21,11 @@
#define INCLUDED_SVTOOLS_SLIDESORTERBAROPT_HXX
#include <svtools/svtdllapi.h>
-#include <sal/types.h>
-#include <osl/mutex.hxx>
-#include <rtl/ustring.hxx>
#include <unotools/options.hxx>
#include <memory>
+namespace osl { class Mutex; }
+
/** forward declaration to our private date container implementation
We use these class as internal member to support small memory requirements.
diff --git a/include/svtools/soerr.hxx b/include/svtools/soerr.hxx
index 9f39f6ca1563..1e882ea76d3a 100644
--- a/include/svtools/soerr.hxx
+++ b/include/svtools/soerr.hxx
@@ -19,7 +19,6 @@
#ifndef INCLUDED_SVTOOLS_SOERR_HXX
#define INCLUDED_SVTOOLS_SOERR_HXX
-#include <vcl/errcode.hxx>
#include <svtools/ehdl.hxx>
#include <svtools/svtdllapi.h>
diff --git a/include/svtools/statusbarcontroller.hxx b/include/svtools/statusbarcontroller.hxx
index d27adb6d6664..8eb05b4798f2 100644
--- a/include/svtools/statusbarcontroller.hxx
+++ b/include/svtools/statusbarcontroller.hxx
@@ -21,18 +21,21 @@
#define INCLUDED_SVTOOLS_STATUSBARCONTROLLER_HXX
#include <svtools/svtdllapi.h>
-#include <com/sun/star/frame/XFrame.hpp>
-#include <com/sun/star/frame/XDispatch.hpp>
#include <com/sun/star/frame/XStatusbarController.hpp>
-#include <com/sun/star/ui/XStatusbarItem.hpp>
-#include <com/sun/star/uno/XComponentContext.hpp>
-#include <com/sun/star/util/XURLTransformer.hpp>
#include <cppuhelper/weak.hxx>
#include <cppuhelper/interfacecontainer.hxx>
#include <cppuhelper/basemutex.hxx>
#include <tools/gen.hxx>
#include <unordered_map>
+namespace com :: sun :: star :: awt { class XWindow; }
+namespace com :: sun :: star :: beans { struct PropertyValue; }
+namespace com :: sun :: star :: frame { class XDispatch; }
+namespace com :: sun :: star :: frame { class XFrame; }
+namespace com :: sun :: star :: ui { class XStatusbarItem; }
+namespace com :: sun :: star :: uno { class XComponentContext; }
+namespace com :: sun :: star :: util { class XURLTransformer; }
+
namespace svt
{
diff --git a/include/svtools/svmedit.hxx b/include/svtools/svmedit.hxx
index e5493524ec21..361a1c5b7391 100644
--- a/include/svtools/svmedit.hxx
+++ b/include/svtools/svmedit.hxx
@@ -20,11 +20,9 @@
#ifndef INCLUDED_SVTOOLS_SVMEDIT_HXX
#define INCLUDED_SVTOOLS_SVMEDIT_HXX
-#include <vcl/svapp.hxx>
#include <vcl/vclmedit.hxx>
#include <svtools/svtdllapi.h>
-#include <svtools/colorcfg.hxx>
class SVT_DLLPUBLIC MultiLineEdit : public VclMultiLineEdit
diff --git a/include/svtools/svparser.hxx b/include/svtools/svparser.hxx
index b6333434a828..7acd05b5a70c 100644
--- a/include/svtools/svparser.hxx
+++ b/include/svtools/svparser.hxx
@@ -21,7 +21,6 @@
#define INCLUDED_SVTOOLS_SVPARSER_HXX
#include <svtools/svtdllapi.h>
-#include <svtools/htmltokn.h>
#include <tools/link.hxx>
#include <tools/ref.hxx>
#include <tools/solar.h>
diff --git a/include/svtools/tabbar.hxx b/include/svtools/tabbar.hxx
index cccd894b36cb..bccdbb55d3ed 100644
--- a/include/svtools/tabbar.hxx
+++ b/include/svtools/tabbar.hxx
@@ -23,10 +23,11 @@
#include <svtools/svtdllapi.h>
#include <tools/link.hxx>
#include <vcl/window.hxx>
-#include <vcl/settings.hxx>
#include <o3tl/typed_flags_set.hxx>
#include <memory>
+class StyleSettings;
+
/*
Allowed StylbeBits
@@ -300,11 +301,7 @@ enum TabBarAllowRenamingReturnCode {
};
class MouseEvent;
-class TrackingEvent;
class DataChangedEvent;
-class ImplTabButton;
-class ImplTabSizer;
-class TabBarEdit;
struct ImplTabBarItem;
struct TabBar_Impl;
diff --git a/include/svtools/table/tableinputhandler.hxx b/include/svtools/table/tableinputhandler.hxx
index 70bfe397a243..0eba9b5069f0 100644
--- a/include/svtools/table/tableinputhandler.hxx
+++ b/include/svtools/table/tableinputhandler.hxx
@@ -24,9 +24,6 @@
class MouseEvent;
class KeyEvent;
-class HelpEvent;
-class CommandEvent;
-class NotifyEvent;
namespace svt { namespace table
diff --git a/include/svtools/table/tablemodel.hxx b/include/svtools/table/tablemodel.hxx
index a134575cba56..7962900e597d 100644
--- a/include/svtools/table/tablemodel.hxx
+++ b/include/svtools/table/tablemodel.hxx
@@ -24,19 +24,20 @@
#include <svtools/table/tabletypes.hxx>
#include <svtools/table/tablerenderer.hxx>
#include <svtools/table/tableinputhandler.hxx>
-#include <svtools/table/tablesort.hxx>
-#include <com/sun/star/util/Color.hpp>
#include <com/sun/star/style/VerticalAlignment.hpp>
#include <com/sun/star/style/HorizontalAlignment.hpp>
-#include <rtl/ref.hxx>
#include <sal/types.h>
#include <boost/optional.hpp>
#include <memory>
#include <o3tl/typed_flags_set.hxx>
+namespace svt { namespace table { class ITableDataSort; } }
+
+class Color;
+
enum class ColumnAttributeGroup
{
NONE = 0x00,
diff --git a/include/svtools/table/tablerenderer.hxx b/include/svtools/table/tablerenderer.hxx
index fa75952e94e4..ff738c6de623 100644
--- a/include/svtools/table/tablerenderer.hxx
+++ b/include/svtools/table/tablerenderer.hxx
@@ -22,10 +22,15 @@
#include <svtools/table/tabletypes.hxx>
-#include <vcl/outdev.hxx>
+#include <rtl/ustring.hxx>
#include <memory>
+namespace com :: sun :: star :: uno { class Any; }
+namespace tools { class Rectangle; }
+namespace vcl { class Window; }
+
+class OutputDevice;
class StyleSettings;
diff --git a/include/svtools/templatefoldercache.hxx b/include/svtools/templatefoldercache.hxx
index cee6bcbecc1b..2bcba8e7ec65 100644
--- a/include/svtools/templatefoldercache.hxx
+++ b/include/svtools/templatefoldercache.hxx
@@ -21,7 +21,6 @@
#define INCLUDED_SVTOOLS_TEMPLATEFOLDERCACHE_HXX
#include <svtools/svtdllapi.h>
-#include <sal/types.h>
#include <o3tl/deleter.hxx>
#include <memory>
diff --git a/include/svtools/textwindowpeer.hxx b/include/svtools/textwindowpeer.hxx
index 7da6b83d2ef6..b67da50980bf 100644
--- a/include/svtools/textwindowpeer.hxx
+++ b/include/svtools/textwindowpeer.hxx
@@ -23,7 +23,6 @@
#include <sal/config.h>
#include <com/sun/star/uno/Reference.hxx>
-#include <sal/types.h>
#include <svtools/svtdllapi.h>
namespace com { namespace sun { namespace star { namespace awt {
diff --git a/include/svtools/toolbarmenu.hxx b/include/svtools/toolbarmenu.hxx
index 352a7d6368d5..bd73d7cb2784 100644
--- a/include/svtools/toolbarmenu.hxx
+++ b/include/svtools/toolbarmenu.hxx
@@ -21,21 +21,17 @@
#define INCLUDED_SVTOOLS_TOOLBARMENU_HXX
#include <svtools/svtdllapi.h>
-#include <svtools/framestatuslistener.hxx>
-
-#include <com/sun/star/frame/FeatureStateEvent.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/frame/XFrame.hpp>
#include <memory>
-#include <vector>
#include <rtl/ref.hxx>
-
-#include <vcl/ctrl.hxx>
-#include <vcl/menu.hxx>
#include <vcl/dockwin.hxx>
+namespace com :: sun :: star :: frame { class XFrame; }
+namespace com :: sun :: star :: frame { struct FeatureStateEvent; }
+namespace svt { class FrameStatusListener; }
+
+class Control;
class ValueSet;
namespace svtools {
diff --git a/include/svtools/toolboxcontroller.hxx b/include/svtools/toolboxcontroller.hxx
index 75945673e8b4..5d86aeb35930 100644
--- a/include/svtools/toolboxcontroller.hxx
+++ b/include/svtools/toolboxcontroller.hxx
@@ -21,15 +21,12 @@
#define INCLUDED_SVTOOLS_TOOLBOXCONTROLLER_HXX
#include <svtools/svtdllapi.h>
-#include <com/sun/star/frame/XFrame.hpp>
-#include <com/sun/star/frame/XDispatch.hpp>
+#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/frame/XStatusListener.hpp>
#include <com/sun/star/frame/XToolbarController.hpp>
-#include <com/sun/star/frame/XLayoutManager.hpp>
#include <com/sun/star/lang/XInitialization.hpp>
-#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/util/XUpdatable.hpp>
-#include <com/sun/star/util/XURLTransformer.hpp>
+#include <com/sun/star/uno/Sequence.hxx>
#include <cppuhelper/implbase.hxx>
#include <cppuhelper/interfacecontainer.hxx>
#include <comphelper/broadcasthelper.hxx>
@@ -40,6 +37,12 @@
#include <unordered_map>
+namespace com :: sun :: star :: frame { class XDispatch; }
+namespace com :: sun :: star :: frame { class XFrame; }
+namespace com :: sun :: star :: frame { class XLayoutManager; }
+namespace com :: sun :: star :: uno { class XComponentContext; }
+namespace com :: sun :: star :: util { class XURLTransformer; }
+
class ToolBox;
namespace svt
diff --git a/include/svtools/unitconv.hxx b/include/svtools/unitconv.hxx
index e55acb40c3e5..f787e0cee42d 100644
--- a/include/svtools/unitconv.hxx
+++ b/include/svtools/unitconv.hxx
@@ -19,10 +19,13 @@
#ifndef INCLUDED_SVTOOLS_UNITCONV_HXX
#define INCLUDED_SVTOOLS_UNITCONV_HXX
-#include <vcl/field.hxx>
-#include <vcl/weld.hxx>
#include <svtools/svtdllapi.h>
-#include <svl/poolitem.hxx>
+#include <tools/mapunit.hxx>
+#include <tools/fldunit.hxx>
+
+namespace weld { class MetricSpinButton; }
+
+class MetricField;
// macro -----------------------------------------------------------------
diff --git a/include/svtools/unoevent.hxx b/include/svtools/unoevent.hxx
index 8fd990e37c67..448573c117bd 100644
--- a/include/svtools/unoevent.hxx
+++ b/include/svtools/unoevent.hxx
@@ -22,11 +22,12 @@
#include <svtools/svtdllapi.h>
#include <com/sun/star/container/XNameReplace.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/uno/XInterface.hpp>
#include <cppuhelper/implbase.hxx>
#include <vector>
#include <memory>
+namespace com :: sun :: star :: uno { class XInterface; }
+
class SvxMacroTableDtor;
class SvxMacroItem;
class SvxMacro;
diff --git a/include/svtools/unoimap.hxx b/include/svtools/unoimap.hxx
index 7ce4814e6b83..58810153c43c 100644
--- a/include/svtools/unoimap.hxx
+++ b/include/svtools/unoimap.hxx
@@ -21,7 +21,9 @@
#define INCLUDED_SVTOOLS_UNOIMAP_HXX
#include <svtools/svtdllapi.h>
-#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace com :: sun :: star :: uno { class XInterface; }
class ImageMap;
struct SvEventDescription;
diff --git a/include/svtools/valueset.hxx b/include/svtools/valueset.hxx
index 2a37ea21216b..d0a50fcf76c6 100644
--- a/include/svtools/valueset.hxx
+++ b/include/svtools/valueset.hxx
@@ -22,9 +22,7 @@
#include <svtools/svtdllapi.h>
-#include <vcl/event.hxx>
#include <vcl/ctrl.hxx>
-#include <vcl/virdev.hxx>
#include <vcl/timer.hxx>
#include <vcl/customweld.hxx>
#include <memory>
@@ -36,12 +34,12 @@ class HelpEvent;
class KeyEvent;
class DataChangedEvent;
class ScrollBar;
+class UserDrawEvent;
+class VirtualDevice;
struct ValueSetItem;
struct SvtValueSetItem;
-class ValueSetAcc;
-class ValueItemAcc;
enum class DrawFrameStyle;
/*************************************************************************
diff --git a/include/svtools/wizardmachine.hxx b/include/svtools/wizardmachine.hxx
index 748afebbb712..ee2d32a39107 100644
--- a/include/svtools/wizardmachine.hxx
+++ b/include/svtools/wizardmachine.hxx
@@ -24,10 +24,12 @@
#include <svtools/wizdlg.hxx>
#include <vcl/button.hxx>
#include <vcl/tabpage.hxx>
-#include <vcl/weld.hxx>
#include <o3tl/typed_flags_set.hxx>
-class Bitmap;
+namespace weld {
+ class Builder;
+ class Container;
+}
enum class WizardButtonFlags
{
@@ -94,8 +96,6 @@ namespace svt
//= OWizardPage
- class OWizardMachine;
-
class SVT_DLLPUBLIC OWizardPage : public TabPage, public IWizardPageController
{
diff --git a/include/svtools/wizdlg.hxx b/include/svtools/wizdlg.hxx
index 7d8b54e33119..dac116d371ea 100644
--- a/include/svtools/wizdlg.hxx
+++ b/include/svtools/wizdlg.hxx
@@ -22,12 +22,11 @@
#include <svtools/svtdllapi.h>
+#include <vcl/button.hxx>
#include <vcl/dialog.hxx>
#include <vcl/idle.hxx>
class TabPage;
-class Button;
-class PushButton;
struct ImplWizPageData;
struct ImplWizButtonData;
diff --git a/include/svx/dlgctrl.hxx b/include/svx/dlgctrl.hxx
index fd51e5264dd3..08cb40dea074 100644
--- a/include/svx/dlgctrl.hxx
+++ b/include/svx/dlgctrl.hxx
@@ -26,6 +26,7 @@
#include <vcl/graph.hxx>
#include <vcl/customweld.hxx>
#include <vcl/weld.hxx>
+#include <vcl/virdev.hxx>
#include <svx/xtable.hxx>
#include <rtl/ref.hxx>
#include <o3tl/typed_flags_set.hxx>
diff --git a/include/svx/dlgutil.hxx b/include/svx/dlgutil.hxx
index 76b2a600c718..55c914bfd864 100644
--- a/include/svx/dlgutil.hxx
+++ b/include/svx/dlgutil.hxx
@@ -22,6 +22,7 @@
#include <svtools/unitconv.hxx>
#include <svx/svxdllapi.h>
+#include <vcl/outdev.hxx>
class SfxItemSet;
diff --git a/include/svx/gridctrl.hxx b/include/svx/gridctrl.hxx
index 56bf87726d6b..fecb365b34ec 100644
--- a/include/svx/gridctrl.hxx
+++ b/include/svx/gridctrl.hxx
@@ -26,6 +26,7 @@
#include <com/sun/star/util/XNumberFormatter.hpp>
#include <com/sun/star/util/Date.hpp>
#include <com/sun/star/container/XIndexAccess.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
#include <vcl/fixed.hxx>
#include <vcl/field.hxx>