sc/source/ui/inc/viewdata.hxx  |    6 ++----
 sc/source/ui/view/viewdata.cxx |   41 ++++++++++++-----------------------------
 2 files changed, 14 insertions(+), 33 deletions(-)

New commits:
commit fcc20d8888eb7be349ed695b116a920eba63ffb4
Author:     Xisco Fauli <[email protected]>
AuthorDate: Wed Jun 25 13:01:33 2025 +0200
Commit:     Xisco Fauli <[email protected]>
CommitDate: Wed Jun 25 17:16:09 2025 +0200

    ScViewDataTable: simplify code
    
    always pass ScDocument in constructor
    
    Change-Id: Ib0ffc235a2df6c4b78eb22bd18e67d069d22044c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186970
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/sc/source/ui/inc/viewdata.hxx b/sc/source/ui/inc/viewdata.hxx
index 68e9830dda8e..96c851dcd4a7 100644
--- a/sc/source/ui/inc/viewdata.hxx
+++ b/sc/source/ui/inc/viewdata.hxx
@@ -135,8 +135,7 @@ private:
     std::set<value_type, Comp> mData;
 
 public:
-    ScPositionHelper(const ScDocument *pDoc, bool bColumn);
-    void setDocument(const ScDocument& rDoc, bool bColumn);
+    ScPositionHelper(const ScDocument& rDoc, bool bColumn);
 
     void insert(index_type nIndex, tools::Long nPos);
     void removeByIndex(index_type nIndex);
@@ -243,9 +242,8 @@ private:
 
     bool            bShowGrid;                  // per sheet show grid lines 
option.
     bool            mbOldCursorValid;           // "virtual" Cursor position 
when combined
-                    ScViewDataTable(const ScDocument *pDoc);
+                    ScViewDataTable(const ScDocument& rDoc);
 
-    void            InitData(const ScDocument& rDoc);
     void            WriteUserDataSequence(
                         css::uno::Sequence <css::beans::PropertyValue>& 
rSettings,
                         const ScViewData& rViewData, SCTAB nTab ) const;
diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx
index 6b48eed5a4d4..95c7b704ebf7 100644
--- a/sc/source/ui/view/viewdata.cxx
+++ b/sc/source/ui/view/viewdata.cxx
@@ -125,17 +125,12 @@ bool ScPositionHelper::Comp::operator() (const 
value_type& rValue1, const value_
     }
 }
 
-ScPositionHelper::ScPositionHelper(const ScDocument *pDoc, bool bColumn)
-    : MAX_INDEX(bColumn ? (pDoc ? pDoc->MaxCol() : -1) : MAXTILEDROW)
+ScPositionHelper::ScPositionHelper(const ScDocument& rDoc, bool bColumn)
+    : MAX_INDEX(bColumn ? rDoc.MaxCol() : MAXTILEDROW)
 {
     mData.insert(std::make_pair(-1, 0));
 }
 
-void ScPositionHelper::setDocument(const ScDocument& rDoc, bool bColumn)
-{
-    MAX_INDEX = bColumn ? rDoc.MaxCol() : MAXTILEDROW;
-}
-
 void ScPositionHelper::insert(index_type nIndex, tools::Long nPos)
 {
     if (nIndex < 0) return;
@@ -500,7 +495,7 @@ void ScBoundsProvider::GetIndexTowards(
     }
 }
 
-ScViewDataTable::ScViewDataTable(const ScDocument *pDoc) :
+ScViewDataTable::ScViewDataTable(const ScDocument& rDoc) :
                 eZoomType( SvxZoomType::PERCENT ),
                 aZoomX( 1,1 ),
                 aZoomY( 1,1 ),
@@ -517,8 +512,8 @@ ScViewDataTable::ScViewDataTable(const ScDocument *pDoc) :
                 nCurY( 0 ),
                 nOldCurX( 0 ),
                 nOldCurY( 0 ),
-                aWidthHelper(pDoc, true),
-                aHeightHelper(pDoc, false),
+                aWidthHelper(rDoc, true),
+                aHeightHelper(rDoc, false),
                 nMaxTiledCol( 20 ),
                 nMaxTiledRow( 50 ),
                 bShowGrid( true ),
@@ -534,12 +529,6 @@ ScViewDataTable::ScViewDataTable(const ScDocument *pDoc) :
     nPixPosY[0]=nPixPosY[1]=0;
 }
 
-void ScViewDataTable::InitData(const ScDocument& rDoc)
-{
-    aWidthHelper.setDocument(rDoc, true);
-    aHeightHelper.setDocument(rDoc, false);
-}
-
 void ScViewDataTable::WriteUserDataSequence(uno::Sequence 
<beans::PropertyValue>& rSettings, const ScViewData& rViewData, SCTAB nTab) 
const
 {
     rSettings.realloc(SC_TABLE_VIEWSETTINGS_COUNT);
@@ -816,7 +805,7 @@ ScViewData::ScViewData(ScDocShell& rDocSh, ScTabViewShell* 
pViewSh) :
     aScrSize = Size( o3tl::convert(STD_COL_WIDTH * OLE_STD_CELLS_X, 
o3tl::Length::twip, o3tl::Length::px),
                     o3tl::convert(mrDoc.GetSheetOptimalMinRowHeight(nTabNo) * 
OLE_STD_CELLS_Y,
                                   o3tl::Length::twip, o3tl::Length::px));
-    maTabData.emplace_back( new ScViewDataTable(nullptr) );
+    maTabData.emplace_back( new ScViewDataTable(mrDoc) );
     pThisTab = maTabData[nTabNo].get();
 
     nEditEndCol = nEditStartCol = nEditCol = 0;
@@ -831,19 +820,13 @@ ScViewData::ScViewData(ScDocShell& rDocSh, 
ScTabViewShell* pViewSh) :
             ++nTabNo;
             maTabData.emplace_back(nullptr);
         }
-        maTabData[nTabNo].reset( new ScViewDataTable(nullptr) );
+        maTabData[nTabNo].reset( new ScViewDataTable(mrDoc) );
         pThisTab = maTabData[nTabNo].get();
     }
 
     SCTAB nTableCount = mrDoc.GetTableCount();
     EnsureTabDataSize(nTableCount);
 
-    for (auto& xTabData : maTabData)
-    {
-        if (xTabData)
-            xTabData->InitData(mrDoc);
-    }
-
     CalcPPT();
 }
 
@@ -864,7 +847,7 @@ void ScViewData::UpdateCurrentTab()
             pThisTab = maTabData[--nTabNo].get();
         else
         {
-            maTabData[0].reset(new ScViewDataTable(&mrDoc));
+            maTabData[0].reset(new ScViewDataTable(mrDoc));
             pThisTab = maTabData[0].get();
         }
     }
@@ -2330,7 +2313,7 @@ void ScViewData::CreateTabData( SCTAB nNewTab )
 
     if (!maTabData[nNewTab])
     {
-        maTabData[nNewTab].reset(new ScViewDataTable(&mrDoc));
+        maTabData[nNewTab].reset(new ScViewDataTable(mrDoc));
 
         maTabData[nNewTab]->eZoomType  = eDefZoomType;
         maTabData[nNewTab]->aZoomX     = aDefZoomX;
@@ -3426,7 +3409,7 @@ void ScViewData::ReadUserData(std::u16string_view rData)
         aTabOpt = o3tl::getToken(rData, 0, ';', nMainIdx);
         EnsureTabDataSize(nPos + 1);
         if (!maTabData[nPos])
-            maTabData[nPos].reset(new ScViewDataTable(&mrDoc));
+            maTabData[nPos].reset(new ScViewDataTable(mrDoc));
 
         sal_Unicode cTabSep = 0;
         if (comphelper::string::getTokenCount(aTabOpt, SC_OLD_TABSEP) >= 11)
@@ -3606,7 +3589,7 @@ void ScViewData::ReadExtOptions( const ScExtDocOptions& 
rDocOpt )
         if( const ScExtTabSettings* pTabSett = rDocOpt.GetTabSettings( nTab ) )
         {
             if( !maTabData[ nTab ] )
-                maTabData[nTab].reset(new ScViewDataTable(&mrDoc));
+                maTabData[nTab].reset(new ScViewDataTable(mrDoc));
 
             const ScExtTabSettings& rTabSett = *pTabSett;
             ScViewDataTable& rViewTab = *maTabData[ nTab ];
@@ -3877,7 +3860,7 @@ void ScViewData::ReadUserDataSequence(const uno::Sequence 
<beans::PropertyValue>
                         {
                             EnsureTabDataSize(nTab + 1);
                             if (!maTabData[nTab])
-                                maTabData[nTab].reset(new 
ScViewDataTable(&mrDoc));
+                                maTabData[nTab].reset(new 
ScViewDataTable(mrDoc));
 
                             bool bHasZoom = false;
                             
maTabData[nTab]->ReadUserDataSequence(aTabSettings, *this, nTab, bHasZoom);

Reply via email to