[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