/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * Copyright 2000, 2010 Oracle and/or its affiliates.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/

#ifdef _MSC_VER
#pragma hdrstop
#endif

#include <bf_svx/eeitemid.hxx>
#include <bf_svx/eeitem.hxx>
#include <bf_svx/fhgtitem.hxx>
#include <bf_svx/colritem.hxx>
#include <bf_svx/cntritem.hxx>
#include <bf_svx/shdditem.hxx>
#include <bf_svx/crsditem.hxx>
#include <bf_svx/udlnitem.hxx>
#include <bf_svx/wghtitem.hxx>
#include <bf_svx/postitem.hxx>
#include <bf_svx/fontitem.hxx>
#include <bf_svx/xfillit0.hxx>
#include <bf_svx/xlineit0.hxx>
#include <bf_svx/ulspitem.hxx>
#include <bf_svx/numitem.hxx>
#define ITEMID_BRUSH    0
#include <bf_svx/editeng.hxx>
#include <bf_svtools/smplhint.hxx>
#define ITEMID_EMPHASISMARK       EE_CHAR_EMPHASISMARK
#define ITEMID_CHARRELIEF         EE_CHAR_RELIEF
#include <bf_svx/charreliefitem.hxx>
#include <bf_svx/emphitem.hxx>


#include <bf_svx/svdattr.hxx>
#include <bf_svx/bulitem.hxx>
#include <bf_svx/lrspitem.hxx>
#include <bf_svx/adjitem.hxx>
#include <bf_svtools/itempool.hxx>

#define _SDR_POSITIVE
#define _SDR_ITEMS

#include "stlpool.hxx"
#include "sdresid.hxx"
#include "stlsheet.hxx"
#include "glob.hrc"
#include "drawdoc.hxx"
#include "sdmod.hxx"
#include "sdpage.hxx"
#include "helpids.h"
namespace binfilter {


/*************************************************************************
|*
|* Ctor
|*
\************************************************************************/

/*N*/ SdStyleSheetPool::SdStyleSheetPool(SfxItemPool& rPoolIn, SdDrawDocument* pDocument) :
/*N*/   SfxStyleSheetPool(rPoolIn),
/*N*/   pActualStyleSheet(NULL),
/*N*/   pDoc(pDocument)
/*N*/ {
/*N*/ }

/*************************************************************************
|*
|* Dtor
|*
\************************************************************************/

/*N*/ SdStyleSheetPool::~SdStyleSheetPool()
/*N*/ {
/*N*/ }

/*************************************************************************
|*
|* Vorlage erzeugen
|*
\************************************************************************/

/*N*/ SfxStyleSheetBase* SdStyleSheetPool::Create(const String& rName,
/*N*/                                           SfxStyleFamily eFamily,
/*N*/                                           USHORT nMaskIn )
/*N*/ {
/*N*/   return new SdStyleSheet(rName, *this, eFamily, nMaskIn);
/*N*/ }


/*************************************************************************
|*
|* Vorlage nach Vorbild erzeugen
|*
\************************************************************************/


/*************************************************************************
|*
|* eine Titelvorlage fuer ein Praesentationslayout suchen
|*
\************************************************************************/

/*N*/ SfxStyleSheetBase* SdStyleSheetPool::GetTitleSheet(const String& rLayoutName)
/*N*/ {
/*N*/   String aName(rLayoutName);
/*N*/   aName.AppendAscii( RTL_CONSTASCII_STRINGPARAM( SD_LT_SEPARATOR ));
/*N*/   aName += SdResId(STR_LAYOUT_TITLE).toString();
/*N*/   SfxStyleSheetBase* pResult = Find(aName, SD_LT_FAMILY);
/*N*/   return pResult;
/*N*/ }

/*************************************************************************
|*
|* LayoutName des ersten Layouts ermitteln
|*
\************************************************************************/


/*************************************************************************
|*
|* eine Liste der Gliederungstextvorlagen fuer ein Praesentationlayout
|* erstellen, der Aufrufer muss die Liste wieder loeschen
|*
\************************************************************************/

/*N*/ List* SdStyleSheetPool::CreateOutlineSheetList (const String& rLayoutName)
/*N*/ {
/*N*/   String aName(rLayoutName);
/*N*/   aName.AppendAscii( RTL_CONSTASCII_STRINGPARAM( SD_LT_SEPARATOR ));
/*N*/   aName += SdResId(STR_LAYOUT_OUTLINE).toString();
/*N*/   List* pList = new List;
/*N*/   for (USHORT nSheet = 1; nSheet < 10; nSheet++)
/*N*/   {
/*N*/       String aFullName(aName);
/*N*/       aFullName.Append( sal_Unicode( ' ' ));
/*N*/       aFullName.Append( String::CreateFromInt32( (sal_Int32)nSheet ));
/*N*/       SfxStyleSheetBase* pSheet = Find(aFullName, SD_LT_FAMILY);
/*N*/       pList->Insert(pSheet, LIST_APPEND);
/*N*/   }
/*N*/   return pList;
/*N*/ }

/*************************************************************************
|*
|* StyleSheets mit Defaultweren fuer das genannte Praesentationslayout erzeugen
|*
\************************************************************************/

/*N*/ void SdStyleSheetPool::CreateLayoutStyleSheets(const String& rLayoutName, sal_Bool /*bCheck*/ )
/*N*/ {
/*N*/   sal_Bool bCreated = sal_False;
/*N*/
/*N*/   SfxStyleSheetBase* pSheet = NULL;
/*N*/
/*N*/   String aPrefix(rLayoutName);
/*N*/   String aSep( RTL_CONSTASCII_USTRINGPARAM( SD_LT_SEPARATOR ));
/*N*/   aPrefix.Insert(aSep);
/*N*/
/*N*/   Font aLatinFont, aCJKFont, aCTLFont;
/*N*/
/*N*/   pDoc->getDefaultFonts( aLatinFont, aCJKFont, aCTLFont );
/*N*/
/*N*/   // Font fuer Titel und Gliederung
/*N*/   SvxFontItem aSvxFontItem( aLatinFont.GetFamily(), aLatinFont.GetName(), aLatinFont.GetStyleName(), aLatinFont.GetPitch(),
/*N*/                             aLatinFont.GetCharSet(), EE_CHAR_FONTINFO );
/*N*/
/*N*/   SvxFontItem aSvxFontItemCJK( aCJKFont.GetFamily(), aCJKFont.GetName(), aCJKFont.GetStyleName(), aCJKFont.GetPitch(),
/*N*/                                aCJKFont.GetCharSet(), EE_CHAR_FONTINFO_CJK );
/*N*/
/*N*/   SvxFontItem aSvxFontItemCTL( aCTLFont.GetFamily(), aCTLFont.GetName(), aCTLFont.GetStyleName(), aCTLFont.GetPitch(),
/*N*/                                aCTLFont.GetCharSet(), EE_CHAR_FONTINFO_CTL );
/*N*/
/*N*/   Font aBulletFont( GetBulletFont() );
/*N*/
    /**************************************************************************
    * Gliederungsebenen
    **************************************************************************/
/*N*/   String aName(SdResId(STR_LAYOUT_OUTLINE).toString());
/*N*/   String aHelpFile;
/*N*/
/*N*/   SfxStyleSheetBase* pParent = NULL;
/*N*/   SvxLRSpaceItem aSvxLRSpaceItem;
/*N*/   SvxULSpaceItem aSvxULSpaceItem;
/*N*/   USHORT nLevel;
/*N*/
/*N*/   for( nLevel = 1; nLevel < 10; nLevel++)
/*N*/   {
/*N*/       String aLevelName(aName);
/*N*/       aLevelName.Append( sal_Unicode( ' ' ));
/*N*/       aLevelName.Append( String::CreateFromInt32( sal_Int32( nLevel )));
/*N*/
/*N*/       aLevelName.Insert(aPrefix, 0);
/*N*/
/*N*/       if (!Find(aLevelName, SD_LT_FAMILY))
/*N*/       {
/*N*/           bCreated = sal_True;
/*N*/           pSheet = &Make(aLevelName, SD_LT_FAMILY);
/*N*/           pSheet->SetHelpId( aHelpFile, HID_PSEUDOSHEET_OUTLINE + nLevel );
/*N*/
/*N*/           pSheet->SetParent( String() );
/*N*/
/*N*/           // Attributierung fuer Level 1, die anderen Ebenen "erben"
/*N*/           if (nLevel == 1)
/*N*/           {
/*N*/               SfxItemSet&     rSet = pSheet->GetItemSet();
/*N*/
/*N*/               rSet.Put(aSvxFontItem);
/*N*/               rSet.Put(aSvxFontItemCJK);
/*N*/               rSet.Put(aSvxFontItemCTL);
/*N*/               rSet.Put( SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC ) );
/*N*/               rSet.Put( SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CJK ) );
/*N*/               rSet.Put( SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CTL ) );
/*N*/               rSet.Put( SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT ) );
/*N*/               rSet.Put( SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CJK ) );
/*N*/               rSet.Put( SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CTL ) );
/*N*/               rSet.Put( SvxUnderlineItem(UNDERLINE_NONE) );
/*N*/               rSet.Put( SvxCrossedOutItem(STRIKEOUT_NONE) );
/*N*/               rSet.Put( SvxShadowedItem(FALSE) );
/*N*/               rSet.Put( SvxContourItem(FALSE) );
/*N*/               rSet.Put( SvxEmphasisMarkItem(EMPHASISMARK_NONE) );
/*N*/               rSet.Put( SvxCharReliefItem(RELIEF_NONE) );
/*N*/               rSet.Put( SvxColorItem( Color(COL_AUTO)) );
/*N*/               rSet.Put( XLineStyleItem(XLINE_NONE) );
/*N*/               rSet.Put( XFillStyleItem(XFILL_NONE) );
/*N*/
/*N*/               if( nLevel == 1 )
/*N*/               {
/*N*/                   Font aLclBulletFont( GetBulletFont() );
/*N*/                   PutNumBulletItem( pSheet, aLclBulletFont );
/*N*/               }
/*N*/           }
/*N*/
/*N*/           ULONG nFontSize = 20;
/*N*/           short nFirstIndent = -600;
/*N*/           USHORT nIndent = nLevel * 1200;
/*N*/           USHORT nLower = 100;
/*N*/
/*N*/           switch (nLevel)
/*N*/           {
/*N*/               case 1:
/*N*/               {
/*N*/                   nFontSize = 32;
/*N*/                   nLower = 500;
/*N*/                   nFirstIndent = -900;
/*N*/               }
/*N*/               break;
/*N*/
/*N*/               case 2:
/*N*/               {
/*N*/                   nFontSize = 28;
/*N*/                   nLower = 400;
/*N*/                   nFirstIndent = -800;
/*N*/               }
/*N*/               break;
/*N*/
/*N*/               case 3:
/*N*/               {
/*N*/                   nFontSize = 24;
/*N*/                   nLower = 300;
/*N*/               }
/*N*/               break;
/*N*/
/*N*/               case 4:
/*N*/               {
/*N*/                   nLower = 200;
/*N*/               }
/*N*/               break;
/*N*/           }
/*N*/
/*N*/           // FontSize
/*N*/           nFontSize = (USHORT)((nFontSize * 2540L) / 72);  // Pt --> 1/100 mm
/*N*/           SfxItemSet& rOutlineSet = pSheet->GetItemSet();
/*N*/           rOutlineSet.Put( SvxFontHeightItem( nFontSize, 100, EE_CHAR_FONTHEIGHT ) );
/*N*/           rOutlineSet.Put( SvxFontHeightItem( nFontSize, 100, EE_CHAR_FONTHEIGHT_CJK ) );
/*N*/           rOutlineSet.Put( SvxFontHeightItem( nFontSize, 100, EE_CHAR_FONTHEIGHT_CTL ) );
/*N*/
/*N*/           // Einzuege
/*N*/           aSvxLRSpaceItem.SetTxtFirstLineOfst(nFirstIndent);
/*N*/           aSvxLRSpaceItem.SetTxtLeft(nIndent);
/*N*/           aSvxLRSpaceItem.SetRight(0);
/*N*/           aSvxLRSpaceItem.SetBulletFI(TRUE);
/*N*/           pSheet->GetItemSet().Put(aSvxLRSpaceItem);
/*N*/
/*N*/           // Zeilendurchschuss (Abstand nach unten)
/*N*/           aSvxULSpaceItem.SetLower(nLower);
/*N*/           pSheet->GetItemSet().Put(aSvxULSpaceItem);
/*N*/
/*N*/           if (nLevel == 1)
/*N*/           {
/*N*/               SfxUInt16Item aBulletStateItem(EE_PARA_BULLETSTATE, 1); // Bullets sichtbar
/*N*/               pSheet->GetItemSet().Put(aBulletStateItem);
/*N*/           }
/*N*/
/*
            // Gliederungsvorlagen haben die naechsthoehere Ebene als Parent
            if (pParent)
                pSheet->SetParent(pParent->GetName());
            pParent = pSheet;
*/
/*N*/       }
/*N*/   }
/*N*/
/*N*/   // if we created outline styles, we need to chain them
/*N*/   if( bCreated )
/*N*/   {
/*N*/       pParent = NULL;
/*N*/       for (nLevel = 1; nLevel < 10; nLevel++)
/*N*/       {
/*N*/           String aLevelName(aName);
/*N*/           aLevelName.Append( sal_Unicode( ' ' ));
/*N*/           aLevelName.Append( String::CreateFromInt32( sal_Int32( nLevel )));
/*N*/
/*N*/           aLevelName.Insert(aPrefix, 0);
/*N*/
/*N*/           pSheet = Find(aLevelName, SD_LT_FAMILY);
/*N*/
/*N*/           DBG_ASSERT( pSheet, "missing layout style!");
/*N*/
/*N*/           if( pSheet )
/*N*/           {
/*N*/               if (pParent)
/*N*/                   pSheet->SetParent(pParent->GetName());
/*N*/               pParent = pSheet;
/*N*/           }
/*N*/       }
/*N*/   }
/*N*/
    /**************************************************************************
    * Titel
    **************************************************************************/
