Version 7.6.3.2-android, tag libreoffice-7.6.3.2-android
[LibreOffice.git] / svx / source / items / autoformathelper.cxx
blobcb09ea735e81af2c5de3aef7f26de2807d7aa443
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #include <svx/autoformathelper.hxx>
21 #include <tools/stream.hxx>
22 #include <svl/legacyitem.hxx>
23 #include <editeng/legacyitem.hxx>
24 #include <legacyitem.hxx>
25 #include <editeng/fontitem.hxx>
26 #include <editeng/fhgtitem.hxx>
27 #include <editeng/wghtitem.hxx>
28 #include <editeng/postitem.hxx>
29 #include <editeng/udlnitem.hxx>
30 #include <editeng/crossedoutitem.hxx>
31 #include <editeng/contouritem.hxx>
32 #include <editeng/shdditem.hxx>
33 #include <editeng/colritem.hxx>
34 #include <editeng/boxitem.hxx>
35 #include <editeng/lineitem.hxx>
36 #include <editeng/brushitem.hxx>
37 #include <editeng/adjustitem.hxx>
38 #include <editeng/justifyitem.hxx>
39 #include <svl/eitem.hxx>
40 #include <svx/algitem.hxx>
41 #include <svl/intitem.hxx>
42 #include <svx/rotmodit.hxx>
43 #include <osl/thread.h>
45 //////////////////////////////////////////////////////////////////////////////
47 AutoFormatVersions::AutoFormatVersions()
48 : nFontVersion(0),
49 nFontHeightVersion(0),
50 nWeightVersion(0),
51 nPostureVersion(0),
52 nUnderlineVersion(0),
53 nOverlineVersion(0),
54 nCrossedOutVersion(0),
55 nContourVersion(0),
56 nShadowedVersion(0),
57 nColorVersion(0),
58 nBoxVersion(0),
59 nLineVersion(0),
60 nBrushVersion(0),
61 nAdjustVersion(0),
62 nHorJustifyVersion(0),
63 nVerJustifyVersion(0),
64 nOrientationVersion(0),
65 nMarginVersion(0),
66 nBoolVersion(0),
67 nInt32Version(0),
68 nRotateModeVersion(0),
69 nNumFormatVersion(0)
73 const sal_uInt16 AUTOFORMAT_ID_300OVRLN = 10031;
74 const sal_uInt16 AUTOFORMAT_ID_680DR14 = 10011;
75 const sal_uInt16 AUTOFORMAT_ID_504 = 9801;
77 void AutoFormatVersions::LoadBlockA( SvStream& rStream, sal_uInt16 nVer )
79 rStream.ReadUInt16( nFontVersion );
80 rStream.ReadUInt16( nFontHeightVersion );
81 rStream.ReadUInt16( nWeightVersion );
82 rStream.ReadUInt16( nPostureVersion );
83 rStream.ReadUInt16( nUnderlineVersion );
84 if ( nVer >= AUTOFORMAT_ID_300OVRLN )
85 rStream.ReadUInt16( nOverlineVersion );
86 rStream.ReadUInt16( nCrossedOutVersion );
87 rStream.ReadUInt16( nContourVersion );
88 rStream.ReadUInt16( nShadowedVersion );
89 rStream.ReadUInt16( nColorVersion );
90 rStream.ReadUInt16( nBoxVersion );
91 if ( nVer >= AUTOFORMAT_ID_680DR14 )
92 rStream.ReadUInt16( nLineVersion );
93 rStream.ReadUInt16( nBrushVersion );
94 rStream.ReadUInt16( nAdjustVersion );
97 void AutoFormatVersions::LoadBlockB( SvStream& rStream, sal_uInt16 nVer )
99 rStream.ReadUInt16( nHorJustifyVersion );
100 rStream.ReadUInt16( nVerJustifyVersion );
101 rStream.ReadUInt16( nOrientationVersion );
102 rStream.ReadUInt16( nMarginVersion );
103 rStream.ReadUInt16( nBoolVersion );
104 if ( nVer >= AUTOFORMAT_ID_504 )
106 rStream.ReadUInt16( nInt32Version );
107 rStream.ReadUInt16( nRotateModeVersion );
109 rStream.ReadUInt16( nNumFormatVersion );
112 void AutoFormatVersions::WriteBlockA(SvStream& rStream, sal_uInt16 fileVersion)
114 rStream.WriteUInt16(legacy::SvxFont::GetVersion(fileVersion));
115 rStream.WriteUInt16(legacy::SvxFontHeight::GetVersion(fileVersion));
116 rStream.WriteUInt16(legacy::SvxWeight::GetVersion(fileVersion));
117 rStream.WriteUInt16(legacy::SvxPosture::GetVersion(fileVersion));
118 rStream.WriteUInt16(legacy::SvxTextLine::GetVersion(fileVersion));
119 rStream.WriteUInt16(legacy::SvxTextLine::GetVersion(fileVersion));
120 rStream.WriteUInt16(legacy::SvxCrossedOut::GetVersion(fileVersion));
121 rStream.WriteUInt16(legacy::SfxBool::GetVersion(fileVersion));
122 rStream.WriteUInt16(legacy::SfxBool::GetVersion(fileVersion));
123 rStream.WriteUInt16(legacy::SvxColor::GetVersion(fileVersion));
124 rStream.WriteUInt16(legacy::SvxBox::GetVersion(fileVersion));
125 rStream.WriteUInt16(legacy::SvxLine::GetVersion(fileVersion));
126 rStream.WriteUInt16(legacy::SvxBrush::GetVersion(fileVersion));
127 rStream.WriteUInt16(legacy::SvxAdjust::GetVersion(fileVersion));
130 void AutoFormatVersions::WriteBlockB(SvStream& rStream, sal_uInt16 fileVersion)
132 rStream.WriteUInt16(legacy::SvxHorJustify::GetVersion(fileVersion));
133 rStream.WriteUInt16(legacy::SvxVerJustify::GetVersion(fileVersion));
134 rStream.WriteUInt16(legacy::SvxOrientation::GetVersion(fileVersion));
135 rStream.WriteUInt16(legacy::SvxMargin::GetVersion(fileVersion));
136 rStream.WriteUInt16(legacy::SfxBool::GetVersion(fileVersion));
137 rStream.WriteUInt16(legacy::CntInt32::GetVersion(fileVersion));
138 rStream.WriteUInt16(legacy::SvxRotateMode::GetVersion(fileVersion));
139 rStream.WriteUInt16( 0 ); // NumberFormat
142 //////////////////////////////////////////////////////////////////////////////
144 void AutoFormatBase::SetFont( const SvxFontItem& rNew ) { m_aFont.reset(rNew.Clone()); }
145 void AutoFormatBase::SetHeight( const SvxFontHeightItem& rNew ) { m_aHeight.reset(rNew.Clone()); }
146 void AutoFormatBase::SetWeight( const SvxWeightItem& rNew ) { m_aWeight.reset(rNew.Clone()); }
147 void AutoFormatBase::SetPosture( const SvxPostureItem& rNew ) { m_aPosture.reset(rNew.Clone()); }
148 void AutoFormatBase::SetCJKFont( const SvxFontItem& rNew ) { m_aCJKFont.reset(rNew.Clone()); }
149 void AutoFormatBase::SetCJKHeight( const SvxFontHeightItem& rNew ) { m_aCJKHeight.reset(rNew.Clone()); }
150 void AutoFormatBase::SetCJKWeight( const SvxWeightItem& rNew ) { m_aCJKWeight.reset(rNew.Clone()); }
151 void AutoFormatBase::SetCJKPosture( const SvxPostureItem& rNew ) { m_aCJKPosture.reset(rNew.Clone()); }
152 void AutoFormatBase::SetCTLFont( const SvxFontItem& rNew ) { m_aCTLFont.reset(rNew.Clone()); }
153 void AutoFormatBase::SetCTLHeight( const SvxFontHeightItem& rNew ) { m_aCTLHeight.reset(rNew.Clone()); }
154 void AutoFormatBase::SetCTLWeight( const SvxWeightItem& rNew ) { m_aCTLWeight.reset(rNew.Clone()); }
155 void AutoFormatBase::SetCTLPosture( const SvxPostureItem& rNew ) { m_aCTLPosture.reset(rNew.Clone()); }
156 void AutoFormatBase::SetUnderline( const SvxUnderlineItem& rNew ) { m_aUnderline.reset(rNew.Clone()); }
157 void AutoFormatBase::SetOverline( const SvxOverlineItem& rNew ) { m_aOverline.reset(rNew.Clone()); }
158 void AutoFormatBase::SetCrossedOut( const SvxCrossedOutItem& rNew ) { m_aCrossedOut.reset(rNew.Clone()); }
159 void AutoFormatBase::SetContour( const SvxContourItem& rNew ) { m_aContour.reset(rNew.Clone()); }
160 void AutoFormatBase::SetShadowed( const SvxShadowedItem& rNew ) { m_aShadowed.reset(rNew.Clone()); }
161 void AutoFormatBase::SetColor( const SvxColorItem& rNew ) { m_aColor.reset(rNew.Clone()); }
162 void AutoFormatBase::SetBox( const SvxBoxItem& rNew ) { m_aBox.reset(rNew.Clone()); }
163 void AutoFormatBase::SetTLBR( const SvxLineItem& rNew ) { m_aTLBR.reset(rNew.Clone()); }
164 void AutoFormatBase::SetBLTR( const SvxLineItem& rNew ) { m_aBLTR.reset(rNew.Clone()); }
165 void AutoFormatBase::SetBackground( const SvxBrushItem& rNew ) { m_aBackground.reset(rNew.Clone()); }
166 void AutoFormatBase::SetAdjust( const SvxAdjustItem& rNew ) { m_aAdjust.reset(rNew.Clone()); }
167 void AutoFormatBase::SetHorJustify( const SvxHorJustifyItem& rNew ) { m_aHorJustify.reset(rNew.Clone()); }
168 void AutoFormatBase::SetVerJustify( const SvxVerJustifyItem& rNew ) { m_aVerJustify.reset(rNew.Clone()); }
169 void AutoFormatBase::SetStacked( const SfxBoolItem& rNew ) { m_aStacked.reset(rNew.Clone()); }
170 void AutoFormatBase::SetMargin( const SvxMarginItem& rNew ) { m_aMargin.reset(rNew.Clone()); }
171 void AutoFormatBase::SetLinebreak( const SfxBoolItem& rNew ) { m_aLinebreak.reset(rNew.Clone()); }
172 void AutoFormatBase::SetRotateAngle( const SfxInt32Item& rNew ) { m_aRotateAngle.reset(rNew.Clone()); }
173 void AutoFormatBase::SetRotateMode( const SvxRotateModeItem& rNew ) { m_aRotateMode.reset(rNew.Clone()); }
175 AutoFormatBase::AutoFormatBase()
179 AutoFormatBase::AutoFormatBase( const AutoFormatBase& rNew )
180 : m_aFont(rNew.m_aFont->Clone()),
181 m_aHeight(rNew.m_aHeight->Clone()),
182 m_aWeight(rNew.m_aWeight->Clone()),
183 m_aPosture(rNew.m_aPosture->Clone()),
184 m_aCJKFont(rNew.m_aCJKFont->Clone()),
185 m_aCJKHeight(rNew.m_aCJKHeight->Clone()),
186 m_aCJKWeight(rNew.m_aCJKWeight->Clone()),
187 m_aCJKPosture(rNew.m_aCJKPosture->Clone()),
188 m_aCTLFont(rNew.m_aCTLFont->Clone()),
189 m_aCTLHeight(rNew.m_aCTLHeight->Clone()),
190 m_aCTLWeight(rNew.m_aCTLWeight->Clone()),
191 m_aCTLPosture(rNew.m_aCTLPosture->Clone()),
192 m_aUnderline(rNew.m_aUnderline->Clone()),
193 m_aOverline(rNew.m_aOverline->Clone()),
194 m_aCrossedOut(rNew.m_aCrossedOut->Clone()),
195 m_aContour(rNew.m_aContour->Clone()),
196 m_aShadowed(rNew.m_aShadowed->Clone()),
197 m_aColor(rNew.m_aColor->Clone()),
198 m_aBox(rNew.m_aBox->Clone()),
199 m_aTLBR(rNew.m_aTLBR->Clone()),
200 m_aBLTR(rNew.m_aBLTR->Clone()),
201 m_aBackground(rNew.m_aBackground->Clone()),
202 m_aAdjust(rNew.m_aAdjust->Clone()),
203 m_aHorJustify(rNew.m_aHorJustify->Clone()),
204 m_aVerJustify(rNew.m_aVerJustify->Clone()),
205 m_aStacked(rNew.m_aStacked->Clone()),
206 m_aMargin(rNew.m_aMargin->Clone()),
207 m_aLinebreak(rNew.m_aLinebreak->Clone()),
208 m_aRotateAngle(rNew.m_aRotateAngle->Clone()),
209 m_aRotateMode(rNew.m_aRotateMode->Clone())
213 AutoFormatBase::~AutoFormatBase()
217 AutoFormatBase& AutoFormatBase::operator=(const AutoFormatBase& rRef)
219 // check self-assignment
220 if(this == &rRef)
222 return *this;
225 // copy local members - this will use ::Clone() on all involved Items
226 SetFont(rRef.GetFont());
227 SetHeight(rRef.GetHeight());
228 SetWeight(rRef.GetWeight());
229 SetPosture(rRef.GetPosture());
230 SetCJKFont(rRef.GetCJKFont());
231 SetCJKHeight(rRef.GetCJKHeight());
232 SetCJKWeight(rRef.GetCJKWeight());
233 SetCJKPosture(rRef.GetCJKPosture());
234 SetCTLFont(rRef.GetCTLFont());
235 SetCTLHeight(rRef.GetCTLHeight());
236 SetCTLWeight(rRef.GetCTLWeight());
237 SetCTLPosture(rRef.GetCTLPosture());
238 SetUnderline(rRef.GetUnderline());
239 SetOverline(rRef.GetOverline());
240 SetCrossedOut(rRef.GetCrossedOut());
241 SetContour(rRef.GetContour());
242 SetShadowed(rRef.GetShadowed());
243 SetColor(rRef.GetColor());
244 SetBox(rRef.GetBox());
245 SetTLBR(rRef.GetTLBR());
246 SetBLTR(rRef.GetBLTR());
247 SetBackground(rRef.GetBackground());
248 SetAdjust(rRef.GetAdjust());
249 SetHorJustify(rRef.GetHorJustify());
250 SetVerJustify(rRef.GetVerJustify());
251 SetStacked(rRef.GetStacked());
252 SetMargin(rRef.GetMargin());
253 SetLinebreak(rRef.GetLinebreak());
254 SetRotateAngle(rRef.GetRotateAngle());
255 SetRotateMode(rRef.GetRotateMode());
257 return *this;
260 const sal_uInt16 AUTOFORMAT_DATA_ID_641 = 10002;
261 const sal_uInt16 AUTOFORMAT_DATA_ID_300OVRLN = 10032;
262 const sal_uInt16 AUTOFORMAT_DATA_ID_680DR14 = 10012;
263 const sal_uInt16 AUTOFORMAT_DATA_ID_504 = 9802;
265 bool AutoFormatBase::LoadBlockA( SvStream& rStream, const AutoFormatVersions& rVersions, sal_uInt16 nVer )
267 legacy::SvxFont::Create(*m_aFont, rStream, rVersions.nFontVersion);
269 if( rStream.GetStreamCharSet() == m_aFont->GetCharSet() )
271 m_aFont->SetCharSet(::osl_getThreadTextEncoding());
274 legacy::SvxFontHeight::Create(*m_aHeight, rStream, rVersions.nFontHeightVersion);
275 legacy::SvxWeight::Create(*m_aWeight, rStream, rVersions.nWeightVersion);
276 legacy::SvxPosture::Create(*m_aPosture, rStream, rVersions.nPostureVersion);
278 // --- from 641 on: CJK and CTL font settings
279 if( AUTOFORMAT_DATA_ID_641 <= nVer )
281 legacy::SvxFont::Create(*m_aCJKFont, rStream, rVersions.nFontVersion);
282 legacy::SvxFontHeight::Create(*m_aCJKHeight, rStream, rVersions.nFontHeightVersion);
283 legacy::SvxWeight::Create(*m_aCJKWeight, rStream, rVersions.nWeightVersion);
284 legacy::SvxPosture::Create(*m_aCJKPosture, rStream, rVersions.nPostureVersion);
286 legacy::SvxFont::Create(*m_aCTLFont, rStream, rVersions.nFontVersion);
287 legacy::SvxFontHeight::Create(*m_aCTLHeight, rStream, rVersions.nFontHeightVersion);
288 legacy::SvxWeight::Create(*m_aCTLWeight, rStream, rVersions.nWeightVersion);
289 legacy::SvxPosture::Create(*m_aCTLPosture, rStream, rVersions.nPostureVersion);
292 legacy::SvxTextLine::Create(*m_aUnderline, rStream, rVersions.nUnderlineVersion);
294 if( nVer >= AUTOFORMAT_DATA_ID_300OVRLN )
296 legacy::SvxTextLine::Create(*m_aOverline, rStream, rVersions.nOverlineVersion);
299 legacy::SvxCrossedOut::Create(*m_aCrossedOut, rStream, rVersions.nCrossedOutVersion);
300 legacy::SfxBool::Create(*m_aContour, rStream, rVersions.nContourVersion);
301 legacy::SfxBool::Create(*m_aShadowed, rStream, rVersions.nShadowedVersion);
302 legacy::SvxColor::Create(*m_aColor, rStream, rVersions.nColorVersion);
303 legacy::SvxBox::Create(*m_aBox, rStream, rVersions.nBoxVersion);
305 // --- from 680/dr14 on: diagonal frame lines
306 if( nVer >= AUTOFORMAT_DATA_ID_680DR14 )
308 legacy::SvxLine::Create(*m_aTLBR, rStream, rVersions.nLineVersion);
309 legacy::SvxLine::Create(*m_aBLTR, rStream, rVersions.nLineVersion);
312 legacy::SvxBrush::Create(*m_aBackground, rStream, rVersions.nBrushVersion);
313 legacy::SvxAdjust::Create(*m_aAdjust, rStream, rVersions.nAdjustVersion);
315 return ERRCODE_NONE == rStream.GetError();
318 bool AutoFormatBase::LoadBlockB( SvStream& rStream, const AutoFormatVersions& rVersions, sal_uInt16 nVer )
320 legacy::SvxHorJustify::Create(*m_aHorJustify, rStream, rVersions.nHorJustifyVersion);
321 legacy::SvxVerJustify::Create(*m_aVerJustify, rStream, rVersions.nVerJustifyVersion);
322 SvxOrientationItem aOrientation( SvxCellOrientation::Standard, TypedWhichId<SvxOrientationItem>(0));
323 legacy::SvxOrientation::Create(aOrientation, rStream, rVersions.nOrientationVersion);
324 legacy::SvxMargin::Create(*m_aMargin, rStream, rVersions.nMarginVersion);
325 legacy::SfxBool::Create(*m_aLinebreak, rStream, rVersions.nBoolVersion);
327 if ( nVer >= AUTOFORMAT_DATA_ID_504 )
329 legacy::CntInt32::Create(*m_aRotateAngle, rStream, rVersions.nInt32Version);
330 legacy::SvxRotateMode::Create(*m_aRotateMode, rStream, rVersions.nRotateModeVersion);
333 m_aStacked->SetValue( aOrientation.IsStacked() );
334 m_aRotateAngle->SetValue( aOrientation.GetRotation( Degree100(m_aRotateAngle->GetValue()) ).get() );
336 return ERRCODE_NONE == rStream.GetError();
339 bool AutoFormatBase::SaveBlockA( SvStream& rStream, sal_uInt16 fileVersion ) const
341 legacy::SvxFont::Store(*m_aFont, rStream, legacy::SvxFont::GetVersion(fileVersion));
342 legacy::SvxFontHeight::Store(*m_aHeight, rStream, legacy::SvxFontHeight::GetVersion(fileVersion));
343 legacy::SvxWeight::Store(*m_aWeight, rStream, legacy::SvxWeight::GetVersion(fileVersion));
344 legacy::SvxPosture::Store(*m_aPosture, rStream, legacy::SvxPosture::GetVersion(fileVersion));
346 // --- from 641 on: CJK and CTL font settings
347 legacy::SvxFont::Store(*m_aCJKFont, rStream, legacy::SvxFont::GetVersion(fileVersion));
348 legacy::SvxFontHeight::Store(*m_aCJKHeight, rStream, legacy::SvxFontHeight::GetVersion(fileVersion));
349 legacy::SvxWeight::Store(*m_aCJKWeight, rStream, legacy::SvxWeight::GetVersion(fileVersion));
350 legacy::SvxPosture::Store(*m_aCJKPosture, rStream, legacy::SvxPosture::GetVersion(fileVersion));
352 legacy::SvxFont::Store(*m_aCTLFont, rStream, legacy::SvxFont::GetVersion(fileVersion));
353 legacy::SvxFontHeight::Store(*m_aCTLHeight, rStream, legacy::SvxFontHeight::GetVersion(fileVersion));
354 legacy::SvxWeight::Store(*m_aCTLWeight, rStream, legacy::SvxWeight::GetVersion(fileVersion));
355 legacy::SvxPosture::Store(*m_aCTLPosture, rStream, legacy::SvxPosture::GetVersion(fileVersion));
357 legacy::SvxTextLine::Store(*m_aUnderline, rStream, legacy::SvxTextLine::GetVersion(fileVersion));
359 // --- from DEV300/overline2 on: overline support
360 legacy::SvxTextLine::Store(*m_aOverline, rStream, legacy::SvxTextLine::GetVersion(fileVersion));
361 legacy::SvxCrossedOut::Store(*m_aCrossedOut, rStream, legacy::SvxCrossedOut::GetVersion(fileVersion));
362 legacy::SfxBool::Store(*m_aContour, rStream, legacy::SfxBool::GetVersion(fileVersion));
363 legacy::SfxBool::Store(*m_aShadowed, rStream, legacy::SfxBool::GetVersion(fileVersion));
364 legacy::SvxColor::Store(*m_aColor, rStream, legacy::SvxColor::GetVersion(fileVersion));
365 legacy::SvxBox::Store(*m_aBox, rStream, legacy::SvxBox::GetVersion(fileVersion));
367 // --- from 680/dr14 on: diagonal frame lines
368 legacy::SvxLine::Store(*m_aTLBR, rStream, legacy::SvxLine::GetVersion(fileVersion));
369 legacy::SvxLine::Store(*m_aBLTR, rStream, legacy::SvxLine::GetVersion(fileVersion));
370 legacy::SvxBrush::Store(*m_aBackground, rStream, legacy::SvxBrush::GetVersion(fileVersion));
371 legacy::SvxAdjust::Store(*m_aAdjust, rStream, legacy::SvxAdjust::GetVersion(fileVersion));
373 return ERRCODE_NONE == rStream.GetError();
376 bool AutoFormatBase::SaveBlockB( SvStream& rStream, sal_uInt16 fileVersion ) const
378 legacy::SvxHorJustify::Store(*m_aHorJustify, rStream, legacy::SvxHorJustify::GetVersion(fileVersion));
379 legacy::SvxVerJustify::Store(*m_aVerJustify, rStream, legacy::SvxVerJustify::GetVersion(fileVersion));
380 SvxOrientationItem aOrientation( Degree100(m_aRotateAngle->GetValue()), m_aStacked->GetValue(), TypedWhichId<SvxOrientationItem>(0) );
381 legacy::SvxOrientation::Store(aOrientation, rStream, legacy::SvxOrientation::GetVersion(fileVersion));
382 legacy::SvxMargin::Store(*m_aMargin, rStream, legacy::SvxMargin::GetVersion(fileVersion));
383 legacy::SfxBool::Store(*m_aLinebreak, rStream, legacy::SfxBool::GetVersion(fileVersion));
385 // Calc Rotation from SO5
386 legacy::CntInt32::Store(*m_aRotateAngle, rStream, legacy::CntInt32::GetVersion(fileVersion));
387 legacy::SvxRotateMode::Store(*m_aRotateMode, rStream, legacy::SvxRotateMode::GetVersion(fileVersion));
389 return ERRCODE_NONE == rStream.GetError();
392 //////////////////////////////////////////////////////////////////////////////
393 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */