Hi, I have submitted a patch for review:
https://gerrit.libreoffice.org/1885 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/85/1885/1 Removing useless SwTableBox_Impl from Writter Change-Id: I2cb471e9b0784673deb75beb7d403b136fbce500 --- M sw/inc/swtable.hxx M sw/source/core/table/swtable.cxx 2 files changed, 31 insertions(+), 87 deletions(-) diff --git a/sw/inc/swtable.hxx b/sw/inc/swtable.hxx index 81f2696..1074aae 100644 --- a/sw/inc/swtable.hxx +++ b/sw/inc/swtable.hxx @@ -53,7 +53,6 @@ class SwUndoTblMerge; class SwUndo; class SwPaM; -class SwTableBox_Impl; class SwUndoTblCpyTbl; class SwBoxSelection; struct SwSaveRowSpan; @@ -391,7 +390,10 @@ SwTableLines aLines; const SwStartNode * pSttNd; SwTableLine *pUpper; - SwTableBox_Impl* pImpl; + + Color *pSaveUserColor, *pSaveNumFmtColor; + long nRowSpan; + bool bDummyFlag; // In case Format contains formulas/values already, // a new one must be created for the new box. @@ -400,7 +402,7 @@ public: TYPEINFO(); - SwTableBox() : pSttNd(0), pUpper(0), pImpl(0) {} + SwTableBox() : pSttNd(0), pUpper(0), pSaveUserColor(0), pSaveNumFmtColor(0), nRowSpan(1), bDummyFlag(false) {} SwTableBox( SwTableBoxFmt*, sal_uInt16 nLines, SwTableLine *pUp = 0 ); SwTableBox( SwTableBoxFmt*, const SwStartNode&, SwTableLine *pUp = 0 ); @@ -457,15 +459,15 @@ DECL_FIXEDMEMPOOL_NEWDEL(SwTableBox) // Access on internal data - currently used for the NumFormatter. - inline const Color* GetSaveUserColor() const; - inline const Color* GetSaveNumFmtColor() const; + inline const Color* GetSaveUserColor() const { return pSaveUserColor; } + inline const Color* GetSaveNumFmtColor() const { return pSaveNumFmtColor; } inline void SetSaveUserColor(const Color* p ); inline void SetSaveNumFmtColor( const Color* p ); - long getRowSpan() const; - void setRowSpan( long nNewRowSpan ); - bool getDummyFlag() const; - void setDummyFlag( bool bDummy ); + long getRowSpan() const {return nRowSpan;} + void setRowSpan( long nNewRowSpan ) { nRowSpan = nNewRowSpan;} + bool getDummyFlag() const { return bDummyFlag;} + void setDummyFlag( bool bDummy ) { bDummyFlag = bDummy;} SwTableBox& FindStartOfRowSpan( const SwTable&, sal_uInt16 nMaxStep = USHRT_MAX ); const SwTableBox& FindStartOfRowSpan( const SwTable& rTable, diff --git a/sw/source/core/table/swtable.cxx b/sw/source/core/table/swtable.cxx index 466ed90..3b7d192 100644 --- a/sw/source/core/table/swtable.cxx +++ b/sw/source/core/table/swtable.cxx @@ -81,86 +81,18 @@ sal_Bool bChgAlign,sal_uLong nNdPos ); //---------------------------------- -class SwTableBox_Impl -{ - Color *mpUserColor, *mpNumFmtColor; - long mnRowSpan; - bool mbDummyFlag; - - void SetNewCol( Color** ppCol, const Color* pNewCol ); -public: - SwTableBox_Impl() : mpUserColor(0), mpNumFmtColor(0), mnRowSpan(1), - mbDummyFlag( false ) {} - ~SwTableBox_Impl() { delete mpUserColor; delete mpNumFmtColor; } - - const Color* GetSaveUserColor() const { return mpUserColor; } - const Color* GetSaveNumFmtColor() const { return mpNumFmtColor; } - void SetSaveUserColor(const Color* p ) { SetNewCol( &mpUserColor, p ); } - void SetSaveNumFmtColor( const Color* p ) { SetNewCol( &mpNumFmtColor, p ); } - long getRowSpan() const { return mnRowSpan; } - void setRowSpan( long nNewRowSpan ) { mnRowSpan = nNewRowSpan; } - bool getDummyFlag() const { return mbDummyFlag; } - void setDummyFlag( bool bDummy ) { mbDummyFlag = bDummy; } -}; +static void lcl_SetNewColor(Color** ppCol, const Color* pNewCol); // ----------- Inlines ----------------------------- -inline const Color* SwTableBox::GetSaveUserColor() const +inline void SwTableBox::SetSaveUserColor(const Color* pNewColor ) { - return pImpl ? pImpl->GetSaveUserColor() : 0; + lcl_SetNewColor(&pSaveUserColor, pNewColor); } -inline const Color* SwTableBox::GetSaveNumFmtColor() const +inline void SwTableBox::SetSaveNumFmtColor( const Color* pNewColor ) { - return pImpl ? pImpl->GetSaveNumFmtColor() : 0; -} - -inline void SwTableBox::SetSaveUserColor(const Color* p ) -{ - if( pImpl ) - pImpl->SetSaveUserColor( p ); - else if( p ) - ( pImpl = new SwTableBox_Impl ) ->SetSaveUserColor( p ); -} - -inline void SwTableBox::SetSaveNumFmtColor( const Color* p ) -{ - if( pImpl ) - pImpl->SetSaveNumFmtColor( p ); - else if( p ) - ( pImpl = new SwTableBox_Impl )->SetSaveNumFmtColor( p ); -} - -long SwTableBox::getRowSpan() const -{ - return pImpl ? pImpl->getRowSpan() : 1; -} - -void SwTableBox::setRowSpan( long nNewRowSpan ) -{ - if( !pImpl ) - { - if( nNewRowSpan == 1 ) - return; - pImpl = new SwTableBox_Impl(); - } - pImpl->setRowSpan( nNewRowSpan ); -} - -bool SwTableBox::getDummyFlag() const -{ - return pImpl ? pImpl->getDummyFlag() : false; -} - -void SwTableBox::setDummyFlag( bool bDummy ) -{ - if( !pImpl ) - { - if( !bDummy ) - return; - pImpl = new SwTableBox_Impl(); - } - pImpl->setDummyFlag( bDummy ); + lcl_SetNewColor(&pSaveNumFmtColor, pNewColor); } //JP 15.09.98: Bug 55741 - Keep tabs (front and rear) @@ -1681,7 +1613,10 @@ aLines(), pSttNd( 0 ), pUpper( pUp ), - pImpl( 0 ) + pSaveUserColor(0), + pSaveNumFmtColor(0), + nRowSpan(1), + bDummyFlag(false) { aLines.reserve( (sal_uInt8)nLines ); CheckBoxFmt( pFmt )->Add( this ); @@ -1692,7 +1627,10 @@ : SwClient( 0 ), aLines(), pUpper( pUp ), - pImpl( 0 ) + pSaveUserColor(0), + pSaveNumFmtColor(0), + nRowSpan(1), + bDummyFlag(false) { CheckBoxFmt( pFmt )->Add( this ); @@ -1712,7 +1650,10 @@ aLines(), pSttNd( &rSttNd ), pUpper( pUp ), - pImpl( 0 ) + pSaveUserColor(0), + pSaveNumFmtColor(0), + nRowSpan(1), + bDummyFlag(false) { CheckBoxFmt( pFmt )->Add( this ); @@ -1753,7 +1694,8 @@ if( !pMod->GetDepends() ) delete pMod; // and delete - delete pImpl; + delete pSaveUserColor; + delete pSaveNumFmtColor; } SwTableBoxFmt* SwTableBox::CheckBoxFmt( SwTableBoxFmt* pFmt ) @@ -2608,7 +2550,7 @@ } } -void SwTableBox_Impl::SetNewCol( Color** ppCol, const Color* pNewCol ) +static void lcl_SetNewColor( Color** ppCol, const Color* pNewCol ) { if( *ppCol != pNewCol ) { -- To view, visit https://gerrit.libreoffice.org/1885 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2cb471e9b0784673deb75beb7d403b136fbce500 Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Arnaud Versini <arnaud.vers...@gmail.com> _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice