xref: /aoo42x/main/sw/source/core/doc/poolfmt.cxx (revision 870262e3)
1efeef26fSAndrew Rist /**************************************************************
2a585680aSDennis E. Hamilton  *
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
10a585680aSDennis E. Hamilton  *
11efeef26fSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12a585680aSDennis E. Hamilton  *
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.
19a585680aSDennis E. Hamilton  *
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:
101a585680aSDennis E. Hamilton     115, 100, 100, 85, 85,
102a585680aSDennis E. Hamilton     75,   75,  75, 75, 75,	// normal
103cdf0e10cSrcweir //	PT_22, PT_16, PT_12, PT_11, PT_9			// HTML-Mode
104a585680aSDennis E. Hamilton     PT_24, PT_18, PT_14, PT_12, PT_10,
105a585680aSDennis E. Hamilton     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 {
110a585680aSDennis E. Hamilton     // sorge dafuer, dass die Druckereinstellungen in die Standard-
111a585680aSDennis E. Hamilton     // 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 {
123a585680aSDennis E. Hamilton     rSet.Put( rItem );
124a585680aSDennis E. Hamilton     sal_uInt16 nWhCJK = 0, nWhCTL = 0;
125a585680aSDennis E. Hamilton     switch( rItem.Which() )
126a585680aSDennis E. Hamilton     {
127a585680aSDennis E. Hamilton     case RES_CHRATR_FONTSIZE:
128a585680aSDennis E. Hamilton         nWhCJK = RES_CHRATR_CJK_FONTSIZE, nWhCTL = RES_CHRATR_CTL_FONTSIZE;
129a585680aSDennis E. Hamilton         break;
130a585680aSDennis E. Hamilton     case RES_CHRATR_FONT:
131a585680aSDennis E. Hamilton         nWhCJK = RES_CHRATR_CJK_FONT, nWhCTL = RES_CHRATR_CTL_FONT;
132a585680aSDennis E. Hamilton         break;
133a585680aSDennis E. Hamilton     case RES_CHRATR_LANGUAGE:
134a585680aSDennis E. Hamilton         nWhCJK = RES_CHRATR_CJK_LANGUAGE, nWhCTL = RES_CHRATR_CTL_LANGUAGE;
135a585680aSDennis E. Hamilton         break;
136a585680aSDennis E. Hamilton     case RES_CHRATR_POSTURE:
137a585680aSDennis E. Hamilton         nWhCJK = RES_CHRATR_CJK_POSTURE, nWhCTL = RES_CHRATR_CTL_POSTURE;
138a585680aSDennis E. Hamilton         break;
139a585680aSDennis E. Hamilton     case RES_CHRATR_WEIGHT:
140a585680aSDennis E. Hamilton         nWhCJK = RES_CHRATR_CJK_WEIGHT, nWhCTL = RES_CHRATR_CTL_WEIGHT;
141a585680aSDennis E. Hamilton         break;
142a585680aSDennis E. Hamilton     }
143a585680aSDennis E. Hamilton 
144a585680aSDennis E. Hamilton     if( nWhCJK )
145a585680aSDennis E. Hamilton         rSet.Put( rItem, nWhCJK );
146a585680aSDennis E. Hamilton     if( nWhCTL )
147a585680aSDennis E. Hamilton         rSet.Put( rItem, nWhCTL );
148cdf0e10cSrcweir }
149cdf0e10cSrcweir 
lcl_SetDfltFont(sal_uInt16 nFntType,SfxItemSet & rSet)150cdf0e10cSrcweir void lcl_SetDfltFont( sal_uInt16 nFntType, SfxItemSet& rSet )
151cdf0e10cSrcweir {
152a585680aSDennis E. Hamilton     static struct {
153a585680aSDennis E. Hamilton         sal_uInt16 nResLngId;
154a585680aSDennis E. Hamilton         sal_uInt16 nResFntId;
155a585680aSDennis E. Hamilton     } aArr[ 3 ] = {
156a585680aSDennis E. Hamilton         { RES_CHRATR_LANGUAGE, RES_CHRATR_FONT },
157a585680aSDennis E. Hamilton         { RES_CHRATR_CJK_LANGUAGE, RES_CHRATR_CJK_FONT },
158a585680aSDennis E. Hamilton         { RES_CHRATR_CTL_LANGUAGE, RES_CHRATR_CTL_FONT }
159a585680aSDennis E. Hamilton     };
160a585680aSDennis E. Hamilton     for( sal_uInt16 n = 0; n < 3; ++n )
161a585680aSDennis E. Hamilton     {
162a585680aSDennis E. Hamilton         sal_uInt16 nLng = ((SvxLanguageItem&)rSet.GetPool()->GetDefaultItem(
163a585680aSDennis E. Hamilton                             aArr[n].nResLngId )).GetLanguage();
164a585680aSDennis E. Hamilton         Font aFnt( OutputDevice::GetDefaultFont( nFntType,
165a585680aSDennis E. Hamilton                                 nLng, DEFAULTFONT_FLAGS_ONLYONE ) );
166a585680aSDennis E. Hamilton 
167a585680aSDennis E. Hamilton         rSet.Put( SvxFontItem( aFnt.GetFamily(), aFnt.GetName(),
168a585680aSDennis E. Hamilton                             aEmptyStr, aFnt.GetPitch(),
169a585680aSDennis E. Hamilton                             aFnt.GetCharSet(), aArr[n].nResFntId ));
170a585680aSDennis E. Hamilton     }
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,
174a585680aSDennis E. Hamilton                         sal_uInt16 nCTLFntType, SfxItemSet& rSet )
175cdf0e10cSrcweir {
176a585680aSDennis E. Hamilton     static struct {
177a585680aSDennis E. Hamilton         sal_uInt16 nResLngId;
178a585680aSDennis E. Hamilton         sal_uInt16 nResFntId;
179a585680aSDennis E. Hamilton         sal_uInt16 nFntType;
180a585680aSDennis E. Hamilton     } aArr[ 3 ] = {
181a585680aSDennis E. Hamilton         { RES_CHRATR_LANGUAGE, RES_CHRATR_FONT, 0 },
182a585680aSDennis E. Hamilton         { RES_CHRATR_CJK_LANGUAGE, RES_CHRATR_CJK_FONT, 0 },
183a585680aSDennis E. Hamilton         { RES_CHRATR_CTL_LANGUAGE, RES_CHRATR_CTL_FONT, 0 }
184a585680aSDennis E. Hamilton     };
185a585680aSDennis E. Hamilton     aArr[0].nFntType = nLatinFntType;
186a585680aSDennis E. Hamilton     aArr[1].nFntType = nCJKFntType;
187a585680aSDennis E. Hamilton     aArr[2].nFntType = nCTLFntType;
188a585680aSDennis E. Hamilton 
189a585680aSDennis E. Hamilton     for( sal_uInt16 n = 0; n < 3; ++n )
190a585680aSDennis E. Hamilton     {
191a585680aSDennis E. Hamilton         sal_uInt16 nLng = ((SvxLanguageItem&)rSet.GetPool()->GetDefaultItem(
192a585680aSDennis E. Hamilton                             aArr[n].nResLngId )).GetLanguage();
193a585680aSDennis E. Hamilton         Font aFnt( OutputDevice::GetDefaultFont( aArr[n].nFntType,
194a585680aSDennis E. Hamilton                                 nLng, DEFAULTFONT_FLAGS_ONLYONE ) );
195a585680aSDennis E. Hamilton 
196a585680aSDennis E. Hamilton         rSet.Put( SvxFontItem( aFnt.GetFamily(), aFnt.GetName(),
197a585680aSDennis E. Hamilton                             aEmptyStr, aFnt.GetPitch(),
198a585680aSDennis E. Hamilton                             aFnt.GetCharSet(), aArr[n].nResFntId ));
199a585680aSDennis E. Hamilton     }
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,
203a585680aSDennis E. Hamilton                         SfxItemSet& rSet,
204a585680aSDennis E. Hamilton                         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 )
210a585680aSDennis E. Hamilton         aHItem.SetHeight( aHeadlineSizes[ MAXLEVEL + nLevel ] );
211a585680aSDennis E. Hamilton     else
212a585680aSDennis E. Hamilton         aHItem.SetHeight( PT_14, aHeadlineSizes[ nLevel ] );
213a585680aSDennis E. Hamilton     SetAllScriptItem( rSet, aHItem );
214cdf0e10cSrcweir 
215cdf0e10cSrcweir     if( bItalic && !bHTMLMode )
216cdf0e10cSrcweir         SetAllScriptItem( rSet, SvxPostureItem( ITALIC_NORMAL, RES_CHRATR_POSTURE ) );
217cdf0e10cSrcweir 
218cdf0e10cSrcweir     if( bHTMLMode )
219a585680aSDennis E. Hamilton     {
220a585680aSDennis E. Hamilton         ::lcl_SetDfltFont( DEFAULTFONT_LATIN_TEXT, DEFAULTFONT_CJK_TEXT,
221a585680aSDennis E. Hamilton                             DEFAULTFONT_CTL_TEXT, rSet );
222a585680aSDennis E. Hamilton     }
223a585680aSDennis E. Hamilton 
224a585680aSDennis E. Hamilton     if( pColl )
225a585680aSDennis E. Hamilton     {
226a585680aSDennis E. Hamilton         if( !( nOutLvlBits & ( 1 << nLevel )) )
227a585680aSDennis E. Hamilton         {
228a585680aSDennis E. Hamilton             //pColl->SetOutlineLevel( nLevel );			 //#outline level zhaojianwei
229a585680aSDennis E. Hamilton             pColl->AssignToListLevelOfOutlineStyle(nLevel);//<-end,zhaojianwei
230cdf0e10cSrcweir             if( !bHTMLMode )
231a585680aSDennis E. Hamilton             {
232cdf0e10cSrcweir                 SwNumRule * pOutlineRule = pDoc->GetOutlineNumRule();
233a585680aSDennis E. Hamilton                 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                 // <--
239a585680aSDennis E. Hamilton                 {
240cdf0e10cSrcweir                     SvxLRSpaceItem aLR( (SvxLRSpaceItem&)pColl->GetFmtAttr( RES_LR_SPACE ) );
241a585680aSDennis E. Hamilton                     aLR.SetTxtFirstLineOfstValue( rNFmt.GetFirstLineOffset() );
242a585680aSDennis E. Hamilton                     aLR.SetTxtLeft( rNFmt.GetAbsLSpace() );
243cdf0e10cSrcweir                     pColl->SetFmtAttr( aLR );
244a585680aSDennis E. Hamilton                 }
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                 // <--
256a585680aSDennis E. Hamilton             }
257a585680aSDennis E. Hamilton         }
258a585680aSDennis E. Hamilton         pColl->SetNextTxtFmtColl( *pDoc->GetTxtCollFromPool(
259a585680aSDennis E. Hamilton                                         RES_POOLCOLL_TEXT ));
260a585680aSDennis E. Hamilton     }
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,
266a585680aSDennis E. Hamilton                         sal_Bool bHeader, sal_Bool bTab )
267cdf0e10cSrcweir {
268cdf0e10cSrcweir     SvxLRSpaceItem aLR( RES_LR_SPACE );
269a585680aSDennis E. Hamilton     sal_uInt16 nLeft = nFact ? GetMetricVal( CM_05 ) * nFact : 0;
270a585680aSDennis E. Hamilton     aLR.SetTxtLeft( nLeft );
271cdf0e10cSrcweir 
272a585680aSDennis E. Hamilton     rSet.Put( aLR );
273a585680aSDennis E. Hamilton     if( bHeader )
274a585680aSDennis E. Hamilton     {
275cdf0e10cSrcweir         SetAllScriptItem( rSet, SvxWeightItem( WEIGHT_BOLD, RES_CHRATR_WEIGHT ) );
276cdf0e10cSrcweir         SetAllScriptItem( rSet, SvxFontHeightItem( PT_16, 100, RES_CHRATR_FONTSIZE ) );
277a585680aSDennis E. Hamilton     }
278a585680aSDennis E. Hamilton     if( bTab )
279a585680aSDennis E. Hamilton     {
280a585680aSDennis E. Hamilton         long nRightMargin = lcl_GetRightMargin( *pDoc );
281cdf0e10cSrcweir         SvxTabStopItem aTStops( 0, 0, SVX_TAB_ADJUST_DEFAULT, RES_PARATR_TABSTOP );
282a585680aSDennis E. Hamilton         aTStops.Insert( SvxTabStop( nRightMargin - nLeft,
283a585680aSDennis E. Hamilton                                     SVX_TAB_ADJUST_RIGHT,
284a585680aSDennis E. Hamilton                                     cDfltDecimalChar, '.' ));
285a585680aSDennis E. Hamilton         rSet.Put( aTStops );
286a585680aSDennis E. Hamilton     }
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,
292a585680aSDennis E. Hamilton                         SfxItemSet& rSet,
293a585680aSDennis E. Hamilton                         sal_uInt16 nNxt, SwTwips nEZ, SwTwips nLeft,
294a585680aSDennis E. Hamilton                         SwTwips nUpper, SwTwips nLower )
295cdf0e10cSrcweir {
296cdf0e10cSrcweir 
297cdf0e10cSrcweir     SvxLRSpaceItem aLR( RES_LR_SPACE ); SvxULSpaceItem aUL( RES_UL_SPACE );
298a585680aSDennis E. Hamilton     aLR.SetTxtFirstLineOfst( sal_uInt16(nEZ) ); aLR.SetTxtLeft( sal_uInt16(nLeft) );
299a585680aSDennis E. Hamilton     aUL.SetUpper( sal_uInt16(nUpper) ); aUL.SetLower( sal_uInt16(nLower) );
300a585680aSDennis E. Hamilton     rSet.Put( aLR );
301a585680aSDennis E. Hamilton     rSet.Put( aUL );
302cdf0e10cSrcweir 
303e79d5b37SKay Schenk     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 {
322a585680aSDennis E. Hamilton     ASSERT(
323a585680aSDennis E. Hamilton         (RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END) ||
324a585680aSDennis E. Hamilton         (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END) ||
325a585680aSDennis E. Hamilton         (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END) ||
326a585680aSDennis E. Hamilton         (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END) ||
327a585680aSDennis E. Hamilton         (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END) ||
328a585680aSDennis E. Hamilton         (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END),
329a585680aSDennis E. Hamilton             "Falsche AutoFormat-Id" );
330cdf0e10cSrcweir 
331cdf0e10cSrcweir     SwTxtFmtColl* pNewColl;
332a585680aSDennis E. Hamilton     sal_uInt16 nOutLvlBits = 0;
333a585680aSDennis E. Hamilton     for( sal_uInt16 n = 0; n < pTxtFmtCollTbl->Count(); ++n )
334a585680aSDennis E. Hamilton     {
335a585680aSDennis E. Hamilton         if( nId == ( pNewColl = (*pTxtFmtCollTbl)[ n ] )->GetPoolFmtId() )
336a585680aSDennis E. Hamilton         {
337cdf0e10cSrcweir             return pNewColl;
338a585680aSDennis E. Hamilton         }
339cdf0e10cSrcweir         //if( pNewColl->GetOutlineLevel() < MAXLEVEL )			//#outline level,zhaojianwei
340a585680aSDennis E. Hamilton         //nOutLvlBits |= ( 1 << pNewColl->GetOutlineLevel() );
341a585680aSDennis E. Hamilton         if( pNewColl->IsAssignedToListLevelOfOutlineStyle())
342a585680aSDennis E. Hamilton             nOutLvlBits |= ( 1 << pNewColl->GetAssignedOutlineStyleLevel() );//<-end,zhaojianwei
343a585680aSDennis E. Hamilton     }
344a585680aSDennis E. Hamilton 
345a585680aSDennis E. Hamilton     // bis hierher nicht gefunden -> neu anlegen
346a585680aSDennis E. Hamilton     sal_uInt16 nResId = 0;
347a585680aSDennis E. Hamilton     if( RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END )
348a585680aSDennis E. Hamilton         nResId = RC_POOLCOLL_TEXT_BEGIN - RES_POOLCOLL_TEXT_BEGIN;
349a585680aSDennis E. Hamilton     else if (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END)
350a585680aSDennis E. Hamilton         nResId = RC_POOLCOLL_LISTS_BEGIN - RES_POOLCOLL_LISTS_BEGIN;
351a585680aSDennis E. Hamilton     else if (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END)
352a585680aSDennis E. Hamilton         nResId = RC_POOLCOLL_EXTRA_BEGIN - RES_POOLCOLL_EXTRA_BEGIN;
353a585680aSDennis E. Hamilton     else if (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END)
354a585680aSDennis E. Hamilton         nResId = RC_POOLCOLL_REGISTER_BEGIN - RES_POOLCOLL_REGISTER_BEGIN;
355a585680aSDennis E. Hamilton     else if (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END)
356a585680aSDennis E. Hamilton         nResId = RC_POOLCOLL_DOC_BEGIN - RES_POOLCOLL_DOC_BEGIN;
357a585680aSDennis E. Hamilton     else if (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END)
358a585680aSDennis E. Hamilton         nResId = RC_POOLCOLL_HTML_BEGIN - RES_POOLCOLL_HTML_BEGIN;
359a585680aSDennis E. Hamilton 
360a585680aSDennis E. Hamilton     ASSERT( nResId, "Ungueltige Pool-ID" );
361a585680aSDennis E. Hamilton     if( !nResId )
362cdf0e10cSrcweir         return GetTxtCollFromPool( RES_POOLCOLL_STANDARD );
363cdf0e10cSrcweir 
364a585680aSDennis E. Hamilton     ResId aResId( nResId + nId, *pSwResMgr );
365a585680aSDennis E. Hamilton     String aNm( aResId );
366cdf0e10cSrcweir 
367a585680aSDennis E. Hamilton     // ein Set fuer alle zusetzenden Attribute
368a585680aSDennis E. Hamilton     SwAttrSet aSet( GetAttrPool(), aTxtFmtCollSetRange );
369a585680aSDennis E. Hamilton     sal_uInt16 nParent = GetPoolParent( nId );
370cdf0e10cSrcweir 
371cdf0e10cSrcweir     {
372cdf0e10cSrcweir 
373cdf0e10cSrcweir //FEATURE::CONDCOLL
374a585680aSDennis E. Hamilton         if(::IsConditionalByPoolId( nId ))
375a585680aSDennis E. Hamilton             pNewColl = new SwConditionTxtFmtColl( GetAttrPool(), aNm, !nParent
376a585680aSDennis E. Hamilton                                                 ? pDfltTxtFmtColl
377a585680aSDennis E. Hamilton                                                 : GetTxtCollFromPool( nParent ));
378a585680aSDennis E. Hamilton         else
379cdf0e10cSrcweir //FEATURE::CONDCOLL
380a585680aSDennis E. Hamilton         pNewColl = new SwTxtFmtColl( GetAttrPool(), aNm, !nParent
381a585680aSDennis E. Hamilton                                             ? pDfltTxtFmtColl
382a585680aSDennis E. Hamilton                                             : GetTxtCollFromPool( nParent ));
383a585680aSDennis E. Hamilton         pNewColl->SetPoolFmtId( nId );
384a585680aSDennis E. Hamilton         pTxtFmtCollTbl->Insert( pNewColl, pTxtFmtCollTbl->Count() );
385a585680aSDennis E. Hamilton     }
386a585680aSDennis E. Hamilton 
387a585680aSDennis E. Hamilton     switch( nId )
388a585680aSDennis E. Hamilton     {
389a585680aSDennis E. Hamilton     // allgemeine Inhaltsformen
390a585680aSDennis E. Hamilton     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 
408a585680aSDennis E. Hamilton         break;
409cdf0e10cSrcweir 
410a585680aSDennis E. Hamilton     case RES_POOLCOLL_TEXT:					// Textkoerper
411a585680aSDennis E. Hamilton         {
412cdf0e10cSrcweir             SvxULSpaceItem aUL( 0, PT_6, RES_UL_SPACE );
413a585680aSDennis E. Hamilton             if( get(IDocumentSettingAccess::HTML_MODE) ) aUL.SetLower( HTML_PARSPACE );
414a585680aSDennis E. Hamilton             aSet.Put( aUL );
415a585680aSDennis E. Hamilton         }
416a585680aSDennis E. Hamilton         break;
417a585680aSDennis E. Hamilton     case RES_POOLCOLL_TEXT_IDENT:			// Textkoerper Einzug
418a585680aSDennis E. Hamilton         {
419cdf0e10cSrcweir             SvxLRSpaceItem aLR( RES_LR_SPACE );
420a585680aSDennis E. Hamilton             aLR.SetTxtFirstLineOfst( GetMetricVal( CM_05 ));
421a585680aSDennis E. Hamilton             aSet.Put( aLR );
422a585680aSDennis E. Hamilton         }
423a585680aSDennis E. Hamilton         break;
424a585680aSDennis E. Hamilton     case RES_POOLCOLL_TEXT_NEGIDENT:		// Textkoerper neg. Einzug
425a585680aSDennis E. Hamilton         {
426cdf0e10cSrcweir             SvxLRSpaceItem aLR( RES_LR_SPACE );
427a585680aSDennis E. Hamilton             aLR.SetTxtFirstLineOfst( -(short)GetMetricVal( CM_05 ));
428a585680aSDennis E. Hamilton             aLR.SetTxtLeft( GetMetricVal( CM_1 ));
429cdf0e10cSrcweir             SvxTabStopItem aTStops(RES_PARATR_TABSTOP);    aTStops.Insert( SvxTabStop( 0 ));
430cdf0e10cSrcweir 
431a585680aSDennis E. Hamilton             aSet.Put( aLR );
432a585680aSDennis E. Hamilton             aSet.Put( aTStops );
433a585680aSDennis E. Hamilton         }
434a585680aSDennis E. Hamilton         break;
435a585680aSDennis E. Hamilton     case RES_POOLCOLL_TEXT_MOVE:			// Textkoerper Einrueckung
436a585680aSDennis E. Hamilton         {
437cdf0e10cSrcweir             SvxLRSpaceItem aLR( RES_LR_SPACE );
438a585680aSDennis E. Hamilton             aLR.SetTxtLeft( GetMetricVal( CM_05 ));
439a585680aSDennis E. Hamilton             aSet.Put( aLR );
440a585680aSDennis E. Hamilton         }
441a585680aSDennis E. Hamilton         break;
442cdf0e10cSrcweir 
443a585680aSDennis E. Hamilton     case RES_POOLCOLL_CONFRONTATION: 	// Textkoerper Gegenueberstellung
444a585680aSDennis E. Hamilton         {
445cdf0e10cSrcweir             SvxLRSpaceItem aLR( RES_LR_SPACE );
446a585680aSDennis E. Hamilton             aLR.SetTxtFirstLineOfst( - short( GetMetricVal( CM_1 ) * 4 +
447a585680aSDennis E. Hamilton                                               GetMetricVal( CM_05)) );
448a585680aSDennis E. Hamilton             aLR.SetTxtLeft( GetMetricVal( CM_1 ) * 5 );
449cdf0e10cSrcweir             SvxTabStopItem aTStops( RES_PARATR_TABSTOP );    aTStops.Insert( SvxTabStop( 0 ));
450cdf0e10cSrcweir 
451a585680aSDennis E. Hamilton             aSet.Put( aLR );
452a585680aSDennis E. Hamilton             aSet.Put( aTStops );
453a585680aSDennis E. Hamilton         }
454a585680aSDennis E. Hamilton         break;
455a585680aSDennis E. Hamilton     case RES_POOLCOLL_MARGINAL: 		// Textkoerper maginalie
456a585680aSDennis E. Hamilton         {
457cdf0e10cSrcweir             SvxLRSpaceItem aLR( RES_LR_SPACE );
458a585680aSDennis E. Hamilton             aLR.SetTxtLeft( GetMetricVal( CM_1 ) * 4 );
459a585680aSDennis E. Hamilton             aSet.Put( aLR );
460a585680aSDennis E. Hamilton         }
461a585680aSDennis E. Hamilton         break;
462a585680aSDennis E. Hamilton 
463a585680aSDennis E. Hamilton     case RES_POOLCOLL_HEADLINE_BASE:			// Basis Ueberschrift
464a585680aSDennis E. Hamilton         {
465a585680aSDennis E. Hamilton             static const sal_uInt16 aFntInit[] = {
466a585680aSDennis E. Hamilton                 DEFAULTFONT_LATIN_HEADING, 	RES_CHRATR_FONT,
467a585680aSDennis E. Hamilton                                 RES_CHRATR_LANGUAGE, LANGUAGE_ENGLISH_US,
468a585680aSDennis E. Hamilton                 DEFAULTFONT_CJK_HEADING, 	RES_CHRATR_CJK_FONT,
469a585680aSDennis E. Hamilton                                 RES_CHRATR_CJK_LANGUAGE, LANGUAGE_ENGLISH_US,
470a585680aSDennis E. Hamilton                 DEFAULTFONT_CTL_HEADING, 	RES_CHRATR_CTL_FONT,
471a585680aSDennis E. Hamilton                                 RES_CHRATR_CTL_LANGUAGE, LANGUAGE_ARABIC_SAUDI_ARABIA,
472a585680aSDennis E. Hamilton                 0
473a585680aSDennis E. Hamilton             };
474a585680aSDennis E. Hamilton 
475a585680aSDennis E. Hamilton             for( const sal_uInt16* pArr = aFntInit; *pArr; pArr += 4 )
476a585680aSDennis E. Hamilton             {
477a585680aSDennis E. Hamilton                 sal_uInt16 nLng = ((SvxLanguageItem&)GetDefault( *(pArr+2) )).GetLanguage();
478a585680aSDennis E. Hamilton                 if( LANGUAGE_DONTKNOW == nLng )
479a585680aSDennis E. Hamilton                     nLng = *(pArr+3);
480a585680aSDennis E. Hamilton 
481a585680aSDennis E. Hamilton                 Font aFnt( OutputDevice::GetDefaultFont( *pArr,
482a585680aSDennis E. Hamilton                                         nLng, DEFAULTFONT_FLAGS_ONLYONE ) );
483a585680aSDennis E. Hamilton 
484a585680aSDennis E. Hamilton                 aSet.Put( SvxFontItem( aFnt.GetFamily(), aFnt.GetName(),
485a585680aSDennis E. Hamilton                                         aEmptyStr, aFnt.GetPitch(),
486cdf0e10cSrcweir                                         aFnt.GetCharSet(), *(pArr+1) ));
487a585680aSDennis E. Hamilton             }
488cdf0e10cSrcweir 
489cdf0e10cSrcweir             SvxFontHeightItem aFntSize( PT_14, 100, RES_CHRATR_FONTSIZE );
490cdf0e10cSrcweir             SvxULSpaceItem aUL( PT_12, PT_6, RES_UL_SPACE );
491a585680aSDennis E. Hamilton             if( get(IDocumentSettingAccess::HTML_MODE) )
492a585680aSDennis E. Hamilton                 aUL.SetLower( HTML_PARSPACE );
493cdf0e10cSrcweir             aSet.Put( SvxFmtKeepItem( sal_True, RES_KEEP ));
494cdf0e10cSrcweir 
495cdf0e10cSrcweir             pNewColl->SetNextTxtFmtColl( *GetTxtCollFromPool( RES_POOLCOLL_TEXT ));
496cdf0e10cSrcweir 
497a585680aSDennis E. Hamilton             aSet.Put( aUL );
498a585680aSDennis E. Hamilton             SetAllScriptItem( aSet, aFntSize );
499a585680aSDennis E. Hamilton         }
500a585680aSDennis E. Hamilton         break;
501a585680aSDennis E. Hamilton 
502a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUMBUL_BASE:			// Basis Numerierung/Aufzaehlung
503a585680aSDennis E. Hamilton         break;
504a585680aSDennis E. Hamilton 
505a585680aSDennis E. Hamilton     case RES_POOLCOLL_GREETING:				// Grussformel
506a585680aSDennis E. Hamilton     case RES_POOLCOLL_REGISTER_BASE: 		// Basis Verzeichnisse
507a585680aSDennis E. Hamilton     case RES_POOLCOLL_SIGNATURE:			// Unterschrift
508a585680aSDennis E. Hamilton     case RES_POOLCOLL_TABLE:				// Tabelle-Inhalt
509a585680aSDennis E. Hamilton         {
510a585680aSDennis E. Hamilton             SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
511a585680aSDennis E. Hamilton             aSet.Put( aLN );
512a585680aSDennis E. Hamilton         }
513a585680aSDennis E. Hamilton         break;
514a585680aSDennis E. Hamilton 
515a585680aSDennis E. Hamilton     case RES_POOLCOLL_HEADLINE1:		// Ueberschrift 1
516a585680aSDennis E. Hamilton         lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 0, sal_False );
517a585680aSDennis E. Hamilton         break;
518a585680aSDennis E. Hamilton     case RES_POOLCOLL_HEADLINE2:		// Ueberschrift 2
519a585680aSDennis E. Hamilton         lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 1, sal_True );
520a585680aSDennis E. Hamilton         break;
521a585680aSDennis E. Hamilton     case RES_POOLCOLL_HEADLINE3:		// Ueberschrift 3
522a585680aSDennis E. Hamilton         lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 2, sal_False );
523a585680aSDennis E. Hamilton         break;
524a585680aSDennis E. Hamilton     case RES_POOLCOLL_HEADLINE4:		// Ueberschrift 4
525a585680aSDennis E. Hamilton         lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 3, sal_True );
526a585680aSDennis E. Hamilton         break;
527a585680aSDennis E. Hamilton     case RES_POOLCOLL_HEADLINE5:		// Ueberschrift 5
528a585680aSDennis E. Hamilton         lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 4, sal_False );
529a585680aSDennis E. Hamilton         break;
530a585680aSDennis E. Hamilton     case RES_POOLCOLL_HEADLINE6:		// Ueberschrift 6
531a585680aSDennis E. Hamilton         lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 5, sal_False );
532a585680aSDennis E. Hamilton         break;
533a585680aSDennis E. Hamilton     case RES_POOLCOLL_HEADLINE7:		// Ueberschrift 7
534a585680aSDennis E. Hamilton         lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 6, sal_False );
535a585680aSDennis E. Hamilton         break;
536a585680aSDennis E. Hamilton     case RES_POOLCOLL_HEADLINE8:		// Ueberschrift 8
537a585680aSDennis E. Hamilton         lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 7, sal_False );
538a585680aSDennis E. Hamilton         break;
539a585680aSDennis E. Hamilton     case RES_POOLCOLL_HEADLINE9:		// Ueberschrift 9
540a585680aSDennis E. Hamilton         lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 8, sal_False );
541a585680aSDennis E. Hamilton         break;
542a585680aSDennis E. Hamilton     case RES_POOLCOLL_HEADLINE10:		// Ueberschrift 10
543a585680aSDennis E. Hamilton         lcl_SetHeadline( this, pNewColl, aSet, nOutLvlBits, 9, sal_False );
544a585680aSDennis E. Hamilton         break;
545a585680aSDennis E. Hamilton 
546a585680aSDennis E. Hamilton 
547a585680aSDennis E. Hamilton     // Sonderbereiche:
548a585680aSDennis E. Hamilton     // Kopfzeilen
549a585680aSDennis E. Hamilton     case RES_POOLCOLL_HEADER:
550a585680aSDennis E. Hamilton     case RES_POOLCOLL_HEADERL:
551a585680aSDennis E. Hamilton     case RES_POOLCOLL_HEADERR:
552a585680aSDennis E. Hamilton     // Fusszeilen
553a585680aSDennis E. Hamilton     case RES_POOLCOLL_FOOTER:
554a585680aSDennis E. Hamilton     case RES_POOLCOLL_FOOTERL:
555a585680aSDennis E. Hamilton     case RES_POOLCOLL_FOOTERR:
556a585680aSDennis E. Hamilton         {
557a585680aSDennis E. Hamilton             SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
558a585680aSDennis E. Hamilton             aSet.Put( aLN );
559a585680aSDennis E. Hamilton 
560a585680aSDennis E. Hamilton             long nRightMargin = lcl_GetRightMargin( *this );
561cdf0e10cSrcweir 
562cdf0e10cSrcweir             SvxTabStopItem aTStops( 0, 0, SVX_TAB_ADJUST_DEFAULT, RES_PARATR_TABSTOP );
563a585680aSDennis E. Hamilton             aTStops.Insert( SvxTabStop( nRightMargin / 2, SVX_TAB_ADJUST_CENTER ) );
564a585680aSDennis E. Hamilton             aTStops.Insert( SvxTabStop( nRightMargin, SVX_TAB_ADJUST_RIGHT ) );
565cdf0e10cSrcweir 
566a585680aSDennis E. Hamilton             aSet.Put( aTStops );
567a585680aSDennis E. Hamilton         }
568a585680aSDennis E. Hamilton         break;
569cdf0e10cSrcweir 
570a585680aSDennis E. Hamilton     case RES_POOLCOLL_TABLE_HDLN:
571a585680aSDennis E. Hamilton         {
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 );
575a585680aSDennis E. Hamilton             aSet.Put( aLN );
576a585680aSDennis E. Hamilton         }
577a585680aSDennis E. Hamilton         break;
578cdf0e10cSrcweir 
579a585680aSDennis E. Hamilton     case RES_POOLCOLL_FOOTNOTE:				// Fussnote
580a585680aSDennis E. Hamilton     case RES_POOLCOLL_ENDNOTE:
581a585680aSDennis E. Hamilton         {
582cdf0e10cSrcweir             SvxLRSpaceItem aLR( RES_LR_SPACE );
583a585680aSDennis E. Hamilton             aLR.SetTxtFirstLineOfst( -(short)GetMetricVal( CM_05 ));
584a585680aSDennis E. Hamilton             aLR.SetTxtLeft( GetMetricVal( CM_05 ));
585cdf0e10cSrcweir             SetAllScriptItem( aSet, SvxFontHeightItem( PT_10, 100, RES_CHRATR_FONTSIZE ) );
586a585680aSDennis E. Hamilton             aSet.Put( aLR );
587a585680aSDennis E. Hamilton             SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
588a585680aSDennis E. Hamilton             aSet.Put( aLN );
589a585680aSDennis E. Hamilton         }
590a585680aSDennis E. Hamilton         break;
591a585680aSDennis E. Hamilton 
592a585680aSDennis E. Hamilton     case RES_POOLCOLL_LABEL:				// Beschriftung-Basis
593a585680aSDennis E. Hamilton         {
594cdf0e10cSrcweir             SvxULSpaceItem aUL( RES_UL_SPACE ); aUL.SetUpper( PT_6 ); aUL.SetLower( PT_6 );
595a585680aSDennis E. Hamilton             aSet.Put( aUL );
596cdf0e10cSrcweir             SetAllScriptItem( aSet, SvxPostureItem( ITALIC_NORMAL, RES_CHRATR_POSTURE ) );
597cdf0e10cSrcweir             SetAllScriptItem( aSet, SvxFontHeightItem( PT_10, 100, RES_CHRATR_FONTSIZE ) );
598a585680aSDennis E. Hamilton             SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
599a585680aSDennis E. Hamilton             aSet.Put( aLN );
600a585680aSDennis E. Hamilton         }
601a585680aSDennis E. Hamilton         break;
602a585680aSDennis E. Hamilton 
603a585680aSDennis E. Hamilton     case RES_POOLCOLL_FRAME:				// Rahmen Inhalt
604a585680aSDennis E. Hamilton     case RES_POOLCOLL_LABEL_ABB:			// Beschriftung-Abbildung
605a585680aSDennis E. Hamilton     case RES_POOLCOLL_LABEL_TABLE:			// Beschriftung-Tabelle
606a585680aSDennis E. Hamilton     case RES_POOLCOLL_LABEL_FRAME:			// Beschriftung-Rahmen
607a585680aSDennis E. Hamilton     case RES_POOLCOLL_LABEL_DRAWING:		// Beschriftung-Zeichnung
608a585680aSDennis E. Hamilton         break;
609a585680aSDennis E. Hamilton 
610a585680aSDennis E. Hamilton     case RES_POOLCOLL_JAKETADRESS:			// UmschlagAdresse
611a585680aSDennis E. Hamilton         {
612cdf0e10cSrcweir             SvxULSpaceItem aUL( RES_UL_SPACE ); aUL.SetLower( PT_3 );
613a585680aSDennis E. Hamilton             aSet.Put( aUL );
614a585680aSDennis E. Hamilton             SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
615a585680aSDennis E. Hamilton             aSet.Put( aLN );
616a585680aSDennis E. Hamilton         }
617a585680aSDennis E. Hamilton         break;
618a585680aSDennis E. Hamilton 
619a585680aSDennis E. Hamilton     case RES_POOLCOLL_SENDADRESS:			// AbsenderAdresse
620a585680aSDennis E. Hamilton         {
621a585680aSDennis E. Hamilton             if( get(IDocumentSettingAccess::HTML_MODE) )
622cdf0e10cSrcweir                 SetAllScriptItem( aSet, SvxPostureItem(ITALIC_NORMAL, RES_CHRATR_POSTURE) );
623a585680aSDennis E. Hamilton             else
624a585680aSDennis E. Hamilton             {
625cdf0e10cSrcweir                 SvxULSpaceItem aUL( RES_UL_SPACE ); aUL.SetLower( PT_3 );
626a585680aSDennis E. Hamilton                 aSet.Put( aUL );
627a585680aSDennis E. Hamilton             }
628a585680aSDennis E. Hamilton             SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
629a585680aSDennis E. Hamilton             aSet.Put( aLN );
630a585680aSDennis E. Hamilton         }
631a585680aSDennis E. Hamilton         break;
632a585680aSDennis E. Hamilton 
633a585680aSDennis E. Hamilton     // Benutzer-Verzeichnisse:
634a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_USERH:			// Header
635a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 0, sal_True, sal_False );
636a585680aSDennis E. Hamilton         {
637a585680aSDennis E. Hamilton             SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
638a585680aSDennis E. Hamilton             aSet.Put( aLN );
639a585680aSDennis E. Hamilton         }
640a585680aSDennis E. Hamilton         break;
641a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_USER1:			// 1. Ebene
642a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 0, sal_False, sal_True );
643a585680aSDennis E. Hamilton         break;
644a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_USER2:			// 2. Ebene
645a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 1, sal_False, sal_True );
646a585680aSDennis E. Hamilton         break;
647a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_USER3:			// 3. Ebene
648a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 2, sal_False, sal_True );
649a585680aSDennis E. Hamilton         break;
650a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_USER4:			// 4. Ebene
651a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 3, sal_False, sal_True );
652a585680aSDennis E. Hamilton         break;
653a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_USER5:			// 5. Ebene
654a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 4, sal_False, sal_True );
655a585680aSDennis E. Hamilton         break;
656a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_USER6:			// 6. Ebene
657a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 5, sal_False, sal_True );
658a585680aSDennis E. Hamilton         break;
659a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_USER7:			// 7. Ebene
660a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 6, sal_False, sal_True );
661a585680aSDennis E. Hamilton         break;
662a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_USER8:			// 8. Ebene
663a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 7, sal_False, sal_True );
664a585680aSDennis E. Hamilton         break;
665a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_USER9:			// 9. Ebene
666a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 8, sal_False, sal_True );
667a585680aSDennis E. Hamilton         break;
668a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_USER10:			// 10. Ebene
669a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 9, sal_False, sal_True );
670a585680aSDennis E. Hamilton         break;
671a585680aSDennis E. Hamilton 
672a585680aSDennis E. Hamilton     // Index-Verzeichnisse
673a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_IDXH:			// Header
674a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 0, sal_True, sal_False );
675a585680aSDennis E. Hamilton         {
676a585680aSDennis E. Hamilton             SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
677a585680aSDennis E. Hamilton             aSet.Put( aLN );
678a585680aSDennis E. Hamilton         }
679a585680aSDennis E. Hamilton         break;
680a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_IDX1:			// 1. Ebene
681a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 0, sal_False, sal_False );
682a585680aSDennis E. Hamilton         break;
683a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_IDX2:			// 2. Ebene
684a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 1, sal_False, sal_False );
685a585680aSDennis E. Hamilton         break;
686a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_IDX3:			// 3. Ebene
687a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 2, sal_False, sal_False );
688a585680aSDennis E. Hamilton         break;
689a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_IDXBREAK:		// Trenner
690a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 0, sal_False, sal_False );
691a585680aSDennis E. Hamilton         break;
692a585680aSDennis E. Hamilton 
693a585680aSDennis E. Hamilton     // Inhalts-Verzeichnisse
694a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_CNTNTH:		// Header
695a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 0, sal_True, sal_False );
696a585680aSDennis E. Hamilton         {
697a585680aSDennis E. Hamilton             SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
698a585680aSDennis E. Hamilton             aSet.Put( aLN );
699a585680aSDennis E. Hamilton         }
700a585680aSDennis E. Hamilton         break;
701a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_CNTNT1:		// 1. Ebene
702a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 0, sal_False, sal_True );
703a585680aSDennis E. Hamilton         break;
704a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_CNTNT2:		// 2. Ebene
705a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 1, sal_False, sal_True );
706a585680aSDennis E. Hamilton         break;
707a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_CNTNT3:		// 3. Ebene
708a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 2, sal_False, sal_True );
709a585680aSDennis E. Hamilton         break;
710a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_CNTNT4:		// 4. Ebene
711a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 3, sal_False, sal_True );
712a585680aSDennis E. Hamilton         break;
713a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_CNTNT5:		// 5. Ebene
714a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 4, sal_False, sal_True );
715a585680aSDennis E. Hamilton         break;
716a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_CNTNT6:		// 6. Ebene
717a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 5, sal_False, sal_True );
718a585680aSDennis E. Hamilton         break;
719a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_CNTNT7:		// 7. Ebene
720a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 6, sal_False, sal_True );
721a585680aSDennis E. Hamilton         break;
722a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_CNTNT8:		// 8. Ebene
723a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 7, sal_False, sal_True );
724a585680aSDennis E. Hamilton         break;
725a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_CNTNT9:		// 9. Ebene
726a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 8, sal_False, sal_True );
727a585680aSDennis E. Hamilton         break;
728a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_CNTNT10:		// 10. Ebene
729a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 9, sal_False, sal_True );
730a585680aSDennis E. Hamilton         break;
731a585680aSDennis E. Hamilton 
732a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_ILLUSH:
733a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_OBJECTH:
734a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_TABLESH:
735a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_AUTHORITIESH:
736a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 0, sal_True, sal_False );
737a585680aSDennis E. Hamilton         {
738a585680aSDennis E. Hamilton             SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
739a585680aSDennis E. Hamilton             aSet.Put( aLN );
740a585680aSDennis E. Hamilton         }
741a585680aSDennis E. Hamilton         break;
742a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_ILLUS1:
743a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_OBJECT1:
744a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_TABLES1:
745a585680aSDennis E. Hamilton     case RES_POOLCOLL_TOX_AUTHORITIES1:
746a585680aSDennis E. Hamilton         lcl_SetRegister( this, aSet, 0, sal_False, sal_True );
747a585680aSDennis E. Hamilton     break;
748a585680aSDennis E. Hamilton 
749a585680aSDennis E. Hamilton 
750a585680aSDennis E. Hamilton 
751a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_LEVEL1S:
752a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL1,
753a585680aSDennis E. Hamilton                         lNumFirstLineOffset, SwNumRule::GetNumIndent( 0 ),
754a585680aSDennis E. Hamilton                         PT_12, PT_6 );
755a585680aSDennis E. Hamilton         break;
756a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_LEVEL1:
757a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL1,
758a585680aSDennis E. Hamilton                         lNumFirstLineOffset, SwNumRule::GetNumIndent( 0 ),
759a585680aSDennis E. Hamilton                         0, PT_6 );
760a585680aSDennis E. Hamilton         break;
761a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_LEVEL1E:
762a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL1,
763a585680aSDennis E. Hamilton                         lNumFirstLineOffset, SwNumRule::GetNumIndent( 0 ),
764a585680aSDennis E. Hamilton                         0, PT_12 );
765a585680aSDennis E. Hamilton         break;
766a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_NONUM1:
767a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_NONUM1,
768a585680aSDennis E. Hamilton                         0, SwNumRule::GetNumIndent( 0 ), 0, PT_6 );
769a585680aSDennis E. Hamilton         break;
770a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_LEVEL2S:
771a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL2,
772a585680aSDennis E. Hamilton                         lNumFirstLineOffset, SwNumRule::GetNumIndent( 1 ),
773a585680aSDennis E. Hamilton                         PT_12, PT_6 );
774a585680aSDennis E. Hamilton         break;
775a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_LEVEL2:
776a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL2,
777a585680aSDennis E. Hamilton                         lNumFirstLineOffset, SwNumRule::GetNumIndent( 1 ),
778a585680aSDennis E. Hamilton                         0, PT_6 );
779a585680aSDennis E. Hamilton         break;
780a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_LEVEL2E:
781a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL2,
782a585680aSDennis E. Hamilton                         lNumFirstLineOffset, SwNumRule::GetNumIndent( 1 ),
783a585680aSDennis E. Hamilton                         0, PT_12 );
784a585680aSDennis E. Hamilton         break;
785a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_NONUM2:
786a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_NONUM2,
787a585680aSDennis E. Hamilton                         0, SwNumRule::GetNumIndent( 1 ), 0, PT_6 );
788a585680aSDennis E. Hamilton         break;
789a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_LEVEL3S:
790a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL3,
791a585680aSDennis E. Hamilton                         lNumFirstLineOffset, SwNumRule::GetNumIndent( 2 ),
792a585680aSDennis E. Hamilton                         PT_12, PT_6 );
793a585680aSDennis E. Hamilton         break;
794a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_LEVEL3:
795a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL3,
796a585680aSDennis E. Hamilton                         lNumFirstLineOffset, SwNumRule::GetNumIndent( 2 ),
797a585680aSDennis E. Hamilton                         0, PT_6 );
798a585680aSDennis E. Hamilton         break;
799a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_LEVEL3E:
800a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL3,
801a585680aSDennis E. Hamilton                         lNumFirstLineOffset, SwNumRule::GetNumIndent( 2 ),
802a585680aSDennis E. Hamilton                         0, PT_12 );
803a585680aSDennis E. Hamilton         break;
804a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_NONUM3:
805a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_NONUM3,
806a585680aSDennis E. Hamilton                         0, SwNumRule::GetNumIndent( 2 ), 0, PT_6 );
807a585680aSDennis E. Hamilton         break;
808a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_LEVEL4S:
809a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL4,
810a585680aSDennis E. Hamilton                         lNumFirstLineOffset, SwNumRule::GetNumIndent( 3 ),
811a585680aSDennis E. Hamilton                         PT_12, PT_6 );
812a585680aSDennis E. Hamilton         break;
813a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_LEVEL4:
814a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL4,
815a585680aSDennis E. Hamilton                         lNumFirstLineOffset, SwNumRule::GetNumIndent( 3 ),
816a585680aSDennis E. Hamilton                         0, PT_6 );
817a585680aSDennis E. Hamilton         break;
818a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_LEVEL4E:
819a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL4,
820a585680aSDennis E. Hamilton                         lNumFirstLineOffset, SwNumRule::GetNumIndent( 3 ),
821a585680aSDennis E. Hamilton                         0, PT_12 );
822a585680aSDennis E. Hamilton         break;
823a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_NONUM4:
824a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_NONUM4,
825a585680aSDennis E. Hamilton                         0, SwNumRule::GetNumIndent( 3 ), 0, PT_6 );
826a585680aSDennis E. Hamilton         break;
827a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_LEVEL5S:
828a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL5,
829a585680aSDennis E. Hamilton                         lNumFirstLineOffset, SwNumRule::GetNumIndent( 4 ),
830a585680aSDennis E. Hamilton                         PT_12, PT_6 );
831a585680aSDennis E. Hamilton         break;
832a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_LEVEL5:
833a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL5,
834a585680aSDennis E. Hamilton                         lNumFirstLineOffset, SwNumRule::GetNumIndent( 4 ),
835a585680aSDennis E. Hamilton                         0, PT_6 );
836a585680aSDennis E. Hamilton         break;
837a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_LEVEL5E:
838a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL5,
839a585680aSDennis E. Hamilton                         lNumFirstLineOffset, SwNumRule::GetNumIndent( 4 ),
840a585680aSDennis E. Hamilton                         0, PT_12 );
841a585680aSDennis E. Hamilton         break;
842a585680aSDennis E. Hamilton     case RES_POOLCOLL_NUM_NONUM5:
843a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_NUM_NONUM5,
844a585680aSDennis E. Hamilton                         0, SwNumRule::GetNumIndent( 4 ), 0, PT_6 );
845a585680aSDennis E. Hamilton         break;
846a585680aSDennis E. Hamilton 
847a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_LEVEL1S:
848a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL1,
849a585680aSDennis E. Hamilton                         lBullFirstLineOffset, SwNumRule::GetBullIndent( 0 ),
850a585680aSDennis E. Hamilton                         PT_12, PT_6 );
851a585680aSDennis E. Hamilton         break;
852a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_LEVEL1:
853a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL1,
854a585680aSDennis E. Hamilton                         lBullFirstLineOffset, SwNumRule::GetBullIndent( 0 ),
855a585680aSDennis E. Hamilton                         0, PT_6 );
856a585680aSDennis E. Hamilton         break;
857a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_LEVEL1E:
858a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL1,
859a585680aSDennis E. Hamilton                         lBullFirstLineOffset, SwNumRule::GetBullIndent( 0 ),
860a585680aSDennis E. Hamilton                         0, PT_12 );
861a585680aSDennis E. Hamilton         break;
862a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_NONUM1:
863a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_NONUM1,
864a585680aSDennis E. Hamilton                         0, SwNumRule::GetBullIndent( 0 ), 0, PT_6 );
865a585680aSDennis E. Hamilton         break;
866a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_LEVEL2S:
867a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL2,
868a585680aSDennis E. Hamilton                         lBullFirstLineOffset, SwNumRule::GetBullIndent( 1 ),
869a585680aSDennis E. Hamilton                         PT_12, PT_6 );
870a585680aSDennis E. Hamilton         break;
871a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_LEVEL2:
872a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL2,
873a585680aSDennis E. Hamilton                         lBullFirstLineOffset, SwNumRule::GetBullIndent( 1 ),
874a585680aSDennis E. Hamilton                         0, PT_6 );
875a585680aSDennis E. Hamilton         break;
876a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_LEVEL2E:
877a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL2,
878a585680aSDennis E. Hamilton                         lBullFirstLineOffset, SwNumRule::GetBullIndent( 1 ),
879a585680aSDennis E. Hamilton                         0, PT_12 );
880a585680aSDennis E. Hamilton         break;
881a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_NONUM2:
882a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_NONUM2,
883a585680aSDennis E. Hamilton                         0, SwNumRule::GetBullIndent( 1 ), 0, PT_6 );
884a585680aSDennis E. Hamilton         break;
885a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_LEVEL3S:
886a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL3,
887a585680aSDennis E. Hamilton                         lBullFirstLineOffset, SwNumRule::GetBullIndent( 2 ),
888a585680aSDennis E. Hamilton                         PT_12, PT_6 );
889a585680aSDennis E. Hamilton         break;
890a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_LEVEL3:
891a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL3,
892a585680aSDennis E. Hamilton                         lBullFirstLineOffset, SwNumRule::GetBullIndent( 2 ),
893a585680aSDennis E. Hamilton                         0, PT_6 );
894a585680aSDennis E. Hamilton         break;
895a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_LEVEL3E:
896a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL3,
897a585680aSDennis E. Hamilton                         lBullFirstLineOffset, SwNumRule::GetBullIndent( 2 ),
898a585680aSDennis E. Hamilton                         0, PT_12 );
899a585680aSDennis E. Hamilton         break;
900a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_NONUM3:
901a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_NONUM3,
902a585680aSDennis E. Hamilton                         0, SwNumRule::GetBullIndent( 2 ), 0, PT_6 );
903a585680aSDennis E. Hamilton         break;
904a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_LEVEL4S:
905a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL4,
906a585680aSDennis E. Hamilton                         lBullFirstLineOffset, SwNumRule::GetBullIndent( 3 ),
907a585680aSDennis E. Hamilton                         PT_12, PT_6 );
908a585680aSDennis E. Hamilton         break;
909a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_LEVEL4:
910a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL4,
911a585680aSDennis E. Hamilton                         lBullFirstLineOffset, SwNumRule::GetBullIndent( 3 ),
912a585680aSDennis E. Hamilton                         0, PT_6 );
913a585680aSDennis E. Hamilton         break;
914a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_LEVEL4E:
915a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL4,
916a585680aSDennis E. Hamilton                         lBullFirstLineOffset, SwNumRule::GetBullIndent( 3 ),
917a585680aSDennis E. Hamilton                         0, PT_12 );
918a585680aSDennis E. Hamilton         break;
919a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_NONUM4:
920a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_NONUM4,
921a585680aSDennis E. Hamilton                         0, SwNumRule::GetBullIndent( 3 ), 0, PT_6 );
922a585680aSDennis E. Hamilton         break;
923a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_LEVEL5S:
924a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL5,
925a585680aSDennis E. Hamilton                         lBullFirstLineOffset, SwNumRule::GetBullIndent( 4 ),
926a585680aSDennis E. Hamilton                         PT_12, PT_6 );
927a585680aSDennis E. Hamilton         break;
928a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_LEVEL5:
929a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL5,
930a585680aSDennis E. Hamilton                         lBullFirstLineOffset, SwNumRule::GetBullIndent( 4 ),
931a585680aSDennis E. Hamilton                         0, PT_6 );
932a585680aSDennis E. Hamilton         break;
933a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_LEVEL5E:
934a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_LEVEL5,
935a585680aSDennis E. Hamilton                         lBullFirstLineOffset, SwNumRule::GetBullIndent( 4 ),
936a585680aSDennis E. Hamilton                         0, PT_12 );
937a585680aSDennis E. Hamilton         break;
938a585680aSDennis E. Hamilton     case RES_POOLCOLL_BUL_NONUM5:
939a585680aSDennis E. Hamilton         lcl_SetNumBul( this, pNewColl, aSet, RES_POOLCOLL_BUL_NONUM5,
940a585680aSDennis E. Hamilton                         0, SwNumRule::GetBullIndent( 4 ), 0, PT_6 );
941a585680aSDennis E. Hamilton         break;
942a585680aSDennis E. Hamilton 
943a585680aSDennis E. Hamilton     case RES_POOLCOLL_DOC_TITEL:	   		// Doc. Titel
944a585680aSDennis E. Hamilton         {
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(
951a585680aSDennis E. Hamilton                                                 RES_POOLCOLL_DOC_SUBTITEL ));
952a585680aSDennis E. Hamilton         }
953a585680aSDennis E. Hamilton         break;
954cdf0e10cSrcweir 
955a585680aSDennis E. Hamilton     case RES_POOLCOLL_DOC_SUBTITEL:			// Doc. UnterTitel
956a585680aSDennis E. Hamilton         {
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(
963a585680aSDennis E. Hamilton                                                 RES_POOLCOLL_TEXT ));
964a585680aSDennis E. Hamilton         }
965a585680aSDennis E. Hamilton         break;
966cdf0e10cSrcweir 
967a585680aSDennis E. Hamilton     case RES_POOLCOLL_HTML_BLOCKQUOTE:
968a585680aSDennis E. Hamilton         {
969cdf0e10cSrcweir             SvxLRSpaceItem aLR( RES_LR_SPACE );
970a585680aSDennis E. Hamilton             aLR.SetLeft( GetMetricVal( CM_1 ));
971a585680aSDennis E. Hamilton             aLR.SetRight( GetMetricVal( CM_1 ));
972a585680aSDennis E. Hamilton             aSet.Put( aLR );
973cdf0e10cSrcweir //          aSet.Put( SvxAdjustItem( SVX_ADJUST_BLOCK, RES_PARATR_ADJUST ) );
974cdf0e10cSrcweir             SvxULSpaceItem aUL( RES_UL_SPACE );
975cdf0e10cSrcweir             aUL = pNewColl->GetULSpace();
976a585680aSDennis E. Hamilton             aUL.SetLower( HTML_PARSPACE );
977a585680aSDennis E. Hamilton             aSet.Put( aUL);
978a585680aSDennis E. Hamilton         }
979a585680aSDennis E. Hamilton         break;
980cdf0e10cSrcweir 
981a585680aSDennis E. Hamilton     case RES_POOLCOLL_HTML_PRE:
982a585680aSDennis E. Hamilton         {
983a585680aSDennis E. Hamilton             ::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 
989a585680aSDennis E. Hamilton             // der untere Absatz-Abstand wird explizit gesetzt (macht
990a585680aSDennis E. Hamilton             // die harte Attributierung einfacher)
991cdf0e10cSrcweir             SvxULSpaceItem aULSpaceItem( RES_UL_SPACE );
992cdf0e10cSrcweir             aULSpaceItem = pNewColl->GetULSpace();
993a585680aSDennis E. Hamilton             aULSpaceItem.SetLower( 0 );
994a585680aSDennis E. Hamilton             aSet.Put( aULSpaceItem );
995a585680aSDennis E. Hamilton         }
996a585680aSDennis E. Hamilton         break;
997cdf0e10cSrcweir 
998a585680aSDennis E. Hamilton     case RES_POOLCOLL_HTML_HR:
999a585680aSDennis E. Hamilton         {
1000cdf0e10cSrcweir             SvxBoxItem aBox( RES_BOX );
1001a585680aSDennis E. Hamilton             Color aColor( COL_GRAY );
1002a585680aSDennis E. Hamilton             SvxBorderLine aNew( &aColor, DEF_DOUBLE_LINE0_OUT,
1003a585680aSDennis E. Hamilton                                          DEF_DOUBLE_LINE0_IN,
1004a585680aSDennis E. Hamilton                                          DEF_DOUBLE_LINE0_DIST );
1005a585680aSDennis E. Hamilton             aBox.SetLine( &aNew, BOX_LINE_BOTTOM );
1006cdf0e10cSrcweir 
1007a585680aSDennis E. Hamilton             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             {
1013a585680aSDennis E. Hamilton                 pNewColl->SetNextTxtFmtColl( *GetTxtCollFromPool(
1014a585680aSDennis E. Hamilton                                                 RES_POOLCOLL_TEXT ));
1015a585680aSDennis E. Hamilton                 aUL = pNewColl->GetULSpace();
1016a585680aSDennis E. Hamilton             }
1017a585680aSDennis E. Hamilton             aUL.SetLower( HTML_PARSPACE );
1018a585680aSDennis E. Hamilton             aSet.Put( aUL);
1019a585680aSDennis E. Hamilton             SwFmtLineNumber aLN; aLN.SetCountLines( sal_False );
1020a585680aSDennis E. Hamilton             aSet.Put( aLN );
1021a585680aSDennis E. Hamilton         }
1022a585680aSDennis E. Hamilton         break;
1023a585680aSDennis E. Hamilton 
1024a585680aSDennis E. Hamilton     case RES_POOLCOLL_HTML_DD:
1025a585680aSDennis E. Hamilton         {
1026cdf0e10cSrcweir             SvxLRSpaceItem aLR( RES_LR_SPACE );
1027cdf0e10cSrcweir             aLR = pNewColl->GetLRSpace();
1028a585680aSDennis E. Hamilton             // es wird um 1cm eingerueckt. Die IDs liegen immer 2 auseinander!
1029a585680aSDennis E. Hamilton             aLR.SetLeft( GetMetricVal( CM_1 ));
1030a585680aSDennis E. Hamilton             aSet.Put( aLR );
1031a585680aSDennis E. Hamilton         }
1032a585680aSDennis E. Hamilton         break;
1033a585680aSDennis E. Hamilton     case RES_POOLCOLL_HTML_DT:
1034a585680aSDennis E. Hamilton         {
1035cdf0e10cSrcweir             SvxLRSpaceItem aLR( RES_LR_SPACE );
1036cdf0e10cSrcweir             {
1037a585680aSDennis E. Hamilton                 pNewColl->SetNextTxtFmtColl( *GetTxtCollFromPool(
1038a585680aSDennis E. Hamilton                                                     RES_POOLCOLL_HTML_DD ));
1039a585680aSDennis E. Hamilton                 aLR = pNewColl->GetLRSpace();
1040a585680aSDennis E. Hamilton             }
1041a585680aSDennis E. Hamilton             // es wird um 0cm eingerueckt. Die IDs liegen immer 2 auseinander!
1042a585680aSDennis E. Hamilton             aLR.SetLeft( 0 );
1043a585680aSDennis E. Hamilton             aSet.Put( aLR );
1044a585680aSDennis E. Hamilton         }
1045a585680aSDennis E. Hamilton         break;
1046a585680aSDennis E. Hamilton     }
1047a585680aSDennis E. Hamilton 
1048a585680aSDennis E. Hamilton     if( aSet.Count() )
1049a585680aSDennis E. Hamilton     {
1050cdf0e10cSrcweir         {
1051cdf0e10cSrcweir             pNewColl->SetFmtAttr( aSet );
1052a585680aSDennis E. Hamilton             // JP 31.08.95: erzeugen einer PoolVorlage ist keine Modifikation
1053a585680aSDennis E. Hamilton             //				(Bug: 18545)
1054a585680aSDennis E. Hamilton             // SetModified();
1055a585680aSDennis E. Hamilton         }
1056a585680aSDennis E. Hamilton     }
1057a585680aSDennis E. Hamilton     return pNewColl;
1058cdf0e10cSrcweir }
1059cdf0e10cSrcweir 
1060cdf0e10cSrcweir 
1061cdf0e10cSrcweir 
1062a585680aSDennis E. Hamilton     // pruefe, ob diese "Auto-Collection" in Dokument schon/noch
1063a585680aSDennis E. Hamilton     // benutzt wird
IsPoolTxtCollUsed(sal_uInt16 nId) const1064cdf0e10cSrcweir bool SwDoc::IsPoolTxtCollUsed( sal_uInt16 nId ) const
1065cdf0e10cSrcweir {
1066a585680aSDennis E. Hamilton     ASSERT(
1067a585680aSDennis E. Hamilton         (RES_POOLCOLL_TEXT_BEGIN <= nId && nId < RES_POOLCOLL_TEXT_END) ||
1068a585680aSDennis E. Hamilton         (RES_POOLCOLL_LISTS_BEGIN <= nId && nId < RES_POOLCOLL_LISTS_END) ||
1069a585680aSDennis E. Hamilton         (RES_POOLCOLL_EXTRA_BEGIN <= nId && nId < RES_POOLCOLL_EXTRA_END) ||
1070a585680aSDennis E. Hamilton         (RES_POOLCOLL_REGISTER_BEGIN <= nId && nId < RES_POOLCOLL_REGISTER_END) ||
1071a585680aSDennis E. Hamilton         (RES_POOLCOLL_DOC_BEGIN <= nId && nId < RES_POOLCOLL_DOC_END) ||
1072a585680aSDennis E. Hamilton         (RES_POOLCOLL_HTML_BEGIN <= nId && nId < RES_POOLCOLL_HTML_END),
1073a585680aSDennis E. Hamilton             "Falsche AutoFormat-Id" );
1074a585680aSDennis E. Hamilton 
1075a585680aSDennis E. Hamilton     SwTxtFmtColl* pNewColl = 0;
1076a585680aSDennis E. Hamilton     sal_Bool bFnd = sal_False;
1077a585680aSDennis E. Hamilton     for( sal_uInt16 n = 0; !bFnd && n < pTxtFmtCollTbl->Count(); ++n )
1078cdf0e10cSrcweir     {
1079cdf0e10cSrcweir         pNewColl = (*pTxtFmtCollTbl)[ n ];
1080a585680aSDennis E. Hamilton         if( nId == pNewColl->GetPoolFmtId() )
1081a585680aSDennis E. Hamilton             bFnd = sal_True;
1082cdf0e10cSrcweir     }
1083cdf0e10cSrcweir 
1084a585680aSDennis E. Hamilton     if( !bFnd || !pNewColl->GetDepends() )
1085a585680aSDennis E. Hamilton         return sal_False;
1086cdf0e10cSrcweir 
1087cdf0e10cSrcweir     SwAutoFmtGetDocNode aGetHt( &GetNodes() );
1088a585680aSDennis E. Hamilton     return !pNewColl->GetInfo( aGetHt );
1089cdf0e10cSrcweir }
1090cdf0e10cSrcweir 
1091a585680aSDennis E. Hamilton     // Gebe das "Auto[matische]-Format" mit der Id zurueck. Existiert
1092a585680aSDennis E. Hamilton     // 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 ];
1100a585680aSDennis E. Hamilton     sal_uInt16 nArrCnt = 1, nRCId = 0;
1101a585680aSDennis E. Hamilton     sal_uInt16* pWhichRange = 0;
1102a585680aSDennis E. Hamilton 
1103a585680aSDennis E. Hamilton     switch( nId & (COLL_GET_RANGE_BITS + POOLGRP_NOCOLLID) )
1104a585680aSDennis E. Hamilton     {
1105a585680aSDennis E. Hamilton     case POOLGRP_CHARFMT:
1106a585680aSDennis E. Hamilton         {
1107a585680aSDennis E. Hamilton             pArray[0] = pCharFmtTbl;
1108a585680aSDennis E. Hamilton             pDeriveFmt = pDfltCharFmt;
1109a585680aSDennis E. Hamilton 
1110a585680aSDennis E. Hamilton             if( nId > RES_POOLCHR_NORMAL_END )
1111a585680aSDennis E. Hamilton                 nRCId = RC_POOLCHRFMT_HTML_BEGIN - RES_POOLCHR_HTML_BEGIN;
1112a585680aSDennis E. Hamilton             else
1113a585680aSDennis E. Hamilton                 nRCId = RC_POOLCHRFMT_BEGIN - RES_POOLCHR_BEGIN;
1114a585680aSDennis E. Hamilton             pWhichRange =  aCharFmtSetRange;
1115a585680aSDennis E. Hamilton 
1116a585680aSDennis E. Hamilton             // Fehlerfall: unbekanntes Format, aber CharFormat
1117a585680aSDennis E. Hamilton             //			-> returne das erste
1118a585680aSDennis E. Hamilton             if( RES_POOLCHR_BEGIN > nId || nId >= RES_POOLCHR_END )
1119a585680aSDennis E. Hamilton             {
1120*870262e3SDon Lewis                 ASSERT( sal_False, "<SwDoc::GetFmtFromPool(..)> - unknown page pool ID" );
1121a585680aSDennis E. Hamilton                 nId = RES_POOLCHR_BEGIN;
1122a585680aSDennis E. Hamilton             }
1123a585680aSDennis E. Hamilton         }
1124a585680aSDennis E. Hamilton         break;
1125a585680aSDennis E. Hamilton     case POOLGRP_FRAMEFMT:
1126a585680aSDennis E. Hamilton         {
1127a585680aSDennis E. Hamilton             pArray[0] = pFrmFmtTbl;
1128a585680aSDennis E. Hamilton             pArray[1] = pSpzFrmFmtTbl;
1129a585680aSDennis E. Hamilton             pDeriveFmt = pDfltFrmFmt;
1130a585680aSDennis E. Hamilton             nArrCnt = 2;
1131a585680aSDennis E. Hamilton             nRCId = RC_POOLFRMFMT_BEGIN - RES_POOLFRM_BEGIN;
1132a585680aSDennis E. Hamilton             pWhichRange = aFrmFmtSetRange;
1133a585680aSDennis E. Hamilton 
1134a585680aSDennis E. Hamilton             // Fehlerfall: unbekanntes Format, aber FrameFormat
1135a585680aSDennis E. Hamilton             //			-> returne das erste
1136a585680aSDennis E. Hamilton             if( RES_POOLFRM_BEGIN > nId || nId >= RES_POOLFRM_END )
1137a585680aSDennis E. Hamilton             {
1138*870262e3SDon Lewis                 ASSERT( sal_False, "<SwDoc::GetFmtFromPool(..)> - unknown page pool ID" );
1139a585680aSDennis E. Hamilton                 nId = RES_POOLFRM_BEGIN;
1140a585680aSDennis E. Hamilton             }
1141a585680aSDennis E. Hamilton         }
1142a585680aSDennis E. Hamilton         break;
1143a585680aSDennis E. Hamilton 
1144a585680aSDennis E. Hamilton     default:
1145a585680aSDennis E. Hamilton         // Fehlerfall, unbekanntes Format
1146a585680aSDennis E. Hamilton         ASSERT( nId, "ungueltige Id" );
1147a585680aSDennis E. Hamilton         return 0;
1148a585680aSDennis E. Hamilton     }
1149a585680aSDennis E. Hamilton     ASSERT( nRCId, "ungueltige Id" );
1150a585680aSDennis E. Hamilton 
1151a585680aSDennis E. Hamilton     while( nArrCnt-- )
1152a585680aSDennis E. Hamilton         for( sal_uInt16 n = 0; n < (*pArray[nArrCnt]).Count(); ++n )
1153a585680aSDennis E. Hamilton             if( nId == ( pNewFmt = (SwFmt*)(*pArray[ nArrCnt ] )[ n ] )->
1154a585680aSDennis E. Hamilton                     GetPoolFmtId() )
1155a585680aSDennis E. Hamilton             {
1156cdf0e10cSrcweir                 return pNewFmt;
1157a585680aSDennis E. Hamilton             }
1158cdf0e10cSrcweir 
1159a585680aSDennis E. Hamilton     ResId aResId( nRCId + nId, *pSwResMgr );
1160a585680aSDennis E. Hamilton     String aNm( aResId );
1161a585680aSDennis E. Hamilton     SwAttrSet aSet( GetAttrPool(), pWhichRange );
1162cdf0e10cSrcweir 
1163cdf0e10cSrcweir     {
1164a585680aSDennis E. Hamilton         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 
1181a585680aSDennis E. Hamilton         if( !bIsModified )
1182a585680aSDennis E. Hamilton             ResetModified();
1183a585680aSDennis E. Hamilton         pNewFmt->SetPoolFmtId( nId );
1184a585680aSDennis E. Hamilton         pNewFmt->SetAuto( sal_False );		// kein Auto-Format
1185a585680aSDennis E. Hamilton     }
1186a585680aSDennis E. Hamilton 
1187a585680aSDennis E. Hamilton     switch( nId )
1188a585680aSDennis E. Hamilton     {
1189a585680aSDennis E. Hamilton     case RES_POOLCHR_FOOTNOTE:				// Fussnote
1190a585680aSDennis E. Hamilton     case RES_POOLCHR_PAGENO:				// Seiten/Feld
1191a585680aSDennis E. Hamilton     case RES_POOLCHR_LABEL:					// Beschriftung
1192a585680aSDennis E. Hamilton     case RES_POOLCHR_DROPCAPS: 				// Initialien
1193a585680aSDennis E. Hamilton     case RES_POOLCHR_NUM_LEVEL:				// Aufzaehlungszeichen
1194a585680aSDennis E. Hamilton     case RES_POOLCHR_TOXJUMP:				// Verzeichnissprung
1195a585680aSDennis E. Hamilton     case RES_POOLCHR_ENDNOTE:				// Endnote
1196a585680aSDennis E. Hamilton     case RES_POOLCHR_LINENUM:				// Zeilennummerierung
1197a585680aSDennis E. Hamilton         break;
1198a585680aSDennis E. Hamilton 
1199a585680aSDennis E. Hamilton     case RES_POOLCHR_ENDNOTE_ANCHOR:		// Endnotenanker
1200a585680aSDennis E. Hamilton     case RES_POOLCHR_FOOTNOTE_ANCHOR:		// Fussnotenanker
1201a585680aSDennis E. Hamilton         {
1202cdf0e10cSrcweir             aSet.Put( SvxEscapementItem( DFLT_ESC_AUTO_SUPER, 58, RES_CHRATR_ESCAPEMENT ) );
1203a585680aSDennis E. Hamilton         }
1204a585680aSDennis E. Hamilton         break;
1205cdf0e10cSrcweir 
1206cdf0e10cSrcweir 
1207a585680aSDennis E. Hamilton     case RES_POOLCHR_BUL_LEVEL:				// Aufzaehlungszeichen
1208a585680aSDennis E. Hamilton         {
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             // <--
1217a585680aSDennis E. Hamilton         }
1218a585680aSDennis E. Hamilton         break;
1219cdf0e10cSrcweir 
1220a585680aSDennis E. Hamilton     case RES_POOLCHR_INET_NORMAL:
1221a585680aSDennis E. Hamilton         {
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         }
1230a585680aSDennis E. Hamilton         break;
1231a585680aSDennis E. Hamilton     case RES_POOLCHR_INET_VISIT:
1232a585680aSDennis E. Hamilton         {
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         }
1240a585680aSDennis E. Hamilton         break;
1241a585680aSDennis E. Hamilton     case RES_POOLCHR_JUMPEDIT:
1242a585680aSDennis E. Hamilton         {
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 ) );
1247a585680aSDennis E. Hamilton         }
1248a585680aSDennis E. Hamilton         break;
1249cdf0e10cSrcweir 
1250a585680aSDennis E. Hamilton     case RES_POOLCHR_RUBYTEXT:
1251a585680aSDennis E. Hamilton         {
1252a585680aSDennis E. Hamilton             long nH = ((SvxFontHeightItem*)GetDfltAttr(
1253a585680aSDennis E. Hamilton                                 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) );
1257a585680aSDennis E. Hamilton         }
1258a585680aSDennis E. Hamilton         break;
1259cdf0e10cSrcweir 
1260a585680aSDennis E. Hamilton     case RES_POOLCHR_HTML_EMPHASIS:
1261a585680aSDennis E. Hamilton     case RES_POOLCHR_HTML_CITIATION:
1262a585680aSDennis E. Hamilton     case RES_POOLCHR_HTML_VARIABLE:
1263a585680aSDennis E. Hamilton         {
1264cdf0e10cSrcweir             SetAllScriptItem( aSet, SvxPostureItem( ITALIC_NORMAL, RES_CHRATR_POSTURE) );
1265a585680aSDennis E. Hamilton         }
1266a585680aSDennis E. Hamilton         break;
1267cdf0e10cSrcweir 
1268a585680aSDennis E. Hamilton     case RES_POOLCHR_IDX_MAIN_ENTRY:
1269a585680aSDennis E. Hamilton     case RES_POOLCHR_HTML_STRONG:
1270a585680aSDennis E. Hamilton         {
1271cdf0e10cSrcweir             SetAllScriptItem( aSet, SvxWeightItem( WEIGHT_BOLD, RES_CHRATR_WEIGHT ));
1272a585680aSDennis E. Hamilton         }
1273a585680aSDennis E. Hamilton         break;
1274a585680aSDennis E. Hamilton 
1275a585680aSDennis E. Hamilton     case RES_POOLCHR_HTML_CODE:
1276a585680aSDennis E. Hamilton     case RES_POOLCHR_HTML_SAMPLE:
1277a585680aSDennis E. Hamilton     case RES_POOLCHR_HTML_KEYBOARD:
1278a585680aSDennis E. Hamilton     case RES_POOLCHR_HTML_TELETYPE:
1279a585680aSDennis E. Hamilton         {
1280a585680aSDennis E. Hamilton             ::lcl_SetDfltFont( DEFAULTFONT_FIXED, aSet );
1281a585680aSDennis E. Hamilton         }
1282a585680aSDennis E. Hamilton         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 
129164b14621SArmin Le Grand     case RES_POOLFRM_FRAME:
129264b14621SArmin Le Grand         {
1293cdf0e10cSrcweir             if ( get(IDocumentSettingAccess::HTML_MODE) )
129464b14621SArmin Le Grand             {
1295cdf0e10cSrcweir                 aSet.Put( SwFmtAnchor( FLY_AS_CHAR ));
1296cdf0e10cSrcweir                 aSet.Put( SwFmtVertOrient( 0, text::VertOrientation::LINE_CENTER, text::RelOrientation::PRINT_AREA ) );
129764b14621SArmin Le Grand                 aSet.Put( SwFmtSurround( SURROUND_NONE ) );
129864b14621SArmin Le Grand             }
129964b14621SArmin Le Grand             else
130064b14621SArmin Le Grand             {
1301cdf0e10cSrcweir                 aSet.Put( SwFmtAnchor( FLY_AT_PARA ));
130264b14621SArmin Le Grand                 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 ) );
130564b14621SArmin Le Grand                 Color aCol( COL_BLACK );
130664b14621SArmin Le Grand                 SvxBorderLine aLine( &aCol, DEF_LINE_WIDTH_0 );
1307cdf0e10cSrcweir                 SvxBoxItem aBox( RES_BOX );
130864b14621SArmin Le Grand                 aBox.SetLine( &aLine, BOX_LINE_TOP );
130964b14621SArmin Le Grand                 aBox.SetLine( &aLine, BOX_LINE_BOTTOM );
131064b14621SArmin Le Grand                 aBox.SetLine( &aLine, BOX_LINE_LEFT );
131164b14621SArmin Le Grand                 aBox.SetLine( &aLine, BOX_LINE_RIGHT );
131264b14621SArmin Le Grand                 aBox.SetDistance( 85 );
131364b14621SArmin Le Grand                 aSet.Put( aBox );
1314cdf0e10cSrcweir                 aSet.Put( SvxLRSpaceItem( 114, 114, 0, 0, RES_LR_SPACE ) );
1315cdf0e10cSrcweir                 aSet.Put( SvxULSpaceItem( 114, 114, RES_UL_SPACE ) );
131664b14621SArmin Le Grand             }
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);
132064b14621SArmin Le Grand         }
132164b14621SArmin Le Grand         break;
132264b14621SArmin Le Grand     case RES_POOLFRM_GRAPHIC:
1323a585680aSDennis E. Hamilton     case RES_POOLFRM_OLE:
1324a585680aSDennis E. Hamilton         {
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 ));
1328a585680aSDennis E. Hamilton             aSet.Put( SwFmtSurround( SURROUND_NONE ));
1329a585680aSDennis E. Hamilton         }
1330a585680aSDennis E. Hamilton         break;
1331a585680aSDennis E. Hamilton     case RES_POOLFRM_FORMEL:
1332a585680aSDennis E. Hamilton         {
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 ) );
1336a585680aSDennis E. Hamilton         }
1337a585680aSDennis E. Hamilton         break;
1338a585680aSDennis E. Hamilton     case RES_POOLFRM_MARGINAL:
1339a585680aSDennis E. Hamilton         {
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 ));
1343a585680aSDennis E. Hamilton             aSet.Put( SwFmtSurround( SURROUND_PARALLEL ));
1344a585680aSDennis E. Hamilton             // Breite 3.5 centimeter vorgegeben, als Hoehe nur den
1345a585680aSDennis E. Hamilton             // min. Wert benutzen
1346a585680aSDennis E. Hamilton             aSet.Put( SwFmtFrmSize( ATT_MIN_SIZE,
1347a585680aSDennis E. Hamilton                     GetMetricVal( CM_1 ) * 3 + GetMetricVal( CM_05 ),
1348a585680aSDennis E. Hamilton                     MM50 ));
1349a585680aSDennis E. Hamilton         }
1350a585680aSDennis E. Hamilton         break;
1351a585680aSDennis E. Hamilton     case RES_POOLFRM_WATERSIGN:
1352a585680aSDennis E. Hamilton         {
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 ));
1356a585680aSDennis E. Hamilton             aSet.Put( SvxOpaqueItem( sal_False ));
1357a585680aSDennis E. Hamilton             aSet.Put( SwFmtSurround( SURROUND_THROUGHT ));
1358a585680aSDennis E. Hamilton         }
1359a585680aSDennis E. Hamilton         break;
1360cdf0e10cSrcweir 
1361a585680aSDennis E. Hamilton     case RES_POOLFRM_LABEL:
1362a585680aSDennis E. Hamilton         {
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 );
1368a585680aSDennis E. Hamilton             aProtect.SetSizeProtect( sal_True );
1369a585680aSDennis E. Hamilton             aProtect.SetPosProtect( sal_True );
1370a585680aSDennis E. Hamilton             aSet.Put( aProtect );
1371cdf0e10cSrcweir 
1372cdf0e10cSrcweir             pNewFmt->SetAutoUpdateFmt( sal_True );
1373a585680aSDennis E. Hamilton         }
1374a585680aSDennis E. Hamilton         break;
1375a585680aSDennis E. Hamilton     }
1376a585680aSDennis E. Hamilton     if( aSet.Count() )
1377a585680aSDennis E. Hamilton     {
1378cdf0e10cSrcweir         {
1379cdf0e10cSrcweir             pNewFmt->SetFmtAttr( aSet );
1380a585680aSDennis E. Hamilton             // JP 31.08.95: erzeugen einer PoolVorlage ist keine Modifikation
1381a585680aSDennis E. Hamilton             //				(Bug: 18545)
1382a585680aSDennis E. Hamilton             // SetModified();
1383a585680aSDennis E. Hamilton         }
1384a585680aSDennis E. Hamilton     }
1385a585680aSDennis E. Hamilton     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
1399a585680aSDennis E. Hamilton     // benutzt wird
IsPoolFmtUsed(sal_uInt16 nId) const1400cdf0e10cSrcweir bool SwDoc::IsPoolFmtUsed( sal_uInt16 nId ) const
1401cdf0e10cSrcweir {
1402cdf0e10cSrcweir     SwFmt *pNewFmt = 0;
1403a585680aSDennis E. Hamilton     const SvPtrarr* pArray[ 2 ];
1404a585680aSDennis E. Hamilton     sal_uInt16 nArrCnt = 1;
1405a585680aSDennis E. Hamilton     sal_Bool bFnd = sal_True;
1406a585680aSDennis E. Hamilton 
1407a585680aSDennis E. Hamilton     if( RES_POOLCHR_BEGIN <= nId && nId < RES_POOLCHR_END )
1408a585680aSDennis E. Hamilton     {
1409a585680aSDennis E. Hamilton         pArray[0] = pCharFmtTbl;
1410a585680aSDennis E. Hamilton     }
1411a585680aSDennis E. Hamilton     if( RES_POOLFRM_BEGIN <= nId && nId < RES_POOLFRM_END )
1412a585680aSDennis E. Hamilton     {
1413a585680aSDennis E. Hamilton         pArray[0] = pFrmFmtTbl;
1414a585680aSDennis E. Hamilton         pArray[1] = pSpzFrmFmtTbl;
1415a585680aSDennis E. Hamilton         nArrCnt = 2;
1416a585680aSDennis E. Hamilton     }
1417a585680aSDennis E. Hamilton     else
1418a585680aSDennis E. Hamilton     {
1419*870262e3SDon Lewis         ASSERT( sal_False, "<SwDoc::IsPoolFmtUsed(..)> - unknown page pool ID" );
1420a585680aSDennis E. Hamilton         bFnd = sal_False;
1421a585680aSDennis E. Hamilton     }
1422a585680aSDennis E. Hamilton 
1423a585680aSDennis E. Hamilton     if( bFnd )
1424a585680aSDennis E. Hamilton     {
1425a585680aSDennis E. Hamilton         bFnd = sal_False;
1426a585680aSDennis E. Hamilton         while( nArrCnt-- && !bFnd )
1427a585680aSDennis E. Hamilton             for( sal_uInt16 n = 0; !bFnd && n < (*pArray[nArrCnt]).Count(); ++n )
1428a585680aSDennis E. Hamilton                 if( nId == ( pNewFmt = (SwFmt*)(*pArray[ nArrCnt ] )[ n ] )->
1429a585680aSDennis E. Hamilton                         GetPoolFmtId() )
1430a585680aSDennis E. Hamilton                     bFnd = sal_True;
1431a585680aSDennis E. Hamilton     }
1432a585680aSDennis E. Hamilton 
1433a585680aSDennis E. Hamilton     // nicht gefunden oder keine Abhaengigen ?
1434a585680aSDennis E. Hamilton     if( bFnd && pNewFmt->GetDepends() )
1435a585680aSDennis E. Hamilton     {
1436a585680aSDennis E. Hamilton         // dann teste mal, ob es abhaengige ContentNodes im Nodes Array gibt
1437a585680aSDennis E. Hamilton         // (auch indirekte fuer Format-Ableitung! )
1438cdf0e10cSrcweir         SwAutoFmtGetDocNode aGetHt( &GetNodes() );
1439a585680aSDennis E. Hamilton         bFnd = !pNewFmt->GetInfo( aGetHt );
1440a585680aSDennis E. Hamilton     }
1441a585680aSDennis E. Hamilton     else
1442a585680aSDennis E. Hamilton         bFnd = sal_False;
1443cdf0e10cSrcweir 
1444a585680aSDennis E. Hamilton     return bFnd;
1445cdf0e10cSrcweir }
1446cdf0e10cSrcweir 
1447cdf0e10cSrcweir 
1448cdf0e10cSrcweir 
lcl_PutStdPageSizeIntoItemSet(SwDoc * pDoc,SfxItemSet & rSet)1449ac591d86SOliver-Rainer Wittmann void lcl_PutStdPageSizeIntoItemSet( SwDoc* pDoc, SfxItemSet& rSet )
1450cdf0e10cSrcweir {
1451a585680aSDennis E. Hamilton     SwPageDesc* pStdPgDsc = pDoc->GetPageDescFromPool( RES_POOLPAGE_STANDARD );
1452a585680aSDennis E. Hamilton     SwFmtFrmSize aFrmSz( pStdPgDsc->GetMaster().GetFrmSize() );
1453a585680aSDennis E. Hamilton     if( pStdPgDsc->GetLandscape() )
1454a585680aSDennis E. Hamilton     {
1455a585680aSDennis E. Hamilton         SwTwips nTmp = aFrmSz.GetHeight();
1456a585680aSDennis E. Hamilton         aFrmSz.SetHeight( aFrmSz.GetWidth() );
1457a585680aSDennis E. Hamilton         aFrmSz.SetWidth( nTmp );
1458a585680aSDennis E. Hamilton     }
1459a585680aSDennis E. Hamilton     rSet.Put( aFrmSz );
1460cdf0e10cSrcweir }
1461cdf0e10cSrcweir 
GetPageDescFromPool(sal_uInt16 nId,bool bRegardLanguage)1462cdf0e10cSrcweir SwPageDesc* SwDoc::GetPageDescFromPool( sal_uInt16 nId, bool bRegardLanguage )
1463cdf0e10cSrcweir {
1464ac591d86SOliver-Rainer Wittmann     ASSERT( RES_POOLPAGE_BEGIN <= nId && nId < RES_POOLPAGE_END,
1465ac591d86SOliver-Rainer Wittmann             "Falsche AutoFormat-Id" );
1466cdf0e10cSrcweir 
1467ac591d86SOliver-Rainer Wittmann     for( sal_uInt16 n = 0; n < aPageDescs.Count(); ++n )
1468ac591d86SOliver-Rainer Wittmann     {
1469ac591d86SOliver-Rainer Wittmann         if ( nId == aPageDescs[ n ]->GetPoolFmtId() )
1470ac591d86SOliver-Rainer Wittmann         {
1471ac591d86SOliver-Rainer Wittmann             return aPageDescs[ n ];
1472ac591d86SOliver-Rainer Wittmann         }
1473ac591d86SOliver-Rainer Wittmann     }
1474cdf0e10cSrcweir 
1475ac591d86SOliver-Rainer Wittmann     if( RES_POOLPAGE_BEGIN > nId ||  nId >= RES_POOLPAGE_END )
1476ac591d86SOliver-Rainer Wittmann     {
1477ac591d86SOliver-Rainer Wittmann         // unknown page pool ID
1478*870262e3SDon Lewis         ASSERT( sal_False, "<SwDoc::GetPageDescFromPool(..)> - unknown page pool ID" );
1479ac591d86SOliver-Rainer Wittmann         nId = RES_POOLPAGE_BEGIN;
1480ac591d86SOliver-Rainer Wittmann     }
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 ];
1495ac591d86SOliver-Rainer Wittmann         pNewPgDsc->SetPoolFmtId( nId );
1496ac591d86SOliver-Rainer Wittmann         if ( !bIsModified )
1497ac591d86SOliver-Rainer Wittmann         {
1498ac591d86SOliver-Rainer Wittmann             ResetModified();
1499ac591d86SOliver-Rainer Wittmann         }
1500ac591d86SOliver-Rainer Wittmann     }
1501cdf0e10cSrcweir 
1502cdf0e10cSrcweir     SvxLRSpaceItem aLR( RES_LR_SPACE );
1503ac591d86SOliver-Rainer Wittmann     {
1504ac591d86SOliver-Rainer Wittmann         aLR.SetLeft( GetMetricVal( CM_1 ) * 2 );
1505ac591d86SOliver-Rainer Wittmann         aLR.SetRight( aLR.GetLeft() );
1506ac591d86SOliver-Rainer Wittmann     }
1507cdf0e10cSrcweir     SvxULSpaceItem aUL( RES_UL_SPACE );
1508ac591d86SOliver-Rainer Wittmann     {
1509ac591d86SOliver-Rainer Wittmann         aUL.SetUpper( (sal_uInt16)aLR.GetLeft() );
1510ac591d86SOliver-Rainer Wittmann         aUL.SetLower( (sal_uInt16)aLR.GetLeft() );
1511ac591d86SOliver-Rainer Wittmann     }
1512cdf0e10cSrcweir 
1513ac591d86SOliver-Rainer Wittmann     SwAttrSet aSet( GetAttrPool(), aPgFrmFmtSetRange );
1514ac591d86SOliver-Rainer Wittmann     bool bSetLeft = true;
1515cdf0e10cSrcweir 
1516ac591d86SOliver-Rainer Wittmann     switch( nId )
1517ac591d86SOliver-Rainer Wittmann     {
1518ac591d86SOliver-Rainer Wittmann     case RES_POOLPAGE_STANDARD:     // "Default"
1519ac591d86SOliver-Rainer Wittmann         {
1520ac591d86SOliver-Rainer Wittmann             aSet.Put( aLR );
1521ac591d86SOliver-Rainer Wittmann             aSet.Put( aUL );
1522ac591d86SOliver-Rainer Wittmann             if( pNewPgDsc )
1523ac591d86SOliver-Rainer Wittmann                 pNewPgDsc->SetUseOn( nsUseOnPage::PD_ALL );
1524ac591d86SOliver-Rainer Wittmann         }
1525ac591d86SOliver-Rainer Wittmann         break;
1526cdf0e10cSrcweir 
1527ac591d86SOliver-Rainer Wittmann     case RES_POOLPAGE_FIRST:        // "First Page"
1528ac591d86SOliver-Rainer Wittmann     case RES_POOLPAGE_REGISTER:     // "Index"
1529ac591d86SOliver-Rainer Wittmann         {
1530ac591d86SOliver-Rainer Wittmann             lcl_PutStdPageSizeIntoItemSet( this, aSet );
1531ac591d86SOliver-Rainer Wittmann             aSet.Put( aLR );
1532ac591d86SOliver-Rainer Wittmann             aSet.Put( aUL );
1533ac591d86SOliver-Rainer Wittmann             if( pNewPgDsc )
1534ac591d86SOliver-Rainer Wittmann             {
1535ac591d86SOliver-Rainer Wittmann                 pNewPgDsc->SetUseOn( nsUseOnPage::PD_ALL );
1536ac591d86SOliver-Rainer Wittmann                 if( RES_POOLPAGE_FIRST == nId )
1537ac591d86SOliver-Rainer Wittmann                     pNewPgDsc->SetFollow( GetPageDescFromPool( RES_POOLPAGE_STANDARD ));
1538ac591d86SOliver-Rainer Wittmann             }
1539ac591d86SOliver-Rainer Wittmann         }
1540ac591d86SOliver-Rainer Wittmann         break;
1541cdf0e10cSrcweir 
1542ac591d86SOliver-Rainer Wittmann     case RES_POOLPAGE_LEFT:         // "Left Page"
1543ac591d86SOliver-Rainer Wittmann         {
1544ac591d86SOliver-Rainer Wittmann             lcl_PutStdPageSizeIntoItemSet( this, aSet );
1545ac591d86SOliver-Rainer Wittmann             aSet.Put( aLR );
1546ac591d86SOliver-Rainer Wittmann             aSet.Put( aUL );
1547ac591d86SOliver-Rainer Wittmann             bSetLeft = false;
1548ac591d86SOliver-Rainer Wittmann             if( pNewPgDsc )
1549ac591d86SOliver-Rainer Wittmann                 pNewPgDsc->SetUseOn( nsUseOnPage::PD_LEFT );
1550ac591d86SOliver-Rainer Wittmann         }
1551ac591d86SOliver-Rainer Wittmann         break;
1552ac591d86SOliver-Rainer Wittmann     case RES_POOLPAGE_RIGHT:        // "Right Page"
1553ac591d86SOliver-Rainer Wittmann         {
1554ac591d86SOliver-Rainer Wittmann             lcl_PutStdPageSizeIntoItemSet( this, aSet );
1555ac591d86SOliver-Rainer Wittmann             aSet.Put( aLR );
1556ac591d86SOliver-Rainer Wittmann             aSet.Put( aUL );
1557ac591d86SOliver-Rainer Wittmann             bSetLeft = false;
1558ac591d86SOliver-Rainer Wittmann             if( pNewPgDsc )
1559ac591d86SOliver-Rainer Wittmann                 pNewPgDsc->SetUseOn( nsUseOnPage::PD_RIGHT );
1560ac591d86SOliver-Rainer Wittmann         }
1561ac591d86SOliver-Rainer Wittmann         break;
1562cdf0e10cSrcweir 
1563ac591d86SOliver-Rainer Wittmann     case RES_POOLPAGE_JAKET:        // "Envelope"
1564ac591d86SOliver-Rainer Wittmann         {
1565ac591d86SOliver-Rainer Wittmann             Size aPSize( SvxPaperInfo::GetPaperSize( PAPER_ENV_C65 ) );
1566ac591d86SOliver-Rainer Wittmann             LandscapeSwap( aPSize );
1567ac591d86SOliver-Rainer Wittmann             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 );
1570ac591d86SOliver-Rainer Wittmann             aSet.Put( aLR );
1571ac591d86SOliver-Rainer Wittmann             aSet.Put( aUL );
1572cdf0e10cSrcweir 
1573ac591d86SOliver-Rainer Wittmann             if( pNewPgDsc )
1574ac591d86SOliver-Rainer Wittmann             {
1575ac591d86SOliver-Rainer Wittmann                 pNewPgDsc->SetUseOn( nsUseOnPage::PD_ALL );
1576ac591d86SOliver-Rainer Wittmann                 pNewPgDsc->SetLandscape( sal_True );
1577ac591d86SOliver-Rainer Wittmann             }
1578ac591d86SOliver-Rainer Wittmann         }
1579ac591d86SOliver-Rainer Wittmann         break;
1580cdf0e10cSrcweir 
1581ac591d86SOliver-Rainer Wittmann     case RES_POOLPAGE_HTML:         // "HTML"
1582ac591d86SOliver-Rainer Wittmann         {
1583ac591d86SOliver-Rainer Wittmann             lcl_PutStdPageSizeIntoItemSet( this, aSet );
1584ac591d86SOliver-Rainer Wittmann             aLR.SetRight( GetMetricVal( CM_1 ));
1585ac591d86SOliver-Rainer Wittmann             aUL.SetUpper( (sal_uInt16)aLR.GetRight() );
1586ac591d86SOliver-Rainer Wittmann             aUL.SetLower( (sal_uInt16)aLR.GetRight() );
1587ac591d86SOliver-Rainer Wittmann             aSet.Put( aLR );
1588ac591d86SOliver-Rainer Wittmann             aSet.Put( aUL );
1589cdf0e10cSrcweir 
1590ac591d86SOliver-Rainer Wittmann             if( pNewPgDsc )
1591ac591d86SOliver-Rainer Wittmann                 pNewPgDsc->SetUseOn( nsUseOnPage::PD_ALL );
1592ac591d86SOliver-Rainer Wittmann         }
1593ac591d86SOliver-Rainer Wittmann         break;
1594ac591d86SOliver-Rainer Wittmann 
1595ac591d86SOliver-Rainer Wittmann     case RES_POOLPAGE_FOOTNOTE:     // "Footnote"
1596ac591d86SOliver-Rainer Wittmann     case RES_POOLPAGE_ENDNOTE:      // "Endnote"
1597ac591d86SOliver-Rainer Wittmann         {
1598ac591d86SOliver-Rainer Wittmann             lcl_PutStdPageSizeIntoItemSet( this, aSet );
1599ac591d86SOliver-Rainer Wittmann             aSet.Put( aLR );
1600ac591d86SOliver-Rainer Wittmann             aSet.Put( aUL );
1601ac591d86SOliver-Rainer Wittmann             if( pNewPgDsc )
1602ac591d86SOliver-Rainer Wittmann                 pNewPgDsc->SetUseOn( nsUseOnPage::PD_ALL );
1603ac591d86SOliver-Rainer Wittmann             SwPageFtnInfo aInf( pNewPgDsc->GetFtnInfo() );
1604ac591d86SOliver-Rainer Wittmann             aInf.SetLineWidth( 0 );
1605ac591d86SOliver-Rainer Wittmann             aInf.SetTopDist( 0 );
1606ac591d86SOliver-Rainer Wittmann             aInf.SetBottomDist( 0 );
1607ac591d86SOliver-Rainer Wittmann             pNewPgDsc->SetFtnInfo( aInf );
1608ac591d86SOliver-Rainer Wittmann         }
1609a585680aSDennis E. Hamilton         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();
1618ac591d86SOliver-Rainer Wittmann                 aFrmSz.SetHeight( aFrmSz.GetWidth() );
1619ac591d86SOliver-Rainer Wittmann                 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             }
1629ac591d86SOliver-Rainer Wittmann         }
1630ac591d86SOliver-Rainer Wittmann         break;
1631cdf0e10cSrcweir 
1632ac591d86SOliver-Rainer Wittmann     }
1633cdf0e10cSrcweir 
1634ac591d86SOliver-Rainer Wittmann     if( aSet.Count() )
1635ac591d86SOliver-Rainer Wittmann     {
1636ac591d86SOliver-Rainer Wittmann         if( bSetLeft )
1637ac591d86SOliver-Rainer Wittmann             pNewPgDsc->GetLeft().SetFmtAttr( aSet );
1638ac591d86SOliver-Rainer Wittmann         pNewPgDsc->GetMaster().SetFmtAttr( aSet );
1639ac591d86SOliver-Rainer Wittmann     }
1640ac591d86SOliver-Rainer Wittmann     return pNewPgDsc;
1641cdf0e10cSrcweir }
1642cdf0e10cSrcweir 
GetNumRuleFromPool(sal_uInt16 nId)1643cdf0e10cSrcweir SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
1644cdf0e10cSrcweir {
1645a585680aSDennis E. Hamilton     ASSERT( RES_POOLNUMRULE_BEGIN <= nId && nId < RES_POOLNUMRULE_END,
1646a585680aSDennis E. Hamilton             "Falsche AutoFormat-Id" );
1647cdf0e10cSrcweir 
1648cdf0e10cSrcweir     SwNumRule* pNewRule;
1649a585680aSDennis E. Hamilton     sal_uInt16 n;
1650cdf0e10cSrcweir 
1651a585680aSDennis E. Hamilton     for( n = 0; n < GetNumRuleTbl().Count(); ++n )
1652a585680aSDennis E. Hamilton         if( nId == ( pNewRule = GetNumRuleTbl()[ n ] )->GetPoolFmtId() )
1653a585680aSDennis E. Hamilton         {
1654cdf0e10cSrcweir             return pNewRule;
1655a585680aSDennis E. Hamilton         }
1656cdf0e10cSrcweir 
1657a585680aSDennis E. Hamilton     // Fehlerfall: unbekannte Poolvorlage
1658a585680aSDennis E. Hamilton     if( RES_POOLNUMRULE_BEGIN > nId ||  nId >= RES_POOLNUMRULE_END )
1659a585680aSDennis E. Hamilton     {
1660*870262e3SDon Lewis         ASSERT( sal_False, "<SwDoc::GetNumRuleFromPool(..)> - unknown page pool ID" );
1661a585680aSDennis E. Hamilton         nId = RES_POOLNUMRULE_BEGIN;
1662a585680aSDennis E. Hamilton     }
1663cdf0e10cSrcweir 
1664a585680aSDennis E. Hamilton     ResId aResId( sal_uInt32(RC_POOLNUMRULE_BEGIN + nId - RES_POOLNUMRULE_BEGIN), *pSwResMgr );
1665a585680aSDennis E. Hamilton     String aNm( aResId );
1666cdf0e10cSrcweir 
1667a585680aSDennis E. Hamilton     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     {
1676a585680aSDennis E. Hamilton         sal_Bool bIsModified = IsModified();
1677cdf0e10cSrcweir         // --> OD 2008-02-11 #newlistlevelattrs#
1678cdf0e10cSrcweir         n = MakeNumRule( aNm, 0, sal_False, eNumberFormatPositionAndSpaceMode );
1679cdf0e10cSrcweir         // <--
1680a585680aSDennis E. Hamilton         pNewRule = GetNumRuleTbl()[ n ];
1681a585680aSDennis E. Hamilton         pNewRule->SetPoolFmtId( nId );
1682a585680aSDennis E. Hamilton         pNewRule->SetAutoRule( sal_False );
1683a585680aSDennis E. Hamilton 
1684a585680aSDennis E. Hamilton         if( RES_POOLNUMRULE_NUM1 <= nId && nId <= RES_POOLNUMRULE_NUM5 )
1685a585680aSDennis E. Hamilton             pNumCFmt = GetCharFmtFromPool( RES_POOLCHR_NUM_LEVEL );
1686a585680aSDennis E. Hamilton 
1687a585680aSDennis E. Hamilton         if( ( RES_POOLNUMRULE_BUL1 <= nId && nId <= RES_POOLNUMRULE_BUL5 ) ||
1688a585680aSDennis E. Hamilton             RES_POOLNUMRULE_NUM5 == nId )
1689a585680aSDennis E. Hamilton             pBullCFmt = GetCharFmtFromPool( RES_POOLCHR_NUM_LEVEL );
1690a585680aSDennis E. Hamilton 
1691a585680aSDennis E. Hamilton         if( !bIsModified )
1692a585680aSDennis E. Hamilton             ResetModified();
1693a585680aSDennis E. Hamilton     }
1694a585680aSDennis E. Hamilton 
1695a585680aSDennis E. Hamilton     switch( nId )
1696a585680aSDennis E. Hamilton     {
1697a585680aSDennis E. Hamilton     case RES_POOLNUMRULE_NUM1:
1698a585680aSDennis E. Hamilton         {
1699a585680aSDennis E. Hamilton             SwNumFmt aFmt;
1700cdf0e10cSrcweir             // --> OD 2008-02-11 #newlistlevelattrs#
1701cdf0e10cSrcweir             aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
1702cdf0e10cSrcweir             // <--
1703a585680aSDennis E. Hamilton             aFmt.SetNumberingType(SVX_NUM_ARABIC);
1704a585680aSDennis E. Hamilton             aFmt.SetCharFmt( pNumCFmt );
1705a585680aSDennis E. Hamilton             aFmt.SetStart( 1 );
1706a585680aSDennis E. Hamilton             aFmt.SetIncludeUpperLevels( 1 );
1707a585680aSDennis E. Hamilton             aFmt.SetSuffix( aDotStr );
1708a585680aSDennis E. Hamilton 
1709a585680aSDennis E. Hamilton             static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
1710a585680aSDennis E. Hamilton                 {
1711cdf0e10cSrcweir //				cm: 0,5  1,0  1,5  2,0   2,5   3,0   3,5   4,0   4,5   5,0
1712a585680aSDennis E. Hamilton                     283, 567, 850, 1134, 1417, 1701, 1984, 2268, 2551, 2835
1713a585680aSDennis E. Hamilton                 };
1714cdf0e10cSrcweir #ifdef USE_MEASUREMENT
1715a585680aSDennis E. Hamilton             static const sal_uInt16 aAbsSpaceInch[ MAXLEVEL ] =
1716a585680aSDennis E. Hamilton                 {
1717a585680aSDennis E. Hamilton                     283, 567, 850, 1134, 1417, 1701, 1984, 2268, 2551, 2835
1718a585680aSDennis E. Hamilton                 };
1719a585680aSDennis E. Hamilton             const sal_uInt16* pArr = MEASURE_METRIC ==
1720a585680aSDennis E. Hamilton                                 SvtSysLocale().GetLocaleData().getMeasurementSystemEnum()
1721a585680aSDennis E. Hamilton                                     ? aAbsSpace
1722a585680aSDennis E. Hamilton                                     : aAbsSpaceInch;
1723cdf0e10cSrcweir #else
1724a585680aSDennis E. Hamilton             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             // <--
1738a585680aSDennis E. Hamilton             for( n = 0; n < MAXLEVEL; ++n, ++pArr )
1739a585680aSDennis E. Hamilton             {
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                 // <--
1751a585680aSDennis E. Hamilton                 pNewRule->Set( n, aFmt );
1752a585680aSDennis E. Hamilton             }
1753a585680aSDennis E. Hamilton         }
1754a585680aSDennis E. Hamilton         break;
1755a585680aSDennis E. Hamilton 
1756a585680aSDennis E. Hamilton     case RES_POOLNUMRULE_NUM2:
1757a585680aSDennis E. Hamilton         {
1758a585680aSDennis E. Hamilton             static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
1759a585680aSDennis E. Hamilton                 {
1760a585680aSDennis E. Hamilton                     283,  283,  567,  709,		// 0.50, 0.50, 1.00, 1.25
1761a585680aSDennis E. Hamilton                     850, 1021, 1304, 1474,		// 1.50, 1.80, 2.30, 2.60
1762a585680aSDennis E. Hamilton                    1588, 1758					// 2.80, 3.10
1763a585680aSDennis E. Hamilton                 };
1764cdf0e10cSrcweir 
1765cdf0e10cSrcweir #ifdef USE_MEASUREMENT
1766a585680aSDennis E. Hamilton             static const sal_uInt16 aAbsSpaceInch[ MAXLEVEL ] =
1767a585680aSDennis E. Hamilton                 {
1768a585680aSDennis E. Hamilton                     385,  385,  770,  963,
1769a585680aSDennis E. Hamilton                    1155, 1386, 1771, 2002,
1770a585680aSDennis E. Hamilton                    2156, 2387
1771a585680aSDennis E. Hamilton                 };
1772a585680aSDennis E. Hamilton 
1773a585680aSDennis E. Hamilton             const sal_uInt16* pArr = MEASURE_METRIC ==
1774a585680aSDennis E. Hamilton                                 SvtSysLocale().GetLocaleData().getMeasurementSystemEnum()
1775a585680aSDennis E. Hamilton                                     ? aAbsSpace
1776a585680aSDennis E. Hamilton                                     : aAbsSpaceInch;
1777cdf0e10cSrcweir #else
1778a585680aSDennis E. Hamilton             const sal_uInt16* pArr = aAbsSpace;
1779cdf0e10cSrcweir #endif
1780a585680aSDennis E. Hamilton             SwNumFmt aFmt;
1781cdf0e10cSrcweir             // --> OD 2008-02-11 #newlistlevelattrs#
1782cdf0e10cSrcweir             aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
1783cdf0e10cSrcweir             // <--
1784a585680aSDennis E. Hamilton             aFmt.SetNumberingType(SVX_NUM_ARABIC);
1785a585680aSDennis E. Hamilton             aFmt.SetCharFmt( pNumCFmt );
1786a585680aSDennis E. Hamilton             aFmt.SetIncludeUpperLevels( 1 );
1787cdf0e10cSrcweir             // --> OD 2008-02-11 #newlistlevelattrs#
1788cdf0e10cSrcweir             if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
1789cdf0e10cSrcweir             {
1790cdf0e10cSrcweir                 aFmt.SetLabelFollowedBy( SvxNumberFormat::LISTTAB );
1791cdf0e10cSrcweir             }
1792cdf0e10cSrcweir             // <--
1793a585680aSDennis E. Hamilton             sal_uInt16 nSpace = 0;
1794a585680aSDennis E. Hamilton             for( n = 0; n < MAXLEVEL; ++n )
1795a585680aSDennis E. Hamilton             {
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                 // <--
1809a585680aSDennis E. Hamilton                 aFmt.SetStart( n+1 );
1810a585680aSDennis E. Hamilton                 pNewRule->Set( n, aFmt );
1811a585680aSDennis E. Hamilton             }
1812a585680aSDennis E. Hamilton         }
1813a585680aSDennis E. Hamilton         break;
1814a585680aSDennis E. Hamilton     case RES_POOLNUMRULE_NUM3:
1815a585680aSDennis E. Hamilton         {
1816a585680aSDennis E. Hamilton             SwNumFmt aFmt;
1817cdf0e10cSrcweir             // --> OD 2008-02-11 #newlistlevelattrs#
1818cdf0e10cSrcweir             aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
1819cdf0e10cSrcweir             // <--
1820a585680aSDennis E. Hamilton             aFmt.SetNumberingType(SVX_NUM_ARABIC);
1821a585680aSDennis E. Hamilton             aFmt.SetCharFmt( pNumCFmt );
1822a585680aSDennis E. Hamilton             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 
1837a585680aSDennis E. Hamilton             for( n = 0; n < MAXLEVEL; ++n )
1838a585680aSDennis E. Hamilton             {
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 );
1851a585680aSDennis E. Hamilton                 pNewRule->Set( n, aFmt );
1852a585680aSDennis E. Hamilton             }
1853a585680aSDennis E. Hamilton         }
1854a585680aSDennis E. Hamilton         break;
1855a585680aSDennis E. Hamilton     case RES_POOLNUMRULE_NUM4:
1856a585680aSDennis E. Hamilton         {
1857a585680aSDennis E. Hamilton             SwNumFmt aFmt;
1858cdf0e10cSrcweir             // --> OD 2008-02-11 #newlistlevelattrs#
1859cdf0e10cSrcweir             aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
1860cdf0e10cSrcweir             // <--
1861a585680aSDennis E. Hamilton             aFmt.SetNumberingType(SVX_NUM_ROMAN_UPPER);
1862a585680aSDennis E. Hamilton             aFmt.SetCharFmt( pNumCFmt );
1863a585680aSDennis E. Hamilton             aFmt.SetIncludeUpperLevels( 1 );
1864a585680aSDennis E. Hamilton             aFmt.SetSuffix( aDotStr );
1865cdf0e10cSrcweir 
1866a585680aSDennis E. Hamilton             static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
1867a585680aSDennis E. Hamilton                 {
1868cdf0e10cSrcweir //				cm: 0,5  1,0  1,5  2,0   2,5   3,0   3,5   4,0   4,5   5,0
1869a585680aSDennis E. Hamilton                     283, 567, 850, 1134, 1417, 1701, 1984, 2268, 2551, 2835
1870a585680aSDennis E. Hamilton                 };
1871cdf0e10cSrcweir #ifdef USE_MEASUREMENT
1872a585680aSDennis E. Hamilton             static const sal_uInt16 aAbsSpaceInch[ MAXLEVEL ] =
1873a585680aSDennis E. Hamilton                 {
1874a585680aSDennis E. Hamilton                     283, 567, 850, 1134, 1417, 1701, 1984, 2268, 2551, 2835
1875a585680aSDennis E. Hamilton                 };
1876a585680aSDennis E. Hamilton             const sal_uInt16* pArr = MEASURE_METRIC ==
1877a585680aSDennis E. Hamilton                                 SvtSysLocale().GetLocaleData().getMeasurementSystemEnum()
1878a585680aSDennis E. Hamilton                                     ? aAbsSpace
1879a585680aSDennis E. Hamilton                                     : aAbsSpaceInch;
1880cdf0e10cSrcweir #else
1881a585680aSDennis E. Hamilton             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             // <--
1895a585680aSDennis E. Hamilton             for( n = 0; n < MAXLEVEL; ++n, ++pArr )
1896a585680aSDennis E. Hamilton             {
1897a585680aSDennis E. Hamilton                 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                 // <--
1909a585680aSDennis E. Hamilton                 pNewRule->Set( n, aFmt );
1910a585680aSDennis E. Hamilton             }
1911a585680aSDennis E. Hamilton         }
1912a585680aSDennis E. Hamilton         break;
1913a585680aSDennis E. Hamilton     case RES_POOLNUMRULE_NUM5:
1914a585680aSDennis E. Hamilton         {
1915a585680aSDennis E. Hamilton             // [ First, LSpace ]
1916a585680aSDennis E. Hamilton             static const sal_uInt16 aAbsSpace0to2[] =
1917a585680aSDennis E. Hamilton                 {
1918a585680aSDennis E. Hamilton                     227,  227,  	// 0.40, 0.40,
1919a585680aSDennis E. Hamilton                     369,  624,		// 0.65, 1.10,
1920a585680aSDennis E. Hamilton                     255,  879 		// 0.45, 1.55
1921a585680aSDennis E. Hamilton                 };
1922cdf0e10cSrcweir 
1923cdf0e10cSrcweir #ifdef USE_MEASUREMENT
1924a585680aSDennis E. Hamilton             static const sal_uInt16 aAbsSpaceInch0to2[] =
1925a585680aSDennis E. Hamilton                 {
1926a585680aSDennis E. Hamilton                     308,  308,
1927a585680aSDennis E. Hamilton                     501,  847,
1928a585680aSDennis E. Hamilton                     347, 1194
1929a585680aSDennis E. Hamilton                 };
1930a585680aSDennis E. Hamilton             const sal_uInt16* pArr0to2 = MEASURE_METRIC ==
1931a585680aSDennis E. Hamilton                             SvtSysLocale().GetLocaleData().getMeasurementSystemEnum()
1932a585680aSDennis E. Hamilton                                 ? aAbsSpace0to2
1933a585680aSDennis E. Hamilton                                 : aAbsSpaceInch0to2;
1934cdf0e10cSrcweir #else
1935a585680aSDennis E. Hamilton             const sal_uInt16* pArr0to2 = aAbsSpace0to2;
1936cdf0e10cSrcweir #endif
1937a585680aSDennis E. Hamilton             SwNumFmt aFmt;
1938cdf0e10cSrcweir             // --> OD 2008-02-11 #newlistlevelattrs#
1939cdf0e10cSrcweir             aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
1940cdf0e10cSrcweir             // <--
1941a585680aSDennis E. Hamilton             aFmt.SetNumberingType(SVX_NUM_ARABIC);
1942a585680aSDennis E. Hamilton             aFmt.SetStart( 1 );
1943a585680aSDennis E. Hamilton             aFmt.SetIncludeUpperLevels( 1 );
1944a585680aSDennis E. Hamilton             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 
1966a585680aSDennis E. Hamilton             aFmt.SetCharFmt( pNumCFmt );
1967a585680aSDennis E. Hamilton             pNewRule->Set( 0, aFmt );
1968cdf0e10cSrcweir 
1969a585680aSDennis E. Hamilton             aFmt.SetIncludeUpperLevels( 2 );
1970a585680aSDennis E. Hamilton             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             // <--
1984a585680aSDennis E. Hamilton             pNewRule->Set( 1, aFmt );
1985cdf0e10cSrcweir 
1986a585680aSDennis E. Hamilton             aFmt.SetNumberingType(SVX_NUM_CHARS_LOWER_LETTER);
1987a585680aSDennis E. Hamilton             aFmt.SetSuffix( ')');
1988a585680aSDennis E. Hamilton             aFmt.SetIncludeUpperLevels( 1 );
1989a585680aSDennis E. Hamilton             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             // <--
2003a585680aSDennis E. Hamilton             pNewRule->Set( 2, aFmt );
2004cdf0e10cSrcweir 
2005cdf0e10cSrcweir 
2006a585680aSDennis E. Hamilton             aFmt.SetNumberingType(SVX_NUM_CHAR_SPECIAL);
2007a585680aSDennis E. Hamilton             aFmt.SetCharFmt( pBullCFmt );
2008cdf0e10cSrcweir             // --> OD 2006-06-29 #6440955#
2009cdf0e10cSrcweir             aFmt.SetBulletFont(  &numfunc::GetDefBulletFont() );
2010cdf0e10cSrcweir             // <--
2011a585680aSDennis E. Hamilton             aFmt.SetBulletChar( cBulletChar );
2012a585680aSDennis E. Hamilton             sal_uInt16 nOffs = GetMetricVal( CM_01 ) * 4,
2013a585680aSDennis E. Hamilton                    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             // <--
2025a585680aSDennis E. Hamilton             aFmt.SetSuffix( aEmptyStr );
2026a585680aSDennis E. Hamilton             for( n = 3; n < MAXLEVEL; ++n )
2027a585680aSDennis E. Hamilton             {
2028a585680aSDennis E. Hamilton                 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                 // <--
2040a585680aSDennis E. Hamilton                 pNewRule->Set( n, aFmt );
2041a585680aSDennis E. Hamilton             }
2042a585680aSDennis E. Hamilton         }
2043a585680aSDennis E. Hamilton         break;
2044a585680aSDennis E. Hamilton 
2045a585680aSDennis E. Hamilton     case RES_POOLNUMRULE_BUL1:
2046a585680aSDennis E. Hamilton         {
2047a585680aSDennis E. Hamilton             SwNumFmt aFmt;
2048cdf0e10cSrcweir             // --> OD 2008-02-11 #newlistlevelattrs#
2049cdf0e10cSrcweir             aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2050cdf0e10cSrcweir             // <--
2051a585680aSDennis E. Hamilton             aFmt.SetNumberingType(SVX_NUM_CHAR_SPECIAL);
2052a585680aSDennis E. Hamilton             aFmt.SetCharFmt( pBullCFmt );
2053a585680aSDennis E. Hamilton             aFmt.SetStart( 1 );
2054a585680aSDennis E. Hamilton             aFmt.SetIncludeUpperLevels( 1 );
2055cdf0e10cSrcweir             // --> OD 2006-06-29 #6440955#
2056cdf0e10cSrcweir             aFmt.SetBulletFont( &numfunc::GetDefBulletFont() );
2057cdf0e10cSrcweir             // <--
2058cdf0e10cSrcweir             aFmt.SetBulletChar( cBulletChar );
2059cdf0e10cSrcweir 
2060a585680aSDennis E. Hamilton             static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
2061a585680aSDennis E. Hamilton                 {
2062cdf0e10cSrcweir //				cm: 0,4  0,8  1,2  1,6  2,0   2,4   2,8   3,2   3,6   4,0
2063a585680aSDennis E. Hamilton                     227, 454, 680, 907, 1134, 1361, 1587, 1814, 2041, 2268
2064a585680aSDennis E. Hamilton                 };
2065cdf0e10cSrcweir #ifdef USE_MEASUREMENT
2066a585680aSDennis E. Hamilton             static const sal_uInt16 aAbsSpaceInch[ MAXLEVEL ] =
2067a585680aSDennis E. Hamilton                 {
2068a585680aSDennis E. Hamilton                     227, 454, 680, 907, 1134, 1361, 1587, 1814, 2041, 2268
2069a585680aSDennis E. Hamilton                 };
2070a585680aSDennis E. Hamilton             const sal_uInt16* pArr = MEASURE_METRIC ==
2071a585680aSDennis E. Hamilton                                 SvtSysLocale().GetLocaleData().getMeasurementSystemEnum()
2072a585680aSDennis E. Hamilton                                     ? aAbsSpace
2073a585680aSDennis E. Hamilton                                     : aAbsSpaceInch;
2074cdf0e10cSrcweir #else
2075a585680aSDennis E. Hamilton             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             // <--
2089a585680aSDennis E. Hamilton             for( n = 0; n < MAXLEVEL; ++n, ++pArr )
2090a585680aSDennis E. Hamilton             {
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                 // <--
2102a585680aSDennis E. Hamilton                 pNewRule->Set( n, aFmt );
2103a585680aSDennis E. Hamilton             }
2104a585680aSDennis E. Hamilton         }
2105a585680aSDennis E. Hamilton         break;
2106a585680aSDennis E. Hamilton     case RES_POOLNUMRULE_BUL2:
2107a585680aSDennis E. Hamilton         {
2108a585680aSDennis E. Hamilton             SwNumFmt aFmt;
2109cdf0e10cSrcweir             // --> OD 2008-02-11 #newlistlevelattrs#
2110cdf0e10cSrcweir             aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2111cdf0e10cSrcweir             // <--
2112a585680aSDennis E. Hamilton             aFmt.SetNumberingType(SVX_NUM_CHAR_SPECIAL);
2113a585680aSDennis E. Hamilton             aFmt.SetCharFmt( pBullCFmt );
2114a585680aSDennis E. Hamilton             aFmt.SetStart( 1 );
2115a585680aSDennis E. Hamilton             aFmt.SetIncludeUpperLevels( 1 );
2116cdf0e10cSrcweir             // --> OD 2006-06-29 #6440955#
2117cdf0e10cSrcweir             aFmt.SetBulletFont(  &numfunc::GetDefBulletFont() );
2118cdf0e10cSrcweir             // <--
2119cdf0e10cSrcweir             aFmt.SetBulletChar( 0x2013 );
2120cdf0e10cSrcweir 
2121a585680aSDennis E. Hamilton             static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
2122a585680aSDennis E. Hamilton                 {
2123cdf0e10cSrcweir //				cm: 0,3  0,6  0,9  1,2  1,5  1,8   2,1   2,4   2,7   3,0
2124a585680aSDennis E. Hamilton                     170, 340, 510, 680, 850, 1020, 1191, 1361, 1531, 1701
2125a585680aSDennis E. Hamilton                 };
2126cdf0e10cSrcweir #ifdef USE_MEASUREMENT
2127a585680aSDennis E. Hamilton             static const sal_uInt16 aAbsSpaceInch[ MAXLEVEL ] =
2128a585680aSDennis E. Hamilton                 {
2129a585680aSDennis E. Hamilton                     170, 340, 510, 680, 850, 1020, 1191, 1361, 1531, 1701
2130a585680aSDennis E. Hamilton                 };
2131a585680aSDennis E. Hamilton             const sal_uInt16* pArr = MEASURE_METRIC ==
2132a585680aSDennis E. Hamilton                                 SvtSysLocale().GetLocaleData().getMeasurementSystemEnum()
2133a585680aSDennis E. Hamilton                                     ? aAbsSpace
2134a585680aSDennis E. Hamilton                                     : aAbsSpaceInch;
2135cdf0e10cSrcweir #else
2136a585680aSDennis E. Hamilton             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             // <--
2150a585680aSDennis E. Hamilton             for( n = 0; n < MAXLEVEL; ++n, ++pArr )
2151a585680aSDennis E. Hamilton             {
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 );
2164a585680aSDennis E. Hamilton             }
2165a585680aSDennis E. Hamilton         }
2166a585680aSDennis E. Hamilton         break;
2167a585680aSDennis E. Hamilton     case RES_POOLNUMRULE_BUL3:
2168a585680aSDennis E. Hamilton         {
2169a585680aSDennis E. Hamilton             SwNumFmt aFmt;
2170cdf0e10cSrcweir             // --> OD 2008-02-11 #newlistlevelattrs#
2171cdf0e10cSrcweir             aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2172cdf0e10cSrcweir             // <--
2173a585680aSDennis E. Hamilton             aFmt.SetNumberingType(SVX_NUM_CHAR_SPECIAL);
2174a585680aSDennis E. Hamilton             aFmt.SetCharFmt( pBullCFmt );
2175a585680aSDennis E. Hamilton             aFmt.SetStart( 1 );
2176a585680aSDennis E. Hamilton             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 
2194a585680aSDennis E. Hamilton             for( n = 0; n < MAXLEVEL; ++n )
2195a585680aSDennis E. Hamilton             {
2196a585680aSDennis E. Hamilton                 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                 // <--
2208a585680aSDennis E. Hamilton                 pNewRule->Set( n, aFmt );
2209a585680aSDennis E. Hamilton             }
2210a585680aSDennis E. Hamilton         }
2211a585680aSDennis E. Hamilton         break;
2212a585680aSDennis E. Hamilton     case RES_POOLNUMRULE_BUL4:
2213a585680aSDennis E. Hamilton         {
2214a585680aSDennis E. Hamilton             SwNumFmt aFmt;
2215cdf0e10cSrcweir             // --> OD 2008-02-11 #newlistlevelattrs#
2216cdf0e10cSrcweir             aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2217cdf0e10cSrcweir             // <--
2218a585680aSDennis E. Hamilton             aFmt.SetNumberingType(SVX_NUM_CHAR_SPECIAL);
2219a585680aSDennis E. Hamilton             aFmt.SetCharFmt( pBullCFmt );
2220a585680aSDennis E. Hamilton             aFmt.SetStart( 1 );
2221a585680aSDennis E. Hamilton             aFmt.SetIncludeUpperLevels( 1 );
2222cdf0e10cSrcweir             // --> OD 2006-06-29 #6440955#
2223cdf0e10cSrcweir             aFmt.SetBulletFont(  &numfunc::GetDefBulletFont() );
2224cdf0e10cSrcweir             // <--
2225cdf0e10cSrcweir 
2226a585680aSDennis E. Hamilton             static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
2227a585680aSDennis E. Hamilton                 {
2228cdf0e10cSrcweir //				cm: 0,4  0,8  1,2  1,6  2,0   2,4   2,8   3,2   3,6   4,0
2229a585680aSDennis E. Hamilton                     227, 454, 680, 907, 1134, 1361, 1587, 1814, 2041, 2268
2230a585680aSDennis E. Hamilton                 };
2231cdf0e10cSrcweir #ifdef USE_MEASUREMENT
2232a585680aSDennis E. Hamilton             static const sal_uInt16 aAbsSpaceInch[ MAXLEVEL ] =
2233a585680aSDennis E. Hamilton                 {
2234a585680aSDennis E. Hamilton                     227, 454, 680, 907, 1134, 1361, 1587, 1814, 2041, 2268
2235a585680aSDennis E. Hamilton                 };
2236a585680aSDennis E. Hamilton             const sal_uInt16* pArr = MEASURE_METRIC ==
2237a585680aSDennis E. Hamilton                                 SvtSysLocale().GetLocaleData().getMeasurementSystemEnum()
2238a585680aSDennis E. Hamilton                                     ? aAbsSpace
2239a585680aSDennis E. Hamilton                                     : aAbsSpaceInch;
2240cdf0e10cSrcweir #else
2241a585680aSDennis E. Hamilton             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             // <--
2255a585680aSDennis E. Hamilton             for( n = 0; n < MAXLEVEL; ++n, ++pArr )
2256a585680aSDennis E. Hamilton             {
2257a585680aSDennis E. Hamilton                 switch( n )
2258a585680aSDennis E. Hamilton                 {
2259a585680aSDennis E. Hamilton                 case 0: 	aFmt.SetBulletChar( 0x27a2 );	break;
2260a585680aSDennis E. Hamilton                 case 1:		aFmt.SetBulletChar( 0xE006 );	break;
2261a585680aSDennis E. Hamilton                 default:	aFmt.SetBulletChar( 0xE004 );	break;
2262a585680aSDennis E. Hamilton                 }
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                 // <--
2274a585680aSDennis E. Hamilton                 pNewRule->Set( n, aFmt );
2275a585680aSDennis E. Hamilton             }
2276a585680aSDennis E. Hamilton         }
2277a585680aSDennis E. Hamilton         break;
2278a585680aSDennis E. Hamilton     case RES_POOLNUMRULE_BUL5:
2279a585680aSDennis E. Hamilton         {
2280a585680aSDennis E. Hamilton             SwNumFmt aFmt;
2281cdf0e10cSrcweir             // --> OD 2008-02-11 #newlistlevelattrs#
2282cdf0e10cSrcweir             aFmt.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2283cdf0e10cSrcweir             // <--
2284a585680aSDennis E. Hamilton             aFmt.SetNumberingType(SVX_NUM_CHAR_SPECIAL);
2285a585680aSDennis E. Hamilton             aFmt.SetCharFmt( pBullCFmt );
2286a585680aSDennis E. Hamilton             aFmt.SetStart( 1 );
2287a585680aSDennis E. Hamilton             aFmt.SetIncludeUpperLevels( 1 );
2288a585680aSDennis E. Hamilton             aFmt.SetBulletChar( 0x2717 );
2289cdf0e10cSrcweir             // --> OD 2006-06-29 #6440955#
2290cdf0e10cSrcweir             aFmt.SetBulletFont( &numfunc::GetDefBulletFont() );
2291cdf0e10cSrcweir             // <--
2292cdf0e10cSrcweir 
2293a585680aSDennis E. Hamilton             static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
2294a585680aSDennis E. Hamilton                 {
2295cdf0e10cSrcweir //				cm: 0,4  0,8  1,2  1,6  2,0   2,4   2,8   3,2   3,6   4,0
2296a585680aSDennis E. Hamilton                     227, 454, 680, 907, 1134, 1361, 1587, 1814, 2041, 2268
2297a585680aSDennis E. Hamilton                 };
2298cdf0e10cSrcweir #ifdef USE_MEASUREMENT
2299a585680aSDennis E. Hamilton             static const sal_uInt16 aAbsSpaceInch[ MAXLEVEL ] =
2300a585680aSDennis E. Hamilton                 {
2301a585680aSDennis E. Hamilton                     227, 454, 680, 907, 1134, 1361, 1587, 1814, 2041, 2268
2302a585680aSDennis E. Hamilton                 };
2303a585680aSDennis E. Hamilton             const sal_uInt16* pArr = MEASURE_METRIC ==
2304a585680aSDennis E. Hamilton                                 SvtSysLocale().GetLocaleData().getMeasurementSystemEnum()
2305a585680aSDennis E. Hamilton                                     ? aAbsSpace
2306a585680aSDennis E. Hamilton                                     : aAbsSpaceInch;
2307cdf0e10cSrcweir #else
2308a585680aSDennis E. Hamilton             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             // <--
2322a585680aSDennis E. Hamilton             for( n = 0; n < MAXLEVEL; ++n, ++pArr )
2323a585680aSDennis E. Hamilton             {
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                 // <--
2335a585680aSDennis E. Hamilton                 pNewRule->Set( n, aFmt );
2336a585680aSDennis E. Hamilton             }
2337a585680aSDennis E. Hamilton         }
2338a585680aSDennis E. Hamilton         break;
2339a585680aSDennis E. Hamilton     }
2340cdf0e10cSrcweir 
2341cdf0e10cSrcweir     return pNewRule;
2342cdf0e10cSrcweir }
2343cdf0e10cSrcweir 
2344cdf0e10cSrcweir 
2345cdf0e10cSrcweir 
2346a585680aSDennis E. Hamilton     // pruefe, ob diese "Auto-Collection" in Dokument schon/noch
2347a585680aSDennis E. Hamilton     // benutzt wird
IsPoolPageDescUsed(sal_uInt16 nId) const2348cdf0e10cSrcweir bool SwDoc::IsPoolPageDescUsed( sal_uInt16 nId ) const
2349cdf0e10cSrcweir {
2350a585680aSDennis E. Hamilton     ASSERT( RES_POOLPAGE_BEGIN <= nId && nId < RES_POOLPAGE_END,
2351a585680aSDennis E. Hamilton             "Falsche AutoFormat-Id" );
2352a585680aSDennis E. Hamilton     SwPageDesc *pNewPgDsc = 0;
2353a585680aSDennis E. Hamilton     sal_Bool bFnd = sal_False;
2354a585680aSDennis E. Hamilton     for( sal_uInt16 n = 0; !bFnd && n < aPageDescs.Count(); ++n )
2355cdf0e10cSrcweir     {
2356a585680aSDennis E. Hamilton         pNewPgDsc = aPageDescs[ n ];
2357a585680aSDennis E. Hamilton         if( nId == pNewPgDsc->GetPoolFmtId() )
2358a585680aSDennis E. Hamilton             bFnd = sal_True;
2359cdf0e10cSrcweir     }
2360cdf0e10cSrcweir 
2361a585680aSDennis E. Hamilton     // nicht gefunden oder keine Abhaengigen ?
2362a585680aSDennis E. Hamilton     if( !bFnd || !pNewPgDsc->GetDepends() )		// ??????
2363a585680aSDennis E. Hamilton         return sal_False;
2364cdf0e10cSrcweir 
2365a585680aSDennis E. Hamilton     // dann teste mal, ob es abhaengige ContentNodes im Nodes Array gibt
2366a585680aSDennis E. Hamilton     // (auch indirekte fuer Format-Ableitung! )
2367cdf0e10cSrcweir     SwAutoFmtGetDocNode aGetHt( &GetNodes() );
2368a585680aSDennis E. Hamilton     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 {
2374a585680aSDennis E. Hamilton     // dann teste mal, ob es abhaengige ContentNodes im Nodes Array gibt
2375a585680aSDennis E. Hamilton     // (auch indirekte fuer Format-Ableitung! )
2376cdf0e10cSrcweir     SwAutoFmtGetDocNode aGetHt( &GetNodes() );
2377a585680aSDennis E. Hamilton     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 
2420a585680aSDennis E. Hamilton     // Suche die Position vom Vorlagen-Namen. Ist nicht vorhanden
2421a585680aSDennis E. Hamilton     // dann fuege neu ein
SetDocPattern(const String & rPatternName)2422cdf0e10cSrcweir sal_uInt16 SwDoc::SetDocPattern( const String& rPatternName )
2423cdf0e10cSrcweir {
2424a585680aSDennis E. Hamilton     ASSERT( rPatternName.Len(), "kein Dokument-Vorlagenname" );
2425a585680aSDennis E. Hamilton 
2426a585680aSDennis E. Hamilton     sal_uInt16 nNewPos = aPatternNms.Count();
2427a585680aSDennis E. Hamilton     for( sal_uInt16 n = 0; n < aPatternNms.Count(); ++n )
2428a585680aSDennis E. Hamilton         if( !aPatternNms[n] )
2429a585680aSDennis E. Hamilton         {
2430a585680aSDennis E. Hamilton             if( nNewPos == aPatternNms.Count() )
2431a585680aSDennis E. Hamilton                 nNewPos = n;
2432a585680aSDennis E. Hamilton         }
2433a585680aSDennis E. Hamilton         else if( rPatternName == *aPatternNms[n] )
2434a585680aSDennis E. Hamilton             return n;
2435a585680aSDennis E. Hamilton 
2436a585680aSDennis E. Hamilton     if( nNewPos < aPatternNms.Count() )
2437a585680aSDennis E. Hamilton         aPatternNms.Remove( nNewPos );		// Platz wieder frei machen
2438a585680aSDennis E. Hamilton 
2439a585680aSDennis E. Hamilton     String* pNewNm = new String( rPatternName );
2440a585680aSDennis E. Hamilton     aPatternNms.Insert( pNewNm, nNewPos );
2441a585680aSDennis E. Hamilton     SetModified();
2442a585680aSDennis E. Hamilton     return nNewPos;
2443cdf0e10cSrcweir }
2444cdf0e10cSrcweir 
GetPoolParent(sal_uInt16 nId)2445cdf0e10cSrcweir sal_uInt16 GetPoolParent( sal_uInt16 nId )
2446cdf0e10cSrcweir {
2447a585680aSDennis E. Hamilton     sal_uInt16 nRet = USHRT_MAX;
2448a585680aSDennis E. Hamilton     if( POOLGRP_NOCOLLID & nId )		// 1 == Formate / 0 == Collections
2449a585680aSDennis E. Hamilton     {
2450a585680aSDennis E. Hamilton         switch( ( COLL_GET_RANGE_BITS | POOLGRP_NOCOLLID ) & nId )
2451a585680aSDennis E. Hamilton         {
2452a585680aSDennis E. Hamilton         case POOLGRP_CHARFMT:
2453a585680aSDennis E. Hamilton         case POOLGRP_FRAMEFMT:
2454a585680aSDennis E. Hamilton             nRet = 0; 			// vom default abgeleitet
2455a585680aSDennis E. Hamilton             break;
2456a585680aSDennis E. Hamilton         case POOLGRP_PAGEDESC:
2457a585680aSDennis E. Hamilton         case POOLGRP_NUMRULE:
2458a585680aSDennis E. Hamilton             break;				// es gibt keine Ableitung
2459a585680aSDennis E. Hamilton         }
2460a585680aSDennis E. Hamilton     }
2461a585680aSDennis E. Hamilton     else
2462a585680aSDennis E. Hamilton     {
2463a585680aSDennis E. Hamilton         switch( COLL_GET_RANGE_BITS & nId )
2464a585680aSDennis E. Hamilton         {
2465a585680aSDennis E. Hamilton         case COLL_TEXT_BITS:
2466a585680aSDennis E. Hamilton             switch( nId )
2467a585680aSDennis E. Hamilton             {
2468a585680aSDennis E. Hamilton             case RES_POOLCOLL_STANDARD:
2469a585680aSDennis E. Hamilton                     nRet = 0;									break;
2470a585680aSDennis E. Hamilton             case RES_POOLCOLL_TEXT_IDENT:
2471a585680aSDennis E. Hamilton             case RES_POOLCOLL_TEXT_NEGIDENT:
2472a585680aSDennis E. Hamilton             case RES_POOLCOLL_TEXT_MOVE:
2473a585680aSDennis E. Hamilton             case RES_POOLCOLL_CONFRONTATION:
2474a585680aSDennis E. Hamilton             case RES_POOLCOLL_MARGINAL:
2475a585680aSDennis E. Hamilton                     nRet = RES_POOLCOLL_TEXT;					break;
2476a585680aSDennis E. Hamilton 
2477a585680aSDennis E. Hamilton             case RES_POOLCOLL_TEXT:
2478a585680aSDennis E. Hamilton             case RES_POOLCOLL_GREETING:
2479a585680aSDennis E. Hamilton             case RES_POOLCOLL_SIGNATURE:
2480a585680aSDennis E. Hamilton             case RES_POOLCOLL_HEADLINE_BASE:
2481a585680aSDennis E. Hamilton                     nRet = RES_POOLCOLL_STANDARD;				break;
2482a585680aSDennis E. Hamilton 
2483a585680aSDennis E. Hamilton             case RES_POOLCOLL_HEADLINE1:
2484a585680aSDennis E. Hamilton             case RES_POOLCOLL_HEADLINE2:
2485a585680aSDennis E. Hamilton             case RES_POOLCOLL_HEADLINE3:
2486a585680aSDennis E. Hamilton             case RES_POOLCOLL_HEADLINE4:
2487a585680aSDennis E. Hamilton             case RES_POOLCOLL_HEADLINE5:
2488a585680aSDennis E. Hamilton             case RES_POOLCOLL_HEADLINE6:
2489a585680aSDennis E. Hamilton             case RES_POOLCOLL_HEADLINE7:
2490a585680aSDennis E. Hamilton             case RES_POOLCOLL_HEADLINE8:
2491a585680aSDennis E. Hamilton             case RES_POOLCOLL_HEADLINE9:
2492a585680aSDennis E. Hamilton             case RES_POOLCOLL_HEADLINE10:
2493a585680aSDennis E. Hamilton                     nRet = RES_POOLCOLL_HEADLINE_BASE; 			break;
2494a585680aSDennis E. Hamilton             }
2495a585680aSDennis E. Hamilton             break;
2496a585680aSDennis E. Hamilton 
2497a585680aSDennis E. Hamilton         case COLL_LISTS_BITS:
2498a585680aSDennis E. Hamilton             switch( nId )
2499a585680aSDennis E. Hamilton             {
2500a585680aSDennis E. Hamilton             case RES_POOLCOLL_NUMBUL_BASE:
2501a585680aSDennis E. Hamilton                     nRet = RES_POOLCOLL_TEXT;					break;
2502a585680aSDennis E. Hamilton 
2503a585680aSDennis E. Hamilton             default:
2504a585680aSDennis E. Hamilton                 nRet = RES_POOLCOLL_NUMBUL_BASE;				break;
2505a585680aSDennis E. Hamilton             }
2506a585680aSDennis E. Hamilton             break;
2507a585680aSDennis E. Hamilton 
2508a585680aSDennis E. Hamilton         case COLL_EXTRA_BITS:
2509a585680aSDennis E. Hamilton             switch( nId )
2510a585680aSDennis E. Hamilton             {
2511a585680aSDennis E. Hamilton             case RES_POOLCOLL_FRAME:
2512a585680aSDennis E. Hamilton                     nRet = RES_POOLCOLL_TEXT;					break;
2513a585680aSDennis E. Hamilton 
2514a585680aSDennis E. Hamilton             case RES_POOLCOLL_TABLE_HDLN:
2515a585680aSDennis E. Hamilton                     nRet = RES_POOLCOLL_TABLE;					break;
2516cdf0e10cSrcweir 
2517cdf0e10cSrcweir             case RES_POOLCOLL_TABLE:
2518a585680aSDennis E. Hamilton             case RES_POOLCOLL_FOOTNOTE:
2519a585680aSDennis E. Hamilton             case RES_POOLCOLL_ENDNOTE:
2520a585680aSDennis E. Hamilton             case RES_POOLCOLL_JAKETADRESS:
2521a585680aSDennis E. Hamilton             case RES_POOLCOLL_SENDADRESS:
2522a585680aSDennis E. Hamilton             case RES_POOLCOLL_HEADER:
2523a585680aSDennis E. Hamilton             case RES_POOLCOLL_HEADERL:
2524a585680aSDennis E. Hamilton             case RES_POOLCOLL_HEADERR:
2525a585680aSDennis E. Hamilton             case RES_POOLCOLL_FOOTER:
2526a585680aSDennis E. Hamilton             case RES_POOLCOLL_FOOTERL:
2527a585680aSDennis E. Hamilton             case RES_POOLCOLL_FOOTERR:
2528a585680aSDennis E. Hamilton             case RES_POOLCOLL_LABEL:
2529a585680aSDennis E. Hamilton                     nRet = RES_POOLCOLL_STANDARD;				break;
2530a585680aSDennis E. Hamilton 
2531a585680aSDennis E. Hamilton             case RES_POOLCOLL_LABEL_ABB:
2532a585680aSDennis E. Hamilton             case RES_POOLCOLL_LABEL_TABLE:
2533a585680aSDennis E. Hamilton             case RES_POOLCOLL_LABEL_FRAME:
2534a585680aSDennis E. Hamilton             case RES_POOLCOLL_LABEL_DRAWING:
2535a585680aSDennis E. Hamilton                     nRet = RES_POOLCOLL_LABEL;					break;
2536a585680aSDennis E. Hamilton             }
2537a585680aSDennis E. Hamilton             break;
2538a585680aSDennis E. Hamilton 
2539a585680aSDennis E. Hamilton         case COLL_REGISTER_BITS:
2540a585680aSDennis E. Hamilton             switch( nId )
2541a585680aSDennis E. Hamilton             {
2542a585680aSDennis E. Hamilton             case RES_POOLCOLL_REGISTER_BASE:
2543a585680aSDennis E. Hamilton                     nRet = RES_POOLCOLL_STANDARD;				break;
2544a585680aSDennis E. Hamilton 
2545a585680aSDennis E. Hamilton             case RES_POOLCOLL_TOX_USERH:
2546a585680aSDennis E. Hamilton             case RES_POOLCOLL_TOX_CNTNTH:
2547a585680aSDennis E. Hamilton             case RES_POOLCOLL_TOX_IDXH:
2548a585680aSDennis E. Hamilton             case RES_POOLCOLL_TOX_ILLUSH:
2549a585680aSDennis E. Hamilton             case RES_POOLCOLL_TOX_OBJECTH:
2550a585680aSDennis E. Hamilton             case RES_POOLCOLL_TOX_TABLESH:
2551a585680aSDennis E. Hamilton             case RES_POOLCOLL_TOX_AUTHORITIESH:
2552a585680aSDennis E. Hamilton                     nRet = RES_POOLCOLL_HEADLINE_BASE;  		break;
2553a585680aSDennis E. Hamilton 
2554a585680aSDennis E. Hamilton             default:
2555a585680aSDennis E. Hamilton                     nRet = RES_POOLCOLL_REGISTER_BASE;  		break;
2556a585680aSDennis E. Hamilton             }
2557a585680aSDennis E. Hamilton             break;
2558a585680aSDennis E. Hamilton 
2559a585680aSDennis E. Hamilton         case COLL_DOC_BITS:
2560a585680aSDennis E. Hamilton             nRet = RES_POOLCOLL_HEADLINE_BASE;
2561a585680aSDennis E. Hamilton             break;
2562a585680aSDennis E. Hamilton 
2563a585680aSDennis E. Hamilton         case COLL_HTML_BITS:
2564a585680aSDennis E. Hamilton             nRet = RES_POOLCOLL_STANDARD;
2565a585680aSDennis E. Hamilton             break;
2566a585680aSDennis E. Hamilton         }
2567a585680aSDennis E. Hamilton     }
2568a585680aSDennis E. Hamilton 
2569a585680aSDennis E. Hamilton     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 
2577a585680aSDennis E. Hamilton     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 
2585a585680aSDennis E. Hamilton     sal_uInt16 nCount = GetPageDescCnt();
2586a585680aSDennis E. Hamilton     for( sal_uInt16 i=0; i<nCount; ++i )
2587a585680aSDennis E. Hamilton     {
2588a585680aSDennis E. Hamilton         SwPageDesc& rDesc = _GetPageDesc( i );
2589cdf0e10cSrcweir         rDesc.GetMaster().SetFmtAttr( aFrameDir );
2590cdf0e10cSrcweir         rDesc.GetLeft().SetFmtAttr( aFrameDir );
2591a585680aSDennis E. Hamilton     }
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
2598a585680aSDennis E. Hamilton     GetAttrPool().ResetPoolDefaultItem( RES_CHRATR_AUTOKERN );
2599cdf0e10cSrcweir }
2600