bin/find-unneeded-includes                  |    9 +
 include/sfx2/viewsh.hxx                     |    1 
 sw/IwyuFilter_sw.yaml                       |  150 ++++++++++++++++++++++++++++
 sw/inc/AnnotationWin.hxx                    |    1 
 sw/inc/EnhancedPDFExportHelper.hxx          |    2 
 sw/inc/IDocumentChartDataProviderAccess.hxx |    4 
 sw/inc/IDocumentFieldsAccess.hxx            |    1 
 sw/inc/IDocumentRedlineAccess.hxx           |    2 
 sw/inc/IGrammarContact.hxx                  |    1 
 sw/inc/IMark.hxx                            |    2 
 sw/inc/PostItMgr.hxx                        |    5 
 sw/inc/SwNodeNum.hxx                        |    1 
 sw/inc/SwStyleNameMapper.hxx                |    2 
 sw/inc/ToxTextGenerator.hxx                 |    3 
 sw/inc/acmplwrd.hxx                         |    1 
 sw/inc/anchoredobject.hxx                   |    1 
 sw/inc/authfld.hxx                          |    1 
 sw/inc/calbck.hxx                           |    8 -
 sw/inc/cellatr.hxx                          |    2 
 sw/inc/chpfld.hxx                           |    1 
 sw/inc/crsrsh.hxx                           |   13 --
 sw/inc/dcontact.hxx                         |    6 -
 sw/inc/dobjfac.hxx                          |    2 
 sw/inc/docary.hxx                           |    8 -
 sw/inc/drawdoc.hxx                          |    1 
 sw/inc/fmtcol.hxx                           |    1 
 sw/inc/fmthdft.hxx                          |    1 
 sw/inc/fmtmeta.hxx                          |    3 
 sw/inc/fmtpdsc.hxx                          |    4 
 sw/inc/format.hxx                           |    1 
 sw/inc/frmfmt.hxx                           |    3 
 sw/inc/gotodlg.hxx                          |    1 
 sw/inc/hintids.hxx                          |    3 
 sw/inc/hints.hxx                            |    2 
 sw/inc/mdiexp.hxx                           |    1 
 sw/inc/modcfg.hxx                           |    1 
 sw/inc/ndarr.hxx                            |    2 
 sw/inc/ndindex.hxx                          |    3 
 sw/inc/ndole.hxx                            |    2 
 sw/inc/ndtxt.hxx                            |    4 
 sw/inc/numrule.hxx                          |    2 
 sw/inc/pam.hxx                              |    2 
 sw/inc/paratr.hxx                           |    1 
 sw/inc/postithelper.hxx                     |    1 
 sw/inc/printdata.hxx                        |    5 
 sw/inc/redline.hxx                          |    1 
 sw/inc/swatrset.hxx                         |    4 
 sw/inc/swtable.hxx                          |    4 
 sw/inc/swtblfmt.hxx                         |    2 
 sw/inc/tblsel.hxx                           |    3 
 sw/inc/undobj.hxx                           |    1 
 sw/inc/unochart.hxx                         |    2 
 sw/inc/unoframe.hxx                         |    3 
 sw/inc/unoparagraph.hxx                     |    1 
 sw/inc/unosett.hxx                          |    2 
 sw/inc/unosrch.hxx                          |    1 
 sw/inc/unotbl.hxx                           |    1 
 sw/inc/unotext.hxx                          |    5 
 sw/inc/unotxdoc.hxx                         |    8 -
 sw/inc/view.hxx                             |    1 
 sw/inc/viewsh.hxx                           |    2 
 sw/inc/viscrs.hxx                           |    2 
 sw/source/uibase/inc/inpdlg.hxx             |    1 
 sw/source/uibase/uiview/viewport.cxx        |    1 
 64 files changed, 182 insertions(+), 134 deletions(-)

New commits:
commit 90c91b824c2b362b43bdd2f8d8d647867d8fe612
Author: Miklos Vajna <vmik...@collabora.co.uk>
Date:   Tue Apr 24 21:55:39 2018 +0200

    sw: fix remaining IWYU warnings in inc/*.hxx
    
    Also check for not needed forward declarations.
    
    Change-Id: I92759f3f40d9458fd192665b39b87a78d8b97e5a
    Reviewed-on: https://gerrit.libreoffice.org/53418
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk>

diff --git a/bin/find-unneeded-includes b/bin/find-unneeded-includes
index de91a3570231..7cc933ff6c9a 100755
--- a/bin/find-unneeded-includes
+++ b/bin/find-unneeded-includes
@@ -145,8 +145,15 @@ def processIWYUOutput(iwyuOutput, moduleRules):
                     toRemove.append("%s:%s: %s" % (currentFileName, lineno, 
include))
                 continue
 
+            match = re.match("- (.*);  // lines (.*)-.*", line)
+            if match:
+                fwdDecl = match.group(1)
+                lineno = match.group(2)
+                if not ignoreRemoval(fwdDecl, toAdd, currentFileName, 
moduleRules):
+                    toRemove.append("%s:%s: %s" % (currentFileName, lineno, 
fwdDecl))
+
     for remove in toRemove:
-        print("ERROR: %s: remove not needed include" % remove)
+        print("ERROR: %s: remove not needed include / forward declaration" % 
remove)
     return len(toRemove)
 
 
diff --git a/include/sfx2/viewsh.hxx b/include/sfx2/viewsh.hxx
index 8f72837bbdaa..37f051a8167b 100644
--- a/include/sfx2/viewsh.hxx
+++ b/include/sfx2/viewsh.hxx
@@ -115,6 +115,7 @@ namespace o3tl
 */
 
 
+class SfxViewFactory;
 #define SFX_DECL_VIEWFACTORY(Class) \
 private: \
     static SfxViewFactory *pFactory; \
diff --git a/sw/IwyuFilter_sw.yaml b/sw/IwyuFilter_sw.yaml
index 81f03b62dad1..49ce9f1fea25 100644
--- a/sw/IwyuFilter_sw.yaml
+++ b/sw/IwyuFilter_sw.yaml
@@ -92,3 +92,153 @@ blacklist:
     # base class has to be a complete type
     - com/sun/star/lang/XServiceInfo.hpp
     - com/sun/star/container/XEnumeration.hpp
+    sw/inc/unofieldcoll.hxx:
+    # base class has to be a complete type
+    - com/sun/star/util/XRefreshable.hpp
+    sw/inc/unochart.hxx:
+    # base class has to be a complete type
+    - com/sun/star/beans/XPropertySet.hpp
+    - com/sun/star/chart2/data/XDataProvider.hpp
+    - com/sun/star/chart2/data/XDataSequence.hpp
+    - com/sun/star/chart2/data/XDataSource.hpp
+    - com/sun/star/chart2/data/XLabeledDataSequence2.hpp
+    - com/sun/star/chart2/data/XNumericalDataSequence.hpp
+    - com/sun/star/chart2/data/XRangeXMLConversion.hpp
+    - com/sun/star/chart2/data/XTextualDataSequence.hpp
+    - com/sun/star/lang/XComponent.hpp
+    - com/sun/star/lang/XEventListener.hpp
+    - com/sun/star/lang/XServiceInfo.hpp
+    - com/sun/star/lang/XUnoTunnel.hpp
+    - com/sun/star/util/XCloneable.hpp
+    - com/sun/star/util/XModifiable.hpp
+    - com/sun/star/util/XModifyListener.hpp
+    sw/inc/unodraw.hxx:
+    # base class has to be a complete type
+    - com/sun/star/beans/XPropertyState.hpp
+    - com/sun/star/container/XEnumerationAccess.hpp
+    - com/sun/star/drawing/XShape.hpp
+    - com/sun/star/lang/XUnoTunnel.hpp
+    - com/sun/star/text/XTextContent.hpp
+    sw/inc/unoframe.hxx:
+    # base class has to be a complete type
+    - com/sun/star/beans/XPropertyState.hpp
+    - com/sun/star/container/XEnumerationAccess.hpp
+    - com/sun/star/container/XNamed.hpp
+    - com/sun/star/document/XEmbeddedObjectSupplier2.hpp
+    - com/sun/star/document/XEventsSupplier.hpp
+    - com/sun/star/drawing/XShape.hpp
+    - com/sun/star/text/XTextFrame.hpp
+    - com/sun/star/util/XModifyListener.hpp
+    sw/inc/unosrch.hxx:
+    # base class has to be a complete type
+    - com/sun/star/lang/XServiceInfo.hpp
+    - com/sun/star/lang/XUnoTunnel.hpp
+    - com/sun/star/util/XPropertyReplace.hpp
+    sw/inc/unoparagraph.hxx:
+    # base class has to be a complete type
+    - com/sun/star/beans/XMultiPropertySet.hpp
+    - com/sun/star/beans/XPropertySet.hpp
+    - com/sun/star/beans/XPropertyState.hpp
+    - com/sun/star/beans/XTolerantMultiPropertySet.hpp
+    - com/sun/star/container/XContentEnumerationAccess.hpp
+    - com/sun/star/container/XEnumerationAccess.hpp
+    - com/sun/star/lang/XServiceInfo.hpp
+    - com/sun/star/lang/XUnoTunnel.hpp
+    - com/sun/star/text/XTextContent.hpp
+    - com/sun/star/text/XTextRange.hpp
+    sw/inc/unosett.hxx:
+    # base class has to be a complete type
+    - com/sun/star/beans/XPropertySet.hpp
+    - com/sun/star/container/XIndexReplace.hpp
+    - com/sun/star/container/XNamed.hpp
+    - com/sun/star/lang/XServiceInfo.hpp
+    - com/sun/star/lang/XUnoTunnel.hpp
+    - com/sun/star/text/XTextColumns.hpp
+    # sw::UnoImplPtr typedef
+    - unobaseclass.hxx
+    sw/inc/unotbl.hxx:
+    # base class has to be a complete type
+    - com/sun/star/chart/XChartDataArray.hpp
+    - com/sun/star/container/XEnumerationAccess.hpp
+    - com/sun/star/container/XNamed.hpp
+    - com/sun/star/sheet/XCellRangeData.hpp
+    - com/sun/star/table/XAutoFormattable.hpp
+    - com/sun/star/table/XCellRange.hpp
+    - com/sun/star/text/XTextTable.hpp
+    - com/sun/star/text/XTextTableCursor.hpp
+    - com/sun/star/util/XSortable.hpp
+    sw/inc/unotextbodyhf.hxx:
+    # base class has to be a complete type
+    - com/sun/star/lang/XServiceInfo.hpp
+    - com/sun/star/container/XEnumerationAccess.hpp
+    sw/inc/unotextcursor.hxx:
+    # base class has to be a complete type
+    - com/sun/star/beans/XMultiPropertySet.hpp
+    - com/sun/star/beans/XMultiPropertyStates.hpp
+    - com/sun/star/beans/XPropertySet.hpp
+    - com/sun/star/beans/XPropertyState.hpp
+    - com/sun/star/container/XContentEnumerationAccess.hpp
+    - com/sun/star/container/XEnumerationAccess.hpp
+    - com/sun/star/document/XDocumentInsertable.hpp
+    - com/sun/star/lang/XServiceInfo.hpp
+    - com/sun/star/text/XMarkingAccess.hpp
+    - com/sun/star/text/XParagraphCursor.hpp
+    - com/sun/star/text/XRedline.hpp
+    - com/sun/star/text/XSentenceCursor.hpp
+    - com/sun/star/text/XWordCursor.hpp
+    - com/sun/star/util/XSortable.hpp
+    sw/inc/unoredlines.hxx:
+    # base class has to be a complete type
+    - com/sun/star/container/XEnumerationAccess.hpp
+    sw/inc/unotxdoc.hxx:
+    # base class has to be a complete type
+    - com/sun/star/beans/XPropertySet.hpp
+    - com/sun/star/beans/XPropertyState.hpp
+    - com/sun/star/document/XDocumentLanguages.hpp
+    - com/sun/star/document/XLinkTargetSupplier.hpp
+    - com/sun/star/document/XRedlinesSupplier.hpp
+    - com/sun/star/drawing/XDrawPageSupplier.hpp
+    - com/sun/star/drawing/XDrawPagesSupplier.hpp
+    - com/sun/star/lang/XServiceInfo.hpp
+    - com/sun/star/style/XAutoStylesSupplier.hpp
+    - com/sun/star/style/XStyleFamiliesSupplier.hpp
+    - com/sun/star/text/XBookmarksSupplier.hpp
+    - com/sun/star/text/XChapterNumberingSupplier.hpp
+    - com/sun/star/text/XDocumentIndexesSupplier.hpp
+    - com/sun/star/text/XEndnotesSupplier.hpp
+    - com/sun/star/text/XFlatParagraphIteratorProvider.hpp
+    - com/sun/star/text/XFootnotesSupplier.hpp
+    - com/sun/star/text/XLineNumberingProperties.hpp
+    - com/sun/star/text/XNumberingRulesSupplier.hpp
+    - com/sun/star/text/XPagePrintable.hpp
+    - com/sun/star/text/XReferenceMarksSupplier.hpp
+    - com/sun/star/text/XTextDocument.hpp
+    - com/sun/star/text/XTextEmbeddedObjectsSupplier.hpp
+    - com/sun/star/text/XTextFieldsSupplier.hpp
+    - com/sun/star/text/XTextFramesSupplier.hpp
+    - com/sun/star/text/XTextGraphicObjectsSupplier.hpp
+    - com/sun/star/text/XTextSectionsSupplier.hpp
+    - com/sun/star/text/XTextTablesSupplier.hpp
+    - com/sun/star/util/XCloneable.hpp
+    - com/sun/star/util/XLinkUpdate.hpp
+    - com/sun/star/util/XRefreshable.hpp
+    - com/sun/star/util/XReplaceable.hpp
+    - com/sun/star/view/XRenderable.hpp
+    - com/sun/star/xforms/XFormsSupplier.hpp
+    # sw::UnoImplPtr typedef
+    - unobaseclass.hxx
+    sw/inc/hintids.hxx:
+    # used as template parameter of TypedWhichId
+    - class SfxStringItem
+    - class SvXMLAttrContainerItem
+    - class SwAttrSetChg
+    - class SwDocPosUpdate
+    - class SwFormatChg
+    - class SwFormatMeta
+    - class SwMsgPoolItem
+    - class SwPtrMsgPoolItem
+    - class SwUpdateAttr
+    - class SfxBoolItem
+    - class SvxCharSetColorItem
+    # used in extern declaration
+    - struct SfxItemInfo
diff --git a/sw/inc/AnnotationWin.hxx b/sw/inc/AnnotationWin.hxx
index 2e4fffdb3d30..3b865ee71df5 100644
--- a/sw/inc/AnnotationWin.hxx
+++ b/sw/inc/AnnotationWin.hxx
@@ -41,6 +41,7 @@ class SwView;
 class Edit;
 class MenuButton;
 class SwFrame;
