[Libreoffice-commits] core.git: sc/inc sc/source

Kohei Yoshida kohei.yoshida at gmail.com
Tue Jul 9 11:16:23 PDT 2013


 sc/inc/document.hxx                 |    4 ++--
 sc/inc/formulacell.hxx              |    7 ++-----
 sc/inc/postit.hxx                   |    4 ++--
 sc/inc/refdata.hxx                  |    2 +-
 sc/inc/scmatrix.hxx                 |   12 ++----------
 sc/inc/sortparam.hxx                |    1 +
 sc/source/core/data/document.cxx    |    9 +++++++++
 sc/source/core/data/formulacell.cxx |   10 ++++++++++
 sc/source/core/data/postit.cxx      |   10 ++++++++++
 sc/source/core/data/sortparam.cxx   |    2 ++
 sc/source/core/tool/refdata.cxx     |    4 ++++
 sc/source/core/tool/scmatrix.cxx    |   12 ++++++++++++
 12 files changed, 57 insertions(+), 20 deletions(-)

New commits:
commit e44a139fdad49b286eb1a88cc668b52711680e6c
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Tue Jul 9 14:14:03 2013 -0400

    These header inline methods cause linkage error on Windows.
    
    When the whole class / struct is marked SC_DLLPUBLIC.
    
    Change-Id: Id420a3ba083c8cdee71a99a282857d6abec55a31

diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index 4d41565..d35cc49 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -541,7 +541,7 @@ public:
     SC_DLLPUBLIC void SetAnonymousDBData(SCTAB nTab, ScDBData* pDBData);
     SC_DLLPUBLIC ScDBData* GetAnonymousDBData(SCTAB nTab);
 
-    SC_DLLPUBLIC inline SCTAB   GetTableCount() const { return static_cast<SCTAB>(maTabs.size()); }
+    SC_DLLPUBLIC SCTAB GetTableCount() const;
     SvNumberFormatterIndexTable* GetFormatExchangeList() const { return pFormatExchangeList; }
 
     SC_DLLPUBLIC ScDocProtection* GetDocProtection() const;
@@ -843,7 +843,7 @@ public:
     SC_DLLPUBLIC void GetInputString( SCCOL nCol, SCROW nRow, SCTAB nTab, OUString& rString );
     sal_uInt16 GetStringForFormula( const ScAddress& rPos, OUString& rString );
     SC_DLLPUBLIC double GetValue( const ScAddress& rPos ) const;
-    SC_DLLPUBLIC double GetValue( SCCOL nCol, SCROW nRow, SCTAB nTab ) const { ScAddress aAdr(nCol, nRow, nTab); return GetValue(aAdr);}
+    SC_DLLPUBLIC double GetValue( SCCOL nCol, SCROW nRow, SCTAB nTab ) const;
     SC_DLLPUBLIC void GetValue( SCCOL nCol, SCROW nRow, SCTAB nTab, double& rValue ) const;
     SC_DLLPUBLIC const EditTextObject* GetEditText( const ScAddress& rPos ) const;
     void RemoveEditTextCharAttribs( const ScAddress& rPos, const ScPatternAttr& rAttr );
diff --git a/sc/inc/formulacell.hxx b/sc/inc/formulacell.hxx
index ae3db89..3258e21 100644
--- a/sc/inc/formulacell.hxx
+++ b/sc/inc/formulacell.hxx
@@ -288,11 +288,8 @@ public:
 
     void            MaybeInterpret();
 
-    // Temporary formula cell grouping API
-    ScFormulaCellGroupRef  GetCellGroup()
-        { return xGroup; }
-    void                   SetCellGroup( const ScFormulaCellGroupRef &xRef )
-        { xGroup = xRef; }
+    ScFormulaCellGroupRef GetCellGroup();
+    void SetCellGroup( const ScFormulaCellGroupRef &xRef );
 
     CompareState CompareByTokenArray( ScFormulaCell& rOther ) const;
 
