1efeef26fSAndrew Rist /**************************************************************
2cdf0e10cSrcweir *
3efeef26fSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4efeef26fSAndrew Rist * or more contributor license agreements. See the NOTICE file
5efeef26fSAndrew Rist * distributed with this work for additional information
6efeef26fSAndrew Rist * regarding copyright ownership. The ASF licenses this file
7efeef26fSAndrew Rist * to you under the Apache License, Version 2.0 (the
8efeef26fSAndrew Rist * "License"); you may not use this file except in compliance
9efeef26fSAndrew Rist * with the License. You may obtain a copy of the License at
10cdf0e10cSrcweir *
11efeef26fSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir *
13efeef26fSAndrew Rist * Unless required by applicable law or agreed to in writing,
14efeef26fSAndrew Rist * software distributed under the License is distributed on an
15efeef26fSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16efeef26fSAndrew Rist * KIND, either express or implied. See the License for the
17efeef26fSAndrew Rist * specific language governing permissions and limitations
18efeef26fSAndrew Rist * under the License.
19cdf0e10cSrcweir *
20efeef26fSAndrew Rist *************************************************************/
21efeef26fSAndrew Rist
22efeef26fSAndrew Rist
23cdf0e10cSrcweir
24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
25cdf0e10cSrcweir #include "precompiled_sw.hxx"
26cdf0e10cSrcweir
27cdf0e10cSrcweir #include <hintids.hxx>
28cdf0e10cSrcweir #include <i18npool/mslangid.hxx>
29cdf0e10cSrcweir #include <unotools/localedatawrapper.hxx>
303f09c2ceSJürgen Schmidt #include <svx/xdef.hxx>
31cdf0e10cSrcweir #include <editeng/paperinf.hxx>
32cdf0e10cSrcweir #include <editeng/wghtitem.hxx>
33cdf0e10cSrcweir #include <editeng/fontitem.hxx>
34cdf0e10cSrcweir #include <editeng/fhgtitem.hxx>
35cdf0e10cSrcweir #include <editeng/tstpitem.hxx>
36cdf0e10cSrcweir #include <editeng/lrspitem.hxx>
37cdf0e10cSrcweir #include <editeng/ulspitem.hxx>
38cdf0e10cSrcweir #include <editeng/adjitem.hxx>
39cdf0e10cSrcweir #include <editeng/postitem.hxx>
40cdf0e10cSrcweir #include <editeng/keepitem.hxx>
41cdf0e10cSrcweir #include <editeng/opaqitem.hxx>
42cdf0e10cSrcweir #include <editeng/boxitem.hxx>
43cdf0e10cSrcweir #include <editeng/cmapitem.hxx>
44cdf0e10cSrcweir #include <editeng/udlnitem.hxx>
45cdf0e10cSrcweir #include <editeng/colritem.hxx>
46cdf0e10cSrcweir #include <editeng/protitem.hxx>
47cdf0e10cSrcweir #include <editeng/escpitem.hxx>
48cdf0e10cSrcweir #include <editeng/langitem.hxx>
49cdf0e10cSrcweir #include <editeng/charrotateitem.hxx>
50cdf0e10cSrcweir #include <editeng/frmdiritem.hxx>
51cdf0e10cSrcweir #include <editeng/emphitem.hxx>
52cdf0e10cSrcweir #include <editeng/scriptspaceitem.hxx>
53cdf0e10cSrcweir #include <viewopt.hxx>
54cdf0e10cSrcweir #include <doc.hxx>
55cdf0e10cSrcweir #include <IDocumentUndoRedo.hxx>
56cdf0e10cSrcweir #include <fmtanchr.hxx>
57cdf0e10cSrcweir #include <fmtornt.hxx>
58cdf0e10cSrcweir #include <fmtsrnd.hxx>
59cdf0e10cSrcweir #include <fmtfsize.hxx>
60cdf0e10cSrcweir #include <poolfmt.hxx>
61cdf0e10cSrcweir #include <paratr.hxx>
62cdf0e10cSrcweir #include <pagedesc.hxx>
63cdf0e10cSrcweir #include <frmtool.hxx>
64cdf0e10cSrcweir #include <charfmt.hxx>
65cdf0e10cSrcweir #include <docary.hxx>
66cdf0e10cSrcweir #include <fmtcol.hxx>
67cdf0e10cSrcweir #include <ndtxt.hxx>
68cdf0e10cSrcweir #include <fmtline.hxx>
69cdf0e10cSrcweir #include <poolfmt.hrc>
70cdf0e10cSrcweir #include <GetMetricVal.hxx>
71cdf0e10cSrcweir #include <numrule.hxx>
72cdf0e10cSrcweir
7356b35d86SArmin Le Grand //UUUU
7456b35d86SArmin Le Grand #include <svx/xfillit0.hxx>
75cdf0e10cSrcweir
76cdf0e10cSrcweir using namespace ::com::sun::star;
77cdf0e10cSrcweir
78cdf0e10cSrcweir const sal_uInt16 PT_3 = 3 * 20; // 3 pt
79cdf0e10cSrcweir const sal_uInt16 PT_6 = 6 * 20; // 6 pt
80cdf0e10cSrcweir const sal_uInt16 PT_7 = 7 * 20; // 6 pt
81cdf0e10cSrcweir const sal_uInt16 PT_8 = 8 * 20; // 8 pt
82cdf0e10cSrcweir const sal_uInt16 PT_9 = 9 * 20; // 9 pt
83cdf0e10cSrcweir const sal_uInt16 PT_10 = 10 * 20; // 10 pt
84cdf0e10cSrcweir const sal_uInt16 PT_11 = 11 * 20; // 11 pt
85cdf0e10cSrcweir const sal_uInt16 PT_12 = 12 * 20; // 12 pt
86cdf0e10cSrcweir const sal_uInt16 PT_14 = 14 * 20; // 14 pt
87cdf0e10cSrcweir const sal_uInt16 PT_16 = 16 * 20; // 16 pt
88cdf0e10cSrcweir const sal_uInt16 PT_18 = 18 * 20; // 18 pt
89cdf0e10cSrcweir const sal_uInt16 PT_22 = 22 * 20; // 22 pt
90cdf0e10cSrcweir const sal_uInt16 PT_24 = 24 * 20; // 22 pt
91cdf0e10cSrcweir
92cdf0e10cSrcweir
93cdf0e10cSrcweir //const sal_uInt16 HTML_PARSPACE = ((CM_05 * 7) / 10);
94cdf0e10cSrcweir #define HTML_PARSPACE GetMetricVal( CM_05 )
95cdf0e10cSrcweir
96cdf0e10cSrcweir static const sal_Char __FAR_DATA sKomma[] = ", ";
97cdf0e10cSrcweir
98cdf0e10cSrcweir static const sal_uInt16 aHeadlineSizes[ 2 * MAXLEVEL ] = {
99cdf0e10cSrcweir // PT_16, PT_14, PT_14, PT_12, PT_12, // normal
100cdf0e10cSrcweir //JP 10.12.96: jetzt soll alles prozentual sein:
101cdf0e10cSrcweir 115, 100, 100, 85, 85,
102cdf0e10cSrcweir 75, 75, 75, 75, 75, // normal
103cdf0e10cSrcweir // PT_22, PT_16, PT_12, PT_11, PT_9 // HTML-Mode
104cdf0e10cSrcweir PT_24, PT_18, PT_14, PT_12, PT_10,
105cdf0e10cSrcweir PT_7, PT_7, PT_7, PT_7, PT_7 // HTML-Mode
106cdf0e10cSrcweir };
107cdf0e10cSrcweir
lcl_GetRightMargin(SwDoc & rDoc)108cdf0e10cSrcweir long lcl_GetRightMargin( SwDoc& rDoc )
109cdf0e10cSrcweir {
110cdf0e10cSrcweir // sorge dafuer, dass die Druckereinstellungen in die Standard-
111cdf0e10cSrcweir // Seitenvorlage uebernommen wurden.
112cdf0e10cSrcweir const SwFrmFmt& rPgDscFmt =
113cdf0e10cSrcweir const_cast<const SwDoc *>(&rDoc)->GetPageDesc( 0 ).GetMaster();
114cdf0e10cSrcweir const SvxLRSpaceItem& rLR = rPgDscFmt.GetLRSpace();
115cdf0e10cSrcweir const long nLeft = rLR.GetLeft();
116cdf0e10cSrcweir const long nRight = rLR.GetRight();
117cdf0e10cSrcweir const long nWidth = rPgDscFmt.GetFrmSize().GetWidth();
118cdf0e10cSrcweir return nWidth - nLeft - nRight;
119cdf0e10cSrcweir }
120cdf0e10cSrcweir
SetAllScriptItem(SfxItemSet & rSet,const SfxPoolItem & rItem)121cdf0e10cSrcweir void SetAllScriptItem( SfxItemSet& rSet, const SfxPoolItem& rItem )
122cdf0e10cSrcweir {
123cdf0e10cSrcweir rSet.Put( rItem );
124cdf0e10cSrcweir sal_uInt16 nWhCJK = 0, nWhCTL = 0;
125cdf0e10cSrcweir switch( rItem.Which() )
126cdf0e10cSrcweir {
127cdf0e10cSrcweir case RES_CHRATR_FONTSIZE:
128cdf0e10cSrcweir nWhCJK = RES_CHRATR_CJK_FONTSIZE, nWhCTL = RES_CHRATR_CTL_FONTSIZE;
129cdf0e10cSrcweir break;
130cdf0e10cSrcweir case RES_CHRATR_FONT:
131cdf0e10cSrcweir nWhCJK = RES_CHRATR_CJK_FONT, nWhCTL = RES_CHRATR_CTL_FONT;
132cdf0e10cSrcweir break;
133cdf0e10cSrcweir case RES_CHRATR_LANGUAGE:
134cdf0e10cSrcweir nWhCJK = RES_CHRATR_CJK_LANGUAGE, nWhCTL = RES_CHRATR_CTL_LANGUAGE;
135cdf0e10cSrcweir break;
136cdf0e10cSrcweir case RES_CHRATR_POSTURE:
137cdf0e10cSrcweir nWhCJK = RES_CHRATR_CJK_POSTURE, nWhCTL = RES_CHRATR_CTL_POSTURE;
138cdf0e10cSrcweir break;
139cdf0e10cSrcweir case RES_CHRATR_WEIGHT:
140cdf0e10cSrcweir nWhCJK = RES_CHRATR_CJK_WEIGHT, nWhCTL = RES_CHRATR_CTL_WEIGHT;
141cdf0e10cSrcweir break;
142cdf0e10cSrcweir }
143cdf0e10cSrcweir
144cdf0e10cSrcweir if( nWhCJK )
145cdf0e10cSrcweir rSet.Put( rItem, nWhCJK );
146cdf0e10cSrcweir if( nWhCTL )
147cdf0e10cSrcweir rSet.Put( rItem, nWhCTL );
148cdf0e10cSrcweir }
149cdf0e10cSrcweir
lcl_SetDfltFont(sal_uInt16 nFntType,SfxItemSet & rSet)150cdf0e10cSrcweir void lcl_SetDfltFont( sal_uInt16 nFntType, SfxItemSet& rSet )
151cdf0e10cSrcweir {
152cdf0e10cSrcweir static struct {
153cdf0e10cSrcweir sal_uInt16 nResLngId;
154cdf0e10cSrcweir sal_uInt16 nResFntId;
155cdf0e10cSrcweir } aArr[ 3 ] = {
156cdf0e10cSrcweir { RES_CHRATR_LANGUAGE, RES_CHRATR_FONT },
157cdf0e10cSrcweir { RES_CHRATR_CJK_LANGUAGE, RES_CHRATR_CJK_FONT },
158cdf0e10cSrcweir { RES_CHRATR_CTL_LANGUAGE, RES_CHRATR_CTL_FONT }
159cdf0e10cSrcweir };
160cdf0e10cSrcweir for( sal_uInt16 n = 0; n < 3; ++n )
161cdf0e10cSrcweir {
162cdf0e10cSrcweir sal_uInt16 nLng = ((SvxLanguageItem&)rSet.GetPool()->GetDefaultItem(
163cdf0e10cSrcweir aArr[n].nResLngId )).GetLanguage();
164cdf0e10cSrcweir Font aFnt( OutputDevice::GetDefaultFont( nFntType,
165cdf0e10cSrcweir nLng, DEFAULTFONT_FLAGS_ONLYONE ) );
166cdf0e10cSrcweir
167cdf0e10cSrcweir rSet.Put( SvxFontItem( aFnt.GetFamily(), aFnt.GetName(),
168cdf0e10cSrcweir aEmptyStr, aFnt.GetPitch(),
169cdf0e10cSrcweir aFnt.GetCharSet(), aArr[n].nResFntId ));
170cdf0e10cSrcweir }
171cdf0e10cSrcweir }
172cdf0e10cSrcweir
lcl_SetDfltFont(sal_uInt16 nLatinFntType,sal_uInt16 nCJKFntType,sal_uInt16 nCTLFntType,SfxItemSet & rSet)173cdf0e10cSrcweir void lcl_SetDfltFont( sal_uInt16 nLatinFntType, sal_uInt16 nCJKFntType,
174cdf0e10cSrcweir sal_uInt16 nCTLFntType, SfxItemSet& rSet )
175cdf0e10cSrcweir {
176cdf0e10cSrcweir static struct {
177cdf0e10cSrcweir sal_uInt16 nResLngId;
178cdf0e10cSrcweir sal_uInt16 nResFntId;
179cdf0e10cSrcweir sal_uInt16 nFntType;
180cdf0e10cSrcweir } aArr[ 3 ] = {
181cdf0e10cSrcweir { RES_CHRATR_LANGUAGE, RES_CHRATR_FONT, 0 },
182cdf0e10cSrcweir { RES_CHRATR_CJK_LANGUAGE, RES_CHRATR_CJK_FONT, 0 },
183cdf0e10cSrcweir { RES_CHRATR_CTL_LANGUAGE, RES_CHRATR_CTL_FONT, 0 }
184cdf0e10cSrcweir };
185cdf0e10cSrcweir aArr[0].nFntType = nLatinFntType;
186cdf0e10cSrcweir aArr[1].nFntType = nCJKFntType;
187cdf0e10cSrcweir aArr[2].nFntType = nCTLFntType;
188cdf0e10cSrcweir
189cdf0e10cSrcweir for( sal_uInt16 n = 0; n < 3; ++n )
190cdf0e10cSrcweir {
191cdf0e10cSrcweir sal_uInt16 nLng = ((SvxLanguageItem&)rSet.GetPool()->GetDefaultItem(
192cdf0e10cSrcweir aArr[n].nResLngId )).GetLanguage();
193cdf0e10cSrcweir Font aFnt( OutputDevice::GetDefaultFont( aArr[n].nFntType,
194cdf0e10cSrcweir nLng, DEFAULTFONT_FLAGS_ONLYONE ) );
195cdf0e10cSrcweir
196cdf0e10cSrcweir rSet.Put( SvxFontItem( aFnt.GetFamily(), aFnt.GetName(),
197cdf0e10cSrcweir aEmptyStr, aFnt.GetPitch(),
198cdf0e10cSrcweir aFnt.GetCharSet(), aArr[n].nResFntId ));
199cdf0e10cSrcweir }
200cdf0e10cSrcweir }
201cdf0e10cSrcweir
lcl_SetHeadline(SwDoc * pDoc,SwTxtFmtColl * pColl,SfxItemSet & rSet,sal_uInt16 nOutLvlBits,sal_uInt8 nLevel,sal_Bool bItalic)202cdf0e10cSrcweir void lcl_SetHeadline( SwDoc* pDoc, SwTxtFmtColl* pColl,
203cdf0e10cSrcweir SfxItemSet& rSet,
204cdf0e10cSrcweir sal_uInt16 nOutLvlBits, sal_uInt8 nLevel, sal_Bool bItalic )
205cdf0e10cSrcweir {
206cdf0e10cSrcweir SetAllScriptItem( rSet, SvxWeightItem( WEIGHT_BOLD, RES_CHRATR_WEIGHT ) );
207cdf0e10cSrcweir SvxFontHeightItem aHItem(240, 100, RES_CHRATR_FONTSIZE);
208cdf0e10cSrcweir const bool bHTMLMode = pDoc->get(IDocumentSettingAccess::HTML_MODE);
209cdf0e10cSrcweir if( bHTMLMode )
210cdf0e10cSrcweir aHItem.SetHeight( aHeadlineSizes[ MAXLEVEL + nLevel ] );
211cdf0e10cSrcweir else
212cdf0e10cSrcweir aHItem.SetHeight( PT_14, aHeadlineSizes[ nLevel ] );
213cdf0e10cSrcweir SetAllScriptItem( rSet, aHItem );
214cdf0e10cSrcweir
215cdf0e10cSrcweir if( bItalic && !bHTMLMode )
216cdf0e10cSrcweir SetAllScriptItem( rSet, SvxPostureItem( ITALIC_NORMAL, RES_CHRATR_POSTURE ) );
217cdf0e10cSrcweir
218cdf0e10cSrcweir if( bHTMLMode )
219cdf0e10cSrcweir {
220cdf0e10cSrcweir ::lcl_SetDfltFont( DEFAULTFONT_LATIN_TEXT, DEFAULTFONT_CJK_TEXT,
221cdf0e10cSrcweir DEFAULTFONT_CTL_TEXT, rSet );
222cdf0e10cSrcweir }
223cdf0e10cSrcweir
224cdf0e10cSrcweir if( pColl )
225cdf0e10cSrcweir {
226cdf0e10cSrcweir if( !( nOutLvlBits & ( 1 << nLevel )) )
227cdf0e10cSrcweir {
228cdf0e10cSrcweir //pColl->SetOutlineLevel( nLevel ); //#outline level zhaojianwei
229cdf0e10cSrcweir pColl->AssignToListLevelOfOutlineStyle(nLevel);//<-end,zhaojianwei
230cdf0e10cSrcweir if( !bHTMLMode )
231cdf0e10cSrcweir {
232cdf0e10cSrcweir SwNumRule * pOutlineRule = pDoc->GetOutlineNumRule();
233cdf0e10cSrcweir const SwNumFmt& rNFmt = pOutlineRule->Get( nLevel );
234cdf0e10cSrcweir // --> OD 2008-02-01 #newlistlevelattrs#
235cdf0e10cSrcweir if ( rNFmt.GetPositionAndSpaceMode() ==
236cdf0e10cSrcweir SvxNumberFormat::LABEL_WIDTH_AND_POSITION &&
237cdf0e10cSrcweir ( rNFmt.GetAbsLSpace() || rNFmt.GetFirstLineOffset() ) )
238cdf0e10cSrcweir // <--
239cdf0e10cSrcweir {
240cdf0e10cSrcweir SvxLRSpaceItem aLR( (SvxLRSpaceItem&)pColl->GetFmtAttr( RES_LR_SPACE ) );
241cdf0e10cSrcweir aLR.SetTxtFirstLineOfstValue( rNFmt.GetFirstLineOffset() );
242cdf0e10cSrcweir aLR.SetTxtLeft( rNFmt.GetAbsLSpace() );
243cdf0e10cSrcweir pColl->SetFmtAttr( aLR );
244cdf0e10cSrcweir }
245cdf0e10cSrcweir
246cdf0e10cSrcweir // --> OD 2006-11-20 #i71764#
247cdf0e10cSrcweir // Check on document setting OUTLINE_LEVEL_YIELDS_OUTLINE_RULE no longer needed.
248cdf0e10cSrcweir // All paragraph styles, which are assigned to a level of the
249cdf0e10cSrcweir // outline style has to have the outline style set as its list style.
250cdf0e10cSrcweir {
251cdf0e10cSrcweir SwNumRuleItem aItem(pOutlineRule->GetName());
252cdf0e10cSrcweir
253cdf0e10cSrcweir pColl->SetFmtAttr(aItem);
254cdf0e10cSrcweir }
255cdf0e10cSrcweir // <--
256cdf0e10cSrcweir }
257cdf0e10cSrcweir }
258cdf0e10cSrcweir pColl->SetNextTxtFmtColl( *pDoc->GetTxtCollFromPool(
259cdf0e10cSrcweir RES_POOLCOLL_TEXT ));
260cdf0e10cSrcweir }
261cdf0e10cSrcweir }
262cdf0e10cSrcweir
263cdf0e10cSrcweir
264cdf0e10cSrcweir
lcl_SetRegister(SwDoc * pDoc,SfxItemSet & rSet,sal_uInt16 nFact,sal_Bool bHeader,sal_Bool bTab)265cdf0e10cSrcweir void lcl_SetRegister( SwDoc* pDoc, SfxItemSet& rSet, sal_uInt16 nFact,
266cdf0e10cSrcweir sal_Bool bHeader, sal_Bool bTab )
267cdf0e10cSrcweir {
268cdf0e10cSrcweir SvxLRSpaceItem aLR( RES_LR_SPACE );
269cdf0e10cSrcweir sal_uInt16 nLeft = nFact ? GetMetricVal( CM_05 ) * nFact : 0;
270cdf0e10cSrcweir aLR.SetTxtLeft( nLeft );
271cdf0e10cSrcweir
272cdf0e10cSrcweir rSet.Put( aLR );
273cdf0e10cSrcweir if( bHeader )
274cdf0e10cSrcweir {
275cdf0e10cSrcweir SetAllScriptItem( rSet, SvxWeightItem( WEIGHT_BOLD, RES_CHRATR_WEIGHT ) );
276cdf0e10cSrcweir SetAllScriptItem( rSet, SvxFontHeightItem( PT_16, 100, RES_CHRATR_FONTSIZE ) );
277cdf0e10cSrcweir }
278cdf0e10cSrcweir if( bTab )
279cdf0e10cSrcweir {
280cdf0e10cSrcweir long nRightMargin = lcl_GetRightMargin( *pDoc );
281cdf0e10cSrcweir SvxTabStopItem aTStops( 0, 0, SVX_TAB_ADJUST_DEFAULT, RES_PARATR_TABSTOP );
282cdf0e10cSrcweir aTStops.Insert( SvxTabStop( nRightMargin - nLeft,
283cdf0e10cSrcweir SVX_TAB_ADJUST_RIGHT,
284cdf0e10cSrcweir cDfltDecimalChar, '.' ));
285cdf0e10cSrcweir rSet.Put( aTStops );
286cdf0e10cSrcweir }
287cdf0e10cSrcweir }
288cdf0e10cSrcweir
289cdf0e10cSrcweir
290cdf0e10cSrcweir
lcl_SetNumBul(SwDoc * pDoc,SwTxtFmtColl * pColl,SfxItemSet & rSet,sal_uInt16 nNxt,SwTwips nEZ,SwTwips nLeft,SwTwips nUpper,SwTwips nLower)291cdf0e10cSrcweir void lcl_SetNumBul( SwDoc* pDoc, SwTxtFmtColl* pColl,
292cdf0e10cSrcweir SfxItemSet& rSet,
293cdf0e10cSrcweir sal_uInt16 nNxt, SwTwips nEZ, SwTwips nLeft,
294cdf0e10cSrcweir SwTwips nUpper, SwTwips nLower )
295cdf0e10cSrcweir {
296cdf0e10cSrcweir
297cdf0e10cSrcweir SvxLRSpaceItem aLR( RES_LR_SPACE ); SvxULSpaceItem aUL( RES_UL_SPACE );
298cdf0e10cSrcweir aLR.SetTxtFirstLineOfst( sal_uInt16(nEZ) ); aLR.SetTxtLeft( sal_uInt16(nLeft) );
299cdf0e10cSrcweir aUL.SetUpper( sal_uInt16(nUpper) ); aUL.SetLower( sal_uInt16(nLower) );
300cdf0e10cSrcweir rSet.Put( aLR );
301cdf0e10cSrcweir rSet.Put( aUL );
302cdf0e10cSrcweir
303cdf0e10cSrcweir pColl->SetNextTxtFmtColl( *pDoc->GetTxtCollFromPool( nNxt ));
304cdf0e10cSrcweir }
305cdf0e10cSrcweir
306cdf0e10cSrcweir
307cdf0e10cSrcweir
308cdf0e10cSrcweir // Gebe die "Auto-Collection" mit der Id zurueck. Existiert
309cdf0e10cSrcweir // sie noch nicht, dann erzeuge sie
310cdf0e10cSrcweir // Ist der String-Pointer definiert, dann erfrage nur die
311cdf0e10cSrcweir // Beschreibung der Attribute, !! es legt keine Vorlage an !!
312cdf0e10cSrcweir
GetDefaultFrameDirection(sal_uLong nLanguage)313cdf0e10cSrcweir SvxFrameDirection GetDefaultFrameDirection(sal_uLong nLanguage)
314cdf0e10cSrcweir {
315cdf0e10cSrcweir SvxFrameDirection eResult = (MsLangId::isRightToLeft( static_cast<LanguageType>(nLanguage)) ?
316cdf0e10cSrcweir FRMDIR_HORI_RIGHT_TOP : FRMDIR_HORI_LEFT_TOP);
317cdf0e10cSrcweir return eResult;
318cdf0e10cSrcweir }
319cdf0e10cSrcweir
GetTxtCollFromPool(sal_uInt16 nId,bool bRegardLanguage)320cdf0e10cSrcweir SwTxtFmtColl* SwDoc::GetTxtCollFromPool( sal_uInt16 nId, bool bRegardLanguage )
321cdf0e10cSrcweir {
322cdf0e10cSrcweir ASSERT(
323cdf0e10cSrcweir (RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END) ||
324cdf0e10cSrcweir (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END) ||
325cdf0e10cSrcweir (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END) ||
326cdf0e10cSrcweir (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END) ||
327cdf0e10cSrcweir (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END) ||
328cdf0e10cSrcweir (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END),
329cdf0e10cSrcweir "Falsche AutoFormat-Id" );
330cdf0e10cSrcweir
331cdf0e10cSrcweir SwTxtFmtColl* pNewColl;
332cdf0e10cSrcweir sal_uInt16 nOutLvlBits = 0;
333cdf0e10cSrcweir for( sal_uInt16 n = 0; n < pTxtFmtCollTbl->Count(); ++n )
334cdf0e10cSrcweir {
335cdf0e10cSrcweir if( nId == ( pNewColl = (*pTxtFmtCollTbl)[ n ] )->GetPoolFmtId() )
336cdf0e10cSrcweir {
337cdf0e10cSrcweir return pNewColl;
338cdf0e10cSrcweir }
339cdf0e10cSrcweir //if( pNewColl->GetOutlineLevel() < MAXLEVEL ) //#outline level,zhaojianwei
340cdf0e10cSrcweir //nOutLvlBits |= ( 1 << pNewColl->GetOutlineLevel() );
341cdf0e10cSrcweir if( pNewColl->IsAssignedToListLevelOfOutlineStyle())
342cdf0e10cSrcweir nOutLvlBits |= ( 1 << pNewColl->GetAssignedOutlineStyleLevel() );//<-end,zhaojianwei
343cdf0e10cSrcweir }
344cdf0e10cSrcweir
345cdf0e10cSrcweir // bis hierher nicht gefunden -> neu anlegen
346cdf0e10cSrcweir sal_uInt16 nResId = 0;
347cdf0e10cSrcweir if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
348cdf0e10cSrcweir nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
349cdf0e10cSrcweir else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
350cdf0e10cSrcweir nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
351cdf0e10cSrcweir else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
352cdf0e10cSrcweir nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
353cdf0e10cSrcweir else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
354cdf0e10cSrcweir nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
355cdf0e10cSrcweir else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
356cdf0e10cSrcweir nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
357cdf0e10cSrcweir else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
358cdf0e10cSrcweir nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
359cdf0e10cSrcweir
360cdf0e10cSrcweir ASSERT( nResId, "Ungueltige Pool-ID" );
361cdf0e10cSrcweir if( !nResId )
362cdf0e10cSrcweir return GetTxtCollFromPool( RES_POOLCOLL_STANDARD );
363cdf0e10cSrcweir
364cdf0e10cSrcweir ResId aResId( nResId + nId, *pSwResMgr );
365cdf0e10cSrcweir String aNm( aResId );
366cdf0e10cSrcweir
367cdf0e10cSrcweir // ein Set fuer alle zusetzenden Attribute
368cdf0e10cSrcweir SwAttrSet aSet( GetAttrPool(), aTxtFmtCollSetRange );
369cdf0e10cSrcweir sal_uInt16 nParent = GetPoolParent( nId );
370cdf0e10cSrcweir
371cdf0e10cSrcweir {
372cdf0e10cSrcweir
373cdf0e10cSrcweir //FEATURE::CONDCOLL
374cdf0e10cSrcweir if(::IsConditionalByPoolId( nId ))
375cdf0e10cSrcweir pNewColl = new SwConditionTxtFmtColl( GetAttrPool(), aNm, !nParent
376cdf0e10cSrcweir ? pDfltTxtFmtColl
377cdf0e10cSrcweir : GetTxtCollFromPool( nParent ));
378cdf0e10cSrcweir else
379cdf0e10cSrcweir //FEATURE::CONDCOLL
380cdf0e10cSrcweir pNewColl = new SwTxtFmtColl( GetAttrPool(), aNm, !nParent
381cdf0e10cSrcweir ? pDfltTxtFmtColl
382cdf0e10cSrcweir : GetTxtCollFromPool( nParent ));
383cdf0e10cSrcweir pNewColl->SetPoolFmtId( nId );
384cdf0e10cSrcweir pTxtFmtCollTbl->Insert( pNewColl, pTxtFmtCollTbl->Count() );
385cdf0e10cSrcweir }
386cdf0e10cSrcweir
387cdf0e10cSrcweir switch( nId )
388cdf0e10cSrcweir {
389cdf0e10cSrcweir // allgemeine Inhaltsformen
390cdf0e10cSrcweir case RES_POOLCOLL_STANDARD:
391cdf0e10cSrcweir /* #111214# koreans do not like SvxScriptItem(sal_True) */
392cdf0e10cSrcweir if (bRegardLanguage)
393cdf0e10cSrcweir {
394cdf0e10cSrcweir sal_uLong nAppLanguage = GetAppLanguage();
395cdf0e10cSrcweir if (GetDefaultFrameDirection(nAppLanguage) ==
396cdf0e10cSrcweir FRMDIR_HORI_RIGHT_TOP)
397cdf0e10cSrcweir {
398cdf0e10cSrcweir SvxAdjustItem aAdjust(SVX_ADJUST_RIGHT, RES_PARATR_ADJUST );
399cdf0e10cSrcweir aSet.Put(aAdjust);
400cdf0e10cSrcweir }
401cdf0e10cSrcweir if (nAppLanguage == LANGUAGE_KOREAN)
402cdf0e10cSrcweir {
403cdf0e10cSrcweir SvxScriptSpaceItem aScriptSpace(sal_False, RES_PARATR_SCRIPTSPACE);
404cdf0e10cSrcweir aSet.Put(aScriptSpace);
405cdf0e10cSrcweir }
406cdf0e10cSrcweir }
40756b35d86SArmin Le Grand
408cdf0e10cSrcweir break;
409cdf0e10cSrcweir
410cdf0e10cSrcweir case RES_POOLCOLL_TEXT: // Textkoerper
411cdf0e10cSrcweir {
412cdf0e10cSrcweir SvxULSpaceItem aUL( 0, PT_6, RES_UL_SPACE );
413cdf0e10cSrcweir if( get(IDocumentSettingAccess::HTML_MODE) ) aUL.SetLower( HTML_PARSPACE );
414cdf0e10cSrcweir aSet.Put( aUL );
415cdf0e10cSrcweir }
416cdf0e10cSrcweir break;
417cdf0e10cSrcweir case RES_POOLCOLL_TEXT_IDENT: // Textkoerper Einzug
418cdf0e10cSrcweir {
419cdf0e10cSrcweir SvxLRSpaceItem aLR( RES_LR_SPACE );
420cdf0e10cSrcweir aLR.SetTxtFirstLineOfst( GetMetricVal( CM_05 ));
421cdf0e10cSrcweir aSet.Put( aLR );
422cdf0e10cSrcweir }
423cdf0e10cSrcweir break;
424cdf0e10cSrcweir case RES_POOLCOLL_TEXT_NEGIDENT: // Textkoerper neg. Einzug
425cdf0e10cSrcweir {
426cdf0e10cSrcweir SvxLRSpaceItem aLR( RES_LR_SPACE );
427cdf0e10cSrcweir aLR.SetTxtFirstLineOfst( -(short)GetMetricVal( CM_05 ));
428cdf0e10cSrcweir aLR.SetTxtLeft( GetMetricVal( CM_1 ));
429cdf0e10cSrcweir SvxTabStopItem aTStops(RES_PARATR_TABSTOP); aTStops.Insert( SvxTabStop( 0 ));
430cdf0e10cSrcweir
431cdf0e10cSrcweir aSet.Put( aLR );
432cdf0e10cSrcweir aSet.Put( aTStops );
433cdf0e10cSrcweir }
434cdf0e10cSrcweir break;
435cdf0e10cSrcweir case RES_POOLCOLL_TEXT_MOVE: // Textkoerper Einrueckung
436cdf0e10cSrcweir {
437cdf0e10cSrcweir SvxLRSpaceItem aLR( RES_LR_SPACE );
438cdf0e10cSrcweir aLR.SetTxtLeft( GetMetricVal( CM_05 ));
439cdf0e10cSrcweir aSet.Put( aLR );
440cdf0e10cSrcweir }
441cdf0e10cSrcweir break;
442cdf0e10cSrcweir
443cdf0e10cSrcweir case RES_POOLCOLL_CONFRONTATION: // Textkoerper Gegenueberstellung
444cdf0e10cSrcweir {
445cdf0e10cSrcweir SvxLRSpaceItem aLR( RES_LR_SPACE );
446cdf0e10cSrcweir aLR.SetTxtFirstLineOfst( - short( GetMetricVal( CM_1 ) * 4 +
447cdf0e10cSrcweir GetMetricVal( CM_05)) );
448cdf0e10cSrcweir aLR.SetTxtLeft( GetMetricVal( CM_1 ) * 5 );
449cdf0e10cSrcweir SvxTabStopItem aTStops( RES_PARATR_TABSTOP ); aTStops.Insert( SvxTabStop( 0 ));
450cdf0e10cSrcweir
451cdf0e10cSrcweir aSet.Put( aLR );
452cdf0e10cSrcweir aSet.Put( aTStops );
453cdf0e10cSrcweir }
454cdf0e10cSrcweir break;
455cdf0e10cSrcweir case RES_POOLCOLL_MARGINAL: // Textkoerper maginalie
456cdf0e10cSrcweir {
457cdf0e10cSrcweir SvxLRSpaceItem aLR( RES_LR_SPACE );
458cdf0e10cSrcweir aLR.SetTxtLeft( GetMetricVal( CM_1 ) * 4 );
459cdf0e10cSrcweir aSet.Put( aLR );
460cdf0e10cSrcweir }
461cdf0e10cSrcweir break;
462cdf0e10cSrcweir
463cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE_BASE: // Basis Ueberschrift
464cdf0e10cSrcweir {
465cdf0e10cSrcweir static const sal_uInt16 aFntInit[] = {
466cdf0e10cSrcweir DEFAULTFONT_LATIN_HEADING, RES_CHRATR_FONT,
467cdf0e10cSrcweir RES_CHRATR_LANGUAGE, LANGUAGE_ENGLISH_US,
468cdf0e10cSrcweir DEFAULTFONT_CJK_HEADING, RES_CHRATR_CJK_FONT,
469cdf0e10cSrcweir RES_CHRATR_CJK_LANGUAGE, LANGUAGE_ENGLISH_US,
470cdf0e10cSrcweir DEFAULTFONT_CTL_HEADING, RES_CHRATR_CTL_FONT,
471cdf0e10cSrcweir RES_CHRATR_CTL_LANGUAGE, LANGUAGE_ARABIC_SAUDI_ARABIA,
472cdf0e10cSrcweir 0
473cdf0e10cSrcweir };
474cdf0e10cSrcweir
475cdf0e10cSrcweir for( const sal_uInt16* pArr = aFntInit; *pArr; pArr += 4 )
476cdf0e10cSrcweir {
477cdf0e10cSrcweir sal_uInt16 nLng = ((SvxLanguageItem&)GetDefault( *(pArr+2) )).GetLanguage();
478cdf0e10cSrcweir if( LANGUAGE_DONTKNOW == nLng )
479cdf0e10cSrcweir nLng = *(pArr+3);
480cdf0e10cSrcweir
481cdf0e10cSrcweir Font aFnt( OutputDevice::GetDefaultFont( *pArr,
482cdf0e10cSrcweir nLng, DEFAULTFONT_FLAGS_ONLYONE ) );
483cdf0e10cSrcweir
484cdf0e10cSrcweir aSet.Put( SvxFontItem( aFnt.GetFamily(), aFnt.GetName(),
485cdf0e10cSrcweir aEmptyStr, aFnt.GetPitch(),
486cdf0e10cSrcweir aFnt.GetCharSet(), *(pArr+1) ));
487cdf0e10cSrcweir }
488cdf0e10cSrcweir
489cdf0e10cSrcweir SvxFontHeightItem aFntSize( PT_14, 100, RES_CHRATR_FONTSIZE );
490cdf0e10cSrcweir SvxULSpaceItem aUL( PT_12, PT_6, RES_UL_SPACE );
491cdf0e10cSrcweir if( get(IDocumentSettingAccess::HTML_MODE) )
492cdf0e10cSrcweir aUL.SetLower( HTML_PARSPACE );
493cdf0e10cSrcweir aSet.Put( SvxFmtKeepItem( sal_True, RES_KEEP ));
494cdf0e10cSrcweir
495cdf0e10cSrcweir pNewColl->SetNextTxtFmtColl( *GetTxtCollFromPool( RES_POOLCOLL_TEXT ));
496cdf0e10cSrcweir
497cdf0e10cSrcweir aSet.Put( aUL );
498cdf0e10cSrcweir SetAllScriptItem( aSet, aFntSize );
499cdf0e10cSrcweir }
500cdf0e10cSrcweir break;
501cdf0e10cSrcweir
502cdf0e10cSrcweir case RES_POOLCOLL_NUMBUL_BASE: // Basis Numerierung/Aufzaehlung
503cdf0e10cSrcweir break;
504cdf0e10cSrcweir
505cdf0e10cSrcweir case RES_POOLCOLL_GREETING: // Grussformel
506cdf0e10cSrcweir case RES_POOLCOLL_REGISTER_BASE: // Basis Verzeichnisse
507cdf0e10cSrcweir case RES_POOLCOLL_SIGNATURE: // Unterschrift
508cdf0e10cSrcweir case RES_POOLCOLL_TABLE: // Tabelle-Inhalt
509cdf0e10cSrcweir {
510cdf0e10cSrcweir SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
511cdf0e10cSrcweir aSet.Put( aLN );
512cdf0e10cSrcweir }
513cdf0e10cSrcweir break;
514cdf0e10cSrcweir
515cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE1: // Ueberschrift 1
516cdf0e10cSrcweir lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 0, sal_False );
517cdf0e10cSrcweir break;
518cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE2: // Ueberschrift 2
519cdf0e10cSrcweir lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 1, sal_True );
520cdf0e10cSrcweir break;
521cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE3: // Ueberschrift 3
522cdf0e10cSrcweir lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 2, sal_False );
523cdf0e10cSrcweir break;
524cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE4: // Ueberschrift 4
525cdf0e10cSrcweir lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 3, sal_True );
526cdf0e10cSrcweir break;
527cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE5: // Ueberschrift 5
528cdf0e10cSrcweir lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 4, sal_False );
529cdf0e10cSrcweir break;
530cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE6: // Ueberschrift 6
531cdf0e10cSrcweir lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 5, sal_False );
532cdf0e10cSrcweir break;
533cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE7: // Ueberschrift 7
534cdf0e10cSrcweir lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 6, sal_False );
535cdf0e10cSrcweir break;
536cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE8: // Ueberschrift 8
537cdf0e10cSrcweir lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 7, sal_False );
538cdf0e10cSrcweir break;
539cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE9: // Ueberschrift 9
540cdf0e10cSrcweir lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 8, sal_False );
541cdf0e10cSrcweir break;
542cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE10: // Ueberschrift 10
543cdf0e10cSrcweir lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 9, sal_False );
544cdf0e10cSrcweir break;
545cdf0e10cSrcweir
546cdf0e10cSrcweir
547cdf0e10cSrcweir // Sonderbereiche:
548cdf0e10cSrcweir // Kopfzeilen
549cdf0e10cSrcweir case RES_POOLCOLL_HEADER:
550cdf0e10cSrcweir case RES_POOLCOLL_HEADERL:
551cdf0e10cSrcweir case RES_POOLCOLL_HEADERR:
552cdf0e10cSrcweir // Fusszeilen
553cdf0e10cSrcweir case RES_POOLCOLL_FOOTER:
554cdf0e10cSrcweir case RES_POOLCOLL_FOOTERL:
555cdf0e10cSrcweir case RES_POOLCOLL_FOOTERR:
556cdf0e10cSrcweir {
557cdf0e10cSrcweir SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
558cdf0e10cSrcweir aSet.Put( aLN );
559cdf0e10cSrcweir
560cdf0e10cSrcweir long nRightMargin = lcl_GetRightMargin( *this );
561cdf0e10cSrcweir
562cdf0e10cSrcweir SvxTabStopItem aTStops( 0, 0, SVX_TAB_ADJUST_DEFAULT, RES_PARATR_TABSTOP );
563cdf0e10cSrcweir aTStops.Insert( SvxTabStop( nRightMargin / 2, SVX_TAB_ADJUST_CENTER ) );
564cdf0e10cSrcweir aTStops.Insert( SvxTabStop( nRightMargin, SVX_TAB_ADJUST_RIGHT ) );
565cdf0e10cSrcweir
566cdf0e10cSrcweir aSet.Put( aTStops );
567cdf0e10cSrcweir }
568cdf0e10cSrcweir break;
569cdf0e10cSrcweir
570cdf0e10cSrcweir case RES_POOLCOLL_TABLE_HDLN:
571cdf0e10cSrcweir {
572cdf0e10cSrcweir SetAllScriptItem( aSet, SvxWeightItem( WEIGHT_BOLD, RES_CHRATR_WEIGHT ) );
573cdf0e10cSrcweir aSet.Put( SvxAdjustItem( SVX_ADJUST_CENTER, RES_PARATR_ADJUST ) );
574cdf0e10cSrcweir SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
575cdf0e10cSrcweir aSet.Put( aLN );
576cdf0e10cSrcweir }
577cdf0e10cSrcweir break;
578cdf0e10cSrcweir
579cdf0e10cSrcweir case RES_POOLCOLL_FOOTNOTE: // Fussnote
580cdf0e10cSrcweir case RES_POOLCOLL_ENDNOTE:
581cdf0e10cSrcweir {
582cdf0e10cSrcweir SvxLRSpaceItem aLR( RES_LR_SPACE );
583cdf0e10cSrcweir aLR.SetTxtFirstLineOfst( -(short)GetMetricVal( CM_05 ));
584cdf0e10cSrcweir aLR.SetTxtLeft( GetMetricVal( CM_05 ));
585cdf0e10cSrcweir SetAllScriptItem( aSet, SvxFontHeightItem( PT_10, 100, RES_CHRATR_FONTSIZE ) );
586cdf0e10cSrcweir aSet.Put( aLR );
587cdf0e10cSrcweir SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
588cdf0e10cSrcweir aSet.Put( aLN );
589cdf0e10cSrcweir }
590cdf0e10cSrcweir break;
591cdf0e10cSrcweir
592cdf0e10cSrcweir case RES_POOLCOLL_LABEL: // Beschriftung-Basis
593cdf0e10cSrcweir {
594cdf0e10cSrcweir SvxULSpaceItem aUL( RES_UL_SPACE ); aUL.SetUpper( PT_6 ); aUL.SetLower( PT_6 );
595cdf0e10cSrcweir aSet.Put( aUL );
596cdf0e10cSrcweir SetAllScriptItem( aSet, SvxPostureItem( ITALIC_NORMAL, RES_CHRATR_POSTURE ) );
597cdf0e10cSrcweir SetAllScriptItem( aSet, SvxFontHeightItem( PT_10, 100, RES_CHRATR_FONTSIZE ) );
598cdf0e10cSrcweir SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
599cdf0e10cSrcweir aSet.Put( aLN );
600cdf0e10cSrcweir }
601cdf0e10cSrcweir break;
602cdf0e10cSrcweir
603cdf0e10cSrcweir case RES_POOLCOLL_FRAME: // Rahmen Inhalt
604cdf0e10cSrcweir case RES_POOLCOLL_LABEL_ABB: // Beschriftung-Abbildung
605cdf0e10cSrcweir case RES_POOLCOLL_LABEL_TABLE: // Beschriftung-Tabelle
606cdf0e10cSrcweir case RES_POOLCOLL_LABEL_FRAME: // Beschriftung-Rahmen
607cdf0e10cSrcweir case RES_POOLCOLL_LABEL_DRAWING: // Beschriftung-Zeichnung
608cdf0e10cSrcweir break;
609cdf0e10cSrcweir
610cdf0e10cSrcweir case RES_POOLCOLL_JAKETADRESS: // UmschlagAdresse
611cdf0e10cSrcweir {
612cdf0e10cSrcweir SvxULSpaceItem aUL( RES_UL_SPACE ); aUL.SetLower( PT_3 );
613cdf0e10cSrcweir aSet.Put( aUL );
614cdf0e10cSrcweir SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
615cdf0e10cSrcweir aSet.Put( aLN );
616cdf0e10cSrcweir }
617cdf0e10cSrcweir break;
618cdf0e10cSrcweir
619cdf0e10cSrcweir case RES_POOLCOLL_SENDADRESS: // AbsenderAdresse
620cdf0e10cSrcweir {
621cdf0e10cSrcweir if( get(IDocumentSettingAccess::HTML_MODE) )
622cdf0e10cSrcweir SetAllScriptItem( aSet, SvxPostureItem(ITALIC_NORMAL, RES_CHRATR_POSTURE) );
623cdf0e10cSrcweir else
624cdf0e10cSrcweir {
625cdf0e10cSrcweir SvxULSpaceItem aUL( RES_UL_SPACE ); aUL.SetLower( PT_3 );
626cdf0e10cSrcweir aSet.Put( aUL );
627cdf0e10cSrcweir }
628cdf0e10cSrcweir SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
629cdf0e10cSrcweir aSet.Put( aLN );
630cdf0e10cSrcweir }
631cdf0e10cSrcweir break;
632cdf0e10cSrcweir
633cdf0e10cSrcweir // Benutzer-Verzeichnisse:
634cdf0e10cSrcweir case RES_POOLCOLL_TOX_USERH: // Header
635cdf0e10cSrcweir lcl_SetRegister( this, aSet, 0, sal_True, sal_False );
636cdf0e10cSrcweir {
637cdf0e10cSrcweir SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
638cdf0e10cSrcweir aSet.Put( aLN );
639cdf0e10cSrcweir }
640cdf0e10cSrcweir break;
641cdf0e10cSrcweir case RES_POOLCOLL_TOX_USER1: // 1. Ebene
642cdf0e10cSrcweir lcl_SetRegister( this, aSet, 0, sal_False, sal_True );
643cdf0e10cSrcweir break;
644cdf0e10cSrcweir case RES_POOLCOLL_TOX_USER2: // 2. Ebene
645cdf0e10cSrcweir lcl_SetRegister( this, aSet, 1, sal_False, sal_True );
646cdf0e10cSrcweir break;
647cdf0e10cSrcweir case RES_POOLCOLL_TOX_USER3: // 3. Ebene
648cdf0e10cSrcweir lcl_SetRegister( this, aSet, 2, sal_False, sal_True );
649cdf0e10cSrcweir break;
650cdf0e10cSrcweir case RES_POOLCOLL_TOX_USER4: // 4. Ebene
651cdf0e10cSrcweir lcl_SetRegister( this, aSet, 3, sal_False, sal_True );
652cdf0e10cSrcweir break;
653cdf0e10cSrcweir case RES_POOLCOLL_TOX_USER5: // 5. Ebene
654cdf0e10cSrcweir lcl_SetRegister( this, aSet, 4, sal_False, sal_True );
655cdf0e10cSrcweir break;
656cdf0e10cSrcweir case RES_POOLCOLL_TOX_USER6: // 6. Ebene
657cdf0e10cSrcweir lcl_SetRegister( this, aSet, 5, sal_False, sal_True );
658cdf0e10cSrcweir break;
659cdf0e10cSrcweir case RES_POOLCOLL_TOX_USER7: // 7. Ebene
660cdf0e10cSrcweir lcl_SetRegister( this, aSet, 6, sal_False, sal_True );
661cdf0e10cSrcweir break;
662cdf0e10cSrcweir case RES_POOLCOLL_TOX_USER8: // 8. Ebene
663cdf0e10cSrcweir lcl_SetRegister( this, aSet, 7, sal_False, sal_True );
664cdf0e10cSrcweir break;
665cdf0e10cSrcweir case RES_POOLCOLL_TOX_USER9: // 9. Ebene
666cdf0e10cSrcweir lcl_SetRegister( this, aSet, 8, sal_False, sal_True );
667cdf0e10cSrcweir break;
668cdf0e10cSrcweir case RES_POOLCOLL_TOX_USER10: // 10. Ebene
669cdf0e10cSrcweir lcl_SetRegister( this, aSet, 9, sal_False, sal_True );
670cdf0e10cSrcweir break;
671cdf0e10cSrcweir
672cdf0e10cSrcweir // Index-Verzeichnisse
673cdf0e10cSrcweir case RES_POOLCOLL_TOX_IDXH: // Header
674cdf0e10cSrcweir lcl_SetRegister( this, aSet, 0, sal_True, sal_False );
675cdf0e10cSrcweir {
676cdf0e10cSrcweir SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
677cdf0e10cSrcweir aSet.Put( aLN );
678cdf0e10cSrcweir }
679cdf0e10cSrcweir break;
680cdf0e10cSrcweir case RES_POOLCOLL_TOX_IDX1: // 1. Ebene
681cdf0e10cSrcweir lcl_SetRegister( this, aSet, 0, sal_False, sal_False );
682cdf0e10cSrcweir break;
683cdf0e10cSrcweir case RES_POOLCOLL_TOX_IDX2: // 2. Ebene
684cdf0e10cSrcweir lcl_SetRegister( this, aSet, 1, sal_False, sal_False );
685cdf0e10cSrcweir break;
686cdf0e10cSrcweir case RES_POOLCOLL_TOX_IDX3: // 3. Ebene
687cdf0e10cSrcweir lcl_SetRegister( this, aSet, 2, sal_False, sal_False );
688cdf0e10cSrcweir break;
689cdf0e10cSrcweir case RES_POOLCOLL_TOX_IDXBREAK: // Trenner
690cdf0e10cSrcweir lcl_SetRegister( this, aSet, 0, sal_False, sal_False );
691cdf0e10cSrcweir break;
692cdf0e10cSrcweir
693cdf0e10cSrcweir // Inhalts-Verzeichnisse
694cdf0e10cSrcweir case RES_POOLCOLL_TOX_CNTNTH: // Header
695cdf0e10cSrcweir lcl_SetRegister( this, aSet, 0, sal_True, sal_False );
696cdf0e10cSrcweir {
697cdf0e10cSrcweir SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
698cdf0e10cSrcweir aSet.Put( aLN );
699cdf0e10cSrcweir }
700cdf0e10cSrcweir break;
701cdf0e10cSrcweir case RES_POOLCOLL_TOX_CNTNT1: // 1. Ebene
702cdf0e10cSrcweir lcl_SetRegister( this, aSet, 0, sal_False, sal_True );
703cdf0e10cSrcweir break;
704cdf0e10cSrcweir case RES_POOLCOLL_TOX_CNTNT2: // 2. Ebene
705cdf0e10cSrcweir lcl_SetRegister( this, aSet, 1, sal_False, sal_True );
706cdf0e10cSrcweir break;
707cdf0e10cSrcweir case RES_POOLCOLL_TOX_CNTNT3: // 3. Ebene
708cdf0e10cSrcweir lcl_SetRegister( this, aSet, 2, sal_False, sal_True );
709cdf0e10cSrcweir break;
710cdf0e10cSrcweir case RES_POOLCOLL_TOX_CNTNT4: // 4. Ebene
711cdf0e10cSrcweir lcl_SetRegister( this, aSet, 3, sal_False, sal_True );
712cdf0e10cSrcweir break;
713cdf0e10cSrcweir case RES_POOLCOLL_TOX_CNTNT5: // 5. Ebene
714cdf0e10cSrcweir lcl_SetRegister( this, aSet, 4, sal_False, sal_True );
715cdf0e10cSrcweir break;
716cdf0e10cSrcweir case RES_POOLCOLL_TOX_CNTNT6: // 6. Ebene
717cdf0e10cSrcweir lcl_SetRegister( this, aSet, 5, sal_False, sal_True );
718cdf0e10cSrcweir break;
719cdf0e10cSrcweir case RES_POOLCOLL_TOX_CNTNT7: // 7. Ebene
720cdf0e10cSrcweir lcl_SetRegister( this, aSet, 6, sal_False, sal_True );
721cdf0e10cSrcweir break;
722cdf0e10cSrcweir case RES_POOLCOLL_TOX_CNTNT8: // 8. Ebene
723cdf0e10cSrcweir lcl_SetRegister( this, aSet, 7, sal_False, sal_True );
724cdf0e10cSrcweir break;
725cdf0e10cSrcweir case RES_POOLCOLL_TOX_CNTNT9: // 9. Ebene
726cdf0e10cSrcweir lcl_SetRegister( this, aSet, 8, sal_False, sal_True );
727cdf0e10cSrcweir break;
728cdf0e10cSrcweir case RES_POOLCOLL_TOX_CNTNT10: // 10. Ebene
729cdf0e10cSrcweir lcl_SetRegister( this, aSet, 9, sal_False, sal_True );
730cdf0e10cSrcweir break;
731cdf0e10cSrcweir
732cdf0e10cSrcweir case RES_POOLCOLL_TOX_ILLUSH:
733cdf0e10cSrcweir case RES_POOLCOLL_TOX_OBJECTH:
734cdf0e10cSrcweir case RES_POOLCOLL_TOX_TABLESH:
735cdf0e10cSrcweir case RES_POOLCOLL_TOX_AUTHORITIESH:
736cdf0e10cSrcweir lcl_SetRegister( this, aSet, 0, sal_True, sal_False );
737cdf0e10cSrcweir {
738cdf0e10cSrcweir SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
739cdf0e10cSrcweir aSet.Put( aLN );
740cdf0e10cSrcweir }
741cdf0e10cSrcweir break;
742cdf0e10cSrcweir case RES_POOLCOLL_TOX_ILLUS1:
743cdf0e10cSrcweir case RES_POOLCOLL_TOX_OBJECT1:
744cdf0e10cSrcweir case RES_POOLCOLL_TOX_TABLES1:
745cdf0e10cSrcweir case RES_POOLCOLL_TOX_AUTHORITIES1:
746cdf0e10cSrcweir lcl_SetRegister( this, aSet, 0, sal_False, sal_True );
747cdf0e10cSrcweir break;
748cdf0e10cSrcweir
749cdf0e10cSrcweir
750cdf0e10cSrcweir
751cdf0e10cSrcweir case RES_POOLCOLL_NUM_LEVEL1S:
752cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL1,
753cdf0e10cSrcweir lNumFirstLineOffset, SwNumRule::GetNumIndent( 0 ),
754cdf0e10cSrcweir PT_12, PT_6 );
755cdf0e10cSrcweir break;
756cdf0e10cSrcweir case RES_POOLCOLL_NUM_LEVEL1:
757cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL1,
758cdf0e10cSrcweir lNumFirstLineOffset, SwNumRule::GetNumIndent( 0 ),
759cdf0e10cSrcweir 0, PT_6 );
760cdf0e10cSrcweir break;
761cdf0e10cSrcweir case RES_POOLCOLL_NUM_LEVEL1E:
762cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL1,
763cdf0e10cSrcweir lNumFirstLineOffset, SwNumRule::GetNumIndent( 0 ),
764cdf0e10cSrcweir 0, PT_12 );
765cdf0e10cSrcweir break;
766cdf0e10cSrcweir case RES_POOLCOLL_NUM_NONUM1:
767cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_NONUM1,
768cdf0e10cSrcweir 0, SwNumRule::GetNumIndent( 0 ), 0, PT_6 );
769cdf0e10cSrcweir break;
770cdf0e10cSrcweir case RES_POOLCOLL_NUM_LEVEL2S:
771cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL2,
772cdf0e10cSrcweir lNumFirstLineOffset, SwNumRule::GetNumIndent( 1 ),
773cdf0e10cSrcweir PT_12, PT_6 );
774cdf0e10cSrcweir break;
775cdf0e10cSrcweir case RES_POOLCOLL_NUM_LEVEL2:
776cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL2,
777cdf0e10cSrcweir lNumFirstLineOffset, SwNumRule::GetNumIndent( 1 ),
778cdf0e10cSrcweir 0, PT_6 );
779cdf0e10cSrcweir break;
780cdf0e10cSrcweir case RES_POOLCOLL_NUM_LEVEL2E:
781cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL2,
782cdf0e10cSrcweir lNumFirstLineOffset, SwNumRule::GetNumIndent( 1 ),
783cdf0e10cSrcweir 0, PT_12 );
784cdf0e10cSrcweir break;
785cdf0e10cSrcweir case RES_POOLCOLL_NUM_NONUM2:
786cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_NONUM2,
787cdf0e10cSrcweir 0, SwNumRule::GetNumIndent( 1 ), 0, PT_6 );
788cdf0e10cSrcweir break;
789cdf0e10cSrcweir case RES_POOLCOLL_NUM_LEVEL3S:
790cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL3,
791cdf0e10cSrcweir lNumFirstLineOffset, SwNumRule::GetNumIndent( 2 ),
792cdf0e10cSrcweir PT_12, PT_6 );
793cdf0e10cSrcweir break;
794cdf0e10cSrcweir case RES_POOLCOLL_NUM_LEVEL3:
795cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL3,
796cdf0e10cSrcweir lNumFirstLineOffset, SwNumRule::GetNumIndent( 2 ),
797cdf0e10cSrcweir 0, PT_6 );
798cdf0e10cSrcweir break;
799cdf0e10cSrcweir case RES_POOLCOLL_NUM_LEVEL3E:
800cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL3,
801cdf0e10cSrcweir lNumFirstLineOffset, SwNumRule::GetNumIndent( 2 ),
802cdf0e10cSrcweir 0, PT_12 );
803cdf0e10cSrcweir break;
804cdf0e10cSrcweir case RES_POOLCOLL_NUM_NONUM3:
805cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_NONUM3,
806cdf0e10cSrcweir 0, SwNumRule::GetNumIndent( 2 ), 0, PT_6 );
807cdf0e10cSrcweir break;
808cdf0e10cSrcweir case RES_POOLCOLL_NUM_LEVEL4S:
809cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL4,
810cdf0e10cSrcweir lNumFirstLineOffset, SwNumRule::GetNumIndent( 3 ),
811cdf0e10cSrcweir PT_12, PT_6 );
812cdf0e10cSrcweir break;
813cdf0e10cSrcweir case RES_POOLCOLL_NUM_LEVEL4:
814cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL4,
815cdf0e10cSrcweir lNumFirstLineOffset, SwNumRule::GetNumIndent( 3 ),
816cdf0e10cSrcweir 0, PT_6 );
817cdf0e10cSrcweir break;
818cdf0e10cSrcweir case RES_POOLCOLL_NUM_LEVEL4E:
819cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL4,
820cdf0e10cSrcweir lNumFirstLineOffset, SwNumRule::GetNumIndent( 3 ),
821cdf0e10cSrcweir 0, PT_12 );
822cdf0e10cSrcweir break;
823cdf0e10cSrcweir case RES_POOLCOLL_NUM_NONUM4:
824cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_NONUM4,
825cdf0e10cSrcweir 0, SwNumRule::GetNumIndent( 3 ), 0, PT_6 );
826cdf0e10cSrcweir break;
827cdf0e10cSrcweir case RES_POOLCOLL_NUM_LEVEL5S:
828cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL5,
829cdf0e10cSrcweir lNumFirstLineOffset, SwNumRule::GetNumIndent( 4 ),
830cdf0e10cSrcweir PT_12, PT_6 );
831cdf0e10cSrcweir break;
832cdf0e10cSrcweir case RES_POOLCOLL_NUM_LEVEL5:
833cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL5,
834cdf0e10cSrcweir lNumFirstLineOffset, SwNumRule::GetNumIndent( 4 ),
835cdf0e10cSrcweir 0, PT_6 );
836cdf0e10cSrcweir break;
837cdf0e10cSrcweir case RES_POOLCOLL_NUM_LEVEL5E:
838cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL5,
839cdf0e10cSrcweir lNumFirstLineOffset, SwNumRule::GetNumIndent( 4 ),
840cdf0e10cSrcweir 0, PT_12 );
841cdf0e10cSrcweir break;
842cdf0e10cSrcweir case RES_POOLCOLL_NUM_NONUM5:
843cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_NONUM5,
844cdf0e10cSrcweir 0, SwNumRule::GetNumIndent( 4 ), 0, PT_6 );
845cdf0e10cSrcweir break;
846cdf0e10cSrcweir
847cdf0e10cSrcweir case RES_POOLCOLL_BUL_LEVEL1S:
848cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL1,
849cdf0e10cSrcweir lBullFirstLineOffset, SwNumRule::GetBullIndent( 0 ),
850cdf0e10cSrcweir PT_12, PT_6 );
851cdf0e10cSrcweir break;
852cdf0e10cSrcweir case RES_POOLCOLL_BUL_LEVEL1:
853cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL1,
854cdf0e10cSrcweir lBullFirstLineOffset, SwNumRule::GetBullIndent( 0 ),
855cdf0e10cSrcweir 0, PT_6 );
856cdf0e10cSrcweir break;
857cdf0e10cSrcweir case RES_POOLCOLL_BUL_LEVEL1E:
858cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL1,
859cdf0e10cSrcweir lBullFirstLineOffset, SwNumRule::GetBullIndent( 0 ),
860cdf0e10cSrcweir 0, PT_12 );
861cdf0e10cSrcweir break;
862cdf0e10cSrcweir case RES_POOLCOLL_BUL_NONUM1:
863cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_NONUM1,
864cdf0e10cSrcweir 0, SwNumRule::GetBullIndent( 0 ), 0, PT_6 );
865cdf0e10cSrcweir break;
866cdf0e10cSrcweir case RES_POOLCOLL_BUL_LEVEL2S:
867cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL2,
868cdf0e10cSrcweir lBullFirstLineOffset, SwNumRule::GetBullIndent( 1 ),
869cdf0e10cSrcweir PT_12, PT_6 );
870cdf0e10cSrcweir break;
871cdf0e10cSrcweir case RES_POOLCOLL_BUL_LEVEL2:
872cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL2,
873cdf0e10cSrcweir lBullFirstLineOffset, SwNumRule::GetBullIndent( 1 ),
874cdf0e10cSrcweir 0, PT_6 );
875cdf0e10cSrcweir break;
876cdf0e10cSrcweir case RES_POOLCOLL_BUL_LEVEL2E:
877cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL2,
878cdf0e10cSrcweir lBullFirstLineOffset, SwNumRule::GetBullIndent( 1 ),
879cdf0e10cSrcweir 0, PT_12 );
880cdf0e10cSrcweir break;
881cdf0e10cSrcweir case RES_POOLCOLL_BUL_NONUM2:
882cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_NONUM2,
883cdf0e10cSrcweir 0, SwNumRule::GetBullIndent( 1 ), 0, PT_6 );
884cdf0e10cSrcweir break;
885cdf0e10cSrcweir case RES_POOLCOLL_BUL_LEVEL3S:
886cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL3,
887cdf0e10cSrcweir lBullFirstLineOffset, SwNumRule::GetBullIndent( 2 ),
888cdf0e10cSrcweir PT_12, PT_6 );
889cdf0e10cSrcweir break;
890cdf0e10cSrcweir case RES_POOLCOLL_BUL_LEVEL3:
891cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL3,
892cdf0e10cSrcweir lBullFirstLineOffset, SwNumRule::GetBullIndent( 2 ),
893cdf0e10cSrcweir 0, PT_6 );
894cdf0e10cSrcweir break;
895cdf0e10cSrcweir case RES_POOLCOLL_BUL_LEVEL3E:
896cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL3,
897cdf0e10cSrcweir lBullFirstLineOffset, SwNumRule::GetBullIndent( 2 ),
898cdf0e10cSrcweir 0, PT_12 );
899cdf0e10cSrcweir break;
900cdf0e10cSrcweir case RES_POOLCOLL_BUL_NONUM3:
901cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_NONUM3,
902cdf0e10cSrcweir 0, SwNumRule::GetBullIndent( 2 ), 0, PT_6 );
903cdf0e10cSrcweir break;
904cdf0e10cSrcweir case RES_POOLCOLL_BUL_LEVEL4S:
905cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL4,
906cdf0e10cSrcweir lBullFirstLineOffset, SwNumRule::GetBullIndent( 3 ),
907cdf0e10cSrcweir PT_12, PT_6 );
908cdf0e10cSrcweir break;
909cdf0e10cSrcweir case RES_POOLCOLL_BUL_LEVEL4:
910cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL4,
911cdf0e10cSrcweir lBullFirstLineOffset, SwNumRule::GetBullIndent( 3 ),
912cdf0e10cSrcweir 0, PT_6 );
913cdf0e10cSrcweir break;
914cdf0e10cSrcweir case RES_POOLCOLL_BUL_LEVEL4E:
915cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL4,
916cdf0e10cSrcweir lBullFirstLineOffset, SwNumRule::GetBullIndent( 3 ),
917cdf0e10cSrcweir 0, PT_12 );
918cdf0e10cSrcweir break;
919cdf0e10cSrcweir case RES_POOLCOLL_BUL_NONUM4:
920cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_NONUM4,
921cdf0e10cSrcweir 0, SwNumRule::GetBullIndent( 3 ), 0, PT_6 );
922cdf0e10cSrcweir break;
923cdf0e10cSrcweir case RES_POOLCOLL_BUL_LEVEL5S:
924cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL5,
925cdf0e10cSrcweir lBullFirstLineOffset, SwNumRule::GetBullIndent( 4 ),
926cdf0e10cSrcweir PT_12, PT_6 );
927cdf0e10cSrcweir break;
928cdf0e10cSrcweir case RES_POOLCOLL_BUL_LEVEL5:
929cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL5,
930cdf0e10cSrcweir lBullFirstLineOffset, SwNumRule::GetBullIndent( 4 ),
931cdf0e10cSrcweir 0, PT_6 );
932cdf0e10cSrcweir break;
933cdf0e10cSrcweir case RES_POOLCOLL_BUL_LEVEL5E:
934cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL5,
935cdf0e10cSrcweir lBullFirstLineOffset, SwNumRule::GetBullIndent( 4 ),
936cdf0e10cSrcweir 0, PT_12 );
937cdf0e10cSrcweir break;
938cdf0e10cSrcweir case RES_POOLCOLL_BUL_NONUM5:
939cdf0e10cSrcweir lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_NONUM5,
940cdf0e10cSrcweir 0, SwNumRule::GetBullIndent( 4 ), 0, PT_6 );
941cdf0e10cSrcweir break;
942cdf0e10cSrcweir
943cdf0e10cSrcweir case RES_POOLCOLL_DOC_TITEL: // Doc. Titel
944cdf0e10cSrcweir {
945cdf0e10cSrcweir SetAllScriptItem( aSet, SvxWeightItem( WEIGHT_BOLD, RES_CHRATR_WEIGHT ) );
946cdf0e10cSrcweir SetAllScriptItem( aSet, SvxFontHeightItem( PT_18, 100, RES_CHRATR_FONTSIZE ) );
947cdf0e10cSrcweir
948cdf0e10cSrcweir aSet.Put( SvxAdjustItem( SVX_ADJUST_CENTER, RES_PARATR_ADJUST ) );
949cdf0e10cSrcweir
950cdf0e10cSrcweir pNewColl->SetNextTxtFmtColl( *GetTxtCollFromPool(
951cdf0e10cSrcweir RES_POOLCOLL_DOC_SUBTITEL ));
952cdf0e10cSrcweir }
953cdf0e10cSrcweir break;
954cdf0e10cSrcweir
955cdf0e10cSrcweir case RES_POOLCOLL_DOC_SUBTITEL: // Doc. UnterTitel
956cdf0e10cSrcweir {
957cdf0e10cSrcweir SetAllScriptItem( aSet, SvxPostureItem( ITALIC_NORMAL, RES_CHRATR_POSTURE ));
958cdf0e10cSrcweir SetAllScriptItem( aSet, SvxFontHeightItem( PT_14, 100, RES_CHRATR_FONTSIZE ));
959cdf0e10cSrcweir
960cdf0e10cSrcweir aSet.Put( SvxAdjustItem( SVX_ADJUST_CENTER, RES_PARATR_ADJUST ));
961cdf0e10cSrcweir
962cdf0e10cSrcweir pNewColl->SetNextTxtFmtColl( *GetTxtCollFromPool(
963cdf0e10cSrcweir RES_POOLCOLL_TEXT ));
964cdf0e10cSrcweir }
965cdf0e10cSrcweir break;
966cdf0e10cSrcweir
967cdf0e10cSrcweir case RES_POOLCOLL_HTML_BLOCKQUOTE:
968cdf0e10cSrcweir {
969cdf0e10cSrcweir SvxLRSpaceItem aLR( RES_LR_SPACE );
970cdf0e10cSrcweir aLR.SetLeft( GetMetricVal( CM_1 ));
971cdf0e10cSrcweir aLR.SetRight( GetMetricVal( CM_1 ));
972cdf0e10cSrcweir aSet.Put( aLR );
973cdf0e10cSrcweir // aSet.Put( SvxAdjustItem( SVX_ADJUST_BLOCK, RES_PARATR_ADJUST ) );
974cdf0e10cSrcweir SvxULSpaceItem aUL( RES_UL_SPACE );
975cdf0e10cSrcweir aUL = pNewColl->GetULSpace();
976cdf0e10cSrcweir aUL.SetLower( HTML_PARSPACE );
977cdf0e10cSrcweir aSet.Put( aUL);
978cdf0e10cSrcweir }
979cdf0e10cSrcweir break;
980cdf0e10cSrcweir
981cdf0e10cSrcweir case RES_POOLCOLL_HTML_PRE:
982cdf0e10cSrcweir {
983cdf0e10cSrcweir ::lcl_SetDfltFont( DEFAULTFONT_FIXED, aSet );
984cdf0e10cSrcweir
985cdf0e10cSrcweir // WORKAROUND: PRE auf 10pt setzten
986cdf0e10cSrcweir SetAllScriptItem( aSet, SvxFontHeightItem(PT_10, 100, RES_CHRATR_FONTSIZE) );
987cdf0e10cSrcweir // WORKAROUND: PRE auf 10pt setzten
988cdf0e10cSrcweir
989cdf0e10cSrcweir // der untere Absatz-Abstand wird explizit gesetzt (macht
990cdf0e10cSrcweir // die harte Attributierung einfacher)
991cdf0e10cSrcweir SvxULSpaceItem aULSpaceItem( RES_UL_SPACE );
992cdf0e10cSrcweir aULSpaceItem = pNewColl->GetULSpace();
993cdf0e10cSrcweir aULSpaceItem.SetLower( 0 );
994cdf0e10cSrcweir aSet.Put( aULSpaceItem );
995cdf0e10cSrcweir }
996cdf0e10cSrcweir break;
997cdf0e10cSrcweir
998cdf0e10cSrcweir case RES_POOLCOLL_HTML_HR:
999cdf0e10cSrcweir {
1000cdf0e10cSrcweir SvxBoxItem aBox( RES_BOX );
1001cdf0e10cSrcweir Color aColor( COL_GRAY );
1002cdf0e10cSrcweir SvxBorderLine aNew( &aColor, DEF_DOUBLE_LINE0_OUT,
1003cdf0e10cSrcweir DEF_DOUBLE_LINE0_IN,
1004cdf0e10cSrcweir DEF_DOUBLE_LINE0_DIST );
1005cdf0e10cSrcweir aBox.SetLine( &aNew, BOX_LINE_BOTTOM );
1006cdf0e10cSrcweir
1007cdf0e10cSrcweir aSet.Put( aBox );
1008cdf0e10cSrcweir aSet.Put( SwParaConnectBorderItem( sal_False ) );
1009cdf0e10cSrcweir SetAllScriptItem( aSet, SvxFontHeightItem(120, 100, RES_CHRATR_FONTSIZE) );
1010cdf0e10cSrcweir
1011cdf0e10cSrcweir SvxULSpaceItem aUL( RES_UL_SPACE );
1012cdf0e10cSrcweir {
1013cdf0e10cSrcweir pNewColl->SetNextTxtFmtColl( *GetTxtCollFromPool(
1014cdf0e10cSrcweir RES_POOLCOLL_TEXT ));
1015cdf0e10cSrcweir aUL = pNewColl->GetULSpace();
1016cdf0e10cSrcweir }
1017cdf0e10cSrcweir aUL.SetLower( HTML_PARSPACE );
1018cdf0e10cSrcweir aSet.Put( aUL);
1019cdf0e10cSrcweir SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
1020cdf0e10cSrcweir aSet.Put( aLN );
1021cdf0e10cSrcweir }
1022cdf0e10cSrcweir break;
1023cdf0e10cSrcweir
1024cdf0e10cSrcweir case RES_POOLCOLL_HTML_DD:
1025cdf0e10cSrcweir {
1026cdf0e10cSrcweir SvxLRSpaceItem aLR( RES_LR_SPACE );
1027cdf0e10cSrcweir aLR = pNewColl->GetLRSpace();
1028cdf0e10cSrcweir // es wird um 1cm eingerueckt. Die IDs liegen immer 2 auseinander!
1029cdf0e10cSrcweir aLR.SetLeft( GetMetricVal( CM_1 ));
1030cdf0e10cSrcweir aSet.Put( aLR );
1031cdf0e10cSrcweir }
1032cdf0e10cSrcweir break;
1033cdf0e10cSrcweir case RES_POOLCOLL_HTML_DT:
1034cdf0e10cSrcweir {
1035cdf0e10cSrcweir SvxLRSpaceItem aLR( RES_LR_SPACE );
1036cdf0e10cSrcweir {
1037cdf0e10cSrcweir pNewColl->SetNextTxtFmtColl( *GetTxtCollFromPool(
1038cdf0e10cSrcweir RES_POOLCOLL_HTML_DD ));
1039cdf0e10cSrcweir aLR = pNewColl->GetLRSpace();
1040cdf0e10cSrcweir }
1041cdf0e10cSrcweir // es wird um 0cm eingerueckt. Die IDs liegen immer 2 auseinander!
1042cdf0e10cSrcweir aLR.SetLeft( 0 );
1043cdf0e10cSrcweir aSet.Put( aLR );
1044cdf0e10cSrcweir }
1045cdf0e10cSrcweir break;
1046cdf0e10cSrcweir }
1047cdf0e10cSrcweir
1048cdf0e10cSrcweir if( aSet.Count() )
1049cdf0e10cSrcweir {
1050cdf0e10cSrcweir {
1051cdf0e10cSrcweir pNewColl->SetFmtAttr( aSet );
1052cdf0e10cSrcweir // JP 31.08.95: erzeugen einer PoolVorlage ist keine Modifikation
1053cdf0e10cSrcweir // (Bug: 18545)
1054cdf0e10cSrcweir // SetModified();
1055cdf0e10cSrcweir }
1056cdf0e10cSrcweir }
1057cdf0e10cSrcweir return pNewColl;
1058cdf0e10cSrcweir }
1059cdf0e10cSrcweir
1060cdf0e10cSrcweir
1061cdf0e10cSrcweir
1062cdf0e10cSrcweir // pruefe, ob diese "Auto-Collection" in Dokument schon/noch
1063cdf0e10cSrcweir // benutzt wird
IsPoolTxtCollUsed(sal_uInt16 nId) const1064cdf0e10cSrcweir bool SwDoc::IsPoolTxtCollUsed( sal_uInt16 nId ) const
1065cdf0e10cSrcweir {
1066cdf0e10cSrcweir ASSERT(
1067cdf0e10cSrcweir (RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END) ||
1068cdf0e10cSrcweir (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END) ||
1069cdf0e10cSrcweir (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END) ||
1070cdf0e10cSrcweir (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END) ||
1071cdf0e10cSrcweir (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END) ||
1072cdf0e10cSrcweir (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END),
1073cdf0e10cSrcweir "Falsche AutoFormat-Id" );
1074cdf0e10cSrcweir
1075cdf0e10cSrcweir SwTxtFmtColl* pNewColl = 0;
1076cdf0e10cSrcweir sal_Bool bFnd = sal_False;
1077cdf0e10cSrcweir for( sal_uInt16 n = 0; !bFnd && n < pTxtFmtCollTbl->Count(); ++n )
1078cdf0e10cSrcweir {
1079cdf0e10cSrcweir pNewColl = (*pTxtFmtCollTbl)[ n ];
1080cdf0e10cSrcweir if( nId == pNewColl->GetPoolFmtId() )
1081cdf0e10cSrcweir bFnd = sal_True;
1082cdf0e10cSrcweir }
1083cdf0e10cSrcweir
1084cdf0e10cSrcweir if( !bFnd || !pNewColl->GetDepends() )
1085cdf0e10cSrcweir return sal_False;
1086cdf0e10cSrcweir
1087cdf0e10cSrcweir SwAutoFmtGetDocNode aGetHt( &GetNodes() );
1088cdf0e10cSrcweir return !pNewColl->GetInfo( aGetHt );
1089cdf0e10cSrcweir }
1090cdf0e10cSrcweir
1091cdf0e10cSrcweir // Gebe das "Auto[matische]-Format" mit der Id zurueck. Existiert
1092cdf0e10cSrcweir // es noch nicht, dann erzeuge es
1093cdf0e10cSrcweir
GetFmtFromPool(sal_uInt16 nId)1094cdf0e10cSrcweir SwFmt* SwDoc::GetFmtFromPool( sal_uInt16 nId )
1095cdf0e10cSrcweir {
1096cdf0e10cSrcweir SwFmt *pNewFmt = 0;
1097cdf0e10cSrcweir SwFmt *pDeriveFmt = 0;
1098cdf0e10cSrcweir
1099cdf0e10cSrcweir SvPtrarr* pArray[ 2 ];
1100cdf0e10cSrcweir sal_uInt16 nArrCnt = 1, nRCId = 0;
1101cdf0e10cSrcweir sal_uInt16* pWhichRange = 0;
1102cdf0e10cSrcweir
1103cdf0e10cSrcweir switch( nId & (COLL_GET_RANGE_BITS + POOLGRP_NOCOLLID) )
1104cdf0e10cSrcweir {
1105cdf0e10cSrcweir case POOLGRP_CHARFMT:
1106cdf0e10cSrcweir {
1107cdf0e10cSrcweir pArray[0] = pCharFmtTbl;
1108cdf0e10cSrcweir pDeriveFmt = pDfltCharFmt;
1109cdf0e10cSrcweir
1110cdf0e10cSrcweir if( nId > RES_POOLCHR_NORMAL_END )
1111cdf0e10cSrcweir nRCId = RC_POOLCHRFMT_HTML_BEGIN - RES_POOLCHR_HTML_BEGIN;
1112cdf0e10cSrcweir else
1113cdf0e10cSrcweir nRCId = RC_POOLCHRFMT_BEGIN - RES_POOLCHR_BEGIN;
1114cdf0e10cSrcweir pWhichRange = aCharFmtSetRange;
1115cdf0e10cSrcweir
1116cdf0e10cSrcweir // Fehlerfall: unbekanntes Format, aber CharFormat
1117cdf0e10cSrcweir // -> returne das erste
1118cdf0e10cSrcweir if( RES_POOLCHR_BEGIN > nId || nId >= RES_POOLCHR_END )
1119cdf0e10cSrcweir {
1120*870262e3SDon Lewis ASSERT( sal_False, "<SwDoc::GetFmtFromPool(..)> - unknown page pool ID" );
1121cdf0e10cSrcweir nId = RES_POOLCHR_BEGIN;
1122cdf0e10cSrcweir }
1123cdf0e10cSrcweir }
1124cdf0e10cSrcweir break;
1125cdf0e10cSrcweir case POOLGRP_FRAMEFMT:
1126cdf0e10cSrcweir {
1127cdf0e10cSrcweir pArray[0] = pFrmFmtTbl;
1128cdf0e10cSrcweir pArray[1] = pSpzFrmFmtTbl;
1129cdf0e10cSrcweir pDeriveFmt = pDfltFrmFmt;
1130cdf0e10cSrcweir nArrCnt = 2;
1131cdf0e10cSrcweir nRCId = RC_POOLFRMFMT_BEGIN - RES_POOLFRM_BEGIN;
1132cdf0e10cSrcweir pWhichRange = aFrmFmtSetRange;
1133cdf0e10cSrcweir
1134cdf0e10cSrcweir // Fehlerfall: unbekanntes Format, aber FrameFormat
1135cdf0e10cSrcweir // -> returne das erste
1136cdf0e10cSrcweir if( RES_POOLFRM_BEGIN > nId || nId >= RES_POOLFRM_END )
1137cdf0e10cSrcweir {
1138*870262e3SDon Lewis ASSERT( sal_False, "<SwDoc::GetFmtFromPool(..)> - unknown page pool ID" );
1139cdf0e10cSrcweir nId = RES_POOLFRM_BEGIN;
1140cdf0e10cSrcweir }
1141cdf0e10cSrcweir }
1142cdf0e10cSrcweir break;
1143cdf0e10cSrcweir
1144cdf0e10cSrcweir default:
1145cdf0e10cSrcweir // Fehlerfall, unbekanntes Format
1146cdf0e10cSrcweir ASSERT( nId, "ungueltige Id" );
1147cdf0e10cSrcweir return 0;
1148cdf0e10cSrcweir }
1149cdf0e10cSrcweir ASSERT( nRCId, "ungueltige Id" );
1150cdf0e10cSrcweir
1151cdf0e10cSrcweir while( nArrCnt-- )
1152cdf0e10cSrcweir for( sal_uInt16 n = 0; n < (*pArray[nArrCnt]).Count(); ++n )
1153cdf0e10cSrcweir if( nId == ( pNewFmt = (SwFmt*)(*pArray[ nArrCnt ] )[ n ] )->
1154cdf0e10cSrcweir GetPoolFmtId() )
1155cdf0e10cSrcweir {
1156cdf0e10cSrcweir return pNewFmt;
1157cdf0e10cSrcweir }
1158cdf0e10cSrcweir
1159cdf0e10cSrcweir ResId aResId( nRCId + nId, *pSwResMgr );
1160cdf0e10cSrcweir String aNm( aResId );
1161cdf0e10cSrcweir SwAttrSet aSet( GetAttrPool(), pWhichRange );
1162cdf0e10cSrcweir
1163cdf0e10cSrcweir {
1164cdf0e10cSrcweir sal_Bool bIsModified = IsModified();
1165cdf0e10cSrcweir
1166cdf0e10cSrcweir {
1167cdf0e10cSrcweir ::sw::UndoGuard const undoGuard(GetIDocumentUndoRedo());
1168cdf0e10cSrcweir switch (nId & (COLL_GET_RANGE_BITS + POOLGRP_NOCOLLID) )
1169cdf0e10cSrcweir {
1170cdf0e10cSrcweir case POOLGRP_CHARFMT:
1171cdf0e10cSrcweir pNewFmt = _MakeCharFmt(aNm, pDeriveFmt, sal_False, sal_True);
1172cdf0e10cSrcweir break;
1173cdf0e10cSrcweir case POOLGRP_FRAMEFMT:
1174cdf0e10cSrcweir pNewFmt = _MakeFrmFmt(aNm, pDeriveFmt, sal_False, sal_True);
1175cdf0e10cSrcweir break;
1176cdf0e10cSrcweir default:
1177cdf0e10cSrcweir break;
1178cdf0e10cSrcweir }
1179cdf0e10cSrcweir }
1180cdf0e10cSrcweir
1181cdf0e10cSrcweir if( !bIsModified )
1182cdf0e10cSrcweir ResetModified();
1183cdf0e10cSrcweir pNewFmt->SetPoolFmtId( nId );
1184cdf0e10cSrcweir pNewFmt->SetAuto( sal_False ); // kein Auto-Format
1185cdf0e10cSrcweir }
1186cdf0e10cSrcweir
1187cdf0e10cSrcweir switch( nId )
1188cdf0e10cSrcweir {
1189cdf0e10cSrcweir case RES_POOLCHR_FOOTNOTE: // Fussnote
1190cdf0e10cSrcweir case RES_POOLCHR_PAGENO: // Seiten/Feld
1191cdf0e10cSrcweir case RES_POOLCHR_LABEL: // Beschriftung
1192cdf0e10cSrcweir case RES_POOLCHR_DROPCAPS: // Initialien
1193cdf0e10cSrcweir case RES_POOLCHR_NUM_LEVEL: // Aufzaehlungszeichen
1194cdf0e10cSrcweir case RES_POOLCHR_TOXJUMP: // Verzeichnissprung
1195cdf0e10cSrcweir case RES_POOLCHR_ENDNOTE: // Endnote
1196cdf0e10cSrcweir case RES_POOLCHR_LINENUM: // Zeilennummerierung
1197cdf0e10cSrcweir break;
1198cdf0e10cSrcweir
1199cdf0e10cSrcweir case RES_POOLCHR_ENDNOTE_ANCHOR: // Endnotenanker
1200cdf0e10cSrcweir case RES_POOLCHR_FOOTNOTE_ANCHOR: // Fussnotenanker
1201cdf0e10cSrcweir {
1202cdf0e10cSrcweir aSet.Put( SvxEscapementItem( DFLT_ESC_AUTO_SUPER, 58, RES_CHRATR_ESCAPEMENT ) );
1203cdf0e10cSrcweir }
1204cdf0e10cSrcweir break;
1205cdf0e10cSrcweir
1206cdf0e10cSrcweir
1207cdf0e10cSrcweir case RES_POOLCHR_BUL_LEVEL: // Aufzaehlungszeichen
1208cdf0e10cSrcweir {
1209cdf0e10cSrcweir const Font& rBulletFont = numfunc::GetDefBulletFont();
1210cdf0e10cSrcweir SetAllScriptItem( aSet, SvxFontItem( rBulletFont.GetFamily(),
1211cdf0e10cSrcweir rBulletFont.GetName(), rBulletFont.GetStyleName(),
1212cdf0e10cSrcweir rBulletFont.GetPitch(), rBulletFont.GetCharSet(), RES_CHRATR_FONT ));
1213cdf0e10cSrcweir // --> OD 2008-06-02 #i63395#
1214cdf0e10cSrcweir // no font and no font size any more
1215cdf0e10cSrcweir // SetAllScriptItem( aSet, SvxFontHeightItem( PT_9, 100, RES_CHRATR_FONTSIZE ));
1216cdf0e10cSrcweir // <--
1217cdf0e10cSrcweir }
1218cdf0e10cSrcweir break;
1219cdf0e10cSrcweir
1220cdf0e10cSrcweir case RES_POOLCHR_INET_NORMAL:
1221cdf0e10cSrcweir {
1222cdf0e10cSrcweir Color aCol( COL_BLUE );
1223cdf0e10cSrcweir aSet.Put( SvxColorItem( aCol, RES_CHRATR_COLOR ) );
1224cdf0e10cSrcweir aSet.Put( SvxUnderlineItem( UNDERLINE_SINGLE, RES_CHRATR_UNDERLINE ) );
1225cdf0e10cSrcweir // i40133: patch submitted by rail: set language to 'none' to prevent spell checking:
1226cdf0e10cSrcweir aSet.Put( SvxLanguageItem( LANGUAGE_NONE, RES_CHRATR_LANGUAGE ) );
1227cdf0e10cSrcweir aSet.Put( SvxLanguageItem( LANGUAGE_NONE, RES_CHRATR_CJK_LANGUAGE ) );
1228cdf0e10cSrcweir aSet.Put( SvxLanguageItem( LANGUAGE_NONE, RES_CHRATR_CTL_LANGUAGE ) );
1229cdf0e10cSrcweir }
1230cdf0e10cSrcweir break;
1231cdf0e10cSrcweir case RES_POOLCHR_INET_VISIT:
1232cdf0e10cSrcweir {
1233cdf0e10cSrcweir Color aCol( COL_RED );
1234cdf0e10cSrcweir aSet.Put( SvxColorItem( aCol, RES_CHRATR_COLOR ) );
1235cdf0e10cSrcweir aSet.Put( SvxUnderlineItem( UNDERLINE_SINGLE, RES_CHRATR_UNDERLINE ) );
1236cdf0e10cSrcweir aSet.Put( SvxLanguageItem( LANGUAGE_NONE, RES_CHRATR_LANGUAGE ) );
1237cdf0e10cSrcweir aSet.Put( SvxLanguageItem( LANGUAGE_NONE, RES_CHRATR_CJK_LANGUAGE ) );
1238cdf0e10cSrcweir aSet.Put( SvxLanguageItem( LANGUAGE_NONE, RES_CHRATR_CTL_LANGUAGE ) );
1239cdf0e10cSrcweir }
1240cdf0e10cSrcweir break;
1241cdf0e10cSrcweir case RES_POOLCHR_JUMPEDIT:
1242cdf0e10cSrcweir {
1243cdf0e10cSrcweir Color aCol( COL_CYAN );
1244cdf0e10cSrcweir aSet.Put( SvxColorItem( aCol, RES_CHRATR_COLOR ) );
1245cdf0e10cSrcweir aSet.Put( SvxUnderlineItem( UNDERLINE_DOTTED, RES_CHRATR_UNDERLINE ) );
1246cdf0e10cSrcweir aSet.Put( SvxCaseMapItem( SVX_CASEMAP_KAPITAELCHEN, RES_CHRATR_CASEMAP ) );
1247cdf0e10cSrcweir }
1248cdf0e10cSrcweir break;
1249cdf0e10cSrcweir
1250cdf0e10cSrcweir case RES_POOLCHR_RUBYTEXT:
1251cdf0e10cSrcweir {
1252cdf0e10cSrcweir long nH = ((SvxFontHeightItem*)GetDfltAttr(
1253cdf0e10cSrcweir RES_CHRATR_CJK_FONTSIZE ))->GetHeight() / 2;
1254cdf0e10cSrcweir SetAllScriptItem( aSet, SvxFontHeightItem( nH, 100, RES_CHRATR_FONTSIZE));
1255cdf0e10cSrcweir aSet.Put(SvxUnderlineItem( UNDERLINE_NONE, RES_CHRATR_UNDERLINE ));
1256cdf0e10cSrcweir aSet.Put(SvxEmphasisMarkItem( EMPHASISMARK_NONE, RES_CHRATR_EMPHASIS_MARK) );
1257cdf0e10cSrcweir }
1258cdf0e10cSrcweir break;
1259cdf0e10cSrcweir
1260cdf0e10cSrcweir case RES_POOLCHR_HTML_EMPHASIS:
1261cdf0e10cSrcweir case RES_POOLCHR_HTML_CITIATION:
1262cdf0e10cSrcweir case RES_POOLCHR_HTML_VARIABLE:
1263cdf0e10cSrcweir {
1264cdf0e10cSrcweir SetAllScriptItem( aSet, SvxPostureItem( ITALIC_NORMAL, RES_CHRATR_POSTURE) );
1265cdf0e10cSrcweir }
1266cdf0e10cSrcweir break;
1267cdf0e10cSrcweir
1268cdf0e10cSrcweir case RES_POOLCHR_IDX_MAIN_ENTRY:
1269cdf0e10cSrcweir case RES_POOLCHR_HTML_STRONG:
1270cdf0e10cSrcweir {
1271cdf0e10cSrcweir SetAllScriptItem( aSet, SvxWeightItem( WEIGHT_BOLD, RES_CHRATR_WEIGHT ));
1272cdf0e10cSrcweir }
1273cdf0e10cSrcweir break;
1274cdf0e10cSrcweir
1275cdf0e10cSrcweir case RES_POOLCHR_HTML_CODE:
1276cdf0e10cSrcweir case RES_POOLCHR_HTML_SAMPLE:
1277cdf0e10cSrcweir case RES_POOLCHR_HTML_KEYBOARD:
1278cdf0e10cSrcweir case RES_POOLCHR_HTML_TELETYPE:
1279cdf0e10cSrcweir {
1280cdf0e10cSrcweir ::lcl_SetDfltFont( DEFAULTFONT_FIXED, aSet );
1281cdf0e10cSrcweir }
1282cdf0e10cSrcweir break;
1283cdf0e10cSrcweir case RES_POOLCHR_VERT_NUM:
1284cdf0e10cSrcweir aSet.Put( SvxCharRotateItem( 900, sal_False, RES_CHRATR_ROTATE ) );
1285cdf0e10cSrcweir break;
1286cdf0e10cSrcweir //nichts besonderes
1287cdf0e10cSrcweir // case RES_POOLCHR_HTML_DEFINSTANCE:
1288cdf0e10cSrcweir // break;
1289cdf0e10cSrcweir
1290cdf0e10cSrcweir
1291cdf0e10cSrcweir case RES_POOLFRM_FRAME:
1292cdf0e10cSrcweir {
1293cdf0e10cSrcweir if ( get(IDocumentSettingAccess::HTML_MODE) )
1294cdf0e10cSrcweir {
1295cdf0e10cSrcweir aSet.Put( SwFmtAnchor( FLY_AS_CHAR ));
1296cdf0e10cSrcweir aSet.Put( SwFmtVertOrient( 0, text::VertOrientation::LINE_CENTER, text::RelOrientation::PRINT_AREA ) );
1297cdf0e10cSrcweir aSet.Put( SwFmtSurround( SURROUND_NONE ) );
1298cdf0e10cSrcweir }
1299cdf0e10cSrcweir else
1300cdf0e10cSrcweir {
1301cdf0e10cSrcweir aSet.Put( SwFmtAnchor( FLY_AT_PARA ));
1302cdf0e10cSrcweir aSet.Put( SwFmtSurround( SURROUND_PARALLEL ) );
1303cdf0e10cSrcweir aSet.Put( SwFmtHoriOrient( 0, text::HoriOrientation::CENTER, text::RelOrientation::PRINT_AREA ) );
1304cdf0e10cSrcweir aSet.Put( SwFmtVertOrient( 0, text::VertOrientation::TOP, text::RelOrientation::PRINT_AREA ) );
1305cdf0e10cSrcweir Color aCol( COL_BLACK );
1306cdf0e10cSrcweir SvxBorderLine aLine( &aCol, DEF_LINE_WIDTH_0 );
1307cdf0e10cSrcweir SvxBoxItem aBox( RES_BOX );
1308cdf0e10cSrcweir aBox.SetLine( &aLine, BOX_LINE_TOP );
1309cdf0e10cSrcweir aBox.SetLine( &aLine, BOX_LINE_BOTTOM );
1310cdf0e10cSrcweir aBox.SetLine( &aLine, BOX_LINE_LEFT );
1311cdf0e10cSrcweir aBox.SetLine( &aLine, BOX_LINE_RIGHT );
1312cdf0e10cSrcweir aBox.SetDistance( 85 );
1313cdf0e10cSrcweir aSet.Put( aBox );
1314cdf0e10cSrcweir aSet.Put( SvxLRSpaceItem( 114, 114, 0, 0, RES_LR_SPACE ) );
1315cdf0e10cSrcweir aSet.Put( SvxULSpaceItem( 114, 114, RES_UL_SPACE ) );
1316cdf0e10cSrcweir }
131764b14621SArmin Le Grand
131864b14621SArmin Le Grand //UUUU for styles of FlyFrames do not set the FillStyle to make it a derived attribute
131964b14621SArmin Le Grand aSet.ClearItem(XATTR_FILLSTYLE);
1320cdf0e10cSrcweir }
1321cdf0e10cSrcweir break;
1322cdf0e10cSrcweir case RES_POOLFRM_GRAPHIC:
1323cdf0e10cSrcweir case RES_POOLFRM_OLE:
1324cdf0e10cSrcweir {
1325cdf0e10cSrcweir aSet.Put( SwFmtAnchor( FLY_AT_PARA ));
1326cdf0e10cSrcweir aSet.Put( SwFmtHoriOrient( 0, text::HoriOrientation::CENTER, text::RelOrientation::FRAME ));
1327cdf0e10cSrcweir aSet.Put( SwFmtVertOrient( 0, text::VertOrientation::TOP, text::RelOrientation::FRAME ));
1328cdf0e10cSrcweir aSet.Put( SwFmtSurround( SURROUND_NONE ));
1329cdf0e10cSrcweir }
1330cdf0e10cSrcweir break;
1331cdf0e10cSrcweir case RES_POOLFRM_FORMEL:
1332cdf0e10cSrcweir {
1333cdf0e10cSrcweir aSet.Put( SwFmtAnchor( FLY_AS_CHAR ) );
1334cdf0e10cSrcweir aSet.Put( SwFmtVertOrient( 0, text::VertOrientation::CHAR_CENTER, text::RelOrientation::FRAME ) );
1335cdf0e10cSrcweir aSet.Put( SvxLRSpaceItem( 114, 114, 0, 0, RES_LR_SPACE ) );
1336cdf0e10cSrcweir }
1337cdf0e10cSrcweir break;
1338cdf0e10cSrcweir case RES_POOLFRM_MARGINAL:
1339cdf0e10cSrcweir {
1340cdf0e10cSrcweir aSet.Put( SwFmtAnchor( FLY_AT_PARA ));
1341cdf0e10cSrcweir aSet.Put( SwFmtHoriOrient( 0, text::HoriOrientation::LEFT, text::RelOrientation::FRAME ));
1342cdf0e10cSrcweir aSet.Put( SwFmtVertOrient( 0, text::VertOrientation::TOP, text::RelOrientation::FRAME ));
1343cdf0e10cSrcweir aSet.Put( SwFmtSurround( SURROUND_PARALLEL ));
1344cdf0e10cSrcweir // Breite 3.5 centimeter vorgegeben, als Hoehe nur den
1345cdf0e10cSrcweir // min. Wert benutzen
1346cdf0e10cSrcweir aSet.Put( SwFmtFrmSize( ATT_MIN_SIZE,
1347cdf0e10cSrcweir GetMetricVal( CM_1 ) * 3 + GetMetricVal( CM_05 ),
1348cdf0e10cSrcweir MM50 ));
1349cdf0e10cSrcweir }
1350cdf0e10cSrcweir break;
1351cdf0e10cSrcweir case RES_POOLFRM_WATERSIGN:
1352cdf0e10cSrcweir {
1353cdf0e10cSrcweir aSet.Put( SwFmtAnchor( FLY_AT_PAGE ));
1354cdf0e10cSrcweir aSet.Put( SwFmtHoriOrient( 0, text::HoriOrientation::CENTER, text::RelOrientation::FRAME ));
1355cdf0e10cSrcweir aSet.Put( SwFmtVertOrient( 0, text::VertOrientation::CENTER, text::RelOrientation::FRAME ));
1356cdf0e10cSrcweir aSet.Put( SvxOpaqueItem( sal_False ));
1357cdf0e10cSrcweir aSet.Put( SwFmtSurround( SURROUND_THROUGHT ));
1358cdf0e10cSrcweir }
1359cdf0e10cSrcweir break;
1360cdf0e10cSrcweir
1361cdf0e10cSrcweir case RES_POOLFRM_LABEL:
1362cdf0e10cSrcweir {
1363cdf0e10cSrcweir aSet.Put( SwFmtAnchor( FLY_AS_CHAR ) );
1364cdf0e10cSrcweir aSet.Put( SwFmtVertOrient( 0, text::VertOrientation::TOP, text::RelOrientation::FRAME ) );
1365cdf0e10cSrcweir aSet.Put( SvxLRSpaceItem( 114, 114, 0, 0, RES_LR_SPACE ) );
1366cdf0e10cSrcweir
1367cdf0e10cSrcweir SvxProtectItem aProtect( RES_PROTECT );
1368cdf0e10cSrcweir aProtect.SetSizeProtect( sal_True );
1369cdf0e10cSrcweir aProtect.SetPosProtect( sal_True );
1370cdf0e10cSrcweir aSet.Put( aProtect );
1371cdf0e10cSrcweir
1372cdf0e10cSrcweir pNewFmt->SetAutoUpdateFmt( sal_True );
1373cdf0e10cSrcweir }
1374cdf0e10cSrcweir break;
1375cdf0e10cSrcweir }
1376cdf0e10cSrcweir if( aSet.Count() )
1377cdf0e10cSrcweir {
1378cdf0e10cSrcweir {
1379cdf0e10cSrcweir pNewFmt->SetFmtAttr( aSet );
1380cdf0e10cSrcweir // JP 31.08.95: erzeugen einer PoolVorlage ist keine Modifikation
1381cdf0e10cSrcweir // (Bug: 18545)
1382cdf0e10cSrcweir // SetModified();
1383cdf0e10cSrcweir }
1384cdf0e10cSrcweir }
1385cdf0e10cSrcweir return pNewFmt;
1386cdf0e10cSrcweir }
1387cdf0e10cSrcweir
GetFrmFmtFromPool(sal_uInt16 nId)1388cdf0e10cSrcweir SwFrmFmt* SwDoc::GetFrmFmtFromPool( sal_uInt16 nId )
1389cdf0e10cSrcweir {
1390cdf0e10cSrcweir return (SwFrmFmt*)GetFmtFromPool( nId );
1391cdf0e10cSrcweir }
1392cdf0e10cSrcweir
GetCharFmtFromPool(sal_uInt16 nId)1393cdf0e10cSrcweir SwCharFmt* SwDoc::GetCharFmtFromPool( sal_uInt16 nId )
1394cdf0e10cSrcweir {
1395cdf0e10cSrcweir return (SwCharFmt*)GetFmtFromPool( nId );
1396cdf0e10cSrcweir }
1397cdf0e10cSrcweir
1398cdf0e10cSrcweir // pruefe, ob diese "Auto-Collection" in Dokument schon/noch
1399cdf0e10cSrcweir // benutzt wird
IsPoolFmtUsed(sal_uInt16 nId) const1400cdf0e10cSrcweir bool SwDoc::IsPoolFmtUsed( sal_uInt16 nId ) const
1401cdf0e10cSrcweir {
1402cdf0e10cSrcweir SwFmt *pNewFmt = 0;
1403cdf0e10cSrcweir const SvPtrarr* pArray[ 2 ];
1404cdf0e10cSrcweir sal_uInt16 nArrCnt = 1;
1405cdf0e10cSrcweir sal_Bool bFnd = sal_True;
1406cdf0e10cSrcweir
1407cdf0e10cSrcweir if( RES_POOLCHR_BEGIN <= nId && nId < RES_POOLCHR_END )
1408cdf0e10cSrcweir {
1409cdf0e10cSrcweir pArray[0] = pCharFmtTbl;
1410cdf0e10cSrcweir }
1411cdf0e10cSrcweir if( RES_POOLFRM_BEGIN <= nId && nId < RES_POOLFRM_END )
1412cdf0e10cSrcweir {
1413cdf0e10cSrcweir pArray[0] = pFrmFmtTbl;
1414cdf0e10cSrcweir pArray[1] = pSpzFrmFmtTbl;
1415cdf0e10cSrcweir nArrCnt = 2;
1416cdf0e10cSrcweir }
1417cdf0e10cSrcweir else
1418cdf0e10cSrcweir {
1419*870262e3SDon Lewis ASSERT( sal_False, "<SwDoc::IsPoolFmtUsed(..)> - unknown page pool ID" );
1420cdf0e10cSrcweir bFnd = sal_False;
1421cdf0e10cSrcweir }
1422cdf0e10cSrcweir
1423cdf0e10cSrcweir if( bFnd )
1424cdf0e10cSrcweir {
1425cdf0e10cSrcweir bFnd = sal_False;
1426cdf0e10cSrcweir while( nArrCnt-- && !bFnd )
1427cdf0e10cSrcweir for( sal_uInt16 n = 0; !bFnd && n < (*pArray[nArrCnt]).Count(); ++n )
1428cdf0e10cSrcweir if( nId == ( pNewFmt = (SwFmt*)(*pArray[ nArrCnt ] )[ n ] )->
1429cdf0e10cSrcweir GetPoolFmtId() )
1430cdf0e10cSrcweir bFnd = sal_True;
1431cdf0e10cSrcweir }
1432cdf0e10cSrcweir
1433cdf0e10cSrcweir // nicht gefunden oder keine Abhaengigen ?
1434cdf0e10cSrcweir if( bFnd && pNewFmt->GetDepends() )
1435cdf0e10cSrcweir {
1436cdf0e10cSrcweir // dann teste mal, ob es abhaengige ContentNodes im Nodes Array gibt
1437cdf0e10cSrcweir // (auch indirekte fuer Format-Ableitung! )
1438cdf0e10cSrcweir SwAutoFmtGetDocNode aGetHt( &GetNodes() );
1439cdf0e10cSrcweir bFnd = !pNewFmt->GetInfo( aGetHt );
1440cdf0e10cSrcweir }
1441cdf0e10cSrcweir else
1442cdf0e10cSrcweir bFnd = sal_False;
1443cdf0e10cSrcweir
1444cdf0e10cSrcweir return bFnd;
1445cdf0e10cSrcweir }
1446cdf0e10cSrcweir
1447cdf0e10cSrcweir
1448cdf0e10cSrcweir
lcl_PutStdPageSizeIntoItemSet(SwDoc * pDoc,SfxItemSet & rSet)1449ac591d86SOliver-Rainer Wittmann void lcl_PutStdPageSizeIntoItemSet( SwDoc* pDoc, SfxItemSet& rSet )
1450cdf0e10cSrcweir {
1451cdf0e10cSrcweir SwPageDesc* pStdPgDsc = pDoc->GetPageDescFromPool( RES_POOLPAGE_STANDARD );
1452cdf0e10cSrcweir SwFmtFrmSize aFrmSz( pStdPgDsc->GetMaster().GetFrmSize() );
1453cdf0e10cSrcweir if( pStdPgDsc->GetLandscape() )
1454cdf0e10cSrcweir {
1455cdf0e10cSrcweir SwTwips nTmp = aFrmSz.GetHeight();
1456cdf0e10cSrcweir aFrmSz.SetHeight( aFrmSz.GetWidth() );
1457cdf0e10cSrcweir aFrmSz.SetWidth( nTmp );
1458cdf0e10cSrcweir }
1459cdf0e10cSrcweir rSet.Put( aFrmSz );
1460cdf0e10cSrcweir }
1461cdf0e10cSrcweir
GetPageDescFromPool(sal_uInt16 nId,bool bRegardLanguage)1462cdf0e10cSrcweir SwPageDesc* SwDoc::GetPageDescFromPool( sal_uInt16 nId, bool bRegardLanguage )
1463cdf0e10cSrcweir {
1464cdf0e10cSrcweir ASSERT( RES_POOLPAGE_BEGIN <= nId && nId < RES_POOLPAGE_END,
1465cdf0e10cSrcweir "Falsche AutoFormat-Id" );
1466cdf0e10cSrcweir
1467ac591d86SOliver-Rainer Wittmann for( sal_uInt16 n = 0; n < aPageDescs.Count(); ++n )
1468cdf0e10cSrcweir {
1469ac591d86SOliver-Rainer Wittmann if ( nId == aPageDescs[ n ]->GetPoolFmtId() )
1470ac591d86SOliver-Rainer Wittmann {
1471ac591d86SOliver-Rainer Wittmann return aPageDescs[ n ];
1472ac591d86SOliver-Rainer Wittmann }
1473cdf0e10cSrcweir }
1474cdf0e10cSrcweir
1475cdf0e10cSrcweir if( RES_POOLPAGE_BEGIN > nId || nId >= RES_POOLPAGE_END )
1476cdf0e10cSrcweir {
1477ac591d86SOliver-Rainer Wittmann // unknown page pool ID
1478*870262e3SDon Lewis ASSERT( sal_False, "<SwDoc::GetPageDescFromPool(..)> - unknown page pool ID" );
1479cdf0e10cSrcweir nId = RES_POOLPAGE_BEGIN;
1480cdf0e10cSrcweir }
1481cdf0e10cSrcweir
1482ac591d86SOliver-Rainer Wittmann SwPageDesc* pNewPgDsc = 0;
1483cdf0e10cSrcweir {
1484ac591d86SOliver-Rainer Wittmann const ResId aResId( sal_uInt32(RC_POOLPAGEDESC_BEGIN + nId - RES_POOLPAGE_BEGIN), *pSwResMgr );
1485ac591d86SOliver-Rainer Wittmann const String aNm( aResId );
1486ac591d86SOliver-Rainer Wittmann const bool bIsModified = IsModified();
1487cdf0e10cSrcweir
1488ac591d86SOliver-Rainer Wittmann sal_uInt16 nPageDescIdx = 0;
1489cdf0e10cSrcweir {
1490cdf0e10cSrcweir ::sw::UndoGuard const undoGuard(GetIDocumentUndoRedo());
1491ac591d86SOliver-Rainer Wittmann nPageDescIdx = MakePageDesc( aNm, 0, bRegardLanguage );
1492cdf0e10cSrcweir }
1493cdf0e10cSrcweir
1494ac591d86SOliver-Rainer Wittmann pNewPgDsc = aPageDescs[ nPageDescIdx ];
1495cdf0e10cSrcweir pNewPgDsc->SetPoolFmtId( nId );
1496cdf0e10cSrcweir if ( !bIsModified )
1497ac591d86SOliver-Rainer Wittmann {
1498cdf0e10cSrcweir ResetModified();
1499cdf0e10cSrcweir }
1500ac591d86SOliver-Rainer Wittmann }
1501cdf0e10cSrcweir
1502cdf0e10cSrcweir SvxLRSpaceItem aLR( RES_LR_SPACE );
1503ac591d86SOliver-Rainer Wittmann {
1504cdf0e10cSrcweir aLR.SetLeft( GetMetricVal( CM_1 ) * 2 );
1505cdf0e10cSrcweir aLR.SetRight( aLR.GetLeft() );
1506ac591d86SOliver-Rainer Wittmann }
1507cdf0e10cSrcweir SvxULSpaceItem aUL( RES_UL_SPACE );
1508ac591d86SOliver-Rainer Wittmann {
1509cdf0e10cSrcweir aUL.SetUpper( (sal_uInt16)aLR.GetLeft() );
1510cdf0e10cSrcweir aUL.SetLower( (sal_uInt16)aLR.GetLeft() );
1511ac591d86SOliver-Rainer Wittmann }
1512cdf0e10cSrcweir
1513cdf0e10cSrcweir SwAttrSet aSet( GetAttrPool(), aPgFrmFmtSetRange );
1514ac591d86SOliver-Rainer Wittmann bool bSetLeft = true;
1515cdf0e10cSrcweir
1516cdf0e10cSrcweir switch( nId )
1517cdf0e10cSrcweir {
1518ac591d86SOliver-Rainer Wittmann case RES_POOLPAGE_STANDARD: // "Default"
1519cdf0e10cSrcweir {
1520cdf0e10cSrcweir aSet.Put( aLR );
1521cdf0e10cSrcweir aSet.Put( aUL );
1522cdf0e10cSrcweir if( pNewPgDsc )
1523cdf0e10cSrcweir pNewPgDsc->SetUseOn( nsUseOnPage::PD_ALL );
1524cdf0e10cSrcweir }
1525cdf0e10cSrcweir break;
1526cdf0e10cSrcweir
1527ac591d86SOliver-Rainer Wittmann case RES_POOLPAGE_FIRST: // "First Page"
1528ac591d86SOliver-Rainer Wittmann case RES_POOLPAGE_REGISTER: // "Index"
1529cdf0e10cSrcweir {
1530ac591d86SOliver-Rainer Wittmann lcl_PutStdPageSizeIntoItemSet( this, aSet );
1531cdf0e10cSrcweir aSet.Put( aLR );
1532cdf0e10cSrcweir aSet.Put( aUL );
1533cdf0e10cSrcweir if( pNewPgDsc )
1534cdf0e10cSrcweir {
1535cdf0e10cSrcweir pNewPgDsc->SetUseOn( nsUseOnPage::PD_ALL );
1536cdf0e10cSrcweir if( RES_POOLPAGE_FIRST == nId )
1537cdf0e10cSrcweir pNewPgDsc->SetFollow( GetPageDescFromPool( RES_POOLPAGE_STANDARD ));
1538cdf0e10cSrcweir }
1539cdf0e10cSrcweir }
1540cdf0e10cSrcweir break;
1541cdf0e10cSrcweir
1542ac591d86SOliver-Rainer Wittmann case RES_POOLPAGE_LEFT: // "Left Page"
1543cdf0e10cSrcweir {
1544ac591d86SOliver-Rainer Wittmann lcl_PutStdPageSizeIntoItemSet( this, aSet );
1545cdf0e10cSrcweir aSet.Put( aLR );
1546cdf0e10cSrcweir aSet.Put( aUL );
1547ac591d86SOliver-Rainer Wittmann bSetLeft = false;
1548cdf0e10cSrcweir if( pNewPgDsc )
1549cdf0e10cSrcweir pNewPgDsc->SetUseOn( nsUseOnPage::PD_LEFT );
1550cdf0e10cSrcweir }
1551cdf0e10cSrcweir break;
1552ac591d86SOliver-Rainer Wittmann case RES_POOLPAGE_RIGHT: // "Right Page"
1553cdf0e10cSrcweir {
1554ac591d86SOliver-Rainer Wittmann lcl_PutStdPageSizeIntoItemSet( this, aSet );
1555cdf0e10cSrcweir aSet.Put( aLR );
1556cdf0e10cSrcweir aSet.Put( aUL );
1557ac591d86SOliver-Rainer Wittmann bSetLeft = false;
1558cdf0e10cSrcweir if( pNewPgDsc )
1559cdf0e10cSrcweir pNewPgDsc->SetUseOn( nsUseOnPage::PD_RIGHT );
1560cdf0e10cSrcweir }
1561cdf0e10cSrcweir break;
1562cdf0e10cSrcweir
1563ac591d86SOliver-Rainer Wittmann case RES_POOLPAGE_JAKET: // "Envelope"
1564cdf0e10cSrcweir {
1565cdf0e10cSrcweir Size aPSize( SvxPaperInfo::GetPaperSize( PAPER_ENV_C65 ) );
1566cdf0e10cSrcweir LandscapeSwap( aPSize );
1567cdf0e10cSrcweir aSet.Put( SwFmtFrmSize( ATT_FIX_SIZE, aPSize.Width(), aPSize.Height() ));
1568ac591d86SOliver-Rainer Wittmann aLR.SetLeft( 0 ); aLR.SetRight( 0 );
1569ac591d86SOliver-Rainer Wittmann aUL.SetUpper( 0 ); aUL.SetLower( 0 );
1570cdf0e10cSrcweir aSet.Put( aLR );
1571cdf0e10cSrcweir aSet.Put( aUL );
1572cdf0e10cSrcweir
1573cdf0e10cSrcweir if( pNewPgDsc )
1574cdf0e10cSrcweir {
1575cdf0e10cSrcweir pNewPgDsc->SetUseOn( nsUseOnPage::PD_ALL );
1576cdf0e10cSrcweir pNewPgDsc->SetLandscape( sal_True );
1577cdf0e10cSrcweir }
1578cdf0e10cSrcweir }
1579cdf0e10cSrcweir break;
1580cdf0e10cSrcweir
1581ac591d86SOliver-Rainer Wittmann case RES_POOLPAGE_HTML: // "HTML"
1582cdf0e10cSrcweir {
1583ac591d86SOliver-Rainer Wittmann lcl_PutStdPageSizeIntoItemSet( this, aSet );
1584cdf0e10cSrcweir aLR.SetRight( GetMetricVal( CM_1 ));
1585cdf0e10cSrcweir aUL.SetUpper( (sal_uInt16)aLR.GetRight() );
1586cdf0e10cSrcweir aUL.SetLower( (sal_uInt16)aLR.GetRight() );
1587cdf0e10cSrcweir aSet.Put( aLR );
1588cdf0e10cSrcweir aSet.Put( aUL );
1589cdf0e10cSrcweir
1590cdf0e10cSrcweir if( pNewPgDsc )
1591cdf0e10cSrcweir pNewPgDsc->SetUseOn( nsUseOnPage::PD_ALL );
1592cdf0e10cSrcweir }
1593cdf0e10cSrcweir break;
1594ac591d86SOliver-Rainer Wittmann
1595ac591d86SOliver-Rainer Wittmann case RES_POOLPAGE_FOOTNOTE: // "Footnote"
1596ac591d86SOliver-Rainer Wittmann case RES_POOLPAGE_ENDNOTE: // "Endnote"
1597cdf0e10cSrcweir {
1598ac591d86SOliver-Rainer Wittmann lcl_PutStdPageSizeIntoItemSet( this, aSet );
1599cdf0e10cSrcweir aSet.Put( aLR );
1600cdf0e10cSrcweir aSet.Put( aUL );
1601cdf0e10cSrcweir if( pNewPgDsc )
1602cdf0e10cSrcweir pNewPgDsc->SetUseOn( nsUseOnPage::PD_ALL );
1603cdf0e10cSrcweir SwPageFtnInfo aInf( pNewPgDsc->GetFtnInfo() );
1604cdf0e10cSrcweir aInf.SetLineWidth( 0 );
1605cdf0e10cSrcweir aInf.SetTopDist( 0 );
1606cdf0e10cSrcweir aInf.SetBottomDist( 0 );
1607cdf0e10cSrcweir pNewPgDsc->SetFtnInfo( aInf );
1608cdf0e10cSrcweir }
1609cdf0e10cSrcweir break;
1610ac591d86SOliver-Rainer Wittmann
1611ac591d86SOliver-Rainer Wittmann case RES_POOLPAGE_LANDSCAPE: // "Landscape"
1612cdf0e10cSrcweir {
1613cdf0e10cSrcweir SwPageDesc* pStdPgDsc = this->GetPageDescFromPool( RES_POOLPAGE_STANDARD );
1614cdf0e10cSrcweir SwFmtFrmSize aFrmSz( pStdPgDsc->GetMaster().GetFrmSize() );
1615ac591d86SOliver-Rainer Wittmann if ( !pStdPgDsc->GetLandscape() )
1616ac591d86SOliver-Rainer Wittmann {
1617ac591d86SOliver-Rainer Wittmann const SwTwips nTmp = aFrmSz.GetHeight();
1618cdf0e10cSrcweir aFrmSz.SetHeight( aFrmSz.GetWidth() );
1619cdf0e10cSrcweir aFrmSz.SetWidth( nTmp );
1620ac591d86SOliver-Rainer Wittmann }
1621cdf0e10cSrcweir aSet.Put( aFrmSz );
1622cdf0e10cSrcweir aSet.Put( aLR );
1623cdf0e10cSrcweir aSet.Put( aUL );
1624cdf0e10cSrcweir if( pNewPgDsc )
1625cdf0e10cSrcweir {
1626cdf0e10cSrcweir pNewPgDsc->SetUseOn( nsUseOnPage::PD_ALL );
1627cdf0e10cSrcweir pNewPgDsc->SetLandscape( sal_True );
1628cdf0e10cSrcweir }
1629cdf0e10cSrcweir }
1630cdf0e10cSrcweir break;
1631cdf0e10cSrcweir
1632cdf0e10cSrcweir }
1633cdf0e10cSrcweir
1634cdf0e10cSrcweir if( aSet.Count() )
1635cdf0e10cSrcweir {
1636cdf0e10cSrcweir if( bSetLeft )
1637cdf0e10cSrcweir pNewPgDsc->GetLeft().SetFmtAttr( aSet );
1638cdf0e10cSrcweir pNewPgDsc->GetMaster().SetFmtAttr( aSet );
1639cdf0e10cSrcweir }
1640cdf0e10cSrcweir return pNewPgDsc;
1641cdf0e10cSrcweir }
1642cdf0e10cSrcweir
GetNumRuleFromPool(sal_uInt16 nId)1643cdf0e10cSrcweir SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
1644cdf0e10cSrcweir {
1645cdf0e10cSrcweir ASSERT( RES_POOLNUMRULE_BEGIN <= nId && nId < RES_POOLNUMRULE_END,
1646cdf0e10cSrcweir "Falsche AutoFormat-Id" );
1647cdf0e10cSrcweir
1648cdf0e10cSrcweir SwNumRule* pNewRule;
1649cdf0e10cSrcweir sal_uInt16 n;
1650cdf0e10cSrcweir
1651cdf0e10cSrcweir for( n = 0; n < GetNumRuleTbl().Count(); ++n )
1652cdf0e10cSrcweir if( nId == ( pNewRule = GetNumRuleTbl()[ n ] )->GetPoolFmtId() )
1653cdf0e10cSrcweir {
1654cdf0e10cSrcweir return pNewRule;
1655cdf0e10cSrcweir }
1656cdf0e10cSrcweir
1657cdf0e10cSrcweir // Fehlerfall: unbekannte Poolvorlage
1658cdf0e10cSrcweir if( RES_POOLNUMRULE_BEGIN > nId || nId >= RES_POOLNUMRULE_END )
1659cdf0e10cSrcweir {
1660*870262e3SDon Lewis ASSERT( sal_False, "<SwDoc::GetNumRuleFromPool(..)> - unknown page pool ID" );
1661cdf0e10cSrcweir nId = RES_POOLNUMRULE_BEGIN;
1662cdf0e10cSrcweir }
1663cdf0e10cSrcweir
1664cdf0e10cSrcweir ResId aResId( sal_uInt32(RC_POOLNUMRULE_BEGIN + nId - RES_POOLNUMRULE_BEGIN), *pSwResMgr );
1665cdf0e10cSrcweir String aNm( aResId );
1666cdf0e10cSrcweir
1667cdf0e10cSrcweir SwCharFmt *pNumCFmt = 0, *pBullCFmt = 0;
1668cdf0e10cSrcweir
1669cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1670cdf0e10cSrcweir const SvxNumberFormat::SvxNumPositionAndSpaceMode eNumberFormatPositionAndSpaceMode
1671cdf0e10cSrcweir // --> OD 2008-06-06 #i89178#
1672cdf0e10cSrcweir = numfunc::GetDefaultPositionAndSpaceMode();
1673cdf0e10cSrcweir // <--
1674cdf0e10cSrcweir // <--
1675cdf0e10cSrcweir {
1676cdf0e10cSrcweir sal_Bool bIsModified = IsModified();
1677cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1678cdf0e10cSrcweir n = MakeNumRule( aNm, 0, sal_False, eNumberFormatPositionAndSpaceMode );
1679cdf0e10cSrcweir // <--
1680cdf0e10cSrcweir pNewRule = GetNumRuleTbl()[ n ];
1681cdf0e10cSrcweir pNewRule->SetPoolFmtId( nId );
1682cdf0e10cSrcweir pNewRule->SetAutoRule( sal_False );
1683cdf0e10cSrcweir
1684cdf0e10cSrcweir if( RES_POOLNUMRULE_NUM1 <= nId && nId <= RES_POOLNUMRULE_NUM5 )
1685cdf0e10cSrcweir pNumCFmt = GetCharFmtFromPool( RES_POOLCHR_NUM_LEVEL );
1686cdf0e10cSrcweir
1687cdf0e10cSrcweir if( ( RES_POOLNUMRULE_BUL1 <= nId && nId <= RES_POOLNUMRULE_BUL5 ) ||
1688cdf0e10cSrcweir RES_POOLNUMRULE_NUM5 == nId )
1689cdf0e10cSrcweir pBullCFmt = GetCharFmtFromPool( RES_POOLCHR_NUM_LEVEL );
1690cdf0e10cSrcweir
1691cdf0e10cSrcweir if( !bIsModified )
1692cdf0e10cSrcweir ResetModified();
1693cdf0e10cSrcweir }
1694cdf0e10cSrcweir
1695cdf0e10cSrcweir switch( nId )
1696cdf0e10cSrcweir {
1697cdf0e10cSrcweir case RES_POOLNUMRULE_NUM1:
1698cdf0e10cSrcweir {
1699cdf0e10cSrcweir SwNumFmt aFmt;
1700cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1701cdf0e10cSrcweir aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
1702cdf0e10cSrcweir // <--
1703cdf0e10cSrcweir aFmt.SetNumberingType(SVX_NUM_ARABIC);
1704cdf0e10cSrcweir aFmt.SetCharFmt( pNumCFmt );
1705cdf0e10cSrcweir aFmt.SetStart( 1 );
1706cdf0e10cSrcweir aFmt.SetIncludeUpperLevels( 1 );
1707cdf0e10cSrcweir aFmt.SetSuffix( aDotStr );
1708cdf0e10cSrcweir
1709cdf0e10cSrcweir static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
1710cdf0e10cSrcweir {
1711cdf0e10cSrcweir // cm: 0,5 1,0 1,5 2,0 2,5 3,0 3,5 4,0 4,5 5,0
1712cdf0e10cSrcweir 283, 567, 850, 1134, 1417, 1701, 1984, 2268, 2551, 2835
1713cdf0e10cSrcweir };
1714cdf0e10cSrcweir #ifdef USE_MEASUREMENT
1715cdf0e10cSrcweir static const sal_uInt16 aAbsSpaceInch[ MAXLEVEL ] =
1716cdf0e10cSrcweir {
1717cdf0e10cSrcweir 283, 567, 850, 1134, 1417, 1701, 1984, 2268, 2551, 2835
1718cdf0e10cSrcweir };
1719cdf0e10cSrcweir const sal_uInt16* pArr = MEASURE_METRIC ==
1720cdf0e10cSrcweir SvtSysLocale().GetLocaleData().getMeasurementSystemEnum()
1721cdf0e10cSrcweir ? aAbsSpace
1722cdf0e10cSrcweir : aAbsSpaceInch;
1723cdf0e10cSrcweir #else
1724cdf0e10cSrcweir const sal_uInt16* pArr = aAbsSpace;
1725cdf0e10cSrcweir #endif
1726cdf0e10cSrcweir
1727cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1728cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
1729cdf0e10cSrcweir {
1730cdf0e10cSrcweir aFmt.SetFirstLineOffset( - (*pArr) );
1731cdf0e10cSrcweir }
1732cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
1733cdf0e10cSrcweir {
1734cdf0e10cSrcweir aFmt.SetLabelFollowedBy( SvxNumberFormat::LISTTAB );
1735cdf0e10cSrcweir aFmt.SetFirstLineIndent( - (*pArr) );
1736cdf0e10cSrcweir }
1737cdf0e10cSrcweir // <--
1738cdf0e10cSrcweir for( n = 0; n < MAXLEVEL; ++n, ++pArr )
1739cdf0e10cSrcweir {
1740cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1741cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
1742cdf0e10cSrcweir {
1743cdf0e10cSrcweir aFmt.SetAbsLSpace( *pArr );
1744cdf0e10cSrcweir }
1745cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
1746cdf0e10cSrcweir {
1747cdf0e10cSrcweir aFmt.SetListtabPos( *pArr );
1748cdf0e10cSrcweir aFmt.SetIndentAt( *pArr );
1749cdf0e10cSrcweir }
1750cdf0e10cSrcweir // <--
1751cdf0e10cSrcweir pNewRule->Set( n, aFmt );
1752cdf0e10cSrcweir }
1753cdf0e10cSrcweir }
1754cdf0e10cSrcweir break;
1755cdf0e10cSrcweir
1756cdf0e10cSrcweir case RES_POOLNUMRULE_NUM2:
1757cdf0e10cSrcweir {
1758cdf0e10cSrcweir static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
1759cdf0e10cSrcweir {
1760cdf0e10cSrcweir 283, 283, 567, 709, // 0.50, 0.50, 1.00, 1.25
1761cdf0e10cSrcweir 850, 1021, 1304, 1474, // 1.50, 1.80, 2.30, 2.60
1762cdf0e10cSrcweir 1588, 1758 // 2.80, 3.10
1763cdf0e10cSrcweir };
1764cdf0e10cSrcweir
1765cdf0e10cSrcweir #ifdef USE_MEASUREMENT
1766cdf0e10cSrcweir static const sal_uInt16 aAbsSpaceInch[ MAXLEVEL ] =
1767cdf0e10cSrcweir {
1768cdf0e10cSrcweir 385, 385, 770, 963,
1769cdf0e10cSrcweir 1155, 1386, 1771, 2002,
1770cdf0e10cSrcweir 2156, 2387
1771cdf0e10cSrcweir };
1772cdf0e10cSrcweir
1773cdf0e10cSrcweir const sal_uInt16* pArr = MEASURE_METRIC ==
1774cdf0e10cSrcweir SvtSysLocale().GetLocaleData().getMeasurementSystemEnum()
1775cdf0e10cSrcweir ? aAbsSpace
1776cdf0e10cSrcweir : aAbsSpaceInch;
1777cdf0e10cSrcweir #else
1778cdf0e10cSrcweir const sal_uInt16* pArr = aAbsSpace;
1779cdf0e10cSrcweir #endif
1780cdf0e10cSrcweir SwNumFmt aFmt;
1781cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1782cdf0e10cSrcweir aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
1783cdf0e10cSrcweir // <--
1784cdf0e10cSrcweir aFmt.SetNumberingType(SVX_NUM_ARABIC);
1785cdf0e10cSrcweir aFmt.SetCharFmt( pNumCFmt );
1786cdf0e10cSrcweir aFmt.SetIncludeUpperLevels( 1 );
1787cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1788cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
1789cdf0e10cSrcweir {
1790cdf0e10cSrcweir aFmt.SetLabelFollowedBy( SvxNumberFormat::LISTTAB );
1791cdf0e10cSrcweir }
1792cdf0e10cSrcweir // <--
1793cdf0e10cSrcweir sal_uInt16 nSpace = 0;
1794cdf0e10cSrcweir for( n = 0; n < MAXLEVEL; ++n )
1795cdf0e10cSrcweir {
1796cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1797cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
1798cdf0e10cSrcweir {
1799cdf0e10cSrcweir aFmt.SetAbsLSpace( nSpace = nSpace + pArr[ n ] );
1800cdf0e10cSrcweir aFmt.SetFirstLineOffset( - pArr[ n ] );
1801cdf0e10cSrcweir }
1802cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
1803cdf0e10cSrcweir {
1804cdf0e10cSrcweir aFmt.SetListtabPos( nSpace = nSpace + pArr[ n ] );
1805cdf0e10cSrcweir aFmt.SetIndentAt( nSpace );
1806cdf0e10cSrcweir aFmt.SetFirstLineIndent( - pArr[ n ] );
1807cdf0e10cSrcweir }
1808cdf0e10cSrcweir // <--
1809cdf0e10cSrcweir aFmt.SetStart( n+1 );
1810cdf0e10cSrcweir pNewRule->Set( n, aFmt );
1811cdf0e10cSrcweir }
1812cdf0e10cSrcweir }
1813cdf0e10cSrcweir break;
1814cdf0e10cSrcweir case RES_POOLNUMRULE_NUM3:
1815cdf0e10cSrcweir {
1816cdf0e10cSrcweir SwNumFmt aFmt;
1817cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1818cdf0e10cSrcweir aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
1819cdf0e10cSrcweir // <--
1820cdf0e10cSrcweir aFmt.SetNumberingType(SVX_NUM_ARABIC);
1821cdf0e10cSrcweir aFmt.SetCharFmt( pNumCFmt );
1822cdf0e10cSrcweir aFmt.SetIncludeUpperLevels( 1 );
1823cdf0e10cSrcweir
1824cdf0e10cSrcweir sal_uInt16 nOffs = GetMetricVal( CM_1 ) * 3;
1825cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1826cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
1827cdf0e10cSrcweir {
1828cdf0e10cSrcweir aFmt.SetFirstLineOffset( - nOffs );
1829cdf0e10cSrcweir }
1830cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
1831cdf0e10cSrcweir {
1832cdf0e10cSrcweir aFmt.SetLabelFollowedBy( SvxNumberFormat::LISTTAB );
1833cdf0e10cSrcweir aFmt.SetFirstLineIndent( - nOffs );
1834cdf0e10cSrcweir }
1835cdf0e10cSrcweir // <--
1836cdf0e10cSrcweir
1837cdf0e10cSrcweir for( n = 0; n < MAXLEVEL; ++n )
1838cdf0e10cSrcweir {
1839cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1840cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
1841cdf0e10cSrcweir {
1842cdf0e10cSrcweir aFmt.SetAbsLSpace( (n+1) * nOffs );
1843cdf0e10cSrcweir }
1844cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
1845cdf0e10cSrcweir {
1846cdf0e10cSrcweir aFmt.SetListtabPos( (n+1) * nOffs );
1847cdf0e10cSrcweir aFmt.SetIndentAt( (n+1) * nOffs );
1848cdf0e10cSrcweir }
1849cdf0e10cSrcweir // <--
1850cdf0e10cSrcweir aFmt.SetStart( n+1 );
1851cdf0e10cSrcweir pNewRule->Set( n, aFmt );
1852cdf0e10cSrcweir }
1853cdf0e10cSrcweir }
1854cdf0e10cSrcweir break;
1855cdf0e10cSrcweir case RES_POOLNUMRULE_NUM4:
1856cdf0e10cSrcweir {
1857cdf0e10cSrcweir SwNumFmt aFmt;
1858cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1859cdf0e10cSrcweir aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
1860cdf0e10cSrcweir // <--
1861cdf0e10cSrcweir aFmt.SetNumberingType(SVX_NUM_ROMAN_UPPER);
1862cdf0e10cSrcweir aFmt.SetCharFmt( pNumCFmt );
1863cdf0e10cSrcweir aFmt.SetIncludeUpperLevels( 1 );
1864cdf0e10cSrcweir aFmt.SetSuffix( aDotStr );
1865cdf0e10cSrcweir
1866cdf0e10cSrcweir static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
1867cdf0e10cSrcweir {
1868cdf0e10cSrcweir // cm: 0,5 1,0 1,5 2,0 2,5 3,0 3,5 4,0 4,5 5,0
1869cdf0e10cSrcweir 283, 567, 850, 1134, 1417, 1701, 1984, 2268, 2551, 2835
1870cdf0e10cSrcweir };
1871cdf0e10cSrcweir #ifdef USE_MEASUREMENT
1872cdf0e10cSrcweir static const sal_uInt16 aAbsSpaceInch[ MAXLEVEL ] =
1873cdf0e10cSrcweir {
1874cdf0e10cSrcweir 283, 567, 850, 1134, 1417, 1701, 1984, 2268, 2551, 2835
1875cdf0e10cSrcweir };
1876cdf0e10cSrcweir const sal_uInt16* pArr = MEASURE_METRIC ==
1877cdf0e10cSrcweir SvtSysLocale().GetLocaleData().getMeasurementSystemEnum()
1878cdf0e10cSrcweir ? aAbsSpace
1879cdf0e10cSrcweir : aAbsSpaceInch;
1880cdf0e10cSrcweir #else
1881cdf0e10cSrcweir const sal_uInt16* pArr = aAbsSpace;
1882cdf0e10cSrcweir #endif
1883cdf0e10cSrcweir
1884cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1885cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
1886cdf0e10cSrcweir {
1887cdf0e10cSrcweir aFmt.SetFirstLineOffset( - (*pArr) );
1888cdf0e10cSrcweir }
1889cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
1890cdf0e10cSrcweir {
1891cdf0e10cSrcweir aFmt.SetLabelFollowedBy( SvxNumberFormat::SPACE );
1892cdf0e10cSrcweir aFmt.SetFirstLineIndent( - (*pArr) );
1893cdf0e10cSrcweir }
1894cdf0e10cSrcweir // <--
1895cdf0e10cSrcweir for( n = 0; n < MAXLEVEL; ++n, ++pArr )
1896cdf0e10cSrcweir {
1897cdf0e10cSrcweir aFmt.SetStart( n + 1 );
1898cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1899cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
1900cdf0e10cSrcweir {
1901cdf0e10cSrcweir aFmt.SetAbsLSpace( *pArr );
1902cdf0e10cSrcweir }
1903cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
1904cdf0e10cSrcweir {
1905cdf0e10cSrcweir aFmt.SetListtabPos( *pArr );
1906cdf0e10cSrcweir aFmt.SetIndentAt( *pArr );
1907cdf0e10cSrcweir }
1908cdf0e10cSrcweir // <--
1909cdf0e10cSrcweir pNewRule->Set( n, aFmt );
1910cdf0e10cSrcweir }
1911cdf0e10cSrcweir }
1912cdf0e10cSrcweir break;
1913cdf0e10cSrcweir case RES_POOLNUMRULE_NUM5:
1914cdf0e10cSrcweir {
1915cdf0e10cSrcweir // [ First, LSpace ]
1916cdf0e10cSrcweir static const sal_uInt16 aAbsSpace0to2[] =
1917cdf0e10cSrcweir {
1918cdf0e10cSrcweir 227, 227, // 0.40, 0.40,
1919cdf0e10cSrcweir 369, 624, // 0.65, 1.10,
1920cdf0e10cSrcweir 255, 879 // 0.45, 1.55
1921cdf0e10cSrcweir };
1922cdf0e10cSrcweir
1923cdf0e10cSrcweir #ifdef USE_MEASUREMENT
1924cdf0e10cSrcweir static const sal_uInt16 aAbsSpaceInch0to2[] =
1925cdf0e10cSrcweir {
1926cdf0e10cSrcweir 308, 308,
1927cdf0e10cSrcweir 501, 847,
1928cdf0e10cSrcweir 347, 1194
1929cdf0e10cSrcweir };
1930cdf0e10cSrcweir const sal_uInt16* pArr0to2 = MEASURE_METRIC ==
1931cdf0e10cSrcweir SvtSysLocale().GetLocaleData().getMeasurementSystemEnum()
1932cdf0e10cSrcweir ? aAbsSpace0to2
1933cdf0e10cSrcweir : aAbsSpaceInch0to2;
1934cdf0e10cSrcweir #else
1935cdf0e10cSrcweir const sal_uInt16* pArr0to2 = aAbsSpace0to2;
1936cdf0e10cSrcweir #endif
1937cdf0e10cSrcweir SwNumFmt aFmt;
1938cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1939cdf0e10cSrcweir aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
1940cdf0e10cSrcweir // <--
1941cdf0e10cSrcweir aFmt.SetNumberingType(SVX_NUM_ARABIC);
1942cdf0e10cSrcweir aFmt.SetStart( 1 );
1943cdf0e10cSrcweir aFmt.SetIncludeUpperLevels( 1 );
1944cdf0e10cSrcweir aFmt.SetSuffix( aDotStr );
1945cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1946cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
1947cdf0e10cSrcweir {
1948cdf0e10cSrcweir aFmt.SetLabelFollowedBy( SvxNumberFormat::LISTTAB );
1949cdf0e10cSrcweir }
1950cdf0e10cSrcweir // <--
1951cdf0e10cSrcweir
1952cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1953cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
1954cdf0e10cSrcweir {
1955cdf0e10cSrcweir aFmt.SetFirstLineOffset( -pArr0to2[0] ); // == 0.40 cm
1956cdf0e10cSrcweir aFmt.SetAbsLSpace( pArr0to2[1] ); // == 0.40 cm
1957cdf0e10cSrcweir }
1958cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
1959cdf0e10cSrcweir {
1960cdf0e10cSrcweir aFmt.SetFirstLineIndent( -pArr0to2[0] );
1961cdf0e10cSrcweir aFmt.SetListtabPos( pArr0to2[1] );
1962cdf0e10cSrcweir aFmt.SetIndentAt( pArr0to2[1] );
1963cdf0e10cSrcweir }
1964cdf0e10cSrcweir // <--
1965cdf0e10cSrcweir
1966cdf0e10cSrcweir aFmt.SetCharFmt( pNumCFmt );
1967cdf0e10cSrcweir pNewRule->Set( 0, aFmt );
1968cdf0e10cSrcweir
1969cdf0e10cSrcweir aFmt.SetIncludeUpperLevels( 2 );
1970cdf0e10cSrcweir aFmt.SetStart( 2 );
1971cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1972cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
1973cdf0e10cSrcweir {
1974cdf0e10cSrcweir aFmt.SetFirstLineOffset( -pArr0to2[2] ); // == 0.65 cm
1975cdf0e10cSrcweir aFmt.SetAbsLSpace( pArr0to2[3] ); // == 1.10 cm
1976cdf0e10cSrcweir }
1977cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
1978cdf0e10cSrcweir {
1979cdf0e10cSrcweir aFmt.SetFirstLineIndent( -pArr0to2[2] );
1980cdf0e10cSrcweir aFmt.SetListtabPos( pArr0to2[3] );
1981cdf0e10cSrcweir aFmt.SetIndentAt( pArr0to2[3] );
1982cdf0e10cSrcweir }
1983cdf0e10cSrcweir // <--
1984cdf0e10cSrcweir pNewRule->Set( 1, aFmt );
1985cdf0e10cSrcweir
1986cdf0e10cSrcweir aFmt.SetNumberingType(SVX_NUM_CHARS_LOWER_LETTER);
1987cdf0e10cSrcweir aFmt.SetSuffix( ')');
1988cdf0e10cSrcweir aFmt.SetIncludeUpperLevels( 1 );
1989cdf0e10cSrcweir aFmt.SetStart( 3 );
1990cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
1991cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
1992cdf0e10cSrcweir {
1993cdf0e10cSrcweir aFmt.SetFirstLineOffset( - pArr0to2[4] ); // == 0.45cm
1994cdf0e10cSrcweir aFmt.SetAbsLSpace( pArr0to2[5] ); // == 1.55 cm
1995cdf0e10cSrcweir }
1996cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
1997cdf0e10cSrcweir {
1998cdf0e10cSrcweir aFmt.SetFirstLineIndent( -pArr0to2[4] );
1999cdf0e10cSrcweir aFmt.SetListtabPos( pArr0to2[5] );
2000cdf0e10cSrcweir aFmt.SetIndentAt( pArr0to2[5] );
2001cdf0e10cSrcweir }
2002cdf0e10cSrcweir // <--
2003cdf0e10cSrcweir pNewRule->Set( 2, aFmt );
2004cdf0e10cSrcweir
2005cdf0e10cSrcweir
2006cdf0e10cSrcweir aFmt.SetNumberingType(SVX_NUM_CHAR_SPECIAL);
2007cdf0e10cSrcweir aFmt.SetCharFmt( pBullCFmt );
2008cdf0e10cSrcweir // --> OD 2006-06-29 #6440955#
2009cdf0e10cSrcweir aFmt.SetBulletFont( &numfunc::GetDefBulletFont() );
2010cdf0e10cSrcweir // <--
2011cdf0e10cSrcweir aFmt.SetBulletChar( cBulletChar );
2012cdf0e10cSrcweir sal_uInt16 nOffs = GetMetricVal( CM_01 ) * 4,
2013cdf0e10cSrcweir nOffs2 = GetMetricVal( CM_1 ) * 2;
2014cdf0e10cSrcweir
2015cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2016cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2017cdf0e10cSrcweir {
2018cdf0e10cSrcweir aFmt.SetFirstLineOffset( - nOffs );
2019cdf0e10cSrcweir }
2020cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2021cdf0e10cSrcweir {
2022cdf0e10cSrcweir aFmt.SetFirstLineIndent( - nOffs );
2023cdf0e10cSrcweir }
2024cdf0e10cSrcweir // <--
2025cdf0e10cSrcweir aFmt.SetSuffix( aEmptyStr );
2026cdf0e10cSrcweir for( n = 3; n < MAXLEVEL; ++n )
2027cdf0e10cSrcweir {
2028cdf0e10cSrcweir aFmt.SetStart( n+1 );
2029cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2030cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2031cdf0e10cSrcweir {
2032cdf0e10cSrcweir aFmt.SetAbsLSpace( nOffs2 + ((n-3) * nOffs) );
2033cdf0e10cSrcweir }
2034cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2035cdf0e10cSrcweir {
2036cdf0e10cSrcweir aFmt.SetListtabPos( nOffs2 + ((n-3) * nOffs) );
2037cdf0e10cSrcweir aFmt.SetIndentAt( nOffs2 + ((n-3) * nOffs) );
2038cdf0e10cSrcweir }
2039cdf0e10cSrcweir // <--
2040cdf0e10cSrcweir pNewRule->Set( n, aFmt );
2041cdf0e10cSrcweir }
2042cdf0e10cSrcweir }
2043cdf0e10cSrcweir break;
2044cdf0e10cSrcweir
2045cdf0e10cSrcweir case RES_POOLNUMRULE_BUL1:
2046cdf0e10cSrcweir {
2047cdf0e10cSrcweir SwNumFmt aFmt;
2048cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2049cdf0e10cSrcweir aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2050cdf0e10cSrcweir // <--
2051cdf0e10cSrcweir aFmt.SetNumberingType(SVX_NUM_CHAR_SPECIAL);
2052cdf0e10cSrcweir aFmt.SetCharFmt( pBullCFmt );
2053cdf0e10cSrcweir aFmt.SetStart( 1 );
2054cdf0e10cSrcweir aFmt.SetIncludeUpperLevels( 1 );
2055cdf0e10cSrcweir // --> OD 2006-06-29 #6440955#
2056cdf0e10cSrcweir aFmt.SetBulletFont( &numfunc::GetDefBulletFont() );
2057cdf0e10cSrcweir // <--
2058cdf0e10cSrcweir aFmt.SetBulletChar( cBulletChar );
2059cdf0e10cSrcweir
2060cdf0e10cSrcweir static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
2061cdf0e10cSrcweir {
2062cdf0e10cSrcweir // cm: 0,4 0,8 1,2 1,6 2,0 2,4 2,8 3,2 3,6 4,0
2063cdf0e10cSrcweir 227, 454, 680, 907, 1134, 1361, 1587, 1814, 2041, 2268
2064cdf0e10cSrcweir };
2065cdf0e10cSrcweir #ifdef USE_MEASUREMENT
2066cdf0e10cSrcweir static const sal_uInt16 aAbsSpaceInch[ MAXLEVEL ] =
2067cdf0e10cSrcweir {
2068cdf0e10cSrcweir 227, 454, 680, 907, 1134, 1361, 1587, 1814, 2041, 2268
2069cdf0e10cSrcweir };
2070cdf0e10cSrcweir const sal_uInt16* pArr = MEASURE_METRIC ==
2071cdf0e10cSrcweir SvtSysLocale().GetLocaleData().getMeasurementSystemEnum()
2072cdf0e10cSrcweir ? aAbsSpace
2073cdf0e10cSrcweir : aAbsSpaceInch;
2074cdf0e10cSrcweir #else
2075cdf0e10cSrcweir const sal_uInt16* pArr = aAbsSpace;
2076cdf0e10cSrcweir #endif
2077cdf0e10cSrcweir
2078cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2079cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2080cdf0e10cSrcweir {
2081cdf0e10cSrcweir aFmt.SetFirstLineOffset( - (*pArr) );
2082cdf0e10cSrcweir }
2083cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2084cdf0e10cSrcweir {
2085cdf0e10cSrcweir aFmt.SetLabelFollowedBy( SvxNumberFormat::LISTTAB );
2086cdf0e10cSrcweir aFmt.SetFirstLineIndent( - (*pArr) );
2087cdf0e10cSrcweir }
2088cdf0e10cSrcweir // <--
2089cdf0e10cSrcweir for( n = 0; n < MAXLEVEL; ++n, ++pArr )
2090cdf0e10cSrcweir {
2091cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2092cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2093cdf0e10cSrcweir {
2094cdf0e10cSrcweir aFmt.SetAbsLSpace( *pArr );
2095cdf0e10cSrcweir }
2096cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2097cdf0e10cSrcweir {
2098cdf0e10cSrcweir aFmt.SetListtabPos( *pArr );
2099cdf0e10cSrcweir aFmt.SetIndentAt( *pArr );
2100cdf0e10cSrcweir }
2101cdf0e10cSrcweir // <--
2102cdf0e10cSrcweir pNewRule->Set( n, aFmt );
2103cdf0e10cSrcweir }
2104cdf0e10cSrcweir }
2105cdf0e10cSrcweir break;
2106cdf0e10cSrcweir case RES_POOLNUMRULE_BUL2:
2107cdf0e10cSrcweir {
2108cdf0e10cSrcweir SwNumFmt aFmt;
2109cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2110cdf0e10cSrcweir aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2111cdf0e10cSrcweir // <--
2112cdf0e10cSrcweir aFmt.SetNumberingType(SVX_NUM_CHAR_SPECIAL);
2113cdf0e10cSrcweir aFmt.SetCharFmt( pBullCFmt );
2114cdf0e10cSrcweir aFmt.SetStart( 1 );
2115cdf0e10cSrcweir aFmt.SetIncludeUpperLevels( 1 );
2116cdf0e10cSrcweir // --> OD 2006-06-29 #6440955#
2117cdf0e10cSrcweir aFmt.SetBulletFont( &numfunc::GetDefBulletFont() );
2118cdf0e10cSrcweir // <--
2119cdf0e10cSrcweir aFmt.SetBulletChar( 0x2013 );
2120cdf0e10cSrcweir
2121cdf0e10cSrcweir static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
2122cdf0e10cSrcweir {
2123cdf0e10cSrcweir // cm: 0,3 0,6 0,9 1,2 1,5 1,8 2,1 2,4 2,7 3,0
2124cdf0e10cSrcweir 170, 340, 510, 680, 850, 1020, 1191, 1361, 1531, 1701
2125cdf0e10cSrcweir };
2126cdf0e10cSrcweir #ifdef USE_MEASUREMENT
2127cdf0e10cSrcweir static const sal_uInt16 aAbsSpaceInch[ MAXLEVEL ] =
2128cdf0e10cSrcweir {
2129cdf0e10cSrcweir 170, 340, 510, 680, 850, 1020, 1191, 1361, 1531, 1701
2130cdf0e10cSrcweir };
2131cdf0e10cSrcweir const sal_uInt16* pArr = MEASURE_METRIC ==
2132cdf0e10cSrcweir SvtSysLocale().GetLocaleData().getMeasurementSystemEnum()
2133cdf0e10cSrcweir ? aAbsSpace
2134cdf0e10cSrcweir : aAbsSpaceInch;
2135cdf0e10cSrcweir #else
2136cdf0e10cSrcweir const sal_uInt16* pArr = aAbsSpace;
2137cdf0e10cSrcweir #endif
2138cdf0e10cSrcweir
2139cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2140cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2141cdf0e10cSrcweir {
2142cdf0e10cSrcweir aFmt.SetFirstLineOffset( - (*pArr) );
2143cdf0e10cSrcweir }
2144cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2145cdf0e10cSrcweir {
2146cdf0e10cSrcweir aFmt.SetLabelFollowedBy( SvxNumberFormat::LISTTAB );
2147cdf0e10cSrcweir aFmt.SetFirstLineIndent( - (*pArr) );
2148cdf0e10cSrcweir }
2149cdf0e10cSrcweir // <--
2150cdf0e10cSrcweir for( n = 0; n < MAXLEVEL; ++n, ++pArr )
2151cdf0e10cSrcweir {
2152cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2153cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2154cdf0e10cSrcweir {
2155cdf0e10cSrcweir aFmt.SetAbsLSpace( *pArr );
2156cdf0e10cSrcweir }
2157cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2158cdf0e10cSrcweir {
2159cdf0e10cSrcweir aFmt.SetListtabPos( *pArr );
2160cdf0e10cSrcweir aFmt.SetIndentAt( *pArr );
2161cdf0e10cSrcweir }
2162cdf0e10cSrcweir // <--
2163cdf0e10cSrcweir pNewRule->Set( n, aFmt );
2164cdf0e10cSrcweir }
2165cdf0e10cSrcweir }
2166cdf0e10cSrcweir break;
2167cdf0e10cSrcweir case RES_POOLNUMRULE_BUL3:
2168cdf0e10cSrcweir {
2169cdf0e10cSrcweir SwNumFmt aFmt;
2170cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2171cdf0e10cSrcweir aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2172cdf0e10cSrcweir // <--
2173cdf0e10cSrcweir aFmt.SetNumberingType(SVX_NUM_CHAR_SPECIAL);
2174cdf0e10cSrcweir aFmt.SetCharFmt( pBullCFmt );
2175cdf0e10cSrcweir aFmt.SetStart( 1 );
2176cdf0e10cSrcweir aFmt.SetIncludeUpperLevels( 1 );
2177cdf0e10cSrcweir // --> OD 2006-06-29 #6440955#
2178cdf0e10cSrcweir aFmt.SetBulletFont( &numfunc::GetDefBulletFont() );
2179cdf0e10cSrcweir // <--
2180cdf0e10cSrcweir
2181cdf0e10cSrcweir sal_uInt16 nOffs = GetMetricVal( CM_01 ) * 4;
2182cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2183cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2184cdf0e10cSrcweir {
2185cdf0e10cSrcweir aFmt.SetFirstLineOffset( - nOffs );
2186cdf0e10cSrcweir }
2187cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2188cdf0e10cSrcweir {
2189cdf0e10cSrcweir aFmt.SetLabelFollowedBy( SvxNumberFormat::LISTTAB );
2190cdf0e10cSrcweir aFmt.SetFirstLineIndent( - nOffs );
2191cdf0e10cSrcweir }
2192cdf0e10cSrcweir // <--
2193cdf0e10cSrcweir
2194cdf0e10cSrcweir for( n = 0; n < MAXLEVEL; ++n )
2195cdf0e10cSrcweir {
2196cdf0e10cSrcweir aFmt.SetBulletChar( ( n & 1 ? 0x25a1 : 0x2611 ) );
2197cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2198cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2199cdf0e10cSrcweir {
2200cdf0e10cSrcweir aFmt.SetAbsLSpace( ((n & 1) +1) * nOffs );
2201cdf0e10cSrcweir }
2202cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2203cdf0e10cSrcweir {
2204cdf0e10cSrcweir aFmt.SetListtabPos( ((n & 1) +1) * nOffs );
2205cdf0e10cSrcweir aFmt.SetIndentAt( ((n & 1) +1) * nOffs );
2206cdf0e10cSrcweir }
2207cdf0e10cSrcweir // <--
2208cdf0e10cSrcweir pNewRule->Set( n, aFmt );
2209cdf0e10cSrcweir }
2210cdf0e10cSrcweir }
2211cdf0e10cSrcweir break;
2212cdf0e10cSrcweir case RES_POOLNUMRULE_BUL4:
2213cdf0e10cSrcweir {
2214cdf0e10cSrcweir SwNumFmt aFmt;
2215cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2216cdf0e10cSrcweir aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2217cdf0e10cSrcweir // <--
2218cdf0e10cSrcweir aFmt.SetNumberingType(SVX_NUM_CHAR_SPECIAL);
2219cdf0e10cSrcweir aFmt.SetCharFmt( pBullCFmt );
2220cdf0e10cSrcweir aFmt.SetStart( 1 );
2221cdf0e10cSrcweir aFmt.SetIncludeUpperLevels( 1 );
2222cdf0e10cSrcweir // --> OD 2006-06-29 #6440955#
2223cdf0e10cSrcweir aFmt.SetBulletFont( &numfunc::GetDefBulletFont() );
2224cdf0e10cSrcweir // <--
2225cdf0e10cSrcweir
2226cdf0e10cSrcweir static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
2227cdf0e10cSrcweir {
2228cdf0e10cSrcweir // cm: 0,4 0,8 1,2 1,6 2,0 2,4 2,8 3,2 3,6 4,0
2229cdf0e10cSrcweir 227, 454, 680, 907, 1134, 1361, 1587, 1814, 2041, 2268
2230cdf0e10cSrcweir };
2231cdf0e10cSrcweir #ifdef USE_MEASUREMENT
2232cdf0e10cSrcweir static const sal_uInt16 aAbsSpaceInch[ MAXLEVEL ] =
2233cdf0e10cSrcweir {
2234cdf0e10cSrcweir 227, 454, 680, 907, 1134, 1361, 1587, 1814, 2041, 2268
2235cdf0e10cSrcweir };
2236cdf0e10cSrcweir const sal_uInt16* pArr = MEASURE_METRIC ==
2237cdf0e10cSrcweir SvtSysLocale().GetLocaleData().getMeasurementSystemEnum()
2238cdf0e10cSrcweir ? aAbsSpace
2239cdf0e10cSrcweir : aAbsSpaceInch;
2240cdf0e10cSrcweir #else
2241cdf0e10cSrcweir const sal_uInt16* pArr = aAbsSpace;
2242cdf0e10cSrcweir #endif
2243cdf0e10cSrcweir
2244cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2245cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2246cdf0e10cSrcweir {
2247cdf0e10cSrcweir aFmt.SetFirstLineOffset( - (*pArr) );
2248cdf0e10cSrcweir }
2249cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2250cdf0e10cSrcweir {
2251cdf0e10cSrcweir aFmt.SetLabelFollowedBy( SvxNumberFormat::SPACE );
2252cdf0e10cSrcweir aFmt.SetFirstLineIndent( - (*pArr) );
2253cdf0e10cSrcweir }
2254cdf0e10cSrcweir // <--
2255cdf0e10cSrcweir for( n = 0; n < MAXLEVEL; ++n, ++pArr )
2256cdf0e10cSrcweir {
2257cdf0e10cSrcweir switch( n )
2258cdf0e10cSrcweir {
2259cdf0e10cSrcweir case 0: aFmt.SetBulletChar( 0x27a2 ); break;
2260cdf0e10cSrcweir case 1: aFmt.SetBulletChar( 0xE006 ); break;
2261cdf0e10cSrcweir default: aFmt.SetBulletChar( 0xE004 ); break;
2262cdf0e10cSrcweir }
2263cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2264cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2265cdf0e10cSrcweir {
2266cdf0e10cSrcweir aFmt.SetAbsLSpace( *pArr );
2267cdf0e10cSrcweir }
2268cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2269cdf0e10cSrcweir {
2270cdf0e10cSrcweir aFmt.SetListtabPos( *pArr );
2271cdf0e10cSrcweir aFmt.SetIndentAt( *pArr );
2272cdf0e10cSrcweir }
2273cdf0e10cSrcweir // <--
2274cdf0e10cSrcweir pNewRule->Set( n, aFmt );
2275cdf0e10cSrcweir }
2276cdf0e10cSrcweir }
2277cdf0e10cSrcweir break;
2278cdf0e10cSrcweir case RES_POOLNUMRULE_BUL5:
2279cdf0e10cSrcweir {
2280cdf0e10cSrcweir SwNumFmt aFmt;
2281cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2282cdf0e10cSrcweir aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2283cdf0e10cSrcweir // <--
2284cdf0e10cSrcweir aFmt.SetNumberingType(SVX_NUM_CHAR_SPECIAL);
2285cdf0e10cSrcweir aFmt.SetCharFmt( pBullCFmt );
2286cdf0e10cSrcweir aFmt.SetStart( 1 );
2287cdf0e10cSrcweir aFmt.SetIncludeUpperLevels( 1 );
2288cdf0e10cSrcweir aFmt.SetBulletChar( 0x2717 );
2289cdf0e10cSrcweir // --> OD 2006-06-29 #6440955#
2290cdf0e10cSrcweir aFmt.SetBulletFont( &numfunc::GetDefBulletFont() );
2291cdf0e10cSrcweir // <--
2292cdf0e10cSrcweir
2293cdf0e10cSrcweir static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
2294cdf0e10cSrcweir {
2295cdf0e10cSrcweir // cm: 0,4 0,8 1,2 1,6 2,0 2,4 2,8 3,2 3,6 4,0
2296cdf0e10cSrcweir 227, 454, 680, 907, 1134, 1361, 1587, 1814, 2041, 2268
2297cdf0e10cSrcweir };
2298cdf0e10cSrcweir #ifdef USE_MEASUREMENT
2299cdf0e10cSrcweir static const sal_uInt16 aAbsSpaceInch[ MAXLEVEL ] =
2300cdf0e10cSrcweir {
2301cdf0e10cSrcweir 227, 454, 680, 907, 1134, 1361, 1587, 1814, 2041, 2268
2302cdf0e10cSrcweir };
2303cdf0e10cSrcweir const sal_uInt16* pArr = MEASURE_METRIC ==
2304cdf0e10cSrcweir SvtSysLocale().GetLocaleData().getMeasurementSystemEnum()
2305cdf0e10cSrcweir ? aAbsSpace
2306cdf0e10cSrcweir : aAbsSpaceInch;
2307cdf0e10cSrcweir #else
2308cdf0e10cSrcweir const sal_uInt16* pArr = aAbsSpace;
2309cdf0e10cSrcweir #endif
2310cdf0e10cSrcweir
2311cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2312cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2313cdf0e10cSrcweir {
2314cdf0e10cSrcweir aFmt.SetFirstLineOffset( - (*pArr) );
2315cdf0e10cSrcweir }
2316cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2317cdf0e10cSrcweir {
2318cdf0e10cSrcweir aFmt.SetLabelFollowedBy( SvxNumberFormat::LISTTAB );
2319cdf0e10cSrcweir aFmt.SetFirstLineIndent( - (*pArr) );
2320cdf0e10cSrcweir }
2321cdf0e10cSrcweir // <--
2322cdf0e10cSrcweir for( n = 0; n < MAXLEVEL; ++n, ++pArr )
2323cdf0e10cSrcweir {
2324cdf0e10cSrcweir // --> OD 2008-02-11 #newlistlevelattrs#
2325cdf0e10cSrcweir if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2326cdf0e10cSrcweir {
2327cdf0e10cSrcweir aFmt.SetAbsLSpace( *pArr );
2328cdf0e10cSrcweir }
2329cdf0e10cSrcweir else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2330cdf0e10cSrcweir {
2331cdf0e10cSrcweir aFmt.SetListtabPos( *pArr );
2332cdf0e10cSrcweir aFmt.SetIndentAt( *pArr );
2333cdf0e10cSrcweir }
2334cdf0e10cSrcweir // <--
2335cdf0e10cSrcweir pNewRule->Set( n, aFmt );
2336cdf0e10cSrcweir }
2337cdf0e10cSrcweir }
2338cdf0e10cSrcweir break;
2339cdf0e10cSrcweir }
2340cdf0e10cSrcweir
2341cdf0e10cSrcweir return pNewRule;
2342cdf0e10cSrcweir }
2343cdf0e10cSrcweir
2344cdf0e10cSrcweir
2345cdf0e10cSrcweir
2346cdf0e10cSrcweir // pruefe, ob diese "Auto-Collection" in Dokument schon/noch
2347cdf0e10cSrcweir // benutzt wird
IsPoolPageDescUsed(sal_uInt16 nId) const2348cdf0e10cSrcweir bool SwDoc::IsPoolPageDescUsed( sal_uInt16 nId ) const
2349cdf0e10cSrcweir {
2350cdf0e10cSrcweir ASSERT( RES_POOLPAGE_BEGIN <= nId && nId < RES_POOLPAGE_END,
2351cdf0e10cSrcweir "Falsche AutoFormat-Id" );
2352cdf0e10cSrcweir SwPageDesc *pNewPgDsc = 0;
2353cdf0e10cSrcweir sal_Bool bFnd = sal_False;
2354cdf0e10cSrcweir for( sal_uInt16 n = 0; !bFnd && n < aPageDescs.Count(); ++n )
2355cdf0e10cSrcweir {
2356cdf0e10cSrcweir pNewPgDsc = aPageDescs[ n ];
2357cdf0e10cSrcweir if( nId == pNewPgDsc->GetPoolFmtId() )
2358cdf0e10cSrcweir bFnd = sal_True;
2359cdf0e10cSrcweir }
2360cdf0e10cSrcweir
2361cdf0e10cSrcweir // nicht gefunden oder keine Abhaengigen ?
2362cdf0e10cSrcweir if( !bFnd || !pNewPgDsc->GetDepends() ) // ??????
2363cdf0e10cSrcweir return sal_False;
2364cdf0e10cSrcweir
2365cdf0e10cSrcweir // dann teste mal, ob es abhaengige ContentNodes im Nodes Array gibt
2366cdf0e10cSrcweir // (auch indirekte fuer Format-Ableitung! )
2367cdf0e10cSrcweir SwAutoFmtGetDocNode aGetHt( &GetNodes() );
2368cdf0e10cSrcweir return !pNewPgDsc->GetInfo( aGetHt );
2369cdf0e10cSrcweir }
2370cdf0e10cSrcweir
2371cdf0e10cSrcweir // erfrage ob die Absatz-/Zeichen-/Rahmen-/Seiten - Vorlage benutzt wird
IsUsed(const SwModify & rModify) const2372cdf0e10cSrcweir sal_Bool SwDoc::IsUsed( const SwModify& rModify ) const
2373cdf0e10cSrcweir {
2374cdf0e10cSrcweir // dann teste mal, ob es abhaengige ContentNodes im Nodes Array gibt
2375cdf0e10cSrcweir // (auch indirekte fuer Format-Ableitung! )
2376cdf0e10cSrcweir SwAutoFmtGetDocNode aGetHt( &GetNodes() );
2377cdf0e10cSrcweir return !rModify.GetInfo( aGetHt );
2378cdf0e10cSrcweir }
2379cdf0e10cSrcweir
2380cdf0e10cSrcweir // erfrage ob die NumRule benutzt wird
IsUsed(const SwNumRule & rRule) const2381cdf0e10cSrcweir sal_Bool SwDoc::IsUsed( const SwNumRule& rRule ) const
2382cdf0e10cSrcweir {
2383cdf0e10cSrcweir // --> OD 2008-03-04 #refactorlists#
2384cdf0e10cSrcweir // // dann teste mal, ob es abhaengige ContentNodes im Nodes Array gibt
2385cdf0e10cSrcweir // // (auch indirekte fuer Format-Ableitung! )
2386cdf0e10cSrcweir // sal_Bool bUsed = sal_False;
2387cdf0e10cSrcweir // SwAutoFmtGetDocNode aGetHt( &aNodes );
2388cdf0e10cSrcweir // SwModify* pMod;
2389cdf0e10cSrcweir // const SfxPoolItem* pItem;
2390cdf0e10cSrcweir // sal_uInt16 i, nMaxItems = GetAttrPool().GetItemCount( RES_PARATR_NUMRULE);
2391cdf0e10cSrcweir // for( i = 0; i < nMaxItems; ++i )
2392cdf0e10cSrcweir // {
2393cdf0e10cSrcweir // if( 0 != (pItem = GetAttrPool().GetItem( RES_PARATR_NUMRULE, i ) ) &&
2394cdf0e10cSrcweir // 0 != ( pMod = (SwModify*)((SwNumRuleItem*)pItem)->GetDefinedIn()) &&
2395cdf0e10cSrcweir // ((SwNumRuleItem*)pItem)->GetValue().Len() &&
2396cdf0e10cSrcweir // ((SwNumRuleItem*)pItem)->GetValue() == rRule.GetName() )
2397cdf0e10cSrcweir // {
2398cdf0e10cSrcweir // if( pMod->IsA( TYPE( SwFmt )) )
2399cdf0e10cSrcweir // {
2400cdf0e10cSrcweir // bUsed = !pMod->GetInfo( aGetHt );
2401cdf0e10cSrcweir // if( bUsed )
2402cdf0e10cSrcweir // break;
2403cdf0e10cSrcweir // }
2404cdf0e10cSrcweir // else if( ((SwTxtNode*)pMod)->GetNodes().IsDocNodes() )
2405cdf0e10cSrcweir // {
2406cdf0e10cSrcweir // bUsed = sal_True;
2407cdf0e10cSrcweir // break;
2408cdf0e10cSrcweir // }
2409cdf0e10cSrcweir // }
2410cdf0e10cSrcweir // }
2411cdf0e10cSrcweir
2412cdf0e10cSrcweir // return bUsed;
2413cdf0e10cSrcweir sal_Bool bUsed = rRule.GetTxtNodeListSize() > 0 ||
2414cdf0e10cSrcweir rRule.GetParagraphStyleListSize() > 0;
2415cdf0e10cSrcweir
2416cdf0e10cSrcweir return bUsed;
2417cdf0e10cSrcweir // <--
2418cdf0e10cSrcweir }
2419cdf0e10cSrcweir
2420cdf0e10cSrcweir // Suche die Position vom Vorlagen-Namen. Ist nicht vorhanden
2421cdf0e10cSrcweir // dann fuege neu ein
SetDocPattern(const String & rPatternName)2422cdf0e10cSrcweir sal_uInt16 SwDoc::SetDocPattern( const String& rPatternName )
2423cdf0e10cSrcweir {
2424cdf0e10cSrcweir ASSERT( rPatternName.Len(), "kein Dokument-Vorlagenname" );
2425cdf0e10cSrcweir
2426cdf0e10cSrcweir sal_uInt16 nNewPos = aPatternNms.Count();
2427cdf0e10cSrcweir for( sal_uInt16 n = 0; n < aPatternNms.Count(); ++n )
2428cdf0e10cSrcweir if( !aPatternNms[n] )
2429cdf0e10cSrcweir {
2430cdf0e10cSrcweir if( nNewPos == aPatternNms.Count() )
2431cdf0e10cSrcweir nNewPos = n;
2432cdf0e10cSrcweir }
2433cdf0e10cSrcweir else if( rPatternName == *aPatternNms[n] )
2434cdf0e10cSrcweir return n;
2435cdf0e10cSrcweir
2436cdf0e10cSrcweir if( nNewPos < aPatternNms.Count() )
2437cdf0e10cSrcweir aPatternNms.Remove( nNewPos ); // Platz wieder frei machen
2438cdf0e10cSrcweir
2439cdf0e10cSrcweir String* pNewNm = new String( rPatternName );
2440cdf0e10cSrcweir aPatternNms.Insert( pNewNm, nNewPos );
2441cdf0e10cSrcweir SetModified();
2442cdf0e10cSrcweir return nNewPos;
2443cdf0e10cSrcweir }
2444cdf0e10cSrcweir
GetPoolParent(sal_uInt16 nId)2445cdf0e10cSrcweir sal_uInt16 GetPoolParent( sal_uInt16 nId )
2446cdf0e10cSrcweir {
2447cdf0e10cSrcweir sal_uInt16 nRet = USHRT_MAX;
2448cdf0e10cSrcweir if( POOLGRP_NOCOLLID & nId ) // 1 == Formate / 0 == Collections
2449cdf0e10cSrcweir {
2450cdf0e10cSrcweir switch( ( COLL_GET_RANGE_BITS | POOLGRP_NOCOLLID ) & nId )
2451cdf0e10cSrcweir {
2452cdf0e10cSrcweir case POOLGRP_CHARFMT:
2453cdf0e10cSrcweir case POOLGRP_FRAMEFMT:
2454cdf0e10cSrcweir nRet = 0; // vom default abgeleitet
2455cdf0e10cSrcweir break;
2456cdf0e10cSrcweir case POOLGRP_PAGEDESC:
2457cdf0e10cSrcweir case POOLGRP_NUMRULE:
2458cdf0e10cSrcweir break; // es gibt keine Ableitung
2459cdf0e10cSrcweir }
2460cdf0e10cSrcweir }
2461cdf0e10cSrcweir else
2462cdf0e10cSrcweir {
2463cdf0e10cSrcweir switch( COLL_GET_RANGE_BITS & nId )
2464cdf0e10cSrcweir {
2465cdf0e10cSrcweir case COLL_TEXT_BITS:
2466cdf0e10cSrcweir switch( nId )
2467cdf0e10cSrcweir {
2468cdf0e10cSrcweir case RES_POOLCOLL_STANDARD:
2469cdf0e10cSrcweir nRet = 0; break;
2470cdf0e10cSrcweir case RES_POOLCOLL_TEXT_IDENT:
2471cdf0e10cSrcweir case RES_POOLCOLL_TEXT_NEGIDENT:
2472cdf0e10cSrcweir case RES_POOLCOLL_TEXT_MOVE:
2473cdf0e10cSrcweir case RES_POOLCOLL_CONFRONTATION:
2474cdf0e10cSrcweir case RES_POOLCOLL_MARGINAL:
2475cdf0e10cSrcweir nRet = RES_POOLCOLL_TEXT; break;
2476cdf0e10cSrcweir
2477cdf0e10cSrcweir case RES_POOLCOLL_TEXT:
2478cdf0e10cSrcweir case RES_POOLCOLL_GREETING:
2479cdf0e10cSrcweir case RES_POOLCOLL_SIGNATURE:
2480cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE_BASE:
2481cdf0e10cSrcweir nRet = RES_POOLCOLL_STANDARD; break;
2482cdf0e10cSrcweir
2483cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE1:
2484cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE2:
2485cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE3:
2486cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE4:
2487cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE5:
2488cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE6:
2489cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE7:
2490cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE8:
2491cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE9:
2492cdf0e10cSrcweir case RES_POOLCOLL_HEADLINE10:
2493cdf0e10cSrcweir nRet = RES_POOLCOLL_HEADLINE_BASE; break;
2494cdf0e10cSrcweir }
2495cdf0e10cSrcweir break;
2496cdf0e10cSrcweir
2497cdf0e10cSrcweir case COLL_LISTS_BITS:
2498cdf0e10cSrcweir switch( nId )
2499cdf0e10cSrcweir {
2500cdf0e10cSrcweir case RES_POOLCOLL_NUMBUL_BASE:
2501cdf0e10cSrcweir nRet = RES_POOLCOLL_TEXT; break;
2502cdf0e10cSrcweir
2503cdf0e10cSrcweir default:
2504cdf0e10cSrcweir nRet = RES_POOLCOLL_NUMBUL_BASE; break;
2505cdf0e10cSrcweir }
2506cdf0e10cSrcweir break;
2507cdf0e10cSrcweir
2508cdf0e10cSrcweir case COLL_EXTRA_BITS:
2509cdf0e10cSrcweir switch( nId )
2510cdf0e10cSrcweir {
2511cdf0e10cSrcweir case RES_POOLCOLL_FRAME:
2512cdf0e10cSrcweir nRet = RES_POOLCOLL_TEXT; break;
2513cdf0e10cSrcweir
2514cdf0e10cSrcweir case RES_POOLCOLL_TABLE_HDLN:
2515cdf0e10cSrcweir nRet = RES_POOLCOLL_TABLE; break;
2516cdf0e10cSrcweir
2517cdf0e10cSrcweir case RES_POOLCOLL_TABLE:
2518cdf0e10cSrcweir case RES_POOLCOLL_FOOTNOTE:
2519cdf0e10cSrcweir case RES_POOLCOLL_ENDNOTE:
2520cdf0e10cSrcweir case RES_POOLCOLL_JAKETADRESS:
2521cdf0e10cSrcweir case RES_POOLCOLL_SENDADRESS:
2522cdf0e10cSrcweir case RES_POOLCOLL_HEADER:
2523cdf0e10cSrcweir case RES_POOLCOLL_HEADERL:
2524cdf0e10cSrcweir case RES_POOLCOLL_HEADERR:
2525cdf0e10cSrcweir case RES_POOLCOLL_FOOTER:
2526cdf0e10cSrcweir case RES_POOLCOLL_FOOTERL:
2527cdf0e10cSrcweir case RES_POOLCOLL_FOOTERR:
2528cdf0e10cSrcweir case RES_POOLCOLL_LABEL:
2529cdf0e10cSrcweir nRet = RES_POOLCOLL_STANDARD; break;
2530cdf0e10cSrcweir
2531cdf0e10cSrcweir case RES_POOLCOLL_LABEL_ABB:
2532cdf0e10cSrcweir case RES_POOLCOLL_LABEL_TABLE:
2533cdf0e10cSrcweir case RES_POOLCOLL_LABEL_FRAME:
2534cdf0e10cSrcweir case RES_POOLCOLL_LABEL_DRAWING:
2535cdf0e10cSrcweir nRet = RES_POOLCOLL_LABEL; break;
2536cdf0e10cSrcweir }
2537cdf0e10cSrcweir break;
2538cdf0e10cSrcweir
2539cdf0e10cSrcweir case COLL_REGISTER_BITS:
2540cdf0e10cSrcweir switch( nId )
2541cdf0e10cSrcweir {
2542cdf0e10cSrcweir case RES_POOLCOLL_REGISTER_BASE:
2543cdf0e10cSrcweir nRet = RES_POOLCOLL_STANDARD; break;
2544cdf0e10cSrcweir
2545cdf0e10cSrcweir case RES_POOLCOLL_TOX_USERH:
2546cdf0e10cSrcweir case RES_POOLCOLL_TOX_CNTNTH:
2547cdf0e10cSrcweir case RES_POOLCOLL_TOX_IDXH:
2548cdf0e10cSrcweir case RES_POOLCOLL_TOX_ILLUSH:
2549cdf0e10cSrcweir case RES_POOLCOLL_TOX_OBJECTH:
2550cdf0e10cSrcweir case RES_POOLCOLL_TOX_TABLESH:
2551cdf0e10cSrcweir case RES_POOLCOLL_TOX_AUTHORITIESH:
2552cdf0e10cSrcweir nRet = RES_POOLCOLL_HEADLINE_BASE; break;
2553cdf0e10cSrcweir
2554cdf0e10cSrcweir default:
2555cdf0e10cSrcweir nRet = RES_POOLCOLL_REGISTER_BASE; break;
2556cdf0e10cSrcweir }
2557cdf0e10cSrcweir break;
2558cdf0e10cSrcweir
2559cdf0e10cSrcweir case COLL_DOC_BITS:
2560cdf0e10cSrcweir nRet = RES_POOLCOLL_HEADLINE_BASE;
2561cdf0e10cSrcweir break;
2562cdf0e10cSrcweir
2563cdf0e10cSrcweir case COLL_HTML_BITS:
2564cdf0e10cSrcweir nRet = RES_POOLCOLL_STANDARD;
2565cdf0e10cSrcweir break;
2566cdf0e10cSrcweir }
2567cdf0e10cSrcweir }
2568cdf0e10cSrcweir
2569cdf0e10cSrcweir return nRet;
2570cdf0e10cSrcweir }
2571cdf0e10cSrcweir
RemoveAllFmtLanguageDependencies()2572cdf0e10cSrcweir void SwDoc::RemoveAllFmtLanguageDependencies()
2573cdf0e10cSrcweir {
2574cdf0e10cSrcweir /* #106748# Restore the language independ pool defaults and styles. */
2575cdf0e10cSrcweir GetAttrPool().ResetPoolDefaultItem( RES_PARATR_ADJUST );
2576cdf0e10cSrcweir
2577cdf0e10cSrcweir SwTxtFmtColl * pTxtFmtColl = GetTxtCollFromPool( RES_POOLCOLL_STANDARD );
2578cdf0e10cSrcweir
2579cdf0e10cSrcweir pTxtFmtColl->ResetFmtAttr( RES_PARATR_ADJUST );
2580cdf0e10cSrcweir /* #111214# koreans do not like SvxScriptItem(sal_True) */
2581cdf0e10cSrcweir pTxtFmtColl->ResetFmtAttr( RES_PARATR_SCRIPTSPACE );
2582cdf0e10cSrcweir
2583cdf0e10cSrcweir SvxFrameDirectionItem aFrameDir( FRMDIR_HORI_LEFT_TOP, RES_FRAMEDIR );
2584cdf0e10cSrcweir
2585cdf0e10cSrcweir sal_uInt16 nCount = GetPageDescCnt();
2586cdf0e10cSrcweir for( sal_uInt16 i=0; i<nCount; ++i )
2587cdf0e10cSrcweir {
2588cdf0e10cSrcweir SwPageDesc& rDesc = _GetPageDesc( i );
2589cdf0e10cSrcweir rDesc.GetMaster().SetFmtAttr( aFrameDir );
2590cdf0e10cSrcweir rDesc.GetLeft().SetFmtAttr( aFrameDir );
2591cdf0e10cSrcweir }
2592cdf0e10cSrcweir
2593cdf0e10cSrcweir // OD 09.10.2003 #i18732# - restore static pool default for item
2594cdf0e10cSrcweir // RES_FOLLOW_TEXT_FLOW.
2595cdf0e10cSrcweir GetAttrPool().ResetPoolDefaultItem( RES_FOLLOW_TEXT_FLOW );
2596cdf0e10cSrcweir
2597cdf0e10cSrcweir //#i16874# AutoKerning as default for new documents
2598cdf0e10cSrcweir GetAttrPool().ResetPoolDefaultItem( RES_CHRATR_AUTOKERN );
2599cdf0e10cSrcweir }
2600