[Libreoffice-commits] core.git: Branch 'feature/tiled-editing' - 3 commits - sc/source

Jan Holesovsky kendy at collabora.com
Wed Mar 25 02:24:39 PDT 2015


 sc/source/ui/unoobj/docuno.cxx |   15 +++++++--------
 sc/source/ui/view/gridwin4.cxx |   12 +++++++-----
 2 files changed, 14 insertions(+), 13 deletions(-)

New commits:
commit c4203c7226a9c354552cfb36b92899bab83b6eb9
Author: Jan Holesovsky <kendy at collabora.com>
Date:   Wed Mar 25 10:21:49 2015 +0100

    sc tiled editing: Use GetPrintArea() for FillInfo()/ScOutputData too.
    
    Necessary in order to get the grid for the entire document.
    
    Change-Id: I3935694b15c1bec3f8c5f22c62f787a4bf0d62de

diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx
index cdef76d..ac2cd85 100644
--- a/sc/source/ui/view/gridwin4.cxx
+++ b/sc/source/ui/view/gridwin4.cxx
@@ -952,19 +952,21 @@ void ScGridWindow::PaintTile( VirtualDevice& rDevice,
 
     SCTAB nTab = pViewData->GetTabNo();
     ScDocument* pDoc = pViewData->GetDocument();
-    ScAddress aLastPos = pDoc->GetLastDataPos(nTab);
 
-    SCCOL nCol1 = 0, nCol2 = aLastPos.Col();
-    SCROW nRow1 = 0, nRow2 = aLastPos.Row();
+    SCCOL nStartCol = 0, nEndCol = 0;
+    SCROW nStartRow = 0, nEndRow = 0;
+
+    // size of the document including drawings, charts, etc.
+    pDoc->GetPrintArea(nTab, nEndCol, nEndRow, false);
 
     double fPPTX = pViewData->GetPPTX();
     double fPPTY = pViewData->GetPPTY();
 
     ScTableInfo aTabInfo;
-    pDoc->FillInfo(aTabInfo, nCol1, nRow1, nCol2, nRow2, nTab, fPPTX, fPPTY, false, false, NULL);
+    pDoc->FillInfo(aTabInfo, nStartCol, nStartRow, nEndCol, nEndRow, nTab, fPPTX, fPPTY, false, false, NULL);
 
     ScOutputData aOutputData(&rDevice, OUTTYPE_WINDOW, aTabInfo, pDoc, nTab,
-            -fTilePosXPixel, -fTilePosYPixel, nCol1, nRow1, nCol2, nRow2,
+            -fTilePosXPixel, -fTilePosYPixel, nStartCol, nStartRow, nEndCol, nEndRow,
             fPPTX, fPPTY);
 
     // create a temporary SdrPaintWindow to avoid warnings
commit 5cbb4268dacb8ba4526dbbd5bdcd6a8abfcc0e55
Author: Jan Holesovsky <kendy at collabora.com>
Date:   Wed Mar 25 10:11:52 2015 +0100

    No need to create ScAddress here.
    
    Change-Id: Ide41495574e8a1d89f9be4f823e4d85d3742b450

diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index 6447c98..c34f0f7 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -514,14 +514,9 @@ Size ScModelObj::getDocumentSize()
     if (!rDoc.GetPrintArea( nTab, nEndCol, nEndRow, false ))
         return aSize;
 
-    ScAddress aPos( nEndCol, nEndRow, nTab );
-
-    // TWIPS
-    sal_uLong nH = rDoc.GetRowHeight(0, aPos.Row(), nTab, true);
-    sal_uLong nW = rDoc.GetColWidth(0, aPos.Col(), nTab, true);
-
-    aSize.setWidth(nW);
-    aSize.setHeight(nH);
+    // convert to twips
+    aSize.setWidth(rDoc.GetColWidth(0, nEndCol, nTab, true));
+    aSize.setHeight(rDoc.GetRowHeight(0, nEndRow, nTab, true));
 
     return aSize;
 }
commit 690698efdb6f8e4b37a3226377e864f818492de8
Author: Henry Castro <hcastro at collabora.com>
Date:   Tue Mar 24 18:05:25 2015 -0400

    sc tiled editing: using function GetPrintArea to calculate document size.
    
    GetPrintArea calculate end column and end row including images.
    
    Change-Id: I256f9f1ce72f22b25cec63603de55cc0192b33ad

diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index c1c3e4e..6447c98 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -507,11 +507,15 @@ Size ScModelObj::getDocumentSize()
         return aSize;
 
     SCTAB nTab = pViewData->GetTabNo();
+    SCCOL nEndCol = 0;
+    SCROW nEndRow = 0;
     const ScDocument& rDoc = pDocShell->GetDocument();
-    ScAddress aPos = rDoc.GetLastDataPos(nTab);
-    if (!aPos.IsValid())
+
+    if (!rDoc.GetPrintArea( nTab, nEndCol, nEndRow, false ))
         return aSize;
 
+    ScAddress aPos( nEndCol, nEndRow, nTab );
+
     // TWIPS
     sal_uLong nH = rDoc.GetRowHeight(0, aPos.Row(), nTab, true);
     sal_uLong nW = rDoc.GetColWidth(0, aPos.Col(), nTab, true);


More information about the Libreoffice-commits mailing list