From 59e9d983b8fe4ccb3b752a615ab8d291602447af Mon Sep 17 00:00:00 2001 From: Alex Ivan Date: Mon, 5 Aug 2013 11:54:04 +0300 Subject: Some cleanup of the parent assigning Change-Id: If7b0e0a06e6ffa3a1739be1422548ff0c6460b4f --- sw/inc/swtblfmt.hxx | 9 +++++---- sw/source/core/doc/swtblfmt.cxx | 30 ++++++++++++++++++++---------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/sw/inc/swtblfmt.hxx b/sw/inc/swtblfmt.hxx index e61a0bb4153f..51c279acbaf3 100644 --- a/sw/inc/swtblfmt.hxx +++ b/sw/inc/swtblfmt.hxx @@ -121,11 +121,12 @@ public: sal_Bool GetRowSplit() const; sal_uInt16 GetRepeatHeading() const; - static void RestoreTableProperties( SwTableFmt* pSrcFmt, SwTable &table ); - static SwTableFmt* StoreTableProperties( const SwTable &table ); + static void RestoreTableProperties( SwTableFmt* pSrcFmt, SwTable &rTable ); + static SwTableFmt* StoreTableProperties( const SwTable &rTable ); - static void AssignLineParents( SwTableFmt* pSrcFmt, SwTable &table ); - static void AssignBoxParents( SwTableLineFmt* pSrcLineFmt, SwTableLine &line ); + static void AssignFormatParents( SwTableFmt* pSrcFmt, SwTable &rTable ); + static void AssignLineParents( SwTableFmt* pSrcFmt, SwTable &rTable ); + static void AssignBoxParents( SwTableLineFmt* pSrcLineFmt, SwTableLine &rLine ); static void AssignLineParents_Complex( SwTableLineFmt* pSrcLineFmt, SwTableBoxFmt* pSrcBoxFmt, SwTableBox& rBox ); static void AssignBoxParents_Complex( SwTableLineFmt* pSrcLineFmt, SwTableBoxFmt* pSrcBoxFmt, SwTableLine& rLine ); diff --git a/sw/source/core/doc/swtblfmt.cxx b/sw/source/core/doc/swtblfmt.cxx index 8c91b77e9bce..8a798f0fc365 100644 --- a/sw/source/core/doc/swtblfmt.cxx +++ b/sw/source/core/doc/swtblfmt.cxx @@ -230,9 +230,9 @@ sal_uInt16 SwTableFmt::GetRepeatHeading() const return 0; } -void SwTableFmt::RestoreTableProperties( SwTableFmt* pSrcFmt, SwTable &table ) +void SwTableFmt::RestoreTableProperties( SwTableFmt* pSrcFmt, SwTable &rTable ) { - SwTableFmt *pHardFmt = table.GetTableFmt(); + SwTableFmt *pHardFmt = rTable.GetTableFmt(); if( !pHardFmt ) return; @@ -247,33 +247,43 @@ void SwTableFmt::RestoreTableProperties( SwTableFmt* pSrcFmt, SwTable &table ) if( pSrcFmt ) { pHardFmt->RegisterToFormat( *pSrcFmt ); - pHardFmt->GetAttrSet().SetParent( &pSrcFmt->GetAttrSet() ); bRowSplit = pSrcFmt->GetRowSplit(); nRepeatHeading = pSrcFmt->GetRepeatHeading(); } else - { pTableStyle->Remove( pHardFmt ); - pHardFmt->GetAttrSet().SetParent( NULL ); - } - AssignLineParents( pSrcFmt, table ); + AssignFormatParents( pSrcFmt, rTable ); SwEditShell *pShell = pDoc->GetEditShell(); pDoc->SetRowSplit( *pShell->getShellCrsr( false ), SwFmtRowSplit( bRowSplit ) ); - table.SetRowsToRepeat( nRepeatHeading ); + rTable.SetRowsToRepeat( nRepeatHeading ); } -SwTableFmt* SwTableFmt::StoreTableProperties( const SwTable &table ) +SwTableFmt* SwTableFmt::StoreTableProperties( const SwTable &rTable ) { - SwTableFmt *pHardFmt = table.GetTableFmt(); + SwTableFmt *pHardFmt = rTable.GetTableFmt(); if( !pHardFmt ) return NULL; return (SwTableFmt*)pHardFmt->GetRegisteredIn(); } +void SwTableFmt::AssignFormatParents( SwTableFmt* pSrcFmt, SwTable &rTable ) +{ + SwTableFmt *pHardFmt = rTable.GetTableFmt(); + if( !pHardFmt ) + return; + + if( pSrcFmt ) + pHardFmt->GetAttrSet().SetParent( &pSrcFmt->GetAttrSet() ); + else + pHardFmt->GetAttrSet().SetParent( NULL ); + + AssignLineParents( pSrcFmt, rTable ); +} + void SwTableFmt::AssignLineParents( SwTableFmt* pSrcFmt, SwTable &rTable ) { sal_uInt16 nLines = rTable.GetTabLines().size(); -- cgit v1.2.3