sc: forward declare ScDrawView in tabview.hxx.

tabview.hxx included drawview.hxx for a std::unique_ptr<ScDrawView> member
and an accessor that returns the raw pointer. Neither needs the complete
type, and the destructor of ScTabView is already out of line. The include
dragged svx/fmview.hxx, svx/view3d.hxx, svx/svdview.hxx and the rest of the
svx view class chain into the 200 translation units that include the view
shell headers.

tabvwsh.hxx and tabview.hxx now include the small headers they used through
that chain, and the files that call into the draw view include drawview.hxx
themselves.

clang -ftime-trace says around 2% of the module build time saved here.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I198b19e74f6ad56090b987880a063dc9ee677cda
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/12683
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit a7fd69666ea5fb4d26dfad0d286f6c1f3bcd3144)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211884
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
This commit is contained in:
Michael Meeks
2026-10-07 12:18:06 +02:00
committed by Xisco Fauli
parent 8ceb3ebcc6
commit e1b35f0bb1
47 changed files with 56 additions and 1 deletions
+1
View File
@@ -25,6 +25,7 @@
#include <svl/lstner.hxx>
#include <sfx2/app.hxx>
#include <sfx2/module.hxx>
#include <svtools/colorcfg.hxx>
#include "global.hxx"
#include "shellids.hxx"
#include <unotools/options.hxx>
+1
View File
@@ -8,6 +8,7 @@
*/
#include <sfx2/dispatch.hxx>
#include <drawview.hxx>
#include <svx/svdograf.hxx>
#include <svx/svdpage.hxx>
#include <test/unoapi_test.hxx>
+1
View File
@@ -11,6 +11,7 @@
#include "qahelper.hxx"
#include <LibreOfficeKit/LibreOfficeKitEnums.h>
#include <drawview.hxx>
#include <comphelper/propertysequence.hxx>
#include "csv_handler.hxx"
#include "debughelper.hxx"
+1
View File
@@ -10,6 +10,7 @@
#include <sal/config.h>
#include "helper/qahelper.hxx"
#include <drawview.hxx>
#include <comphelper/propertyvalue.hxx>
#include <sfx2/dispatch.hxx>
@@ -39,6 +39,7 @@
#include <unotools/syslocaleoptions.hxx>
#include <unotools/useroptions.hxx>
#include <drawview.hxx>
#include <sc.hrc>
#include <postit.hxx>
#include <attrib.hxx>
@@ -24,6 +24,7 @@
#include <scmod.hxx>
#include <sfx2/linkmgr.hxx>
#include <tabvwsh.hxx>
#include <tools/fldunit.hxx>
#include <postit.hxx>
using namespace com::sun::star;
+1
View File
@@ -9,6 +9,7 @@
#include "../helper/qahelper.hxx"
#include <LibreOfficeKit/LibreOfficeKitEnums.h>
#include <drawview.hxx>
#include <drwlayer.hxx>
#include <unotools/syslocaleoptions.hxx>
#include <vcl/keycodes.hxx>
+1
View File
@@ -23,6 +23,7 @@
#include <editeng/eeitem.hxx>
#include <editeng/colritem.hxx>
#include <vcl/ptrstyle.hxx>
#include <sfx2/app.hxx>
#include <sfx2/chalign.hxx>
+1
View File
@@ -20,6 +20,7 @@
#undef SC_DLLIMPLEMENTATION
#include "scdlgfact.hxx"
#include <drawview.hxx>
#include <scuiasciiopt.hxx>
#include <corodlg.hxx>
+1
View File
@@ -17,6 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include <drawview.hxx>
#include <svx/TableAutoFmt.hxx>
#include <scitems.hxx>
+2
View File
@@ -22,6 +22,8 @@
#include <com/sun/star/frame/Desktop.hpp>
#include <scitems.hxx>
#include <sfx2/viewfrm.hxx>
#include <drawview.hxx>
#include <editeng/flstitem.hxx>
#include <sfx2/fcontnr.hxx>
#include <sfx2/linkmgr.hxx>
+1
View File
@@ -18,6 +18,7 @@
*/
#include <fuconarc.hxx>
#include <vcl/ptrstyle.hxx>
#include <tabvwsh.hxx>
#include <drawview.hxx>
@@ -18,6 +18,7 @@
*/
#include <fuconcustomshape.hxx>
#include <vcl/ptrstyle.hxx>
#include <editeng/svxenum.hxx>
#include <svx/gallery.hxx>
#include <sfx2/request.hxx>
+1
View File
@@ -18,6 +18,7 @@
*/
#include <fuconpol.hxx>
#include <vcl/ptrstyle.hxx>
#include <tabvwsh.hxx>
#include <drawview.hxx>
+1
View File
@@ -18,6 +18,7 @@
*/
#include <fuconrec.hxx>
#include <vcl/ptrstyle.hxx>
#include <tabvwsh.hxx>
#include <drawview.hxx>
+1
View File
@@ -18,6 +18,7 @@
*/
#include <editeng/outlobj.hxx>
#include <vcl/ptrstyle.hxx>
#include <svx/svdouno.hxx>
#include <svx/svxids.hrc>
#include <sfx2/dispatch.hxx>
+1
View File
@@ -18,6 +18,7 @@
*/
#include <fuconuno.hxx>
#include <vcl/ptrstyle.hxx>
#include <tabvwsh.hxx>
#include <drawview.hxx>
+1
View File
@@ -18,6 +18,7 @@
*/
#include <editeng/editeng.hxx>
#include <vcl/ptrstyle.hxx>
#include <editeng/outlobj.hxx>
#include <svx/svdobj.hxx>
#include <svx/svdoole2.hxx>
+1
View File
@@ -18,6 +18,7 @@
*/
#include <svx/svddef.hxx>
#include <vcl/ptrstyle.hxx>
#include <svx/svdoutl.hxx>
#include <editeng/outlobj.hxx>
#include <svx/sdtaaitm.hxx>
+2 -1
View File
@@ -23,14 +23,15 @@
#include <array>
#include <memory>
#include <svtools/scrolladaptor.hxx>
#include <svx/sdr/overlay/overlayobjectlist.hxx>
#include <vcl/help.hxx>
#include "hiranges.hxx"
#include "viewutil.hxx"
#include "select.hxx"
#include "gridwin.hxx"
#include "drawview.hxx"
class ScDrawView;
class ScEditEngineDefaulter;
class ScOutlineWindow;
class ScRowBar;
+5
View File
@@ -22,6 +22,8 @@
#include <formula/errorcodes.hxx>
#include <formula/opcode.hxx>
#include <svx/fmshell.hxx>
#include <svx/svdobjkind.hxx>
#include <svl/style.hxx>
#include <sfx2/viewsh.hxx>
#include <editeng/svxenum.hxx>
#include <o3tl/deleter.hxx>
@@ -38,6 +40,9 @@
#include <map>
class SdrOle2Obj;
namespace com::sun::star::drawing { class XShapes; }
namespace com::sun::star::table { struct CellRangeAddress; }
class ScTableSheetObj;
class SfxAbstractTabDialog;
class SfxBindings;
class SfxChildWindow;
+2
View File
@@ -18,6 +18,8 @@
*/
#include <sfx2/app.hxx>
#include <com/sun/star/drawing/XShapes.hpp>
#include <com/sun/star/drawing/XShape.hpp>
#include <sfx2/bindings.hxx>
#include <sfx2/dispatch.hxx>
#include <sfx2/event.hxx>
+1
View File
@@ -27,6 +27,7 @@
#include <editeng/fhgtitem.hxx>
#include <sfx2/objsh.hxx>
#include <sfx2/sfxdlg.hxx>
#include <svtools/colorcfg.hxx>
#include <tphfedit.hxx>
#include <editutil.hxx>
+1
View File
@@ -9,6 +9,7 @@
*/
#include <ThemeColorChanger.hxx>
#include <drawview.hxx>
#include <drwlayer.hxx>
#include <sal/config.h>
+1
View File
@@ -9,6 +9,7 @@
#include <memory>
#include <uiobject.hxx>
#include <drawview.hxx>
#include <rangeutl.hxx>
#include <gridwin.hxx>
+1
View File
@@ -18,6 +18,7 @@
*/
#include <undocell.hxx>
#include <svx/svdundo.hxx>
#include <scitems.hxx>
#include <editeng/editobj.hxx>
+1
View File
@@ -20,6 +20,7 @@
#include <config_feature_opencl.h>
#include <scitems.hxx>
#include <drawview.hxx>
#include <comphelper/dispatchcommand.hxx>
#include <comphelper/propertysequence.hxx>
+2
View File
@@ -18,6 +18,8 @@
*/
#include "excelvbahelper.hxx"
#include <com/sun/star/drawing/XShape.hpp>
#include <com/sun/star/drawing/XShapes.hpp>
#include "vbatextboxshape.hxx"
#include "vbacharacters.hxx"
#include <com/sun/star/text/XSimpleText.hpp>
+1
View File
@@ -8,6 +8,7 @@
*/
#include <cliputil.hxx>
#include <drawview.hxx>
#include <drwlayer.hxx>
#include <attrib.hxx>
#include <viewdata.hxx>
+1
View File
@@ -22,6 +22,7 @@
#include <string_view>
#include <unotools/localedatawrapper.hxx>
#include <svx/svdtrans.hxx>
#include <vcl/fieldvalues.hxx>
#include <colrowba.hxx>
+1
View File
@@ -18,6 +18,7 @@
*/
#include <svx/svdpagv.hxx>
#include <vcl/ptrstyle.hxx>
#include <svx/svxids.hrc>
#include <editeng/sizeitem.hxx>
#include <sfx2/bindings.hxx>
+1
View File
@@ -19,6 +19,7 @@
#include <memory>
#include <scitems.hxx>
#include <drawview.hxx>
#include <editeng/eeitem.hxx>
#include <svtools/colorcfg.hxx>
+1
View File
@@ -18,6 +18,7 @@
*/
#include <sfx2/dispatch.hxx>
#include <vcl/ptrstyle.hxx>
#include <vcl/commandevent.hxx>
#include <vcl/help.hxx>
#include <vcl/ptrstyle.hxx>
+1
View File
@@ -20,6 +20,7 @@
#include <sal/config.h>
#include <o3tl/unit_conversion.hxx>
#include <drawview.hxx>
#include <svx/svdoutl.hxx>
#include <svx/svdpagv.hxx>
#include <svx/svdview.hxx>
+1
View File
@@ -18,6 +18,7 @@
*/
#include <scitems.hxx>
#include <vcl/ptrstyle.hxx>
#include <editeng/eeitem.hxx>
#include <officecfg/Office/Common.hxx>
+1
View File
@@ -20,6 +20,7 @@
#include <sal/config.h>
#include <scitems.hxx>
#include <drawview.hxx>
#include <comphelper/SetFlagContextHelper.hxx>
#include <sfx2/app.hxx>
+1
View File
@@ -18,6 +18,7 @@
*/
#include <tabsplit.hxx>
#include <vcl/ptrstyle.hxx>
#include <viewdata.hxx>
#include <vcl/ptrstyle.hxx>
+1
View File
@@ -18,6 +18,7 @@
*/
#include <officecfg/Office/Calc.hxx>
#include <drawview.hxx>
#include <rangelst.hxx>
#include <scitems.hxx>
+1
View File
@@ -17,6 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include <sfx2/bindings.hxx>
#include <drawview.hxx>
#include <drwlayer.hxx>
#include <sfx2/dispatch.hxx>
#include <sfx2/passwd.hxx>
+1
View File
@@ -18,6 +18,7 @@
*/
#include <svx/imapdlg.hxx>
#include <drawview.hxx>
#include <svx/svdmark.hxx>
#include <svx/svdview.hxx>
#include <svx/ImageMapInfo.hxx>
+1
View File
@@ -19,6 +19,7 @@
#include <com/sun/star/table/BorderLineStyle.hpp>
#include <officecfg/Office/Calc.hxx>
#include <drawview.hxx>
#include <comphelper/lok.hxx>
#include <editeng/boxitem.hxx>
+2
View File
@@ -18,6 +18,8 @@
*/
#include <scitems.hxx>
#include <sfx2/viewfrm.hxx>
#include <drawview.hxx>
#include <sfx2/childwin.hxx>
#include <sfx2/dispatch.hxx>
#include <svx/theme/ThemeColorChangerCommon.hxx>
+1
View File
@@ -33,6 +33,7 @@
#include <vcl/svapp.hxx>
#include <vcl/weld/MessageDialog.hxx>
#include <sfx2/objface.hxx>
#include <svtools/colorcfg.hxx>
#include <svx/svxdlg.hxx>
#include <editeng/colritem.hxx>
+1
View File
@@ -20,6 +20,7 @@
#include <config_features.h>
#include <basic/sberrors.hxx>
#include <drawview.hxx>
#include <svx/svdmark.hxx>
#include <svx/svdoole2.hxx>
#include <svx/svdview.hxx>
+1
View File
@@ -17,6 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include <drawview.hxx>
#include <scitems.hxx>
#include <editeng/eeitem.hxx>
#include <framework/windowstatehelper.hxx>
+1
View File
@@ -18,6 +18,7 @@
*/
#include <scitems.hxx>
#include <drawview.hxx>
#include <algorithm>
+1
View File
@@ -37,6 +37,7 @@
#include <sfx2/fcontnr.hxx>
#include <svtools/langtab.hxx>
#include <tools/urlobj.hxx>
#include <vcl/graph.hxx>
#include <vcl/graphicfilter.hxx>
#include <vcl/weld/MessageDialog.hxx>
#include <svl/stritem.hxx>