+class SvxLanguageItem;
 
 namespace sw { namespace overlay {
     class OverlayRanges;
diff --git a/sw/inc/EnhancedPDFExportHelper.hxx 
b/sw/inc/EnhancedPDFExportHelper.hxx
index a0c85e8c85e9..6aa5867377eb 100644
--- a/sw/inc/EnhancedPDFExportHelper.hxx
+++ b/sw/inc/EnhancedPDFExportHelper.hxx
@@ -43,10 +43,8 @@ class SwTextPainter;
 class SwEditShell;
 class StringRangeEnumerator;
 class SwTextNode;
-class SwNumRule;
 class SwTable;
 class SwNumberTreeNode;
-class SvxLanguageItem;
 
 /*
  * Mapping of OOo elements to tagged pdf elements:
diff --git a/sw/inc/IDocumentChartDataProviderAccess.hxx 
b/sw/inc/IDocumentChartDataProviderAccess.hxx
index 2ef66637eb37..59a7f817ab60 100644
--- a/sw/inc/IDocumentChartDataProviderAccess.hxx
+++ b/sw/inc/IDocumentChartDataProviderAccess.hxx
@@ -20,10 +20,6 @@
 #ifndef INCLUDED_SW_INC_IDOCUMENTCHARTDATAPROVIDERACCESS_HXX
 #define INCLUDED_SW_INC_IDOCUMENTCHARTDATAPROVIDERACCESS_HXX
 
-namespace com { namespace sun { namespace star { namespace frame {
-    class XModel;
-}}}}
-
 class SwTable;
 class SwChartDataProvider;
 class SwChartLockController_Helper;
diff --git a/sw/inc/IDocumentFieldsAccess.hxx b/sw/inc/IDocumentFieldsAccess.hxx
index e5f49aac1186..5b8299ac14db 100644
--- a/sw/inc/IDocumentFieldsAccess.hxx
+++ b/sw/inc/IDocumentFieldsAccess.hxx
@@ -34,7 +34,6 @@ class SwField;
 class SwMsgPoolItem;
 class DateTime;
 class SetGetExpField;
-struct SwHash;
 class SwNode;
 enum class SwFieldIds : sal_uInt16;
 template <class T> class SwHashTable;
diff --git a/sw/inc/IDocumentRedlineAccess.hxx 
b/sw/inc/IDocumentRedlineAccess.hxx
index a3ed714e6cb1..a68af07fb707 100644
--- a/sw/inc/IDocumentRedlineAccess.hxx
+++ b/sw/inc/IDocumentRedlineAccess.hxx
@@ -34,8 +34,6 @@
 class SwRangeRedline;
 class SwTableRowRedline;
 class SwTableCellRedline;
-class SwRedlineTable;
-class SwExtraRedlineTable;
 class SwPaM;
 struct SwPosition;
 class SwStartNode;
diff --git a/sw/inc/IGrammarContact.hxx b/sw/inc/IGrammarContact.hxx
index 58dc2ebb1ef5..995a80bc56e1 100644
--- a/sw/inc/IGrammarContact.hxx
+++ b/sw/inc/IGrammarContact.hxx
@@ -23,7 +23,6 @@
 struct SwPosition;
 class SwTextNode;
 class SwGrammarMarkUp;
-class SwDoc;
 
 /** Organizer of the contact between SwTextNodes and grammar checker
 */
diff --git a/sw/inc/IMark.hxx b/sw/inc/IMark.hxx
index ca3b1efa9f44..dfb73b8f9e0c 100644
--- a/sw/inc/IMark.hxx
+++ b/sw/inc/IMark.hxx
@@ -27,8 +27,6 @@
 #include <memory>
 #include "swdllapi.h"
 
-struct SwPosition;
-
 namespace sw { namespace mark
 {
     enum class InsertMode
diff --git a/sw/inc/PostItMgr.hxx b/sw/inc/PostItMgr.hxx
index 2c801fd6886d..32f77b8488f6 100644
--- a/sw/inc/PostItMgr.hxx
+++ b/sw/inc/PostItMgr.hxx
@@ -39,19 +39,15 @@
 
 class OutputDevice;
 class SwWrtShell;
-class SwDoc;
 class SwView;
 class SwPostItField;
 class SwFormatField;
-class SwField;
 class SfxBroadcaster;
 class SfxHint;
 class SwEditWin;
 class Color;
-class SfxItemPool;
 class SfxItemSet;
 class SvxSearchItem;
-class SvxLanguageItem;
 namespace sw { namespace annotation {
     class SwAnnotationWin;
 }}
@@ -62,7 +58,6 @@ class SwSidebarItem;
 class SwFrame;
 namespace vcl { class Window; }
 struct ImplSVEvent;
-class OutlinerSearchable;
 class OutlinerParaObject;
 namespace i18nutil { struct SearchOptions2; }
 
diff --git a/sw/inc/SwNodeNum.hxx b/sw/inc/SwNodeNum.hxx
index e1b4b997f004..4bb791788710 100644
--- a/sw/inc/SwNodeNum.hxx
+++ b/sw/inc/SwNodeNum.hxx
@@ -25,7 +25,6 @@
 class SwTextNode;
 struct SwPosition;
 class SwNumRule;
-class SwNumFormat;
 
 class SW_DLLPUBLIC SwNodeNum : public SwNumberTreeNode
 {
diff --git a/sw/inc/SwStyleNameMapper.hxx b/sw/inc/SwStyleNameMapper.hxx
index ee976470c714..e9e2533dd6e6 100644
--- a/sw/inc/SwStyleNameMapper.hxx
+++ b/sw/inc/SwStyleNameMapper.hxx
@@ -71,8 +71,6 @@
  * " (user)", we simply remove it.
  */
 
-struct SwTableEntry;
-
 typedef std::unordered_map<OUString, sal_uInt16> NameToIdHash;
 
 class SwStyleNameMapper final
diff --git a/sw/inc/ToxTextGenerator.hxx b/sw/inc/ToxTextGenerator.hxx
index 4f996c44e150..f93db784ce58 100644
--- a/sw/inc/ToxTextGenerator.hxx
+++ b/sw/inc/ToxTextGenerator.hxx
@@ -36,12 +36,9 @@ class SwContentNode;
 class SwDoc;
 class SwForm;
 struct SwFormToken;
-class SwPageDesc;
-class SwRootFrame;
 class SwTextAttr;
 class SwTextNode;
 struct SwTOXSortTabBase;
-class SvxTabStop;
 class ToxTextGeneratorTest;
 
 namespace sw {
diff --git a/sw/inc/acmplwrd.hxx b/sw/inc/acmplwrd.hxx
index 55d1cb5670c4..03199909d9c2 100644
--- a/sw/inc/acmplwrd.hxx
+++ b/sw/inc/acmplwrd.hxx
@@ -29,7 +29,6 @@
 
 class SwDoc;
 class SwAutoCompleteWord_Impl;
-class SwAutoCompleteClient;
 class SwAutoCompleteString;
 
 typedef std::deque<SwAutoCompleteString*> SwAutoCompleteStringPtrDeque;
diff --git a/sw/inc/anchoredobject.hxx b/sw/inc/anchoredobject.hxx
index 7aa0a23df4b4..1999354deb79 100644
--- a/sw/inc/anchoredobject.hxx
+++ b/sw/inc/anchoredobject.hxx
@@ -29,7 +29,6 @@ class SwLayoutFrame;
 class SwTextFrame;
 
 class SwPageFrame;
-class SwObjPositioningInProgress;
 
 class SwFrameFormat;
 class SwFormatAnchor;
diff --git a/sw/inc/authfld.hxx b/sw/inc/authfld.hxx
index d861ddd0fd8b..ad50de2487fc 100644
--- a/sw/inc/authfld.hxx
+++ b/sw/inc/authfld.hxx
@@ -54,7 +54,6 @@ struct SwTOXSortKey
         bSortAscending(true){}
 };
 
-class SwAuthorityField;
 typedef std::vector<SwTOXSortKey> SortKeyArr;
 typedef std::vector<std::unique_ptr<SwAuthEntry>> SwAuthDataArr;
 
diff --git a/sw/inc/calbck.hxx b/sw/inc/calbck.hxx
index 8843f2a45838..c9d81f8df8f7 100644
--- a/sw/inc/calbck.hxx
+++ b/sw/inc/calbck.hxx
@@ -29,9 +29,7 @@
 #include <vector>
 #include <memory>
 
-
 class SwModify;
-class SwPtrMsgPoolItem;
 
 /*
     SwModify and SwClient cooperate in propagating attribute changes.
@@ -57,10 +55,6 @@ class SwPtrMsgPoolItem;
     This is still subject to refactoring.
  */
 
-class SwModify;
-class SwClient;
-template<typename E, typename S> class SwIterator;
-
 namespace sw
 {
     class ClientIteratorBase;
@@ -321,8 +315,6 @@ namespace sw
     };
 }
 
-class SwPageDesc;
-
 template< typename TElementType, typename TSource > class SwIterator final : 
private sw::ClientIteratorBase
 {
     //static_assert(!std::is_base_of<SwPageDesc,TSource>::value, "SwPageDesc 
as TSource is deprecated.");
diff --git a/sw/inc/cellatr.hxx b/sw/inc/cellatr.hxx
index 795e03952aeb..c340ebb7783a 100644
--- a/sw/inc/cellatr.hxx
+++ b/sw/inc/cellatr.hxx
@@ -26,8 +26,6 @@
 #include "format.hxx"
 #include "cellfml.hxx"
 
-namespace rtl { class OUString; }
-
 /** The number formatter's default locale's @ Text format.
     Not necessarily system locale, but the locale the formatter was constructed
     with. For this SvNumberFormatter::IsTextFormat() always returns true.
diff --git a/sw/inc/chpfld.hxx b/sw/inc/chpfld.hxx
index 39f45c0b2331..561836850c5d 100644
--- a/sw/inc/chpfld.hxx
+++ b/sw/inc/chpfld.hxx
@@ -24,7 +24,6 @@
 class SwFrame;
 class SwContentNode;
 class SwTextNode;
-class ToxTextGeneratorTest;
 
 enum SwChapterFormat
 {
diff --git a/sw/inc/crsrsh.hxx b/sw/inc/crsrsh.hxx
index 8eb324b6abf8..48f7c7a57d17 100644
--- a/sw/inc/crsrsh.hxx
+++ b/sw/inc/crsrsh.hxx
@@ -43,19 +43,8 @@
 class SfxItemSet;
 class SfxPoolItem;
 class SwContentFrame;
-class SwCursorShell;
-class SwCursor;
-class SwField;
-class SwFieldType;
-class SwFormat;
 class SwFormatField;
-class SwNodeIndex;
-class SwPaM;
-class SwShellCursor;
-class SwShellTableCursor;
-class SwTableNode;
 class SwTextFormatColl;
-class SwVisibleCursor;
 class SwTextINetFormat;
 class SwFormatINetFormat;
 class SwTextAttr;
@@ -63,10 +52,8 @@ class SwTableBox;
 class SwTOXMark;
 class SwRangeRedline;
 class SwBlockCursor;
-class SwContentNode;
 class SwPostItField;
 class SwTextField;
-struct SwPosition;
 
 namespace i18nutil {
     struct SearchOptions2;
diff --git a/sw/inc/dcontact.hxx b/sw/inc/dcontact.hxx
index 2262eeac6036..7898c68154ab 100644
--- a/sw/inc/dcontact.hxx
+++ b/sw/inc/dcontact.hxx
@@ -30,20 +30,17 @@
 #include "calbck.hxx"
 #include "anchoreddrawobject.hxx"
 
-class SfxPoolItem;
-class SwFrameFormat;
-class SwFlyFrameFormat;
 class SwFlyFrame;
 class SwFrame;
 class SwPageFrame;
 class SwVirtFlyDrawObj;
-class SwFormatAnchor;
 class SwFlyDrawObj;
 class SwRect;
 class SwDrawContact;
 struct SwPosition;
 class SwIndex;
 class SdrTextObj;
+class SwContact;
 
 /** The other way round: Search format for given object.
  If object is a SwVirtFlyDrawObj the format will be obtained from it.
@@ -311,7 +308,6 @@ bool CheckControlLayer( const SdrObject *pObj );
 
 /** ContactObject for connection of formats as representatives of draw objects
  in SwClient and the objects themselves in Drawing (SDrObjUserCall). */
-class NestedUserCallHdl;
 
 class SwDrawContact final : public SwContact
 {
diff --git a/sw/inc/dobjfac.hxx b/sw/inc/dobjfac.hxx
index 6778caa77435..421a67c354ec 100644
--- a/sw/inc/dobjfac.hxx
+++ b/sw/inc/dobjfac.hxx
@@ -21,8 +21,6 @@
 
 #include <tools/link.hxx>
 
-class SdrObjFactory;
-
 class SwObjectFactory
 {
 public:
diff --git a/sw/inc/docary.hxx b/sw/inc/docary.hxx
index 068880d8c22e..c3c4724ab505 100644
--- a/sw/inc/docary.hxx
+++ b/sw/inc/docary.hxx
@@ -40,19 +40,11 @@
 
 class SwRangeRedline;
 class SwExtraRedline;
-class SwUnoCursor;
 class SwOLENode;
 class SwTable;
 class SwTableLine;
 class SwTableBox;
 struct SwPosition;
-class SwContentNode;
-class SwTextNode;
-
-namespace com { namespace sun { namespace star { namespace i18n {
-    struct ForbiddenCharacters;    ///< comes from the I18N UNO interface
-}}}}
-
 
 /** provides some methods for generic operations on lists that contain 
SwFormat* subclasses. */
 class SwFormatsBase
diff --git a/sw/inc/drawdoc.hxx b/sw/inc/drawdoc.hxx
index 60bd71cc8384..b607cb9e100a 100644
--- a/sw/inc/drawdoc.hxx
+++ b/sw/inc/drawdoc.hxx
@@ -22,7 +22,6 @@
 #include <svx/fmmodel.hxx>
 
 class SwDoc;
-class SwDocShell;
 
 class SwDrawModel : public FmFormModel
 {
diff --git a/sw/inc/fmtcol.hxx b/sw/inc/fmtcol.hxx
index 4f960fdcdf21..119d636ff7b8 100644
--- a/sw/inc/fmtcol.hxx
+++ b/sw/inc/fmtcol.hxx
@@ -26,7 +26,6 @@
 #include <vector>
 #include <memory>
 
-class SwDoc;
 class SwAttrPool;
 namespace sw{ class DocumentStylePoolManager; }
 
diff --git a/sw/inc/fmthdft.hxx b/sw/inc/fmthdft.hxx
index 7fcb53ecf4d8..7107d80d2894 100644
--- a/sw/inc/fmthdft.hxx
+++ b/sw/inc/fmthdft.hxx
@@ -26,7 +26,6 @@
 #include "frmfmt.hxx"
 
 class IntlWrapper;
-class SwFormat;
 
  /** Header, for PageFormats
  Client of FrameFormat describing the header. */
diff --git a/sw/inc/fmtmeta.hxx b/sw/inc/fmtmeta.hxx
index b1c76dff6827..9fe0fce07656 100644
--- a/sw/inc/fmtmeta.hxx
+++ b/sw/inc/fmtmeta.hxx
@@ -20,6 +20,8 @@
 #ifndef INCLUDED_SW_INC_FMTMETA_HXX
 #define INCLUDED_SW_INC_FMTMETA_HXX
 
+#include "calbck.hxx"
+
 #include <cppuhelper/weakref.hxx>
 
 #include <svl/poolitem.hxx>
@@ -79,6 +81,7 @@ class SwTextMeta;
 class SwXMeta;
 class SwXMetaField;
 class SwTextNode;
+class SwDoc;
 namespace sw {
     class Meta;
     class MetaFieldManager;
diff --git a/sw/inc/fmtpdsc.hxx b/sw/inc/fmtpdsc.hxx
index 1b015cf2384f..0d6d23943cd8 100644
--- a/sw/inc/fmtpdsc.hxx
+++ b/sw/inc/fmtpdsc.hxx
@@ -27,11 +27,7 @@
 #include <boost/optional.hpp>
 #include "pagedesc.hxx"
 
-class SwPageDesc;
-class SwHistory;
-class SwPaM;
 class IntlWrapper;
-class SwEndNoteInfo;
 
 /** Pagedescriptor
  Client of SwPageDesc that is "described" by the attribute. */
diff --git a/sw/inc/format.hxx b/sw/inc/format.hxx
index 203a7f286bcf..a739fddf18a3 100644
--- a/sw/inc/format.hxx
+++ b/sw/inc/format.hxx
@@ -32,6 +32,7 @@ class IDocumentFieldsAccess;
 class IDocumentChartDataProviderAccess;
 class SwDoc;
 class SfxGrabBagItem;
+class SwTextGridItem;
 
 namespace drawinglayer { namespace attribute {
     class SdrAllFillAttributesHelper;
diff --git a/sw/inc/frmfmt.hxx b/sw/inc/frmfmt.hxx
index 01cf869b8e10..787988467407 100644
--- a/sw/inc/frmfmt.hxx
+++ b/sw/inc/frmfmt.hxx
@@ -34,11 +34,8 @@ class Graphic;
 class ImageMap;
 class IMapObject;
 class SwRect;
-class SwContact;
 class SdrObject;
 class SwRootFrame;
-class SwFlyDrawContact;
-class SdrModel;
 
 namespace sw
 {
diff --git a/sw/inc/gotodlg.hxx b/sw/inc/gotodlg.hxx
index 547a439e196f..d45e28f1c06f 100644
--- a/sw/inc/gotodlg.hxx
+++ b/sw/inc/gotodlg.hxx
@@ -23,7 +23,6 @@
 #include <vcl/weld.hxx>
 
 class SwView;
-class SwWrtShell;
 
 class SwGotoPageDlg : public weld::GenericDialogController
 {
diff --git a/sw/inc/hintids.hxx b/sw/inc/hintids.hxx
index 8af4d54fb95f..0e2806b46a9b 100644
--- a/sw/inc/hintids.hxx
+++ b/sw/inc/hintids.hxx
@@ -33,6 +33,9 @@ class SwDocPosUpdate;
 class SwFormatMeta;
 class SvXMLAttrContainerItem;
 class SwMsgPoolItem;
+class SwPtrMsgPoolItem;
+class SfxBoolItem;
+class SvxCharSetColorItem;
 
 // For SwTextHints without end index the following char is added:
 
diff --git a/sw/inc/hints.hxx b/sw/inc/hints.hxx
index b2dd5aff5eed..4da6408dfe99 100644
--- a/sw/inc/hints.hxx
+++ b/sw/inc/hints.hxx
@@ -28,10 +28,8 @@ class OutputDevice;
 class SwTable;
 class SwNode;
 class SwNodes;
-class SwContentNode;
 class SwPageFrame;
 class SwFrame;
-class SwTextNode;
 class SwHistory;
 
 // Base class for all Message-Hints:
diff --git a/sw/inc/mdiexp.hxx b/sw/inc/mdiexp.hxx
index 18dfb9d56405..052385911da5 100644
--- a/sw/inc/mdiexp.hxx
+++ b/sw/inc/mdiexp.hxx
@@ -26,7 +26,6 @@
 class SwRect;
 class Size;
 class SwViewShell;
-class SwDoc;
 class SwDocShell;
 
 extern void ScrollMDI(SwViewShell const * pVwSh, const SwRect &, sal_uInt16 
nRangeX, sal_uInt16 nRangeY);
diff --git a/sw/inc/modcfg.hxx b/sw/inc/modcfg.hxx
index 3490337dcb90..857f3aa292f7 100644
--- a/sw/inc/modcfg.hxx
+++ b/sw/inc/modcfg.hxx
@@ -31,7 +31,6 @@
 #include <vector>
 #include <memory>
 
-class SwModuleOptions;
 class InsCaptionOpt;
 
 // text format for the sending of messages ------------------------------
diff --git a/sw/inc/ndarr.hxx b/sw/inc/ndarr.hxx
index 2bf38363434d..e9a3a7f11788 100644
--- a/sw/inc/ndarr.hxx
+++ b/sw/inc/ndarr.hxx
@@ -39,12 +39,10 @@ class SwContentNode;
 class SwDoc;
 class SwGrfFormatColl;
 class SwGrfNode;
-class SwHistory;
 class SwNode;
 class SwNodeIndex;
 class SwNodeRange;
 class SwOLENode;
-class SwOutlineNodes;
 class SwPaM;
 class SwSectionData;
 class SwSectionFormat;
diff --git a/sw/inc/ndindex.hxx b/sw/inc/ndindex.hxx
index fbaf0314f84f..95f1f7354ac5 100644
--- a/sw/inc/ndindex.hxx
+++ b/sw/inc/ndindex.hxx
@@ -27,9 +27,6 @@
 #include "ring.hxx"
 #include "ndarr.hxx"
 
-class SwNode;
-class SwNodes;
-
 /// Marks a node in the document model.
 class SW_DLLPUBLIC SwNodeIndex final : public sw::Ring<SwNodeIndex>
 {
diff --git a/sw/inc/ndole.hxx b/sw/inc/ndole.hxx
index 1936bb030b20..cc72ff6279a3 100644
--- a/sw/inc/ndole.hxx
+++ b/sw/inc/ndole.hxx
@@ -46,7 +46,7 @@ class SW_DLLPUBLIC SwOLEObj
     // eventually buffered data if it is a chart OLE
     drawinglayer::primitive2d::Primitive2DContainer     m_aPrimitive2DSequence;
     basegfx::B2DRange                                   m_aRange;
-    class DeflateData*                                  m_pDeflateData;
+    DeflateData*                                  m_pDeflateData;
 
     SwOLEObj( const SwOLEObj& rObj ) = delete;
 
diff --git a/sw/inc/ndtxt.hxx b/sw/inc/ndtxt.hxx
index 4543defcbd33..269e66ed7516 100644
--- a/sw/inc/ndtxt.hxx
+++ b/sw/inc/ndtxt.hxx
@@ -37,7 +37,6 @@
 class SfxHint;
 class SwNumRule;
 class SwNodeNum;
-class SwList;
 class SvxLRSpaceItem;
 
 namespace utl {
@@ -48,7 +47,6 @@ namespace vcl
 class Font;
 }
 
-class SwTextFormatColl;
 class SwContentFrame;
 class SwTextField;
 class SwTextInputField;
@@ -59,8 +57,6 @@ struct SwConversionArgs;
 class SwInterHyphInfo;
 class SwWrongList;
 class SwGrammarMarkUp;
-class OutputDevice;
-class SwScriptInfo;
 struct SwDocStat;
 struct SwParaIdleData_Impl;
 
diff --git a/sw/inc/numrule.hxx b/sw/inc/numrule.hxx
index cdbfd9f5f252..7d5bc9f4a374 100644
--- a/sw/inc/numrule.hxx
+++ b/sw/inc/numrule.hxx
@@ -38,7 +38,6 @@ class SwNodeNum;
 namespace vcl { class Font; }
 class SvxBrushItem;
 class SfxGrabBagItem;
-class SvxNumRule;
 class SwDoc;
 class SwFormatVertOrient;
 class SwTextNode;
@@ -89,7 +88,6 @@ public:
     bool IsItemize() const; // #i29560#
 };
 
-class SwPaM;
 enum SwNumRuleType { OUTLINE_RULE = 0, NUM_RULE = 1, RULE_END = 2 };
 class SW_DLLPUBLIC SwNumRule
 {
diff --git a/sw/inc/pam.hxx b/sw/inc/pam.hxx
index ac3ac8da46c9..f5840c0d1a4d 100644
--- a/sw/inc/pam.hxx
+++ b/sw/inc/pam.hxx
@@ -32,8 +32,6 @@ class SwFormat;
 class SfxPoolItem;
 class SfxItemSet;
 class SwDoc;
-class SwNode;
-class SwContentNode;
 class SwPaM;
 class Point;
 namespace i18nutil {
diff --git a/sw/inc/paratr.hxx b/sw/inc/paratr.hxx
index cc1c98862fc3..477cb2ad5f4c 100644
--- a/sw/inc/paratr.hxx
+++ b/sw/inc/paratr.hxx
@@ -39,7 +39,6 @@
 #include <editeng/paravertalignitem.hxx>
 #include <editeng/pgrditem.hxx>
 
-class SwCharFormat;
 class IntlWrapper;
 
 #define DROP_WHOLEWORD ((sal_uInt16)0x0001)
diff --git a/sw/inc/postithelper.hxx b/sw/inc/postithelper.hxx
index 1e20f47e9df4..d9a0f8aac3e3 100644
--- a/sw/inc/postithelper.hxx
+++ b/sw/inc/postithelper.hxx
@@ -30,7 +30,6 @@ class SwRootFrame;
 class SwPostItMgr;
 class SwEditWin;
 class SwFrame;
-class SvxLanguageItem;
 namespace sw { namespace annotation {
     class SwAnnotationWin;
 } }
diff --git a/sw/inc/printdata.hxx b/sw/inc/printdata.hxx
index eacb046fa089..a87232c6b95c 100644
--- a/sw/inc/printdata.hxx
+++ b/sw/inc/printdata.hxx
@@ -34,13 +34,8 @@ class SwDoc;
 class SwDocShell;
 class SetGetExpFields;
 class SwViewOption;
-class OutputDevice;
 class SwViewOptionAdjust_Impl;
 class SwViewShell;
-class SfxViewShell;
-
-// forward declarations
-class SwPrintUIOptions;
 class SwRenderData;
 
 /** this must match the definitions in css::text::NotePrintMode */
diff --git a/sw/inc/redline.hxx b/sw/inc/redline.hxx
index 958882bad2fb..cde78e743b0b 100644
--- a/sw/inc/redline.hxx
+++ b/sw/inc/redline.hxx
@@ -33,7 +33,6 @@
 
 
 class SfxItemSet;
-class SwView;
 
 class SW_DLLPUBLIC SwRedlineExtraData
 {
diff --git a/sw/inc/swatrset.hxx b/sw/inc/swatrset.hxx
index 18e6ad0e8585..32ded89c4a8b 100644
--- a/sw/inc/swatrset.hxx
+++ b/sw/inc/swatrset.hxx
@@ -27,7 +27,6 @@ class SwModify;
 class SwDoc;
 class OutputDevice;
 class IDocumentSettingAccess;
-class SfxBoolItem;
 class SvxPostureItem;
 class SvxWeightItem;
 class SvxShadowedItem;
@@ -39,10 +38,8 @@ class SvxUnderlineItem;
 class SvxOverlineItem;
 class SvxCrossedOutItem;
 class SvxFontHeightItem;
-class SvxPropSizeItem;
 class SvxFontItem;
 class SvxColorItem;
-class SvxCharSetColorItem;
 class SvxLanguageItem;
 class SvxEscapementItem;
 class SvxCaseMapItem;
@@ -89,7 +86,6 @@ class SwFormatFootnoteAtTextEnd;
 class SwFormatEndAtTextEnd;
 class SwFormatNoBalancedColumns;
 class SvxFrameDirectionItem;
-class SwTextGridItem;
 class SwHeaderAndFooterEatSpacingItem;
 class SwFormatFollowTextFlow;
 class SwFormatWrapInfluenceOnObjPos;
diff --git a/sw/inc/swtable.hxx b/sw/inc/swtable.hxx
index edeb04509d18..4dc1e6831a1c 100644
--- a/sw/inc/swtable.hxx
+++ b/sw/inc/swtable.hxx
@@ -35,10 +35,6 @@
 class SwStartNode;
 class SwFormat;
 class Color;
-class SwFrameFormat;
-class SwTableFormat;
-class SwTableLineFormat;
-class SwTableBoxFormat;
 class SwHTMLTableLayout;
 class SwTableLine;
 class SwTableBox;
diff --git a/sw/inc/swtblfmt.hxx b/sw/inc/swtblfmt.hxx
index 63f7f3ee46b0..0786dc58f3b2 100644
--- a/sw/inc/swtblfmt.hxx
+++ b/sw/inc/swtblfmt.hxx
@@ -21,8 +21,6 @@
 
 #include "frmfmt.hxx"
 
-class SwDoc;
-
 class SW_DLLPUBLIC SwTableFormat final : public SwFrameFormat
 {
     friend class SwDoc;
diff --git a/sw/inc/tblsel.hxx b/sw/inc/tblsel.hxx
index 8fff1d0ec627..e7ef81b53ef3 100644
--- a/sw/inc/tblsel.hxx
+++ b/sw/inc/tblsel.hxx
@@ -34,12 +34,9 @@ class SwCursor;
 class SwTableCursor;
 class SwFrame;
 class SwTabFrame;
-class SwTableBox;
-class SwTableLine;
 class SwLayoutFrame;
 class SwPaM;
 class SwNode;
-class SwTable;
 class SwUndoTableMerge;
 class SwCellFrame;
 
diff --git a/sw/inc/undobj.hxx b/sw/inc/undobj.hxx
index a04d61e6f951..7b6a35479005 100644
--- a/sw/inc/undobj.hxx
+++ b/sw/inc/undobj.hxx
@@ -30,7 +30,6 @@
 #include <boost/optional.hpp>
 
 class SwHistory;
-class SwIndex;
 class SwPaM;
 struct SwPosition;
 class SwDoc;
diff --git a/sw/inc/unochart.hxx b/sw/inc/unochart.hxx
index 8910ec01cde4..ff11d96a25f5 100644
--- a/sw/inc/unochart.hxx
+++ b/sw/inc/unochart.hxx
@@ -38,7 +38,6 @@
 #include <com/sun/star/lang/XEventListener.hpp>
 #include <com/sun/star/util/XModifiable.hpp>
 #include <com/sun/star/util/XModifyListener.hpp>
-#include <com/sun/star/table/XCell.hpp>
 
 #include <comphelper/interfacecontainer2.hxx>
 #include <cppuhelper/implbase.hxx>
@@ -58,6 +57,7 @@ class SwTable;
 class SwTableBox;
 struct SwRangeDescriptor;
 class SwSelBoxes;
+namespace com { namespace sun { namespace star { namespace table { class 
XCell; } } } }
 
 bool FillRangeDescriptor( SwRangeDescriptor &rDesc, const OUString 
&rCellRangeName );
 
diff --git a/sw/inc/unoframe.hxx b/sw/inc/unoframe.hxx
index 0893022328ce..41dc3292c53c 100644
--- a/sw/inc/unoframe.hxx
+++ b/sw/inc/unoframe.hxx
@@ -26,7 +26,6 @@
 #include <com/sun/star/text/XTextFrame.hpp>
 #include <com/sun/star/drawing/XShape.hpp>
 #include <com/sun/star/util/XModifyListener.hpp>
-#include <com/sun/star/frame/XModel.hpp>
 #include <com/sun/star/document/XEventsSupplier.hpp>
 
 #include <cppuhelper/implbase.hxx>
@@ -40,6 +39,8 @@
 class SdrObject;
 class SwDoc;
 class SwFormat;
+class SfxItemPropertySet;
+namespace com { namespace sun { namespace star { namespace frame { class 
XModel; } } } }
 
 class BaseFrameProperties_Impl;
 class SwXFrame : public cppu::WeakImplHelper
diff --git a/sw/inc/unoparagraph.hxx b/sw/inc/unoparagraph.hxx
index 8b70bd0f78e2..c44c66c77e52 100644
--- a/sw/inc/unoparagraph.hxx
+++ b/sw/inc/unoparagraph.hxx
@@ -39,7 +39,6 @@
 
 #include "unobaseclass.hxx"
 
-struct SwPosition;
 class SwPaM;
 class SwUnoCursor;
 class SwStartNode;
diff --git a/sw/inc/unosett.hxx b/sw/inc/unosett.hxx
index 79ba07063bdb..1372c30126d0 100644
--- a/sw/inc/unosett.hxx
+++ b/sw/inc/unosett.hxx
@@ -25,7 +25,6 @@
 #include <com/sun/star/lang/XUnoTunnel.hpp>
 #include <com/sun/star/container/XIndexReplace.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/container/XNamed.hpp>
 #include <com/sun/star/style/VerticalAlignment.hpp>
 #include <cppuhelper/implbase2.hxx>
@@ -39,6 +38,7 @@ class SwDocShell;
 class SwNumRule;
 class SwNumFormat;
 class SfxItemPropertySet;
+namespace com { namespace sun { namespace star { namespace beans { struct 
PropertyValue; } } } }
 
 class SwXFootnoteProperties : public cppu::WeakAggImplHelper2
 <
diff --git a/sw/inc/unosrch.hxx b/sw/inc/unosrch.hxx
index 73169cc85bda..bc2f3e0c7e51 100644
--- a/sw/inc/unosrch.hxx
+++ b/sw/inc/unosrch.hxx
@@ -26,7 +26,6 @@
 #include <rtl/ustring.hxx>
 
 class SfxItemPropertySet;
-class SwXTextDocument;
 class SwSearchProperties_Impl;
 class SfxItemSet;
 
diff --git a/sw/inc/unotbl.hxx b/sw/inc/unotbl.hxx
index 88d76a515608..83dbb04c951c 100644
--- a/sw/inc/unotbl.hxx
+++ b/sw/inc/unotbl.hxx
@@ -44,6 +44,7 @@ class SwTable;
 class SwTableBox;
 class SwTableLine;
 class SwTableCursor;
+class SfxItemPropertySet;
 
 typedef
 cppu::WeakImplHelper
diff --git a/sw/inc/unotext.hxx b/sw/inc/unotext.hxx
index 56accd788645..747f7abfbea0 100644
--- a/sw/inc/unotext.hxx
+++ b/sw/inc/unotext.hxx
@@ -22,7 +22,6 @@
 
 #include <com/sun/star/lang/XUnoTunnel.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/text/XText.hpp>
 #include <com/sun/star/text/XTextCopy.hpp>
 #include <com/sun/star/text/XTextRangeCompare.hpp>
 #include <com/sun/star/text/XRelativeTextContentInsert.hpp>
@@ -34,15 +33,13 @@
 namespace com { namespace sun { namespace star {
     namespace text {
         class XTextContent;
+        class XText;
     }
 } } }
 
-class SfxItemPropertySet;
 class SwDoc;
 class SwStartNode;
 class SwPaM;
-class OTextCursorHelper;
-class SwXTextRange;
 
 class SwXText
     : public css::lang::XTypeProvider
diff --git a/sw/inc/unotxdoc.hxx b/sw/inc/unotxdoc.hxx
index 131868206464..f9fda4d3f216 100644
--- a/sw/inc/unotxdoc.hxx
+++ b/sw/inc/unotxdoc.hxx
@@ -45,17 +45,13 @@
 #include <com/sun/star/drawing/XDrawPageSupplier.hpp>
 #include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
 #include <com/sun/star/util/XReplaceable.hpp>
-#include <com/sun/star/util/XReplaceDescriptor.hpp>
 #include <com/sun/star/util/XRefreshable.hpp>
 #include <com/sun/star/util/XLinkUpdate.hpp>
 #include <com/sun/star/view/XRenderable.hpp>
 #include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/frame/XController.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/beans/XPropertyState.hpp>
-#include <com/sun/star/lang/Locale.hpp>
 #include <com/sun/star/xforms/XFormsSupplier.hpp>
-#include <com/sun/star/container/XNameContainer.hpp>
 #include <com/sun/star/text/XFlatParagraphIteratorProvider.hpp>
 #include <com/sun/star/document/XDocumentLanguages.hpp>
 #include <com/sun/star/util/XCloneable.hpp>
@@ -84,6 +80,10 @@ class SwPrintData;
 class SwRenderData;
 class SwViewShell;
 class SfxItemPropertySet;
+namespace com { namespace sun { namespace star { namespace container { class 
XNameContainer; } } } }
+namespace com { namespace sun { namespace star { namespace frame { class 
XController; } } } }
+namespace com { namespace sun { namespace star { namespace lang { struct 
Locale; } } } }
+namespace com { namespace sun { namespace star { namespace util { class 
XReplaceDescriptor; } } } }
 
 typedef cppu::WeakImplHelper
 <
diff --git a/sw/inc/view.hxx b/sw/inc/view.hxx
index 2dedb5ff5f99..30e00b1e5844 100644
--- a/sw/inc/view.hxx
+++ b/sw/inc/view.hxx
@@ -66,7 +66,6 @@ enum class SotExchangeDest;
 class SwCursorShell;
 enum class SvxSearchCmd;
 enum class SelectionType : sal_Int32;
-class SfxViewFactory;
 
 namespace com{ namespace sun { namespace star {
     namespace view{ class XSelectionSupplier; }
diff --git a/sw/inc/viewsh.hxx b/sw/inc/viewsh.hxx
index f8b37a622301..afe420ac43be 100644
--- a/sw/inc/viewsh.hxx
+++ b/sw/inc/viewsh.hxx
@@ -28,7 +28,6 @@
 #include <vcl/mapmod.hxx>
 #include <vcl/vclptr.hxx>
 #include <vcl/lazydelete.hxx>
-#include <vcl/weld.hxx>
 
 namespace com { namespace sun { namespace star { namespace accessibility {
            class XAccessible; } } } }
@@ -72,6 +71,7 @@ namespace vcl
 {
     typedef OutputDevice RenderContext;
 }
+namespace weld { class Dialog; }
 
 // Define for flags needed in ctor or layers below.
 // Currently the Preview flag is needed for DrawPage.
diff --git a/sw/inc/viscrs.hxx b/sw/inc/viscrs.hxx
index 848739e15eb0..e30fd59283f3 100644
--- a/sw/inc/viscrs.hxx
+++ b/sw/inc/viscrs.hxx
@@ -27,8 +27,6 @@
 #include "swregion.hxx"
 
 class SwCursorShell;
-class SwShellCursor;
-class SwTextInputField;
 class SfxViewShell;
 
 // From here classes/methods for non-text cursor.
diff --git a/sw/source/uibase/inc/inpdlg.hxx b/sw/source/uibase/inc/inpdlg.hxx
index 223c835b37cf..1263b0a1844b 100644
--- a/sw/source/uibase/inc/inpdlg.hxx
+++ b/sw/source/uibase/inc/inpdlg.hxx
@@ -24,6 +24,7 @@
 #include <vcl/button.hxx>
 #include <vcl/fixed.hxx>
 #include <vcl/vclmedit.hxx>
+#include <vcl/weld.hxx>
 
 class SwInputField;
 class SwSetExpField;
diff --git a/sw/source/uibase/uiview/viewport.cxx 
b/sw/source/uibase/uiview/viewport.cxx
index affe271e5e6f..75e38086eec7 100644
--- a/sw/source/uibase/uiview/viewport.cxx
+++ b/sw/source/uibase/uiview/viewport.cxx
@@ -48,6 +48,7 @@
 
 #include <basegfx/utils/zoomtools.hxx>
 #include <comphelper/lok.hxx>
+#include <vcl/weld.hxx>
 
 // The SetVisArea of the DocShell must not be called from InnerResizePixel.
 // But our adjustments must take place.
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to