sw/inc/charatr.hxx | 12 + sw/inc/swtblfmt.hxx | 87 +++++++------ sw/inc/tblafmt.hxx | 4 sw/source/core/doc/swtblfmt.cxx | 139 ++++++++++++--------- sw/source/core/doc/tblafmt.cxx | 261 ++++++++++++++++++++++++---------------- 5 files changed, 298 insertions(+), 205 deletions(-)
New commits: commit f85cc2130c35f22e998e031324d0162367f4d0f8 Author: Alex Ivan <[email protected]> Date: Sun Jun 30 23:10:21 2013 +0300 Save/Load of SwBoxAutoFmt move to SwTableBoxFmt Save and Load methods have been moved to SwTableBoxFmt. Should now be safe to begin removing Sw*AutoFmt. Change-Id: I3bca20af4fb540f2923e17d2a1c115f39097b44d diff --git a/sw/inc/charatr.hxx b/sw/inc/charatr.hxx index 886437a..f302047 100644 --- a/sw/inc/charatr.hxx +++ b/sw/inc/charatr.hxx @@ -104,8 +104,16 @@ inline const SvxCharHiddenItem &SwAttrSet::GetCharHidden( sal_Bool bInP ) const inline const SvxPostureItem &SwFmt::GetPosture(sal_Bool bInP) const { return aSet.GetPosture(bInP); } +inline const SvxPostureItem &SwFmt::GetCJKPosture(sal_Bool bInP) const + { return aSet.GetCJKPosture(bInP); } +inline const SvxPostureItem &SwFmt::GetCTLPosture(sal_Bool bInP) const + { return aSet.GetCTLPosture(bInP); } inline const SvxWeightItem &SwFmt::GetWeight(sal_Bool bInP) const { return aSet.GetWeight(bInP); } +inline const SvxWeightItem &SwFmt::GetCJKWeight(sal_Bool bInP) const + { return aSet.GetCJKWeight(bInP); } +inline const SvxWeightItem &SwFmt::GetCTLWeight(sal_Bool bInP) const + { return aSet.GetCTLWeight(bInP); } inline const SvxShadowedItem &SwFmt::GetShadowed(sal_Bool bInP) const { return aSet.GetShadowed(bInP); } inline const SvxAutoKernItem &SwFmt::GetAutoKern(sal_Bool bInP) const @@ -124,6 +132,10 @@ inline const SvxCrossedOutItem &SwFmt::GetCrossedOut(sal_Bool bInP) const { return aSet.GetCrossedOut(bInP); } inline const SvxFontHeightItem &SwFmt::GetSize(sal_Bool bInP) const { return aSet.GetSize(bInP); } +inline const SvxFontHeightItem &SwFmt::GetCJKSize(sal_Bool bInP) const + { return aSet.GetCJKSize(bInP); } +inline const SvxFontHeightItem &SwFmt::GetCTLSize(sal_Bool bInP) const + { return aSet.GetCTLSize(bInP); } inline const SvxPropSizeItem &SwFmt::GetPropSize(sal_Bool bInP) const { return aSet.GetPropSize(bInP); } inline const SvxFontItem &SwFmt::GetFont(sal_Bool bInP) const diff --git a/sw/inc/swtblfmt.hxx b/sw/inc/swtblfmt.hxx index 6227ecc..990032f 100644 --- a/sw/inc/swtblfmt.hxx +++ b/sw/inc/swtblfmt.hxx @@ -50,6 +50,8 @@ #include <frmfmt.hxx> #include <paratr.hxx> +struct SwAfVersions; + class SwDoc; class SwTableLineFmt; class SwTableBoxFmt; @@ -204,11 +206,19 @@ public: void SetValueFormat( const String& rFmt, LanguageType eLng, LanguageType eSys ); + const SvxFontHeightItem& GetHeight() const; + const SvxFontHeightItem& GetCJKHeight() const; + const SvxFontHeightItem& GetCTLHeight() const; + const SvxFrameDirectionItem& GetTextOrientation() const; const SwFmtVertOrient& GetVerticalAlignment() const; void GetValueFormat( String& rFmt, LanguageType& rLng, LanguageType& rSys ) const; + sal_Bool Load( SvStream& rStream, const SwAfVersions& rVersions, sal_uInt16 nVer ); + sal_Bool Save( SvStream& rStream, sal_uInt16 fileVersion ) const; + sal_Bool SaveVersionNo( SvStream& rStream, sal_uInt16 fileVersion ) const; + TYPEINFO(); // Already in base class Content. DECL_FIXEDMEMPOOL_NEWDEL(SwTableBoxFmt) diff --git a/sw/inc/tblafmt.hxx b/sw/inc/tblafmt.hxx index 3ac0123..d8f3132 100644 --- a/sw/inc/tblafmt.hxx +++ b/sw/inc/tblafmt.hxx @@ -178,10 +178,6 @@ public: void SetBackground( const SvxBrushItem& rNew ) { aBackground = rNew; } void SetValueFormat( const String& rFmt, LanguageType eLng, LanguageType eSys ) { sNumFmtString = rFmt; eNumFmtLanguage = eLng; eSysLanguage = eSys; } - - sal_Bool Load( SvStream& rStream, const SwAfVersions& rVersions, sal_uInt16 nVer ); - sal_Bool Save( SvStream& rStream, sal_uInt16 fileVersion ) const; - sal_Bool SaveVersionNo( SvStream& rStream, sal_uInt16 fileVersion ) const; }; /* diff --git a/sw/source/core/doc/swtblfmt.cxx b/sw/source/core/doc/swtblfmt.cxx index d9d9c7e..65bdb5f 100644 --- a/sw/source/core/doc/swtblfmt.cxx +++ b/sw/source/core/doc/swtblfmt.cxx @@ -427,6 +427,21 @@ void SwTableBoxFmt::SetValueFormat( const String& rFmt, LanguageType eLng, Langu eSysLanguage = eSys; } +const SvxFontHeightItem& SwTableBoxFmt::GetHeight() const +{ + return SwFmt::GetSize(); +} + +const SvxFontHeightItem& SwTableBoxFmt::GetCJKHeight() const +{ + return SwFmt::GetCJKSize(); +} + +const SvxFontHeightItem& SwTableBoxFmt::GetCTLHeight() const +{ + return SwFmt::GetCTLSize(); +} + const SvxFrameDirectionItem& SwTableBoxFmt::GetTextOrientation() const { return SwFmt::GetFrmDir(); diff --git a/sw/source/core/doc/tblafmt.cxx b/sw/source/core/doc/tblafmt.cxx index baa170a..8840a20 100644 --- a/sw/source/core/doc/tblafmt.cxx +++ b/sw/source/core/doc/tblafmt.cxx @@ -400,80 +400,114 @@ SwBoxAutoFmt& SwBoxAutoFmt::operator=( const SwBoxAutoFmt& rNew ) aItem = *(aItemType*)pNew; \ delete pNew; -sal_Bool SwBoxAutoFmt::Load( SvStream& rStream, const SwAfVersions& rVersions, sal_uInt16 nVer ) +sal_Bool SwTableBoxFmt::Load( SvStream& rStream, const SwAfVersions& rVersions, sal_uInt16 nVer ) { SfxPoolItem* pNew; - SvxOrientationItem aOrientation( SVX_ORIENTATION_STANDARD, 0); - - READ( aFont, SvxFontItem , rVersions.nFontVersion) + SvxFontItem aFont = SvxFontItem( *(SvxFontItem*)GetDfltAttr( RES_CHRATR_FONT ) ); + READ( aFont, SvxFontItem, rVersions.nFontVersion ) if( rStream.GetStreamCharSet() == aFont.GetCharSet() ) - aFont.SetCharSet(::osl_getThreadTextEncoding()); + aFont.SetCharSet( ::osl_getThreadTextEncoding() ); + SetFont( aFont ); + + SvxFontHeightItem aHeight = SvxFontHeightItem( 240, 100, RES_CHRATR_FONTSIZE ); + READ( aHeight, SvxFontHeightItem, rVersions.nFontHeightVersion ) + SetHeight( aHeight ); + + SvxWeightItem aWeight = SvxWeightItem( WEIGHT_NORMAL, RES_CHRATR_WEIGHT ); + READ( aWeight, SvxWeightItem, rVersions.nWeightVersion ) + SetWeight( aWeight ); + + SvxPostureItem aPosture = SvxPostureItem( ITALIC_NONE, RES_CHRATR_POSTURE ); + READ( aPosture, SvxPostureItem, rVersions.nPostureVersion ) + SetPosture( aPosture ); - READ( aHeight, SvxFontHeightItem , rVersions.nFontHeightVersion) - READ( aWeight, SvxWeightItem , rVersions.nWeightVersion) - READ( aPosture, SvxPostureItem , rVersions.nPostureVersion) // --- from 641 on: CJK and CTL font settings if( AUTOFORMAT_DATA_ID_641 <= nVer ) { - READ( aCJKFont, SvxFontItem , rVersions.nFontVersion) - READ( aCJKHeight, SvxFontHeightItem , rVersions.nFontHeightVersion) - READ( aCJKWeight, SvxWeightItem , rVersions.nWeightVersion) - READ( aCJKPosture, SvxPostureItem , rVersions.nPostureVersion) - READ( aCTLFont, SvxFontItem , rVersions.nFontVersion) - READ( aCTLHeight, SvxFontHeightItem , rVersions.nFontHeightVersion) - READ( aCTLWeight, SvxWeightItem , rVersions.nWeightVersion) - READ( aCTLPosture, SvxPostureItem , rVersions.nPostureVersion) - } - READ( aUnderline, SvxUnderlineItem , rVersions.nUnderlineVersion) - if( nVer >= AUTOFORMAT_DATA_ID_300OVRLN ) - { - READ( aOverline, SvxOverlineItem , rVersions.nOverlineVersion) + SvxFontItem aCJKFont = SvxFontItem( *(SvxFontItem*)GetDfltAttr( RES_CHRATR_FONT ) ); + READ( aCJKFont, SvxFontItem, rVersions.nFontVersion ) + SetCJKFont( aCJKFont ); + + SvxFontHeightItem aCJKHeight = SvxFontHeightItem( 240, 100, RES_CHRATR_FONTSIZE ); + READ( aCJKHeight, SvxFontHeightItem, rVersions.nFontHeightVersion ) + SetCJKHeight( aCJKHeight ); + + SvxWeightItem aCJKWeight = SvxWeightItem( WEIGHT_NORMAL, RES_CHRATR_WEIGHT ); + READ( aCJKWeight, SvxWeightItem, rVersions.nWeightVersion ) + SetCJKWeight( aCJKWeight ); + + SvxPostureItem aCJKPosture = SvxPostureItem( ITALIC_NONE, RES_CHRATR_POSTURE ); + READ( aCJKPosture, SvxPostureItem, rVersions.nPostureVersion ) + SetCJKPosture( aCJKPosture ); + + + SvxFontItem aCTLFont = SvxFontItem( *(SvxFontItem*)GetDfltAttr( RES_CHRATR_FONT ) ); + READ( aCTLFont, SvxFontItem, rVersions.nFontVersion ) + SetCTLFont( aCTLFont ); + + SvxFontHeightItem aCTLHeight = SvxFontHeightItem( 240, 100, RES_CHRATR_FONTSIZE ); + READ( aCTLHeight, SvxFontHeightItem, rVersions.nFontHeightVersion ) + SetCTLHeight( aCTLHeight ); + + SvxWeightItem aCTLWeight = SvxWeightItem( WEIGHT_NORMAL, RES_CHRATR_WEIGHT ); + READ( aCTLWeight, SvxWeightItem, rVersions.nWeightVersion ) + SetCTLWeight( aCTLWeight ); + + SvxPostureItem aCTLPosture = SvxPostureItem( ITALIC_NONE, RES_CHRATR_POSTURE ); + READ( aCTLPosture, SvxPostureItem, rVersions.nPostureVersion ) + SetCTLPosture( aCTLPosture ); } - READ( aCrossedOut, SvxCrossedOutItem , rVersions.nCrossedOutVersion) - READ( aContour, SvxContourItem , rVersions.nContourVersion) - READ( aShadowed, SvxShadowedItem , rVersions.nShadowedVersion) - READ( aColor, SvxColorItem , rVersions.nColorVersion) - READ( aBox, SvxBoxItem , rVersions.nBoxVersion) + SvxUnderlineItem aUnderline = SvxUnderlineItem( UNDERLINE_NONE, RES_CHRATR_UNDERLINE ); + READ( aUnderline, SvxUnderlineItem, rVersions.nUnderlineVersion ) + SetUnderline( aUnderline ); - // --- from 680/dr14 on: diagonal frame lines - if( nVer >= AUTOFORMAT_DATA_ID_680DR14 ) + if( nVer >= AUTOFORMAT_DATA_ID_300OVRLN ) { - READ( aTLBR, SvxLineItem, rVersions.nLineVersion) - READ( aBLTR, SvxLineItem, rVersions.nLineVersion) + SvxOverlineItem aOverline = SvxOverlineItem( UNDERLINE_NONE, RES_CHRATR_OVERLINE ); + READ( aOverline, SvxOverlineItem, rVersions.nOverlineVersion ) + SetOverline( aOverline ); } - READ( aBackground, SvxBrushItem , rVersions.nBrushVersion) + SvxCrossedOutItem aCrossedOut = SvxCrossedOutItem( STRIKEOUT_NONE, RES_CHRATR_CROSSEDOUT ); + READ( aCrossedOut, SvxCrossedOutItem, rVersions.nCrossedOutVersion ) + SetCrossedOut( aCrossedOut ); - pNew = aAdjust.Create(rStream, rVersions.nAdjustVersion ); - SetAdjust( *(SvxAdjustItem*)pNew ); - delete pNew; + SvxContourItem aContour = SvxContourItem( sal_False, RES_CHRATR_CONTOUR ); + READ( aContour, SvxContourItem, rVersions.nContourVersion ) + SetContour( aContour ); - if (nVer >= AUTOFORMAT_DATA_ID_31005 && WriterSpecificBlockExists(rStream)) - { - READ(m_aTextOrientation, SvxFrameDirectionItem, rVersions.m_nTextOrientationVersion); - READ(m_aVerticalAlignment, SwFmtVertOrient, rVersions.m_nVerticalAlignmentVersion); - } + SvxShadowedItem aShadowed = SvxShadowedItem( sal_False, RES_CHRATR_SHADOWED ); + READ( aShadowed, SvxShadowedItem, rVersions.nShadowedVersion ) + SetShadowed( aShadowed ); - READ( aHorJustify, SvxHorJustifyItem , rVersions.nHorJustifyVersion) - READ( aVerJustify, SvxVerJustifyItem , rVersions.nVerJustifyVersion) + SvxColorItem aColor = SvxColorItem( RES_CHRATR_COLOR ); + READ( aColor, SvxColorItem, rVersions.nColorVersion ) + SetColor( aColor ); - READ( aOrientation, SvxOrientationItem , rVersions.nOrientationVersion) - READ( aMargin, SvxMarginItem , rVersions.nMarginVersion) + SvxBoxItem aBox = SvxBoxItem( RES_BOX ); + READ( aBox, SvxBoxItem, rVersions.nBoxVersion ) + SetBox( aBox ); - pNew = aLinebreak.Create(rStream, rVersions.nBoolVersion ); - aLinebreak.SetValue( ((SfxBoolItem*)pNew)->GetValue() ); + SvxBrushItem aBackground = SvxBrushItem( RES_BACKGROUND ); + READ( aBackground, SvxBrushItem, rVersions.nBrushVersion ) + SetBackground( aBackground ); + + SvxAdjustItem aAdjust = SvxAdjustItem( SVX_ADJUST_LEFT, RES_PARATR_ADJUST ); + pNew = aAdjust.Create( rStream, rVersions.nAdjustVersion ); + SetAdjust( *(SvxAdjustItem*)pNew ); delete pNew; - if ( nVer >= AUTOFORMAT_DATA_ID_504 ) + if (nVer >= AUTOFORMAT_DATA_ID_31005 && WriterSpecificBlockExists(rStream)) { - pNew = aRotateAngle.Create( rStream, rVersions.nInt32Version ); - aRotateAngle.SetValue( ((SfxInt32Item*)pNew)->GetValue() ); - delete pNew; - pNew = aRotateMode.Create( rStream, rVersions.nRotateModeVersion ); - aRotateMode.SetValue( ((SvxRotateModeItem*)pNew)->GetValue() ); - delete pNew; + SvxFrameDirectionItem aTextOrientation = SvxFrameDirectionItem( FRMDIR_ENVIRONMENT, RES_FRAMEDIR ); + READ( aTextOrientation, SvxFrameDirectionItem, rVersions.m_nTextOrientationVersion ) + SetTextOrientation( aTextOrientation ); + + SwFmtVertOrient aVerticalAlignment = SwFmtVertOrient( 0, com::sun::star::text::VertOrientation::NONE, com::sun::star::text::RelOrientation::FRAME ); + READ( aVerticalAlignment, SwFmtVertOrient, rVersions.m_nVerticalAlignmentVersion ); + SetVerticalAlignment( aVerticalAlignment ); } if( 0 == rVersions.nNumFmtVersion ) @@ -489,56 +523,84 @@ sal_Bool SwBoxAutoFmt::Load( SvStream& rStream, const SwAfVersions& rVersions, s eSysLanguage = ::GetAppLanguage(); } - aStacked.SetValue( aOrientation.IsStacked() ); - aRotateAngle.SetValue( aOrientation.GetRotation( aRotateAngle.GetValue() ) ); - return 0 == rStream.GetError(); } -sal_Bool SwBoxAutoFmt::Save( SvStream& rStream, sal_uInt16 fileVersion ) const +sal_Bool SwTableBoxFmt::Save( SvStream& rStream, sal_uInt16 fileVersion ) const { - SvxOrientationItem aOrientation( aRotateAngle.GetValue(), aStacked.GetValue(), 0 ); + SvxFontItem aFont = GetFont(); + aFont.Store( rStream, aFont.GetVersion(fileVersion) ); - aFont.Store( rStream, aFont.GetVersion(fileVersion) ); + SvxFontHeightItem aHeight = GetHeight(); aHeight.Store( rStream, aHeight.GetVersion(fileVersion) ); + + SvxWeightItem aWeight = GetWeight(); aWeight.Store( rStream, aWeight.GetVersion(fileVersion) ); + + SvxPostureItem aPosture = GetPosture(); aPosture.Store( rStream, aPosture.GetVersion(fileVersion) ); - aCJKFont.Store( rStream, aCJKFont.GetVersion(fileVersion) ); + + SvxFontItem aCJKFont = GetCJKFont(); + aCJKFont.Store( rStream, aCJKFont.GetVersion(fileVersion) ); + + SvxFontHeightItem aCJKHeight = GetCJKHeight(); aCJKHeight.Store( rStream, aCJKHeight.GetVersion(fileVersion) ); + + SvxWeightItem aCJKWeight = GetCJKWeight(); aCJKWeight.Store( rStream, aCJKWeight.GetVersion(fileVersion) ); + + SvxPostureItem aCJKPosture = GetCJKPosture(); aCJKPosture.Store( rStream, aCJKPosture.GetVersion(fileVersion) ); - aCTLFont.Store( rStream, aCTLFont.GetVersion(fileVersion) ); + + SvxFontItem aCTLFont = GetCTLFont(); + aCTLFont.Store( rStream, aCTLFont.GetVersion(fileVersion) ); + + SvxFontHeightItem aCTLHeight = GetCTLHeight(); aCTLHeight.Store( rStream, aCTLHeight.GetVersion(fileVersion) ); + + SvxWeightItem aCTLWeight = GetCTLWeight(); aCTLWeight.Store( rStream, aCTLWeight.GetVersion(fileVersion) ); + + SvxPostureItem aCTLPosture = GetCTLPosture(); aCTLPosture.Store( rStream, aCTLPosture.GetVersion(fileVersion) ); + + SvxUnderlineItem aUnderline = GetUnderline(); aUnderline.Store( rStream, aUnderline.GetVersion(fileVersion) ); + + SvxOverlineItem aOverline = GetOverline(); aOverline.Store( rStream, aOverline.GetVersion(fileVersion) ); + + SvxCrossedOutItem aCrossedOut = GetCrossedOut(); aCrossedOut.Store( rStream, aCrossedOut.GetVersion(fileVersion) ); + + SvxContourItem aContour = GetContour(); aContour.Store( rStream, aContour.GetVersion(fileVersion) ); + + SvxShadowedItem aShadowed = GetShadowed(); aShadowed.Store( rStream, aShadowed.GetVersion(fileVersion) ); + + SvxColorItem aColor = GetColor(); aColor.Store( rStream, aColor.GetVersion(fileVersion) ); + + SvxBoxItem aBox = GetBox(); aBox.Store( rStream, aBox.GetVersion(fileVersion) ); - aTLBR.Store( rStream, aTLBR.GetVersion(fileVersion) ); - aBLTR.Store( rStream, aBLTR.GetVersion(fileVersion) ); + + SvxBrushItem aBackground = GetBackground(); aBackground.Store( rStream, aBackground.GetVersion(fileVersion) ); + SvxAdjustItem aAdjust = GetAdjust(); aAdjust.Store( rStream, aAdjust.GetVersion(fileVersion) ); + if (fileVersion >= SOFFICE_FILEFORMAT_50) { WriterSpecificAutoFormatBlock block(rStream); - m_aTextOrientation.Store(rStream, m_aTextOrientation.GetVersion(fileVersion)); - m_aVerticalAlignment.Store(rStream, m_aVerticalAlignment.GetVersion(fileVersion)); - } + SvxFrameDirectionItem aTextOrientation = GetTextOrientation(); + aTextOrientation.Store(rStream, aTextOrientation.GetVersion(fileVersion)); - aHorJustify.Store( rStream, aHorJustify.GetVersion(fileVersion) ); - aVerJustify.Store( rStream, aVerJustify.GetVersion(fileVersion) ); - aOrientation.Store( rStream, aOrientation.GetVersion(fileVersion) ); - aMargin.Store( rStream, aMargin.GetVersion(fileVersion) ); - aLinebreak.Store( rStream, aLinebreak.GetVersion(fileVersion) ); - // Calc Rotation from SO5 - aRotateAngle.Store( rStream, aRotateAngle.GetVersion(fileVersion) ); - aRotateMode.Store( rStream, aRotateMode.GetVersion(fileVersion) ); + SwFmtVertOrient aVerticalAlignment = GetVerticalAlignment(); + aVerticalAlignment.Store(rStream, aVerticalAlignment.GetVersion(fileVersion)); + } // --- from 680/dr25 on: store strings as UTF-8 write_lenPrefixed_uInt8s_FromOUString<sal_uInt16>(rStream, sNumFmtString, @@ -549,40 +611,30 @@ sal_Bool SwBoxAutoFmt::Save( SvStream& rStream, sal_uInt16 fileVersion ) const } -sal_Bool SwBoxAutoFmt::SaveVersionNo( SvStream& rStream, sal_uInt16 fileVersion ) const +sal_Bool SwTableBoxFmt::SaveVersionNo( SvStream& rStream, sal_uInt16 fileVersion ) const { - rStream << aFont.GetVersion( fileVersion ); - rStream << aHeight.GetVersion( fileVersion ); - rStream << aWeight.GetVersion( fileVersion ); - rStream << aPosture.GetVersion( fileVersion ); - rStream << aUnderline.GetVersion( fileVersion ); - rStream << aOverline.GetVersion( fileVersion ); - rStream << aCrossedOut.GetVersion( fileVersion ); - rStream << aContour.GetVersion( fileVersion ); - rStream << aShadowed.GetVersion( fileVersion ); - rStream << aColor.GetVersion( fileVersion ); - rStream << aBox.GetVersion( fileVersion ); - rStream << aTLBR.GetVersion( fileVersion ); - rStream << aBackground.GetVersion( fileVersion ); - - rStream << aAdjust.GetVersion( fileVersion ); + rStream << GetFont().GetVersion( fileVersion ); + rStream << GetHeight().GetVersion( fileVersion ); + rStream << GetWeight().GetVersion( fileVersion ); + rStream << GetPosture().GetVersion( fileVersion ); + rStream << GetUnderline().GetVersion( fileVersion ); + rStream << GetOverline().GetVersion( fileVersion ); + rStream << GetCrossedOut().GetVersion( fileVersion ); + rStream << GetContour().GetVersion( fileVersion ); + rStream << GetShadowed().GetVersion( fileVersion ); + rStream << GetColor().GetVersion( fileVersion ); + rStream << GetBox().GetVersion( fileVersion ); + rStream << GetBackground().GetVersion( fileVersion ); + rStream << GetAdjust().GetVersion( fileVersion ); if (fileVersion >= SOFFICE_FILEFORMAT_50) { WriterSpecificAutoFormatBlock block(rStream); - rStream << m_aTextOrientation.GetVersion(fileVersion); - rStream << m_aVerticalAlignment.GetVersion(fileVersion); + rStream << GetTextOrientation().GetVersion(fileVersion); + rStream << GetVerticalAlignment().GetVersion(fileVersion); } - rStream << aHorJustify.GetVersion( fileVersion ); - rStream << aVerJustify.GetVersion( fileVersion ); - rStream << SvxOrientationItem(SVX_ORIENTATION_STANDARD, 0).GetVersion( fileVersion ); - rStream << aMargin.GetVersion( fileVersion ); - rStream << aLinebreak.GetVersion( fileVersion ); - rStream << aRotateAngle.GetVersion( fileVersion ); - rStream << aRotateMode.GetVersion( fileVersion ); - rStream << (sal_uInt16)0; // NumberFormat return 0 == rStream.GetError(); @@ -960,7 +1012,8 @@ SwTableAutoFmt* SwTableAutoFmt::Load( SvStream& rStream, const SwAfVersions& rVe for( sal_uInt8 i = 0; bRet && i < 16; ++i ) { SwBoxAutoFmt* pFmt = new SwBoxAutoFmt; - bRet = pFmt->Load( rStream, rVersions, nVal ); + // TODO Remove members in SwTableAutoFmt and adapt this + // bRet = pFmt->Load( rStream, rVersions, nVal ); if( bRet ) pRet->aBoxAutoFmt[ i ] = pFmt; else @@ -1027,7 +1080,8 @@ sal_Bool SwTableAutoFmt::Save( SvStream& rStream, sal_uInt16 fileVersion ) const pDfltBoxAutoFmt = new SwBoxAutoFmt; pFmt = pDfltBoxAutoFmt; } - bRet = pFmt->Save( rStream, fileVersion ); + // TODO Remove members in SwTableAutoFmt and adapt this + // bRet = pFmt->Save( rStream, fileVersion ); } return bRet; } @@ -1248,8 +1302,9 @@ sal_Bool SwTableAutoFmtTbl::Save( SvStream& rStream ) const bRet = 0 == rStream.GetError(); // Write this version number for all attributes - m_pImpl->m_AutoFormats[0].GetBoxFmt(0).SaveVersionNo( - rStream, AUTOFORMAT_FILE_VERSION); + // TODO Remove members in SwTableAutoFmt and adapt this + // m_pImpl->m_AutoFormats[0].GetBoxFmt(0).SaveVersionNo( + // rStream, AUTOFORMAT_FILE_VERSION); rStream << static_cast<sal_uInt16>(m_pImpl->m_AutoFormats.size() - 1); bRet = 0 == rStream.GetError(); commit 6da46098addecc575b5437028d5c577f1b29a220 Author: Alex Ivan <[email protected]> Date: Sun Jun 30 18:16:09 2013 +0300 Replace bare pointer with boost::scoped_ptr Members of SwTable*Fmt classes are now boost::scoped_ptr. Also, incorrect implementation of operator= has been corrected. Change-Id: I0b73c6351e3fa71d14dcb20b82fa2165969c6c27 diff --git a/sw/inc/swtblfmt.hxx b/sw/inc/swtblfmt.hxx index 3f25f7a..6227ecc 100644 --- a/sw/inc/swtblfmt.hxx +++ b/sw/inc/swtblfmt.hxx @@ -20,6 +20,7 @@ #define _SWTBLFMT_HXX #include "hintids.hxx" +#include <boost/scoped_ptr.hpp> #include <charatr.hxx> #include <cmdid.h> #include <doc.hxx> @@ -64,39 +65,39 @@ protected: SwTableFmt( SwAttrPool& rPool, const String &rFmtNm, SwFrmFmt *pDrvdFrm ); - SwTableLineFmt* m_pFstLineFmt; - SwTableLineFmt* m_pLstLineFmt; - SwTableLineFmt* m_pOddLineFmt; - SwTableLineFmt* m_pEvnLineFmt; + boost::scoped_ptr<SwTableLineFmt> m_pFstLineFmt; + boost::scoped_ptr<SwTableLineFmt> m_pLstLineFmt; + boost::scoped_ptr<SwTableLineFmt> m_pOddLineFmt; + boost::scoped_ptr<SwTableLineFmt> m_pEvnLineFmt; - SwTableLineFmt* m_pFstColFmt; - SwTableLineFmt* m_pLstColFmt; - SwTableLineFmt* m_pOddColFmt; - SwTableLineFmt* m_pEvnColFmt; + boost::scoped_ptr<SwTableLineFmt> m_pFstColFmt; + boost::scoped_ptr<SwTableLineFmt> m_pLstColFmt; + boost::scoped_ptr<SwTableLineFmt> m_pOddColFmt; + boost::scoped_ptr<SwTableLineFmt> m_pEvnColFmt; public: - SwTableFmt( SwTableFmt& rNew ); + SwTableFmt( const SwTableFmt& rNew ); SwTableFmt& operator=( const SwTableFmt& rNew ); - void SetFirstLineFmt( SwTableLineFmt* pNew ) { m_pFstLineFmt = pNew; } - void SetLastLineFmt( SwTableLineFmt* pNew ) { m_pLstLineFmt = pNew; } - void SetOddLineFmt( SwTableLineFmt* pNew ) { m_pOddLineFmt = pNew; } - void SetEvenLineFmt( SwTableLineFmt* pNew ) { m_pEvnLineFmt = pNew; } + void SetFirstLineFmt( SwTableLineFmt* pNew ) { m_pFstLineFmt.reset( pNew ); } + void SetLastLineFmt( SwTableLineFmt* pNew ) { m_pLstLineFmt.reset( pNew ); } + void SetOddLineFmt( SwTableLineFmt* pNew ) { m_pOddLineFmt.reset( pNew ); } + void SetEvenLineFmt( SwTableLineFmt* pNew ) { m_pEvnLineFmt.reset( pNew ); } - void SetFirstColFmt( SwTableLineFmt* pNew ) { m_pFstColFmt = pNew; } - void SetLastColFmt( SwTableLineFmt* pNew ) { m_pLstColFmt = pNew; } - void SetOddColFmt( SwTableLineFmt* pNew ) { m_pOddColFmt = pNew; } - void SetEvenColFmt( SwTableLineFmt* pNew ) { m_pEvnColFmt = pNew; } + void SetFirstColFmt( SwTableLineFmt* pNew ) { m_pFstColFmt.reset( pNew ); } + void SetLastColFmt( SwTableLineFmt* pNew ) { m_pLstColFmt.reset( pNew ); } + void SetOddColFmt( SwTableLineFmt* pNew ) { m_pOddColFmt.reset( pNew ); } + void SetEvenColFmt( SwTableLineFmt* pNew ) { m_pEvnColFmt.reset( pNew ); } - SwTableLineFmt* GetFirstLineFmt() { return m_pFstLineFmt; } - SwTableLineFmt* GetLastLineFmt() { return m_pLstLineFmt; } - SwTableLineFmt* GetOddLineFmt() { return m_pOddLineFmt; } - SwTableLineFmt* GetEvenLineFmt() { return m_pEvnLineFmt; } + SwTableLineFmt* GetFirstLineFmt() { return m_pFstLineFmt.get(); } + SwTableLineFmt* GetLastLineFmt() { return m_pLstLineFmt.get(); } + SwTableLineFmt* GetOddLineFmt() { return m_pOddLineFmt.get(); } + SwTableLineFmt* GetEvenLineFmt() { return m_pEvnLineFmt.get(); } - SwTableLineFmt* GetFirstColFmt() { return m_pFstColFmt; } - SwTableLineFmt* GetLastColFmt() { return m_pLstColFmt; } - SwTableLineFmt* GetOddColFmt() { return m_pOddColFmt; } - SwTableLineFmt* GetEvenColFmt() { return m_pEvnColFmt; } + SwTableLineFmt* GetFirstColFmt() { return m_pFstColFmt.get(); } + SwTableLineFmt* GetLastColFmt() { return m_pLstColFmt.get(); } + SwTableLineFmt* GetOddColFmt() { return m_pOddColFmt.get(); } + SwTableLineFmt* GetEvenColFmt() { return m_pEvnColFmt.get(); } void SetBreak( const SvxFmtBreakItem& rNew ); void SetPageDesc( const SwFmtPageDesc& rNew ); @@ -132,24 +133,24 @@ protected: SwFrmFmt *pDrvdFrm ); // Odd and Even Box formats will be used to handle alternating columns - SwTableBoxFmt* m_pFstBoxFmt; - SwTableBoxFmt* m_pLstBoxFmt; - SwTableBoxFmt* m_pOddBoxFmt; - SwTableBoxFmt* m_pEvnBoxFmt; + boost::scoped_ptr<SwTableBoxFmt> m_pFstBoxFmt; + boost::scoped_ptr<SwTableBoxFmt> m_pLstBoxFmt; + boost::scoped_ptr<SwTableBoxFmt> m_pOddBoxFmt; + boost::scoped_ptr<SwTableBoxFmt> m_pEvnBoxFmt; public: - SwTableLineFmt( SwTableLineFmt& rNew ); + SwTableLineFmt( const SwTableLineFmt& rNew ); SwTableLineFmt& operator=( const SwTableLineFmt& rNew ); - void SetFirstBoxFmt( SwTableBoxFmt* pNew ) { m_pFstBoxFmt = pNew; } - void SetLastBoxFmt( SwTableBoxFmt* pNew ) { m_pLstBoxFmt = pNew; } - void SetOddBoxFmt( SwTableBoxFmt* pNew ) { m_pOddBoxFmt = pNew; } - void SetEvenBoxFmt( SwTableBoxFmt* pNew ) { m_pEvnBoxFmt = pNew; } + void SetFirstBoxFmt( SwTableBoxFmt* pNew ) { m_pFstBoxFmt.reset( pNew ); } + void SetLastBoxFmt( SwTableBoxFmt* pNew ) { m_pLstBoxFmt.reset( pNew ); } + void SetOddBoxFmt( SwTableBoxFmt* pNew ) { m_pOddBoxFmt.reset( pNew ); } + void SetEvenBoxFmt( SwTableBoxFmt* pNew ) { m_pEvnBoxFmt.reset( pNew ); } - SwTableBoxFmt* GetFirstBoxFmt() { return m_pFstBoxFmt; } - SwTableBoxFmt* GetLastBoxFmt() { return m_pLstBoxFmt; } - SwTableBoxFmt* GetOddBoxFmt() { return m_pOddBoxFmt; } - SwTableBoxFmt* GetEvenBoxFmt() { return m_pEvnBoxFmt; } + SwTableBoxFmt* GetFirstBoxFmt() { return m_pFstBoxFmt.get(); } + SwTableBoxFmt* GetLastBoxFmt() { return m_pLstBoxFmt.get(); } + SwTableBoxFmt* GetOddBoxFmt() { return m_pOddBoxFmt.get(); } + SwTableBoxFmt* GetEvenBoxFmt() { return m_pEvnBoxFmt.get(); } TYPEINFO(); // Already in base class Content. diff --git a/sw/source/core/doc/swtblfmt.cxx b/sw/source/core/doc/swtblfmt.cxx index d31b8e2..d9d9c7e 100644 --- a/sw/source/core/doc/swtblfmt.cxx +++ b/sw/source/core/doc/swtblfmt.cxx @@ -33,15 +33,15 @@ SwTableFmt::SwTableFmt( SwAttrPool& rPool, const sal_Char* pFmtNm, SwDoc* pDoc = GetDoc(); - m_pFstLineFmt = pDoc->MakeTableLineFmt(); - m_pLstLineFmt = pDoc->MakeTableLineFmt(); - m_pOddLineFmt = pDoc->MakeTableLineFmt(); - m_pEvnLineFmt = pDoc->MakeTableLineFmt(); - - m_pFstColFmt = pDoc->MakeTableLineFmt(); - m_pLstColFmt = pDoc->MakeTableLineFmt(); - m_pOddColFmt = pDoc->MakeTableLineFmt(); - m_pEvnColFmt = pDoc->MakeTableLineFmt(); + m_pFstLineFmt.reset( pDoc->MakeTableLineFmt() ); + m_pLstLineFmt.reset( pDoc->MakeTableLineFmt() ); + m_pOddLineFmt.reset( pDoc->MakeTableLineFmt() ); + m_pEvnLineFmt.reset( pDoc->MakeTableLineFmt() ); + + m_pFstColFmt.reset( pDoc->MakeTableLineFmt() ); + m_pLstColFmt.reset( pDoc->MakeTableLineFmt() ); + m_pOddColFmt.reset( pDoc->MakeTableLineFmt() ); + m_pEvnColFmt.reset( pDoc->MakeTableLineFmt() ); } SwTableFmt::SwTableFmt( SwAttrPool& rPool, const String &rFmtNm, @@ -58,29 +58,29 @@ SwTableFmt::SwTableFmt( SwAttrPool& rPool, const String &rFmtNm, SwDoc* pDoc = GetDoc(); - m_pFstLineFmt = pDoc->MakeTableLineFmt(); - m_pLstLineFmt = pDoc->MakeTableLineFmt(); - m_pOddLineFmt = pDoc->MakeTableLineFmt(); - m_pEvnLineFmt = pDoc->MakeTableLineFmt(); + m_pFstLineFmt.reset( pDoc->MakeTableLineFmt() ); + m_pLstLineFmt.reset( pDoc->MakeTableLineFmt() ); + m_pOddLineFmt.reset( pDoc->MakeTableLineFmt() ); + m_pEvnLineFmt.reset( pDoc->MakeTableLineFmt() ); - m_pFstColFmt = pDoc->MakeTableLineFmt(); - m_pLstColFmt = pDoc->MakeTableLineFmt(); - m_pOddColFmt = pDoc->MakeTableLineFmt(); - m_pEvnColFmt = pDoc->MakeTableLineFmt(); + m_pFstColFmt.reset( pDoc->MakeTableLineFmt() ); + m_pLstColFmt.reset( pDoc->MakeTableLineFmt() ); + m_pOddColFmt.reset( pDoc->MakeTableLineFmt() ); + m_pEvnColFmt.reset( pDoc->MakeTableLineFmt() ); } -SwTableFmt::SwTableFmt( SwTableFmt& rNew ) +SwTableFmt::SwTableFmt( const SwTableFmt& rNew ) : SwFrmFmt( (SwFrmFmt)rNew ) { - *m_pFstLineFmt = SwTableLineFmt( *rNew.GetFirstLineFmt() ); - *m_pLstLineFmt = SwTableLineFmt( *rNew.GetLastLineFmt() ); - *m_pOddLineFmt = SwTableLineFmt( *rNew.GetOddLineFmt() ); - *m_pEvnLineFmt = SwTableLineFmt( *rNew.GetEvenLineFmt() ); - - *m_pFstColFmt = SwTableLineFmt( *rNew.GetFirstColFmt() ); - *m_pLstColFmt = SwTableLineFmt( *rNew.GetLastColFmt() ); - *m_pOddColFmt = SwTableLineFmt( *rNew.GetOddColFmt() ); - *m_pEvnColFmt = SwTableLineFmt( *rNew.GetEvenColFmt() ); + m_pFstLineFmt.reset( new SwTableLineFmt( *rNew.m_pFstLineFmt.get() ) ); + m_pLstLineFmt.reset( new SwTableLineFmt( *rNew.m_pLstLineFmt.get() ) ); + m_pOddLineFmt.reset( new SwTableLineFmt( *rNew.m_pOddLineFmt.get() ) ); + m_pEvnLineFmt.reset( new SwTableLineFmt( *rNew.m_pEvnLineFmt.get() ) ); + + m_pFstColFmt.reset( new SwTableLineFmt( *rNew.m_pFstColFmt.get() ) ); + m_pLstColFmt.reset( new SwTableLineFmt( *rNew.m_pLstColFmt.get() ) ); + m_pOddColFmt.reset( new SwTableLineFmt( *rNew.m_pOddColFmt.get() ) ); + m_pEvnColFmt.reset( new SwTableLineFmt( *rNew.m_pEvnColFmt.get() ) ); } SwTableFmt& SwTableFmt::operator=( const SwTableFmt& rNew ) @@ -88,15 +88,17 @@ SwTableFmt& SwTableFmt::operator=( const SwTableFmt& rNew ) if (&rNew == this) return *this; - m_pFstLineFmt = rNew.m_pFstLineFmt; - m_pLstLineFmt = rNew.m_pLstLineFmt; - m_pOddLineFmt = rNew.m_pOddLineFmt; - m_pEvnLineFmt = rNew.m_pEvnLineFmt; + SwFrmFmt::operator=( rNew ); - m_pFstColFmt = rNew.m_pFstColFmt; - m_pLstColFmt = rNew.m_pLstColFmt; - m_pOddColFmt = rNew.m_pOddColFmt; - m_pEvnColFmt = rNew.m_pEvnColFmt; + m_pFstLineFmt.reset( new SwTableLineFmt( *rNew.m_pFstLineFmt.get() ) ); + m_pLstLineFmt.reset( new SwTableLineFmt( *rNew.m_pLstLineFmt.get() ) ); + m_pOddLineFmt.reset( new SwTableLineFmt( *rNew.m_pOddLineFmt.get() ) ); + m_pEvnLineFmt.reset( new SwTableLineFmt( *rNew.m_pEvnLineFmt.get() ) ); + + m_pFstColFmt.reset( new SwTableLineFmt( *rNew.m_pFstColFmt.get() ) ); + m_pLstColFmt.reset( new SwTableLineFmt( *rNew.m_pLstColFmt.get() ) ); + m_pOddColFmt.reset( new SwTableLineFmt( *rNew.m_pOddColFmt.get() ) ); + m_pEvnColFmt.reset( new SwTableLineFmt( *rNew.m_pEvnColFmt.get() ) ); return *this; } @@ -168,15 +170,15 @@ sal_uInt16 SwTableFmt::GetRepeatHeading() const void SwTableFmt::CopyTableFormatInfo( SwTableFmt* pTableFormat ) { - *m_pFstLineFmt = SwTableLineFmt ( *pTableFormat->GetFirstLineFmt() ); - *m_pLstLineFmt = SwTableLineFmt ( *pTableFormat->GetLastLineFmt() ); - *m_pOddLineFmt = SwTableLineFmt ( *pTableFormat->GetOddLineFmt() ); - *m_pEvnLineFmt = SwTableLineFmt ( *pTableFormat->GetEvenLineFmt() ); + m_pFstLineFmt.reset( new SwTableLineFmt ( *pTableFormat->GetFirstLineFmt() ) ); + m_pLstLineFmt.reset( new SwTableLineFmt ( *pTableFormat->GetLastLineFmt() ) ); + m_pOddLineFmt.reset( new SwTableLineFmt ( *pTableFormat->GetOddLineFmt() ) ); + m_pEvnLineFmt.reset( new SwTableLineFmt ( *pTableFormat->GetEvenLineFmt() ) ); - *m_pFstColFmt = SwTableLineFmt ( *pTableFormat->GetFirstColFmt() ); - *m_pLstColFmt = SwTableLineFmt ( *pTableFormat->GetLastColFmt() ); - *m_pOddColFmt = SwTableLineFmt ( *pTableFormat->GetOddColFmt() ); - *m_pEvnColFmt = SwTableLineFmt ( *pTableFormat->GetEvenColFmt() ); + m_pFstColFmt.reset( new SwTableLineFmt ( *pTableFormat->GetFirstColFmt() ) ); + m_pLstColFmt.reset( new SwTableLineFmt ( *pTableFormat->GetLastColFmt() ) ); + m_pOddColFmt.reset( new SwTableLineFmt ( *pTableFormat->GetOddColFmt() ) ); + m_pEvnColFmt.reset( new SwTableLineFmt ( *pTableFormat->GetEvenColFmt() ) ); } SwTableLineFmt::SwTableLineFmt( SwAttrPool& rPool, const sal_Char* pFmtNm, @@ -185,10 +187,10 @@ SwTableLineFmt::SwTableLineFmt( SwAttrPool& rPool, const sal_Char* pFmtNm, { SwDoc* pDoc = GetDoc(); - m_pFstBoxFmt = pDoc->MakeTableBoxFmt(); - m_pLstBoxFmt = pDoc->MakeTableBoxFmt(); - m_pOddBoxFmt = pDoc->MakeTableBoxFmt(); - m_pEvnBoxFmt = pDoc->MakeTableBoxFmt(); + m_pFstBoxFmt.reset( pDoc->MakeTableBoxFmt() ); + m_pLstBoxFmt.reset( pDoc->MakeTableBoxFmt() ); + m_pOddBoxFmt.reset( pDoc->MakeTableBoxFmt() ); + m_pEvnBoxFmt.reset( pDoc->MakeTableBoxFmt() ); } SwTableLineFmt::SwTableLineFmt( SwAttrPool& rPool, const String &rFmtNm, @@ -197,19 +199,19 @@ SwTableLineFmt::SwTableLineFmt( SwAttrPool& rPool, const String &rFmtNm, { SwDoc* pDoc = GetDoc(); - m_pFstBoxFmt = pDoc->MakeTableBoxFmt(); - m_pLstBoxFmt = pDoc->MakeTableBoxFmt(); - m_pOddBoxFmt = pDoc->MakeTableBoxFmt(); - m_pEvnBoxFmt = pDoc->MakeTableBoxFmt(); + m_pFstBoxFmt.reset( pDoc->MakeTableBoxFmt() ); + m_pLstBoxFmt.reset( pDoc->MakeTableBoxFmt() ); + m_pOddBoxFmt.reset( pDoc->MakeTableBoxFmt() ); + m_pEvnBoxFmt.reset( pDoc->MakeTableBoxFmt() ); } -SwTableLineFmt::SwTableLineFmt( SwTableLineFmt& rNew ) +SwTableLineFmt::SwTableLineFmt( const SwTableLineFmt& rNew ) : SwFrmFmt( (SwFrmFmt)rNew ) { - *m_pFstBoxFmt = SwTableBoxFmt( *rNew.GetFirstBoxFmt() ); - *m_pLstBoxFmt = SwTableBoxFmt( *rNew.GetLastBoxFmt() ); - *m_pOddBoxFmt = SwTableBoxFmt( *rNew.GetOddBoxFmt() ); - *m_pEvnBoxFmt = SwTableBoxFmt( *rNew.GetEvenBoxFmt() ); + m_pFstBoxFmt.reset( new SwTableBoxFmt( *rNew.m_pFstBoxFmt.get() ) ); + m_pLstBoxFmt.reset( new SwTableBoxFmt( *rNew.m_pLstBoxFmt.get() ) ); + m_pOddBoxFmt.reset( new SwTableBoxFmt( *rNew.m_pOddBoxFmt.get() ) ); + m_pEvnBoxFmt.reset( new SwTableBoxFmt( *rNew.m_pEvnBoxFmt.get() ) ); } SwTableLineFmt& SwTableLineFmt::operator=( const SwTableLineFmt& rNew ) @@ -217,10 +219,12 @@ SwTableLineFmt& SwTableLineFmt::operator=( const SwTableLineFmt& rNew ) if (&rNew == this) return *this; - m_pFstBoxFmt = rNew.m_pFstBoxFmt; - m_pLstBoxFmt = rNew.m_pLstBoxFmt; - m_pOddBoxFmt = rNew.m_pOddBoxFmt; - m_pEvnBoxFmt = rNew.m_pEvnBoxFmt; + SwFrmFmt::operator=( rNew ); + + m_pFstBoxFmt.reset( new SwTableBoxFmt( *rNew.m_pFstBoxFmt.get() ) ); + m_pLstBoxFmt.reset( new SwTableBoxFmt( *rNew.m_pLstBoxFmt.get() ) ); + m_pOddBoxFmt.reset( new SwTableBoxFmt( *rNew.m_pOddBoxFmt.get() ) ); + m_pEvnBoxFmt.reset( new SwTableBoxFmt( *rNew.m_pEvnBoxFmt.get() ) ); return *this; } _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