/*N*/   aName = SdResId(STR_LAYOUT_TITLE).toString();
/*N*/   aName.Insert(aPrefix, 0);
/*N*/
/*N*/   if (!Find(aName, SD_LT_FAMILY))
/*N*/   {
/*N*/       bCreated = sal_True;
/*N*/
/*N*/       pSheet = &Make(aName, SD_LT_FAMILY);
/*N*/       pSheet->SetHelpId( aHelpFile, HID_PSEUDOSHEET_TITLE );
/*N*/       pSheet->SetParent(String());
/*N*/       SfxItemSet& rTitleSet = pSheet->GetItemSet();
/*N*/       rTitleSet.Put(XLineStyleItem(XLINE_NONE));
/*N*/       rTitleSet.Put(XFillStyleItem(XFILL_NONE));
/*N*/       rTitleSet.Put(aSvxFontItem);
/*N*/       rTitleSet.Put(aSvxFontItemCJK);
/*N*/       rTitleSet.Put(aSvxFontItemCTL);
/*N*/       rTitleSet.Put(SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC ) );
/*N*/       rTitleSet.Put(SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CJK ) );
/*N*/       rTitleSet.Put(SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CTL ) );
/*N*/       rTitleSet.Put(SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT ) );
/*N*/       rTitleSet.Put(SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CJK ) );
/*N*/       rTitleSet.Put(SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CTL ) );
/*N*/       rTitleSet.Put(SvxFontHeightItem( 1552, 100, EE_CHAR_FONTHEIGHT ) );                 // 44 pt
/*N*/       rTitleSet.Put(SvxFontHeightItem( 1552, 100, EE_CHAR_FONTHEIGHT_CJK ) );                 // 44 pt
/*N*/       rTitleSet.Put(SvxFontHeightItem( 1552, 100, EE_CHAR_FONTHEIGHT_CTL ) );                 // 44 pt
/*N*/       rTitleSet.Put(SvxUnderlineItem(UNDERLINE_NONE));
/*N*/       rTitleSet.Put(SvxCrossedOutItem(STRIKEOUT_NONE));
/*N*/       rTitleSet.Put(SvxShadowedItem(FALSE));
/*N*/       rTitleSet.Put(SvxContourItem(FALSE));
/*N*/       rTitleSet.Put( SvxEmphasisMarkItem(EMPHASISMARK_NONE) );
/*N*/       rTitleSet.Put( SvxCharReliefItem(RELIEF_NONE) );
/*N*/       rTitleSet.Put(SvxColorItem( Color(COL_AUTO)));
/*N*/       rTitleSet.Put(SvxAdjustItem(SVX_ADJUST_CENTER));
/*N*/       rTitleSet.Put( SdrTextVertAdjustItem( SDRTEXTVERTADJUST_CENTER ) );
/*N*/       rTitleSet.Put( SfxUInt16Item(EE_PARA_BULLETSTATE, 0) );
/*N*/       aBulletFont.SetSize(Size(0,1552));                  // 44 pt
/*N*/       PutNumBulletItem( pSheet, aBulletFont );
/*N*/   }
/*N*/
    /**************************************************************************
    * Untertitel
    * Aenderugen auch in AdjustLRSpaceItems() vornehmen!
    **************************************************************************/
/*N*/   aName = SdResId(STR_LAYOUT_SUBTITLE).toString();
/*N*/   aName.Insert(aPrefix, 0);
/*N*/
/*N*/   if (!Find(aName, SD_LT_FAMILY))
/*N*/   {
/*N*/       bCreated = sal_True;
/*N*/
/*N*/       pSheet = &Make(aName, SD_LT_FAMILY);
/*N*/       pSheet->SetHelpId( aHelpFile, HID_PSEUDOSHEET_SUBTITLE );
/*N*/       pSheet->SetParent(String());
/*N*/       SfxItemSet& rSubtitleSet = pSheet->GetItemSet();
/*N*/       rSubtitleSet.Put(XLineStyleItem(XLINE_NONE));
/*N*/       rSubtitleSet.Put(XFillStyleItem(XFILL_NONE));
/*N*/       rSubtitleSet.Put(aSvxFontItem);
/*N*/       rSubtitleSet.Put(aSvxFontItemCJK);
/*N*/       rSubtitleSet.Put(aSvxFontItemCTL);
/*N*/       rSubtitleSet.Put(SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC ) );
/*N*/       rSubtitleSet.Put(SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CJK ) );
/*N*/       rSubtitleSet.Put(SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CTL ) );
/*N*/       rSubtitleSet.Put(SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT ) );
/*N*/       rSubtitleSet.Put(SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CJK ) );
/*N*/       rSubtitleSet.Put(SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CTL ) );
/*N*/       rSubtitleSet.Put( SvxFontHeightItem( 1129, 100, EE_CHAR_FONTHEIGHT ) );     // 32 pt
/*N*/       rSubtitleSet.Put( SvxFontHeightItem( 1129, 100, EE_CHAR_FONTHEIGHT_CJK ) ); // 32 pt
/*N*/       rSubtitleSet.Put( SvxFontHeightItem( 1129, 100, EE_CHAR_FONTHEIGHT_CTL ) ); // 32 pt
/*N*/       rSubtitleSet.Put(SvxUnderlineItem(UNDERLINE_NONE));
/*N*/       rSubtitleSet.Put(SvxCrossedOutItem(STRIKEOUT_NONE));
/*N*/       rSubtitleSet.Put(SvxShadowedItem(FALSE));
/*N*/       rSubtitleSet.Put(SvxContourItem(FALSE));
/*N*/       rSubtitleSet.Put( SvxEmphasisMarkItem(EMPHASISMARK_NONE) );
/*N*/       rSubtitleSet.Put( SvxCharReliefItem(RELIEF_NONE) );
/*N*/       rSubtitleSet.Put(SvxColorItem( Color(COL_AUTO)));
/*N*/       rSubtitleSet.Put(SvxAdjustItem(SVX_ADJUST_CENTER));
/*N*/       rSubtitleSet.Put( SdrTextVertAdjustItem( SDRTEXTVERTADJUST_CENTER ) );
/*N*/       rSubtitleSet.Put( SfxUInt16Item(EE_PARA_BULLETSTATE, 0) );
/*N*/       aSvxLRSpaceItem.SetTxtLeft(0);
/*N*/       rSubtitleSet.Put(aSvxLRSpaceItem);
/*N*/       Font aLclBulletFont( GetBulletFont() );
/*N*/       aLclBulletFont.SetSize(Size(0, 1129));      // 32 pt
/*N*/       PutNumBulletItem( pSheet, aLclBulletFont );
/*N*/   }
/*N*/
    /**************************************************************************
    * Notizen
    **************************************************************************/
/*N*/   aName = SdResId(STR_LAYOUT_NOTES).toString();
/*N*/   aName.Insert(aPrefix, 0);
/*N*/
/*N*/   if (!Find(aName, SD_LT_FAMILY))
/*N*/   {
/*N*/       bCreated = sal_True;
/*N*/
/*N*/       pSheet = &Make(aName, SD_LT_FAMILY);
/*N*/       pSheet->SetHelpId( aHelpFile, HID_PSEUDOSHEET_NOTES );
/*N*/       pSheet->SetParent(String());
/*N*/       SfxItemSet& rNotesSet = pSheet->GetItemSet();
/*N*/       rNotesSet.Put(XLineStyleItem(XLINE_NONE));
/*N*/       rNotesSet.Put(XFillStyleItem(XFILL_NONE));
/*N*/       rNotesSet.Put(aSvxFontItem);
/*N*/       rNotesSet.Put(aSvxFontItemCJK);
/*N*/       rNotesSet.Put(aSvxFontItemCTL);
/*N*/       rNotesSet.Put( SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC ) );
/*N*/       rNotesSet.Put( SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CJK ) );
/*N*/       rNotesSet.Put( SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CTL ) );
/*N*/       rNotesSet.Put( SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT ) );
/*N*/       rNotesSet.Put( SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CJK ) );
/*N*/       rNotesSet.Put( SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CTL ) );
/*N*/       rNotesSet.Put( SvxFontHeightItem( 705, 100, EE_CHAR_FONTHEIGHT ) );     // 20 pt
/*N*/       rNotesSet.Put( SvxFontHeightItem( 705, 100, EE_CHAR_FONTHEIGHT_CJK ) ); // 20 pt
/*N*/       rNotesSet.Put( SvxFontHeightItem( 705, 100, EE_CHAR_FONTHEIGHT_CTL ) ); // 20 pt
/*N*/       rNotesSet.Put( SvxUnderlineItem(UNDERLINE_NONE) );
/*N*/       rNotesSet.Put( SvxCrossedOutItem(STRIKEOUT_NONE) );
/*N*/       rNotesSet.Put( SvxShadowedItem(FALSE) );
/*N*/       rNotesSet.Put( SvxContourItem(FALSE) );
/*N*/       rNotesSet.Put( SvxEmphasisMarkItem(EMPHASISMARK_NONE) );
/*N*/       rNotesSet.Put( SvxCharReliefItem(RELIEF_NONE) );
/*N*/       rNotesSet.Put( SvxColorItem( Color(COL_AUTO)) );
/*N*/       rNotesSet.Put( SfxUInt16Item(EE_PARA_BULLETSTATE, 0) );
/*N*/       rNotesSet.Put( SvxLRSpaceItem( 0, 0, 600, -600 ) );
/*N*/
/*N*/       SvxNumBulletItem aNumBullet( (const SvxNumBulletItem&) rNotesSet.Get(EE_PARA_NUMBULLET) );
/*N*/
/*N*/       EditEngine::ImportBulletItem( aNumBullet, 0, NULL,
/*N*/                               &(const SvxLRSpaceItem&) rNotesSet.Get( EE_PARA_LRSPACE ) );
/*N*/
/*N*/       ( (SfxItemSet&) rNotesSet).Put( aNumBullet );
/*N*/
/*N*/   }
/*N*/
    /**************************************************************************
    * Hintergrundobjekte
    **************************************************************************/
/*N*/   aName = SdResId(STR_LAYOUT_BACKGROUNDOBJECTS).toString();
/*N*/   aName.Insert(aPrefix, 0);
/*N*/
/*N*/   if (!Find(aName, SD_LT_FAMILY))
/*N*/   {
/*N*/       bCreated = sal_True;
/*N*/
/*N*/       pSheet = &Make(aName, SD_LT_FAMILY);
/*N*/       pSheet->SetHelpId( aHelpFile, HID_PSEUDOSHEET_BACKGROUNDOBJECTS );
/*N*/       pSheet->SetParent(String());
/*N*/       SfxItemSet& rBackgroundObjectsSet = pSheet->GetItemSet();
/*N*/       rBackgroundObjectsSet.Put(SdrShadowItem(FALSE));
/*N*/       rBackgroundObjectsSet.Put(SdrShadowColorItem(String(), Color(COL_GRAY)));
/*N*/       rBackgroundObjectsSet.Put(SdrShadowXDistItem(300)); // 3 mm Schattendistanz
/*N*/       rBackgroundObjectsSet.Put(SdrShadowYDistItem(300));
/*N*/   }
/*N*/
    /**************************************************************************
    * Hintergrund
    **************************************************************************/
/*N*/   aName = SdResId(STR_LAYOUT_BACKGROUND).toString();
/*N*/   aName.Insert(aPrefix, 0);
/*N*/
/*N*/   if (!Find(aName, SD_LT_FAMILY))
/*N*/   {
/*N*/       bCreated = sal_True;
/*N*/
/*N*/       pSheet = &Make(aName, SD_LT_FAMILY);
/*N*/       pSheet->SetHelpId( aHelpFile, HID_PSEUDOSHEET_BACKGROUND );
/*N*/       pSheet->SetParent(String());
/*N*/       SfxItemSet& rBackgroundSet = pSheet->GetItemSet();
/*N*/       rBackgroundSet.Put(XLineStyleItem(XLINE_NONE));
/*N*/       rBackgroundSet.Put(XFillStyleItem(XFILL_NONE));
/*N*/   }
/*N*/
/*N*/ }

/*************************************************************************
|*
|* StyleSheets des genannten Praesentationslayouts loeschen
|*
\************************************************************************/



/*************************************************************************
|*
|* Graphik-StyleSheets  aus dem Quellpool in diesen Pool kopieren
|*
|* (rSourcePool kann nicht const sein, weil SfxStyleSheetPoolBase::Find
|*  nicht const ist)
|*
\************************************************************************/



/*************************************************************************
|*
|* StyleSheets des genannten Praesentationslayouts aus dem Quellpool in diesen
|* Pool kopieren. Kopiert werden nur solche StyleSheets, die in diesem Pool
|* noch nicht vorhanden sind.
|* pCreatedSheets wird - wenn ungleich NULL - mit Zeigern auf die erzeugten
|* StyleSheets gefuellt.
|*
|* (rSourcePool kann nicht const sein, weil SfxStyleSheetPoolBase::Find
|*  nicht const ist)
|*
\************************************************************************/


/*************************************************************************
|*
|* Liste mit den Namen der Praesentationsvorlagen eines Layouts erzeugen.
|* Die Liste und die enthaltenen Strings gehoeren dem Caller!
|*
\************************************************************************/