diff --git a/sc/inc/postit.hxx b/sc/inc/postit.hxx
index c6907dc..0c401d5 100644
--- a/sc/inc/postit.hxx
+++ b/sc/inc/postit.hxx
@@ -107,9 +107,9 @@ public:
     inline void         SetDate( const OUString& rDate ) { maNoteData.maDate = rDate; }
 
     /** Returns the author date of this note. */
-    inline const OUString& GetAuthor() const { return maNoteData.maAuthor; }
+    const OUString& GetAuthor() const;
     /** Sets a new author date for this note. */
-    inline void         SetAuthor( const OUString& rAuthor ) { maNoteData.maAuthor = rAuthor; }
+    void SetAuthor( const OUString& rAuthor );
 
     /** Sets date and author from system settings. */
     void                AutoStamp();
diff --git a/sc/inc/refdata.hxx b/sc/inc/refdata.hxx
index c943c88..00dbf9b 100644
--- a/sc/inc/refdata.hxx
+++ b/sc/inc/refdata.hxx
@@ -81,7 +81,7 @@ struct SC_DLLPUBLIC ScSingleRefData
     inline  sal_Bool IsRowDeleted() const       { return Flags.bRowDeleted; }
     inline  void SetTabDeleted( sal_Bool bVal ) { Flags.bTabDeleted = (bVal ? sal_True : false ); }
     inline  sal_Bool IsTabDeleted() const       { return Flags.bTabDeleted; }
-    inline  sal_Bool IsDeleted() const          { return IsColDeleted() || IsRowDeleted() || IsTabDeleted(); }
+    sal_Bool IsDeleted() const;
 
     inline  void SetFlag3D( sal_Bool bVal ) { Flags.bFlag3D = (bVal ? sal_True : false ); }
     inline  sal_Bool IsFlag3D() const       { return Flags.bFlag3D; }
diff --git a/sc/inc/scmatrix.hxx b/sc/inc/scmatrix.hxx
index 47231b3..4057cc4 100644
--- a/sc/inc/scmatrix.hxx
+++ b/sc/inc/scmatrix.hxx
@@ -213,16 +213,8 @@ public:
         MUST be at least of the size of the original matrix. */
     ScMatrix* CloneAndExtend(SCSIZE nNewCols, SCSIZE nNewRows) const;
 
-    inline void IncRef() const
-    {
-        ++nRefCnt;
-    }
-    inline void DecRef() const
-    {
-        --nRefCnt;
-        if (nRefCnt == 0)
-            delete this;
-    }
+    void IncRef() const;
+    void DecRef() const;
 
     void SetErrorInterpreter( ScInterpreter* p);
     void GetDimensions( SCSIZE& rC, SCSIZE& rR) const;
diff --git a/sc/inc/sortparam.hxx b/sc/inc/sortparam.hxx
index a4c6f65..b6f1427 100644
--- a/sc/inc/sortparam.hxx
+++ b/sc/inc/sortparam.hxx
@@ -70,6 +70,7 @@ struct SC_DLLPUBLIC ScSortParam
     ScSortParam( const ScSubTotalParam& rSub, const ScSortParam& rOld );
     /// TopTen sort
     ScSortParam( const ScQueryParam&, SCCOL nCol );
+    ~ScSortParam();
 
     ScSortParam&    operator=  ( const ScSortParam& r );
     bool            operator== ( const ScSortParam& rOther ) const;
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index 2920d99..5fa205c 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -252,6 +252,11 @@ ScDBData* ScDocument::GetAnonymousDBData(SCTAB nTab)
     return NULL;
 }
 
+SCTAB ScDocument::GetTableCount() const
+{
+    return static_cast<SCTAB>(maTabs.size());
+}
+
 void ScDocument::SetAnonymousDBData(SCTAB nTab, ScDBData* pDBData)
 {
     if (ValidTab(nTab) && nTab < static_cast<SCTAB>(maTabs.size()) && maTabs[nTab])
@@ -3256,6 +3261,10 @@ double ScDocument::GetValue( const ScAddress& rPos ) const
     return 0.0;
 }
 
+double ScDocument::GetValue( SCCOL nCol, SCROW nRow, SCTAB nTab ) const
+{
+    ScAddress aAdr(nCol, nRow, nTab); return GetValue(aAdr);
+}
 
 void ScDocument::GetNumberFormat( SCCOL nCol, SCROW nRow, SCTAB nTab,
                                   sal_uInt32& rFormat ) const
diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx
index 0fe2632..a7aff76 100644
--- a/sc/source/core/data/formulacell.cxx
+++ b/sc/source/core/data/formulacell.cxx
@@ -2886,6 +2886,16 @@ void ScFormulaCell::CompileColRowNameFormula()
     }
 }
 
+ScFormulaCellGroupRef ScFormulaCell::GetCellGroup()
+{
+    return xGroup;
+}
+
+void ScFormulaCell::SetCellGroup( const ScFormulaCellGroupRef &xRef )
+{
+    xGroup = xRef;
+}
+
 ScFormulaCell::CompareState ScFormulaCell::CompareByTokenArray( ScFormulaCell& rOther ) const
 {
     // no Matrix formulae yet.
diff --git a/sc/source/core/data/postit.cxx b/sc/source/core/data/postit.cxx
index 0e0cde3..1cee407 100644
--- a/sc/source/core/data/postit.cxx
+++ b/sc/source/core/data/postit.cxx
@@ -530,6 +530,16 @@ ScPostIt* ScPostIt::Clone( const ScAddress& rOwnPos, ScDocument& rDestDoc, const
     return bCloneCaption ? new ScPostIt( rDestDoc, rDestPos, *this ) : new ScPostIt( rDestDoc, rDestPos, maNoteData, false );
 }
 
+const OUString& ScPostIt::GetAuthor() const
+{
+    return maNoteData.maAuthor;
+}
+
+void ScPostIt::SetAuthor( const OUString& rAuthor )
+{
+    maNoteData.maAuthor = rAuthor;
+}
+
 void ScPostIt::AutoStamp()
 {
     maNoteData.maDate = ScGlobal::pLocaleData->getDate( Date( Date::SYSTEM ) );
diff --git a/sc/source/core/data/sortparam.cxx b/sc/source/core/data/sortparam.cxx
index 99c1774..d416f32 100644
--- a/sc/source/core/data/sortparam.cxx
+++ b/sc/source/core/data/sortparam.cxx
@@ -45,6 +45,8 @@ ScSortParam::ScSortParam( const ScSortParam& r ) :
 {
 }
 
+ScSortParam::~ScSortParam() {}
+
 //------------------------------------------------------------------------
 
 void ScSortParam::Clear()
diff --git a/sc/source/core/tool/refdata.cxx b/sc/source/core/tool/refdata.cxx
index 7277011..c218508 100644
--- a/sc/source/core/tool/refdata.cxx
+++ b/sc/source/core/tool/refdata.cxx
@@ -19,6 +19,10 @@
 
 #include "refdata.hxx"
 
+sal_Bool ScSingleRefData::IsDeleted() const
+{
+    return IsColDeleted() || IsRowDeleted() || IsTabDeleted();
+}
 
 void ScSingleRefData::CalcRelFromAbs( const ScAddress& rPos )
 {
diff --git a/sc/source/core/tool/scmatrix.cxx b/sc/source/core/tool/scmatrix.cxx
index ffc3382..c692238 100644
--- a/sc/source/core/tool/scmatrix.cxx
+++ b/sc/source/core/tool/scmatrix.cxx
@@ -1257,6 +1257,18 @@ void ScMatrixImpl::CalcPosition(SCSIZE nIndex, SCSIZE& rC, SCSIZE& rR) const
 
 // ============================================================================
 
+void ScMatrix::IncRef() const
+{
+    ++nRefCnt;
+}
+
+void ScMatrix::DecRef() const
+{
+    --nRefCnt;
+    if (nRefCnt == 0)
+        delete this;
+}
+
 ScMatrix::ScMatrix( SCSIZE nC, SCSIZE nR) :
     pImpl(new ScMatrixImpl(nC, nR)), nRefCnt(0)
 {


More information about the Libreoffice-commits mailing list