[Libreoffice-commits] core.git: Branch 'feature/formula-core-rework' - 2 commits - sc/inc sc/Library_sc.mk sc/source

Kohei Yoshida kohei.yoshida at gmail.com
Wed Mar 13 13:42:00 PDT 2013


 sc/Library_sc.mk                       |    1 +
 sc/inc/column.hxx                      |    1 +
 sc/inc/columniterator.hxx              |   24 ++++++++++++++++++++++++
 sc/source/core/data/columniterator.cxx |   16 ++++++++++++++++
 sc/source/core/data/documen8.cxx       |   19 +++++++++----------
 5 files changed, 51 insertions(+), 10 deletions(-)

New commits:
commit a98be149da54e3f7479a37ecb68791e56d7b64f4
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Wed Mar 13 16:43:48 2013 -0400

    Add skeleton files for the new iterator for column cells' text widths.
    
    To be implemented soon.
    
    Change-Id: Ifa72245f89635ac604c233197891fb67c8d99915

diff --git a/sc/Library_sc.mk b/sc/Library_sc.mk
index b72deec..0295e74 100644
--- a/sc/Library_sc.mk
+++ b/sc/Library_sc.mk
@@ -104,6 +104,7 @@ $(eval $(call gb_Library_add_exception_objects,sc,\
 	sc/source/core/data/column \
 	sc/source/core/data/column2 \
 	sc/source/core/data/column3 \
+	sc/source/core/data/columniterator \
 	sc/source/core/data/compressedarray \
 	sc/source/core/data/colorscale \
 	sc/source/core/data/conditio \
diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx
index 0fbd743..acaede3 100644
--- a/sc/inc/column.hxx
+++ b/sc/inc/column.hxx
@@ -94,6 +94,7 @@ class ScColumn
     ScAttrArray*       pAttrArray;
     ScDocument*                pDocument;
 
+friend class ScColumnTextWidthIterator;
 friend class ScDocument;                                       // for FillInfo
 friend class ScDocumentIterator;
 friend class ScValueIterator;
diff --git a/sc/inc/columniterator.hxx b/sc/inc/columniterator.hxx
new file mode 100644
index 0000000..b8f8f59
--- /dev/null
+++ b/sc/inc/columniterator.hxx
@@ -0,0 +1,24 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __SC_COLUMNITERATOR_HXX__
+#define __SC_COLUMNITERATOR_HXX__
+
+class ScColumn;
+
+class ScColumnTextWidthIterator
+{
+    ScColumn& mrCol;
+public:
+    ScColumnTextWidthIterator(ScColumn& rCol);
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/data/columniterator.cxx b/sc/source/core/data/columniterator.cxx
new file mode 100644
index 0000000..289c194
--- /dev/null
+++ b/sc/source/core/data/columniterator.cxx
@@ -0,0 +1,16 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "columniterator.hxx"
+#include "column.hxx"
+
+ScColumnTextWidthIterator::ScColumnTextWidthIterator(ScColumn& rCol) :
+    mrCol(rCol) {}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 46b2a3d0806eefdc4e68b9bede13320ba837da40
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Wed Mar 13 16:37:20 2013 -0400

    Some renaming of local variables...
    
    Change-Id: I27b5512d90eba0c0235d11d1b4f1c9cafc4bcce6

diff --git a/sc/source/core/data/documen8.cxx b/sc/source/core/data/documen8.cxx
index 6b50d12..bceb8c8 100644
--- a/sc/source/core/data/documen8.cxx
+++ b/sc/source/core/data/documen8.cxx
@@ -545,8 +545,8 @@ bool ScDocument::IdleCalcTextWidth()            // true = demnaechst wieder vers
     if (!ValidTab(aScope.Tab()) || aScope.Tab() >= static_cast<SCTAB>(maTabs.size()) || !maTabs[aScope.Tab()])
         aScope.setTab(0);
 
-    ScTable* pTable = maTabs[aScope.Tab()];
-    ScStyleSheet* pStyle = (ScStyleSheet*)aScope.getStylePool()->Find(pTable->aPageStyle, SFX_STYLE_FAMILY_PAGE);
+    ScTable* pTab = maTabs[aScope.Tab()];
+    ScStyleSheet* pStyle = (ScStyleSheet*)aScope.getStylePool()->Find(pTab->aPageStyle, SFX_STYLE_FAMILY_PAGE);
     OSL_ENSURE( pStyle, "Missing StyleSheet :-/" );
 
     if (!pStyle || getScaleValue(*pStyle, ATTR_PAGE_SCALETOPAGES) == 0)
@@ -561,9 +561,8 @@ bool ScDocument::IdleCalcTextWidth()            // true = demnaechst wieder vers
     Fraction aZoomFract(nZoom, 100);
 
     // Start at specified cell position (nCol, nRow, nTab).
-    ScColumn* pColumn  = &pTable->aCol[aScope.Col()];
-    boost::scoped_ptr<ScColumnIterator> pColIter(
-        new ScColumnIterator(pColumn, aScope.Row(), MAXROW));
+    ScColumn* pCol  = &pTab->aCol[aScope.Col()];
+    boost::scoped_ptr<ScColumnIterator> pColIter(new ScColumnIterator(pCol, aScope.Row(), MAXROW));
 
     OutputDevice* pDev = NULL;
     sal_uInt16 nRestart = 0;
@@ -582,7 +581,7 @@ bool ScDocument::IdleCalcTextWidth()            // true = demnaechst wieder vers
                 // Calculate text width for this cell.
                 double nPPTX = 0.0;
                 double nPPTY = 0.0;
-                if ( !pDev )
+                if (!pDev)
                 {
                     pDev = GetPrinter();
                     aScope.setOldMapMode(pDev->GetMapMode());
@@ -636,9 +635,9 @@ bool ScDocument::IdleCalcTextWidth()            // true = demnaechst wieder vers
             {
                 if ( bNewTab )
                 {
-                    pTable = maTabs[aScope.Tab()];
+                    pTab = maTabs[aScope.Tab()];
                     pStyle = (ScStyleSheet*)aScope.getStylePool()->Find(
-                        pTable->aPageStyle, SFX_STYLE_FAMILY_PAGE);
+                        pTab->aPageStyle, SFX_STYLE_FAMILY_PAGE);
 
                     if ( pStyle )
                     {
@@ -661,8 +660,8 @@ bool ScDocument::IdleCalcTextWidth()            // true = demnaechst wieder vers
 
                 if ( nZoom > 0 )
                 {
-                    pColumn  = &pTable->aCol[aScope.Col()];
-                    pColIter.reset(new ScColumnIterator(pColumn, aScope.Row(), MAXROW));
+                    pCol  = &pTab->aCol[aScope.Col()];
+                    pColIter.reset(new ScColumnIterator(pCol, aScope.Row(), MAXROW));
                 }
                 else
                     aScope.incTab(); // Move to the next sheet as the current one has scale-to-pages set.


More information about the Libreoffice-commits mailing list