/*************************************************************************
|*
|* Liste mit Zeigern auf Praesentationsvorlagen eines Layouts erzeugen.
|* Die Liste gehoert dem Caller!
|*
\************************************************************************/


/*************************************************************************
|*
|* ggfs. PseudoStyleSheets erzeugen
|*
\************************************************************************/

/*N*/ void SdStyleSheetPool::CreatePseudosIfNecessary()
/*N*/ {
/*N*/   String aName;
/*N*/   String aHelpFile;
/*N*/   SfxStyleSheetBase* pSheet = NULL;
/*N*/   SfxStyleSheetBase* pParent = NULL;
/*N*/
/*N*/   USHORT nLclMask = SFXSTYLEBIT_USED;
/*N*/
/*N*/   aName = SdResId(STR_PSEUDOSHEET_TITLE).toString();
/*N*/   if (!(pSheet = Find(aName, SFX_STYLE_FAMILY_PSEUDO)))
/*N*/   {
/*N*/       pSheet = &Make(aName, SFX_STYLE_FAMILY_PSEUDO, nLclMask);
/*N*/       pSheet->SetParent( String() );
/*N*/       ((SfxStyleSheet*)pSheet)->StartListening(*this);
/*N*/   }
/*N*/   pSheet->SetHelpId( aHelpFile, HID_PSEUDOSHEET_TITLE );
/*N*/
/*N*/   aName = SdResId(STR_PSEUDOSHEET_SUBTITLE).toString();
/*N*/   if (!(pSheet = Find(aName, SFX_STYLE_FAMILY_PSEUDO)))
/*N*/   {
/*N*/       pSheet = &Make(aName, SFX_STYLE_FAMILY_PSEUDO, nLclMask);
/*N*/       pSheet->SetParent(String());
/*N*/       ((SfxStyleSheet*)pSheet)->StartListening(*this);
/*N*/   }
/*N*/   pSheet->SetHelpId( aHelpFile, HID_PSEUDOSHEET_SUBTITLE );
/*N*/
/*N*/   aName = SdResId(STR_PSEUDOSHEET_BACKGROUNDOBJECTS).toString();
/*N*/   if (!(pSheet = Find(aName, SFX_STYLE_FAMILY_PSEUDO)))
/*N*/   {
/*N*/       pSheet = &Make(aName, SFX_STYLE_FAMILY_PSEUDO, nLclMask);
/*N*/       pSheet->SetParent( String() );
/*N*/       ((SfxStyleSheet*)pSheet)->StartListening(*this);
/*N*/   }
/*N*/   pSheet->SetHelpId( aHelpFile, HID_PSEUDOSHEET_BACKGROUNDOBJECTS );
/*N*/
/*N*/   aName = SdResId(STR_PSEUDOSHEET_BACKGROUND).toString();
/*N*/   if (!(pSheet = Find(aName, SFX_STYLE_FAMILY_PSEUDO)))
/*N*/   {
/*N*/       pSheet = &Make(aName, SFX_STYLE_FAMILY_PSEUDO, nLclMask);
/*N*/       pSheet->SetParent( String() );
/*N*/       ((SfxStyleSheet*)pSheet)->StartListening(*this);
/*N*/   }
/*N*/   pSheet->SetHelpId( aHelpFile, HID_PSEUDOSHEET_BACKGROUND );
/*N*/
/*N*/   aName = SdResId(STR_PSEUDOSHEET_NOTES).toString();
/*N*/   if (!(pSheet = Find(aName, SFX_STYLE_FAMILY_PSEUDO)))
/*N*/   {
/*N*/       pSheet = &Make(aName, SFX_STYLE_FAMILY_PSEUDO, nLclMask);
/*N*/       pSheet->SetParent( String() );
/*N*/       ((SfxStyleSheet*)pSheet)->StartListening(*this);
/*N*/   }
/*N*/   pSheet->SetHelpId( aHelpFile, HID_PSEUDOSHEET_NOTES );
/*N*/
/*N*/   pParent = NULL;
/*N*/   SetSearchMask(SFX_STYLE_FAMILY_PSEUDO);
/*N*/   aName = SdResId(STR_PSEUDOSHEET_OUTLINE).toString();
/*N*/   for (USHORT nLevel = 1; nLevel < 10; nLevel++)
/*N*/   {
/*N*/       String aLevelName(aName);
/*N*/       aLevelName.Append( sal_Unicode( ' ' ));
/*N*/       aLevelName.Append( String::CreateFromInt32( sal_Int32( nLevel )));
/*N*/
/*N*/       if (!(pSheet = Find(aLevelName, SFX_STYLE_FAMILY_PSEUDO)))
/*N*/       {
/*N*/           pSheet = &Make(aLevelName, SFX_STYLE_FAMILY_PSEUDO, nLclMask);
/*N*/
/*N*/           if (pSheet)
/*N*/           {
/*N*/               if (pParent)
/*N*/                   pSheet->SetParent(pParent->GetName());
/*N*/               pParent = pSheet;
/*N*/               ((SfxStyleSheet*)pSheet)->StartListening(*this);
/*N*/           }
/*N*/       }
/*N*/       pSheet->SetHelpId( aHelpFile, HID_PSEUDOSHEET_OUTLINE + nLevel );
/*N*/   }
/*N*/ }


/*************************************************************************
|*
|* Standard-Styles den richtigen Namen in der Programm-Sprache geben
|*
\************************************************************************/

/*N*/ void SdStyleSheetPool::UpdateStdNames()
/*N*/ {
/*N*/   BOOL bNewHelpIds = FALSE;
/*N*/   String aHelpFile;
/*N*/   size_t  nCount = aStyles.size();
/*N*/   List* pEraseList = NULL;
/*N*/
/*N*/   for( size_t n=0; n < nCount; n++ )
/*N*/   {
/*N*/       SfxStyleSheetBase* pStyle = aStyles[ n ];
/*N*/
/*N*/       if( !pStyle->IsUserDefined() )
/*N*/       {
/*N*/           String aOldName     = pStyle->GetName();
/*N*/           ULONG nHelpId       = pStyle->GetHelpId( aHelpFile );
/*N*/           SfxStyleFamily eFam = pStyle->GetFamily();
/*N*/
/*N*/           BOOL bHelpKnown = TRUE;
/*N*/           String aNewName;
/*N*/           USHORT nNameId = 0;
/*N*/           switch( nHelpId )
/*N*/           {
/*N*/               case HID_STANDARD_STYLESHEET_NAME:  nNameId = STR_STANDARD_STYLESHEET_NAME; break;
/*N*/               case HID_POOLSHEET_OBJWITHARROW:    nNameId = STR_POOLSHEET_OBJWITHARROW;   break;
/*N*/               case HID_POOLSHEET_OBJWITHSHADOW:   nNameId = STR_POOLSHEET_OBJWITHSHADOW;  break;
/*N*/               case HID_POOLSHEET_OBJWITHOUTFILL:  nNameId = STR_POOLSHEET_OBJWITHOUTFILL; break;
/*N*/               case HID_POOLSHEET_TEXT:            nNameId = STR_POOLSHEET_TEXT;           break;
/*N*/               case HID_POOLSHEET_TEXTBODY:        nNameId = STR_POOLSHEET_TEXTBODY;       break;
/*N*/               case HID_POOLSHEET_TEXTBODY_JUSTIFY:nNameId = STR_POOLSHEET_TEXTBODY_JUSTIFY;break;
/*N*/               case HID_POOLSHEET_TEXTBODY_INDENT: nNameId = STR_POOLSHEET_TEXTBODY_INDENT;break;
/*N*/               case HID_POOLSHEET_TITLE:           nNameId = STR_POOLSHEET_TITLE;          break;
/*N*/               case HID_POOLSHEET_TITLE1:          nNameId = STR_POOLSHEET_TITLE1;         break;
/*N*/               case HID_POOLSHEET_TITLE2:          nNameId = STR_POOLSHEET_TITLE2;         break;
/*N*/               case HID_POOLSHEET_HEADLINE:        nNameId = STR_POOLSHEET_HEADLINE;       break;
/*N*/               case HID_POOLSHEET_HEADLINE1:       nNameId = STR_POOLSHEET_HEADLINE1;      break;
/*N*/               case HID_POOLSHEET_HEADLINE2:       nNameId = STR_POOLSHEET_HEADLINE2;      break;
/*N*/               case HID_POOLSHEET_MEASURE:         nNameId = STR_POOLSHEET_MEASURE;        break;
/*N*/
/*N*/               case HID_PSEUDOSHEET_TITLE:         nNameId = STR_PSEUDOSHEET_TITLE;        break;
/*N*/               case HID_PSEUDOSHEET_SUBTITLE:      nNameId = STR_PSEUDOSHEET_SUBTITLE;     break;
/*N*/               case HID_PSEUDOSHEET_OUTLINE1:
/*N*/               case HID_PSEUDOSHEET_OUTLINE2:
/*N*/               case HID_PSEUDOSHEET_OUTLINE3:
/*N*/               case HID_PSEUDOSHEET_OUTLINE4:
/*N*/               case HID_PSEUDOSHEET_OUTLINE5:
/*N*/               case HID_PSEUDOSHEET_OUTLINE6:
/*N*/               case HID_PSEUDOSHEET_OUTLINE7:
/*N*/               case HID_PSEUDOSHEET_OUTLINE8:
/*N*/               case HID_PSEUDOSHEET_OUTLINE9:      nNameId = STR_PSEUDOSHEET_OUTLINE;      break;
/*N*/               case HID_PSEUDOSHEET_BACKGROUNDOBJECTS: nNameId = STR_PSEUDOSHEET_BACKGROUNDOBJECTS; break;
/*N*/               case HID_PSEUDOSHEET_BACKGROUND:    nNameId = STR_PSEUDOSHEET_BACKGROUND;   break;
/*N*/               case HID_PSEUDOSHEET_NOTES:         nNameId = STR_PSEUDOSHEET_NOTES;        break;
/*N*/
/*N*/               default:
/*N*/                   // 0 oder falsche (alte) HelpId
/*N*/                   bHelpKnown = FALSE;
/*N*/           }
/*N*/           if( bHelpKnown )
/*N*/           {
/*N*/               if( nNameId )
/*N*/               {
/*N*/                   aNewName = SdResId( nNameId ).toString();
/*N*/                   if( nNameId == STR_PSEUDOSHEET_OUTLINE )
/*N*/                   {
/*N*/                       aNewName.Append( sal_Unicode( ' ' ));
/*N*/                       aNewName.Append( String::CreateFromInt32( sal_Int32( nHelpId - HID_PSEUDOSHEET_OUTLINE )));
/*N*/                   }
/*N*/               }
/*N*/
/*N*/               if( aNewName.Len() && aNewName != aOldName )
/*N*/               {
/*N*/                   SfxStyleSheetBase* pSheetFound = Find( aNewName, eFam );
/*N*/
/*N*/                   if ( !pSheetFound )
/*N*/                   {
/*N*/                       // Sheet existiert noch nicht: Altes Sheet wird umbenannt
/*N*/                       pStyle->SetName( aNewName );    // setzt auch Parents um
/*N*/                   }
/*N*/                   else
/*N*/                   {
/*N*/                       // Sheet existiert schon: Altes Sheet muss entfernt werden
/*N*/                       if( !pEraseList )
/*N*/                       {
/*N*/                           pEraseList = new List();
/*N*/                       }
/*N*/
/*N*/                       pEraseList->Insert( pStyle );
/*N*/                   }
/*N*/               }
/*N*/           }
/*N*/           else
/*N*/           {
/*N*/               //  falsche oder keine HelpId -> neue generieren
/*N*/
/*N*/               DBG_WARNING("Default-Vorlage mit falscher oder keiner HelpId");
/*N*/
/*N*/               // Da bisher nur deutsche Dokumente erzeugt worden sein koennen,
/*N*/               // kann hier auch der deutsche Text abgefragt werden, damit man
/*N*/               // nicht in einer anderssprachigen Version auf die deutsche
/*N*/               // Version zurueckgreifen muss!
/*N*/
/*N*/               USHORT nNewId = 0;
/*N*/               if( eFam == SFX_STYLE_FAMILY_PARA )
/*N*/               {
/*N*/                   if( aOldName == String( SdResId( STR_STANDARD_STYLESHEET_NAME ).toString() ) ||
/*N*/                       aOldName.EqualsAscii( "Standard", 0, RTL_CONSTASCII_LENGTH( "Standard" )) )
/*N*/                       nNewId = HID_STANDARD_STYLESHEET_NAME;
/*N*/                   else if( aOldName == String( SdResId( STR_POOLSHEET_OBJWITHARROW ).toString() ) ||
/*N*/                       aOldName.EqualsAscii( "Objekt mit Pfeilspitze", 0, RTL_CONSTASCII_LENGTH( "Objekt mit Pfeilspitze" )) )
/*N*/                       nNewId = HID_POOLSHEET_OBJWITHARROW;
/*N*/                   else if( aOldName == String( SdResId( STR_POOLSHEET_OBJWITHSHADOW ).toString() ) ||
/*N*/                       aOldName.EqualsAscii( "Objekt mit Schatten", 0, RTL_CONSTASCII_LENGTH( "Objekt mit Schatten" )) )
/*N*/                       nNewId = HID_POOLSHEET_OBJWITHSHADOW;
/*N*/                   else if( aOldName == String( SdResId( STR_POOLSHEET_OBJWITHOUTFILL ).toString() ) ||
/*N*/                       aOldName == String( SdResId( STR_POOLSHEET_OBJWITHOUTFILL_NT ).toString() ) )
/*N*/                       //aOldName.EqualsAscii( "Objekt ohne Füllung", 0, RTL_CONSTASCII_LENGTH( "Objekt ohne Füllung" )) )
/*N*/                       nNewId = HID_POOLSHEET_OBJWITHOUTFILL;
/*N*/                   else if( aOldName == String( SdResId( STR_POOLSHEET_TEXT ).toString() ) ||
/*N*/                       aOldName.EqualsAscii( "Text", 0, RTL_CONSTASCII_LENGTH( "Text" )) )
/*N*/                       nNewId = HID_POOLSHEET_TEXT;
/*N*/                   else if( aOldName == String( SdResId( STR_POOLSHEET_TEXTBODY ).toString() ) ||
/*N*/                       aOldName == String(SdResId( STR_POOLSHEET_TEXTBODY_NT ).toString())  )
/*N*/                       //aOldName.EqualsAscii( "Textkörper", 0, RTL_CONSTASCII_LENGTH( "Textkörper" )) )
/*N*/                       nNewId = HID_POOLSHEET_TEXTBODY;
/*N*/                   else if( aOldName == String( SdResId( STR_POOLSHEET_TEXTBODY_JUSTIFY ).toString() ) ||
/*N*/                       aOldName == String( SdResId( STR_POOLSHEET_TEXTBODY_JUSTIFY_NT ).toString() ) )
/*N*/                       //aOldName.EqualsAscii( "Textkörper Blocksatz", 0, RTL_CONSTASCII_LENGTH( "Textkörper Blocksatz" )) )
/*N*/                       nNewId = HID_POOLSHEET_TEXTBODY_JUSTIFY;
/*N*/                   else if( aOldName == String( SdResId( STR_POOLSHEET_TEXTBODY_INDENT ).toString() ) ||
/*N*/                       aOldName == String( SdResId( STR_POOLSHEET_TEXTBODY_INDENT_NT ).toString() ) )
/*N*/                       //aOldName.EqualsAscii( "Textkörper Einzug", 0, RTL_CONSTASCII_LENGTH( "Textkörper Einzug" )) )
/*N*/                       nNewId = HID_POOLSHEET_TEXTBODY_INDENT;
/*N*/                   else if( aOldName == String( SdResId( STR_POOLSHEET_TITLE ).toString() ) ||
/*N*/                       aOldName.EqualsAscii( "Titel", 0, RTL_CONSTASCII_LENGTH( "Titel" )) )
/*N*/                       nNewId = HID_POOLSHEET_TITLE;
/*N*/                   else if( aOldName == String( SdResId( STR_POOLSHEET_TITLE1 ).toString() ) ||
/*N*/                       aOldName.EqualsAscii( "Titel1", 0, RTL_CONSTASCII_LENGTH( "Titel1" )) )
/*N*/                       nNewId = HID_POOLSHEET_TITLE1;
/*N*/                   else if( aOldName == String( SdResId( STR_POOLSHEET_TITLE2 ).toString() ) ||
/*N*/                       aOldName.EqualsAscii( "Titel2", 0, RTL_CONSTASCII_LENGTH( "Titel2" )) )
/*N*/                       nNewId = HID_POOLSHEET_TITLE2;
/*N*/                   else if( aOldName == String( SdResId( STR_POOLSHEET_HEADLINE ).toString() ) ||
/*N*/                       aOldName == String( SdResId( STR_POOLSHEET_HEADLINE_NT ).toString() ) )
/*N*/                       //aOldName.EqualsAscii( "Überschrift", 0, RTL_CONSTASCII_LENGTH( "Überschrift" )) )
/*N*/                       nNewId = HID_POOLSHEET_HEADLINE;
/*N*/                   else if( aOldName == String( SdResId( STR_POOLSHEET_HEADLINE1 ).toString() ) ||
/*N*/                       aOldName == String( SdResId( STR_POOLSHEET_HEADLINE1_NT ).toString() ) )
/*N*/                       //aOldName.EqualsAscii( "Überschrift1", 0, RTL_CONSTASCII_LENGTH( "Überschrift1" )) )
/*N*/                       nNewId = HID_POOLSHEET_HEADLINE1;
/*N*/                   else if( aOldName == String( SdResId( STR_POOLSHEET_HEADLINE2 ).toString() ) ||
/*N*/                       aOldName == String( SdResId( STR_POOLSHEET_HEADLINE2_NT ).toString() ) )
/*N*/                       //aOldName.EqualsAscii( "Überschrift2", 0, RTL_CONSTASCII_LENGTH( "Überschrift2" )) )
/*N*/                       nNewId = HID_POOLSHEET_HEADLINE2;
/*N*/                   else if( aOldName == String( SdResId( STR_POOLSHEET_MEASURE ).toString() ) ||
/*N*/                       aOldName == String( SdResId( STR_POOLSHEET_MEASURE_NT ).toString() ) )
/*N*/                       //aOldName.EqualsAscii( "Maßlinie", 0, RTL_CONSTASCII_LENGTH( "Maßlinie" )) )
/*N*/                       nNewId = HID_POOLSHEET_MEASURE;
/*N*/               }
/*N*/               else if( eFam == SFX_STYLE_FAMILY_PSEUDO )
/*N*/               {
/*N*/                   String aStr( SdResId( STR_PSEUDOSHEET_OUTLINE ).toString() );
/*N*/                   aStr.Append( sal_Unicode( ' ' ));
/*N*/                   String aStr2( RTL_CONSTASCII_USTRINGPARAM( "Gliederung " ));
/*N*/
/*N*/                   if( aOldName == String( SdResId( STR_PSEUDOSHEET_TITLE ).toString() ) ||
/*N*/                       aOldName.EqualsAscii( "Titel", 0, RTL_CONSTASCII_LENGTH( "Titel" )))
/*N*/                       nNewId = HID_PSEUDOSHEET_TITLE;
/*N*/                   else if( aOldName == String( SdResId( STR_PSEUDOSHEET_SUBTITLE ).toString() ) ||
/*N*/                       aOldName.EqualsAscii( "Untertitel", 0, RTL_CONSTASCII_LENGTH( "Untertitel" )) )
/*N*/                       nNewId = HID_PSEUDOSHEET_SUBTITLE;
/*N*/                   else if( aOldName == String( SdResId( STR_PSEUDOSHEET_BACKGROUNDOBJECTS ).toString() ) ||
/*N*/                       aOldName.EqualsAscii( "Hintergrundobjekte", 0, RTL_CONSTASCII_LENGTH( "Hintergrundobjekte" )) )
/*N*/                       nNewId = HID_PSEUDOSHEET_BACKGROUNDOBJECTS;
/*N*/                   else if( aOldName == String( SdResId( STR_PSEUDOSHEET_BACKGROUND ).toString() ) ||
/*N*/                       aOldName.EqualsAscii( "Hintergrund", 0, RTL_CONSTASCII_LENGTH( "Hintergrund" )) )
/*N*/                       nNewId = HID_PSEUDOSHEET_BACKGROUND;
/*N*/                   else if( aOldName == String( SdResId( STR_PSEUDOSHEET_NOTES ).toString() ) ||
/*N*/                       aOldName.EqualsAscii( "Notizen", 0, RTL_CONSTASCII_LENGTH( "Notizen" )) )
/*N*/                       nNewId = HID_PSEUDOSHEET_NOTES;
/*N*/                   else if( aOldName.Equals( String( String( aStr ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "1" ) ) ) ) ) ) ||
/*N*/                            aOldName.Equals( String( String( aStr2 ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "1" ) ) ) ) ) ) )
/*N*/                       nNewId = HID_PSEUDOSHEET_OUTLINE1;
/*N*/                   else if( aOldName.Equals( String( String( aStr ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "2" ) ) ) ) ) ) ||
/*N*/                            aOldName.Equals( String( String( aStr2 ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "2" ) ) ) ) ) ) )
/*N*/                       nNewId = HID_PSEUDOSHEET_OUTLINE2;
/*N*/                   else if( aOldName.Equals( String( String( aStr ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "3" ) ) ) ) ) ) ||
/*N*/                            aOldName.Equals( String( String( aStr2 ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "3" ) ) ) ) ) ) )
/*N*/                       nNewId = HID_PSEUDOSHEET_OUTLINE3;
/*N*/                   else if( aOldName.Equals( String( String( aStr ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "4" ) ) ) ) ) ) ||
/*N*/                            aOldName.Equals( String( String( aStr2 ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "4" ) ) ) ) ) ) )
/*N*/                       nNewId = HID_PSEUDOSHEET_OUTLINE4;
/*N*/                   else if( aOldName.Equals( String( String( aStr ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "5" ) ) ) ) ) ) ||
/*N*/                            aOldName.Equals( String( String( aStr2 ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "5" ) ) ) ) ) ) )
/*N*/                       nNewId = HID_PSEUDOSHEET_OUTLINE5;
/*N*/                   else if( aOldName.Equals( String( String( aStr ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "6" ) ) ) ) ) ) ||
/*N*/                            aOldName.Equals( String( String( aStr2 ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "6" ) ) ) ) ) ) )
/*N*/                       nNewId = HID_PSEUDOSHEET_OUTLINE6;
/*N*/                   else if( aOldName.Equals( String( String( aStr ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "7" ) ) ) ) ) ) ||
/*N*/                            aOldName.Equals( String( String( aStr2 ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "7" ) ) ) ) ) ) )
/*N*/                       nNewId = HID_PSEUDOSHEET_OUTLINE7;
/*N*/                   else if( aOldName.Equals( String( String( aStr ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "8" ) ) ) ) ) ) ||
/*N*/                            aOldName.Equals( String( String( aStr2 ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "8" ) ) ) ) ) ) )
/*N*/                       nNewId = HID_PSEUDOSHEET_OUTLINE8;
/*N*/                   else if( aOldName.Equals( String( String( aStr ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "9" ) ) ) ) ) ) ||
/*N*/                            aOldName.Equals( String( String( aStr2 ).Append( String( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "9" ) ) ) ) ) ) )
/*N*/                       nNewId = HID_PSEUDOSHEET_OUTLINE9;
/*N*/               }
/*N*/
/*N*/               if ( nNewId )
/*N*/               {
/*N*/                   bNewHelpIds = TRUE;
/*N*/                   pStyle->SetHelpId( aHelpFile, nNewId );
/*N*/               }
/*N*/           }
/*N*/       }
/*N*/   }
/*N*/
/*N*/   if ( pEraseList )
/*N*/   {
/*N*/       // Styles, welche nicht umbenannt werden konnten, muessen entfernt werden
/*N*/       for ( ULONG i = 0; i < pEraseList->Count(); i++ )
/*N*/       {
/*N*/           SfxStyleSheetBase* pEraseSheet = ( SfxStyleSheetBase* ) pEraseList->GetObject( i );
/*N*/           Erase( pEraseSheet );
/*N*/       }
/*N*/
/*N*/       delete pEraseList;
/*N*/       pEraseList = NULL;
/*N*/   }
/*N*/
/*N*/   // Wenn neue HelpIDs gefunden wurden koennen die Namen auch gleich ersetzt werden
/*N*/   if( bNewHelpIds )
/*N*/       UpdateStdNames();
/*N*/ }


/*************************************************************************
|*
|* Da sich die Bedeutung der SvxLRSpaceItems ab nFileFormatVersion = 16
|* geaendert hat (Bullet-Handling des Outliners, siehe auch
|* SdDrawDocument::NewOrLoadCompleted()), muss fuer aeltere Versionen
|* eine Korrektur vorgenommen werden.
|*
\************************************************************************/

/*N*/ void SdStyleSheetPool::AdjustLRSpaceItems()
/*N*/ {
/*N*/   size_t nCount = aStyles.size();
/*N*/
/*N*/   // #63254# Aenderungen nicht mehr broadcasten,statt dessen nach
/*N*/   // AdjustLRSpaceItems() ein UpdateStyleSheets am Outliner
/*N*/
/*N*/   if ( nCount > 0 )
/*N*/   {
        /**************************************************************************
        * All LayoutStyleSheets loaded? (e.g. new Subtitle LayoutStyleSheet)
        **************************************************************************/
/*N*/       USHORT nMasterPageCount = pDoc->GetMasterSdPageCount(PK_STANDARD);
/*N*/
/*N*/       for ( USHORT i = 0; i < nMasterPageCount; i++ )
/*N*/       {
/*N*/           String aName(pDoc->GetMasterSdPage(i, PK_STANDARD)->GetLayoutName());
/*N*/           aName.Erase( aName.SearchAscii( SD_LT_SEPARATOR ));
/*N*/           CreateLayoutStyleSheets(aName);
/*N*/       }
/*N*/   }
/*N*/
/*N*/   String aOutlineName( RTL_CONSTASCII_USTRINGPARAM( SD_LT_SEPARATOR ));
/*N*/   aOutlineName += SdResId(STR_PSEUDOSHEET_OUTLINE).toString();
/*N*/   String aTitleName( RTL_CONSTASCII_USTRINGPARAM( SD_LT_SEPARATOR ));
/*N*/   aTitleName += SdResId(STR_PSEUDOSHEET_TITLE).toString();
/*N*/   String aSubtitleName( RTL_CONSTASCII_USTRINGPARAM( SD_LT_SEPARATOR ));
/*N*/   aSubtitleName += SdResId(STR_PSEUDOSHEET_SUBTITLE).toString();
/*N*/   String aStandardName(SdResId(STR_STANDARD_STYLESHEET_NAME).toString());
/*N*/   SfxStyleSheet* pSheetOutlineLevelOne = NULL;
/*N*/
/*N*/   for (size_t n = 0; n < nCount; n++)
/*N*/   {
/*N*/       SfxStyleSheet* pSheet = (SfxStyleSheet*)aStyles[ n ];
/*N*/       SfxItemSet& rSet = pSheet->GetItemSet();
/*N*/       String aName( pSheet->GetName() );
/*N*/       String aHelpFile;
/*N*/       ULONG nHelpId = pSheet->GetHelpId( aHelpFile );
/*N*/
/*N*/       if( nHelpId == 0)
/*N*/       {
/*N*/           if( aName.Len() == aOutlineName.Len() + 1 &&
/*N*/               aName.Match( aOutlineName ) == STRING_MATCH )
/*N*/           {
/*?*/               sal_Int32 nNumber = String( aName, aName.Len(), 1 ).ToInt32();
/*?*/               if( 1 <= nNumber && nNumber <= 9 )
/*?*/                   nHelpId = HID_PSEUDOSHEET_OUTLINE + nNumber;
/*N*/           }
/*N*/       }
/*N*/
/*N*/       if ( nHelpId &&
/*N*/            ( HID_PSEUDOSHEET_OUTLINE + 1 <= nHelpId &&
/*N*/              nHelpId <= HID_PSEUDOSHEET_OUTLINE + 9 ))
/*N*/       {
/*N*/           // Gliederungsvorlage
/*N*/           // Bei Gliederungsobjektvorlagen Korrektur vornehmen
/*N*/           // Es handelt sich hier um die RealStyleSheets und die Pseudos!
/*N*/           // (siehe SdStyleSheet::GetRealStyleSheet())
/*N*/           if ( nHelpId == HID_PSEUDOSHEET_OUTLINE + 1 )
/*N*/           {
/*N*/               if (rSet.GetItemState(EE_PARA_BULLETSTATE) != SFX_ITEM_ON)
/*N*/               {
/*N*/                   SfxUInt16Item aBulletStateItem(EE_PARA_BULLETSTATE, 1); // Bullets sichtbar
/*N*/                   rSet.Put(aBulletStateItem);
/*N*/               }
/*N*/           }
/*N*/
/*N*/           // Gliederungs-Vorlage
/*N*/           const SvxBulletItem* pOldBullet = NULL;
/*N*/           if ( rSet.GetItemState( EE_PARA_BULLET ) == SFX_ITEM_ON )
/*N*/               pOldBullet = &(const SvxBulletItem&) rSet.Get(EE_PARA_BULLET);
/*N*/
/*N*/           const SvxLRSpaceItem* pOldLRSpace = NULL;
/*N*/           if ( rSet.GetItemState( EE_PARA_LRSPACE ) == SFX_ITEM_ON )
/*N*/               pOldLRSpace = &(const SvxLRSpaceItem&) rSet.Get(EE_PARA_LRSPACE);
/*N*/
/*N*/           USHORT nLevel = (USHORT) (nHelpId - HID_PSEUDOSHEET_OUTLINE);
/*N*/
/*N*/           if ( nHelpId == HID_PSEUDOSHEET_OUTLINE + 1 )
/*N*/           {
/*N*/               pSheetOutlineLevelOne = pSheet;
/*N*/               SvxNumBulletItem aDefaultNumBullet( *(SvxNumBulletItem*) rSet.GetPool()->GetSecondaryPool()->GetPoolDefaultItem(EE_PARA_NUMBULLET) );
/*N*/               aDefaultNumBullet.GetNumRule()->SetNumRuleType( SVX_RULETYPE_PRESENTATION_NUMBERING );
/*N*/               EditEngine::ImportBulletItem( aDefaultNumBullet, nLevel, pOldBullet, pOldLRSpace );
/*N*/               rSet.Put( aDefaultNumBullet );
/*N*/
/*N*/               if (rSet.GetItemState( XATTR_FILLSTYLE ) != SFX_ITEM_ON )
/*N*/               {
/*N*/                   // Flaechenattribute sind nun unsichtbar
/*N*/                   XFillStyleItem aFillStyleItem(XFILL_NONE);
/*N*/                   rSet.Put(aFillStyleItem);
/*N*/               }
/*N*/
/*N*/               if (rSet.GetItemState( XATTR_LINESTYLE ) != SFX_ITEM_ON )
/*N*/               {
/*N*/                   // Linienattribute sind nun unsichtbar
/*N*/                   XLineStyleItem aLineStyleItem(XLINE_NONE);
/*N*/                   rSet.Put(aLineStyleItem);
/*N*/               }
/*N*/           }
/*N*/           else
/*N*/           {
/*N*/               SfxItemSet& rSetOutlineLevelOne = pSheetOutlineLevelOne->GetItemSet();
/*N*/               SvxNumBulletItem aNumBullet( (const SvxNumBulletItem&) rSetOutlineLevelOne.Get(EE_PARA_NUMBULLET) );
/*N*/               EditEngine::ImportBulletItem( aNumBullet, nLevel, pOldBullet, pOldLRSpace );
/*N*/               rSetOutlineLevelOne.Put( aNumBullet );
/*N*/
/*N*/               // SvxNumBulletItems darf es nur in der ersten Gliederungsebene geben!
/*N*/               if ( rSet.GetItemState( EE_PARA_NUMBULLET ) == SFX_ITEM_ON )
/*N*/                   rSet.ClearItem( EE_PARA_NUMBULLET );
/*N*/           }
/*N*/
/*N*/           if (rSet.GetItemState(EE_PARA_LRSPACE) == SFX_ITEM_ON)
/*N*/           {
/*N*/               const SvxLRSpaceItem& rLRItem = (const SvxLRSpaceItem&) rSet.Get(EE_PARA_LRSPACE);
/*N*/
/*N*/               if (rLRItem.GetTxtFirstLineOfst() == 0)
/*N*/               {
/*N*/                   SvxLRSpaceItem aNewLRItem(rLRItem);
/*N*/                   const SvxBulletItem& rBulletItem = (const SvxBulletItem&) rSet.Get(EE_PARA_BULLET);
/*N*/                   short nFirstLineOfst = (short) -rBulletItem.GetWidth();
/*N*/                   aNewLRItem.SetTxtFirstLineOfst(nFirstLineOfst);
/*N*/                   rSet.Put(aNewLRItem);
/*N*/               }
/*N*/           }
/*N*/       }
/*N*/       else if ( nHelpId == HID_PSEUDOSHEET_TITLE               ||
/*N*/                 nHelpId == HID_PSEUDOSHEET_SUBTITLE            ||
/*N*/                 aName.Search(aTitleName)    != STRING_NOTFOUND ||
/*N*/                 aName.Search(aSubtitleName) != STRING_NOTFOUND )
/*N*/       {
/*N*/           // Titel- oder Untertitel-Vorlage
/*N*/           SfxItemSet& rLclSet = pSheet->GetItemSet();
/*N*/
/*N*/           if (rLclSet.GetItemState(EE_PARA_BULLETSTATE) != SFX_ITEM_ON ||
/*N*/               ((const SfxUInt16Item&) rLclSet.Get(EE_PARA_BULLETSTATE)).GetValue() == 1)
/*N*/           {
/*N*/               SfxUInt16Item aBulletStateItem(EE_PARA_BULLETSTATE, 0); // Bullets nicht sichtbar
/*N*/               rLclSet.Put(aBulletStateItem);
/*N*/           }
/*N*/
/*N*/           if( nHelpId == HID_PSEUDOSHEET_TITLE ||
/*N*/               aName.Search(aTitleName) != STRING_NOTFOUND )
/*N*/           {
/*N*/               Font aBulletFont( GetBulletFont() );
/*N*/               aBulletFont.SetSize(Size(0,1552));                  // 44 pt
/*N*/               PutNumBulletItem( pSheet, aBulletFont );
/*N*/           }
/*N*/           else if( nHelpId == HID_PSEUDOSHEET_SUBTITLE ||
/*N*/                    aName.Search(aSubtitleName) != STRING_NOTFOUND )
/*N*/           {
/*N*/               Font aBulletFont( GetBulletFont() );
/*N*/               aBulletFont.SetSize(Size(0, 1129));     // 32 pt
/*N*/               PutNumBulletItem( pSheet, aBulletFont );
/*N*/           }
/*N*/       }
/*N*/       else if ( aName == aStandardName )
/*N*/       {
/*N*/           // Standardvorlage
/*N*/           Font aBulletFont( GetBulletFont() );
/*N*/           aBulletFont.SetSize(Size(0,846));       // 24 pt
/*N*/           PutNumBulletItem( pSheet, aBulletFont );
/*N*/       }
/*N*/       else if ( rSet.GetItemState( EE_PARA_LRSPACE ) == SFX_ITEM_ON )
/*N*/       {
/*N*/           // SvxLRSpaceItem hart gesetzt: NumBulletItem anpassen
/*N*/           SvxNumBulletItem aNumBullet( (const SvxNumBulletItem&) rSet.Get(EE_PARA_NUMBULLET) );
/*N*/
/*N*/           EditEngine::ImportBulletItem( aNumBullet, 0, NULL, &(const SvxLRSpaceItem&) rSet.Get( EE_PARA_LRSPACE ) );
/*N*/           rSet.Put( aNumBullet );
/*N*/       }
/*N*/   }
/*N*/ }


/*************************************************************************
|*
|* Neues SvxNumBulletItem fuer das jeweilige StyleSheet setzen
|*
\************************************************************************/

/*N*/ void SdStyleSheetPool::PutNumBulletItem( SfxStyleSheetBase* pSheet,
/*N*/                                        Font& rBulletFont )
/*N*/ {
/*N*/   String aHelpFile;
/*N*/   ULONG nHelpId = pSheet->GetHelpId( aHelpFile );
/*N*/   SfxItemSet& rSet = pSheet->GetItemSet();
/*N*/
/*N*/   switch ( nHelpId )
/*N*/   {
/*N*/       case HID_STANDARD_STYLESHEET_NAME :
/*N*/       {
/*N*/           // Standard-Vorlage
/*N*/           SvxNumberFormat aNumberFormat(SVX_NUM_CHAR_SPECIAL);
/*N*/           aNumberFormat.SetBulletFont(&rBulletFont);
/*N*/           aNumberFormat.SetBulletChar( 0x25CF ); // StarBats: 0xF000 + 34
/*N*/           aNumberFormat.SetBulletRelSize(45);
/*N*/           aNumberFormat.SetBulletColor(Color(COL_AUTO));
/*N*/           aNumberFormat.SetStart(1);
/*N*/           aNumberFormat.SetNumAdjust(SVX_ADJUST_LEFT);
/*N*/
/*N*/           SvxNumRule aNumRule( NUM_BULLET_REL_SIZE|NUM_BULLET_COLOR|NUM_CHAR_TEXT_DISTANCE, 10 , FALSE);
/*N*/           aNumberFormat.SetLSpace( 0 );
/*N*/           aNumberFormat.SetAbsLSpace( 0 );
/*N*/           aNumberFormat.SetFirstLineOffset( 0 );
/*N*/           aNumRule.SetLevel( 0, aNumberFormat );
/*N*/
/*N*/           for( USHORT i = 1; i < 10; i++ )
/*N*/           {
/*N*/               const short nLSpace = (i + 1) * 600;
/*N*/               aNumberFormat.SetLSpace(nLSpace);
/*N*/               aNumberFormat.SetAbsLSpace(nLSpace);
/*N*/               aNumberFormat.SetFirstLineOffset(-600);
/*N*/               aNumRule.SetLevel( i, aNumberFormat );
/*N*/           }
/*N*/
/*N*/           rSet.Put( SvxNumBulletItem( aNumRule, EE_PARA_NUMBULLET ) );
/*N*/           ((SfxStyleSheet*)pSheet)->Broadcast(SfxSimpleHint( SFX_HINT_DATACHANGED ) );
/*N*/       }
/*N*/       break;
/*N*/
/*N*/       case HID_PSEUDOSHEET_TITLE:
/*N*/           /* #84013# title gets same bullet as subtitle and not that page symbol anymore */
/*N*/       case HID_PSEUDOSHEET_SUBTITLE :
/*N*/       {
/*N*/           // Untertitel-Vorlage
/*N*/           SvxNumRule* pDefaultRule = ((SvxNumBulletItem*) rSet.GetPool()->GetSecondaryPool()->GetPoolDefaultItem(EE_PARA_NUMBULLET))->GetNumRule();
/*N*/           DBG_ASSERT( pDefaultRule, "Wo ist mein Default? [CL]" );
/*N*/
/*N*/           if(pDefaultRule)
/*N*/           {
/*N*/               SvxNumRule aNumRule(pDefaultRule->GetFeatureFlags(), 9, FALSE);
/*N*/               for(USHORT i=0; i < aNumRule.GetLevelCount(); i++)
/*N*/               {
/*N*/                   SvxNumberFormat aFrmt( pDefaultRule->GetLevel(i) );
/*N*/                   aFrmt.SetNumberingType(SVX_NUM_CHAR_SPECIAL);
/*N*/                   aFrmt.SetStart(1);
/*N*/                   aFrmt.SetBulletRelSize(45);
/*N*/                   aFrmt.SetBulletChar( 0x25CF );  // StarBats: 0xF000 + 34
/*N*/                   aFrmt.SetBulletFont(&rBulletFont);
/*N*/                   aNumRule.SetLevel(i, aFrmt);
/*N*/               }
/*N*/
/*N*/               rSet.Put( SvxNumBulletItem( aNumRule, EE_PARA_NUMBULLET ) );
/*N*/               ((SfxStyleSheet*)pSheet)->Broadcast(SfxSimpleHint( SFX_HINT_DATACHANGED ) );
/*N*/           }
/*N*/       }
/*N*/       break;
/*N*/
/*N*/       case HID_PSEUDOSHEET_OUTLINE + 1 :
/*N*/       {
/*N*/           // Gliederungs-Vorlage
/*N*/           SvxNumberFormat aNumberFormat(SVX_NUM_CHAR_SPECIAL);
/*N*/           aNumberFormat.SetBulletColor(Color(COL_AUTO));
/*N*/           aNumberFormat.SetStart(1);
/*N*/           aNumberFormat.SetNumAdjust(SVX_ADJUST_LEFT);
/*N*/
/*N*/           SvxNumRule aNumRule( NUM_BULLET_REL_SIZE|NUM_BULLET_COLOR|NUM_CHAR_TEXT_DISTANCE|NUM_SYMBOL_ALIGNMENT,
/*N*/                                10, FALSE, SVX_RULETYPE_PRESENTATION_NUMBERING );
/*N*/           for( UINT16 i = 0; i < 10; i++ )
/*N*/           {
/*N*/               aNumberFormat.SetBulletChar( 0x25CF );  // StarBats: 0xF000 + 34
/*N*/               aNumberFormat.SetBulletRelSize(45);
/*N*/               const short nLSpace = i ? i * 1200 : 1200;
/*N*/               aNumberFormat.SetLSpace(nLSpace);
/*N*/               aNumberFormat.SetAbsLSpace(nLSpace);
/*N*/               USHORT nFirstLineOffset = 600;
/*N*/
/*N*/               ULONG nFontSize = 20;
/*N*/               switch(i)
/*N*/               {
/*N*/                   case 0:
/*N*/                   case 1:
/*N*/                   {
/*N*/                       nFontSize = 32;
/*N*/                       nFirstLineOffset = 900;
/*N*/                   }
/*N*/                   break;
/*N*/
/*N*/                   case 2:
/*N*/                   {
/*N*/                       nFontSize = 28;
/*N*/                       nFirstLineOffset = 800;
/*N*/                       aNumberFormat.SetBulletChar( 0x2013 );  // StarBats: 0xF000 + 150
/*N*/                       aNumberFormat.SetBulletRelSize(75);
/*N*/                   }
/*N*/                   break;
/*N*/
/*N*/                   case 3:
/*N*/                   {
/*N*/                       nFontSize = 24;
/*N*/                   }
/*N*/                   break;
/*N*/
/*N*/                   case 4:
/*N*/                   {
/*N*/                       aNumberFormat.SetBulletChar( 0x2013 ); // StarBats: 0xF000 + 150
/*N*/                       aNumberFormat.SetBulletRelSize(75);
/*N*/                   }
/*N*/                   break;
/*N*/               }
/*N*/
/*N*/               aNumberFormat.SetFirstLineOffset(-nFirstLineOffset);
/*N*/               nFontSize = (USHORT)((nFontSize * 2540L) / 72);  // Pt --> 1/100 mm
/*N*/               rBulletFont.SetSize(Size(0,846));       // 24 pt
/*N*/               aNumberFormat.SetBulletFont(&rBulletFont);
/*N*/               aNumRule.SetLevel( i, aNumberFormat );
/*N*/           }
/*N*/
/*N*/           rSet.Put( SvxNumBulletItem( aNumRule, EE_PARA_NUMBULLET ) );
/*N*/           ((SfxStyleSheet*)pSheet)->Broadcast(SfxSimpleHint( SFX_HINT_DATACHANGED ) );
/*N*/       }
/*N*/       break;
/*N*/   }
/*N*/ }

/*************************************************************************
|*
|* Standard Bullet-Font erzeugen (ohne Groesse)
|*
\************************************************************************/

/*N*/ Font SdStyleSheetPool::GetBulletFont() const
/*N*/ {
/*N*/   Font aBulletFont( String( RTL_CONSTASCII_USTRINGPARAM( "StarSymbol" )), Size(0, 1000) );
/*N*/   aBulletFont.SetCharSet(RTL_TEXTENCODING_UNICODE);
/*N*/   aBulletFont.SetWeight(WEIGHT_NORMAL);
/*N*/   aBulletFont.SetUnderline(UNDERLINE_NONE);
/*N*/   aBulletFont.SetStrikeout(STRIKEOUT_NONE);
/*N*/   aBulletFont.SetItalic(ITALIC_NONE);
/*N*/   aBulletFont.SetOutline(FALSE);
/*N*/   aBulletFont.SetShadow(FALSE);
/*N*/   aBulletFont.SetColor(Color(COL_AUTO));
/*N*/   aBulletFont.SetTransparent(TRUE);
/*N*/
/*N*/   return aBulletFont;
/*N*/ }





}

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
