/************************************************************************* * * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: tmpdlg.cxx,v $ * * $Revision: 1.24 $ * * last change: $Author: hr $ $Date: 2007-09-27 11:50:26 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. * * * GNU Lesser General Public License Version 2.1 * ============================================= * Copyright 2005 by Sun Microsystems, Inc. * 901 San Antonio Road, Palo Alto, CA 94303, USA * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License version 2.1, as published by the Free Software Foundation. * * This library 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 for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * ************************************************************************/ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sw.hxx" #ifdef SW_DLLIMPLEMENTATION #undef SW_DLLIMPLEMENTATION #endif #ifndef _HINTIDS_HXX #include #endif #ifndef _SVSTDARR_STRINGSSORTDTOR #define _SVSTDARR_STRINGSSORTDTOR #include #endif #ifndef _SV_MSGBOX_HXX //autogen #include #endif #ifndef _SVX_HDFT_HXX //autogen #include #endif #ifndef _SVX_FLSTITEM_HXX //autogen #include #endif #ifndef _SVX_HTMLMODE_HXX //autogen #include #endif #include #ifndef _SVTOOLS_CJKOPTIONS_HXX #include #endif #ifndef _NUMPARA_HXX #include #endif #ifndef _FMTCLDS_HXX //autogen #include #endif #ifndef _SWTYPES_HXX #include #endif #ifndef _SWMODULE_HXX #include #endif #ifndef _ERRHDL_HXX #include // fuer Create-Methoden #endif #ifndef _WRTSH_HXX #include #endif #ifndef _VIEW_HXX #include #endif #ifndef _SWWDOCSH_HXX //autogen #include #endif #ifndef _VIEWOPT_HXX #include #endif #ifndef _PGFNOTE_HXX #include #endif #ifndef _PGFGRID_HXX #include #endif #ifndef _TMPDLG_HXX #include // der Dialog #endif #ifndef _COLUMN_HXX #include // Spalten #endif #ifndef _DRPCPS_HXX #include // Initialen #endif #ifndef _FRMPAGE_HXX #include // Rahmen #endif #ifndef _WRAP_HXX #include // Rahmen #endif #ifndef _FRMMGR_HXX #include // Rahmen #endif #ifndef _CCOLL_HXX #include // CondColl #endif #include #ifndef _DOCSTYLE_HXX #include // #endif #ifndef _FMTCOL_HXX #include // #endif #ifndef _MACASSGN_HXX #include // #endif #ifndef _POOLFMT_HXX #include #endif #ifndef _UITOOL_HXX #include #endif #ifndef _SHELLRES_HXX //autogen #include #endif #ifndef _CMDID_H #include #endif #ifndef _HELPID_H #include #endif #ifndef _GLOBALS_HRC #include #endif #ifndef _FMTUI_HRC #include #endif #ifndef _SWSTYLENAMEMAPPER_HXX #include #endif #include #include #include #include #include #include #include #include #include extern SW_DLLPUBLIC SwWrtShell* GetActiveWrtShell(); /*-------------------------------------------------------------------- Beschreibung: Der Traeger des Dialoges --------------------------------------------------------------------*/ SwTemplateDlg::SwTemplateDlg(Window* pParent, SfxStyleSheetBase& rBase, USHORT nRegion, BOOL bColumn, SwWrtShell* pActShell, BOOL bNew ) : SfxStyleDialog( pParent, SW_RES(DLG_TEMPLATE_BASE + nRegion), rBase, FALSE, 0 ), nType( nRegion ), pWrtShell(pActShell), bNewStyle(bNew) { FreeResource(); nHtmlMode = ::GetHtmlMode(pWrtShell->GetView().GetDocShell()); SfxAbstractDialogFactory* pFact = SfxAbstractDialogFactory::Create(); DBG_ASSERT(pFact, "Dialogdiet fail!"); // TabPages zusammenfieseln switch( nRegion ) { // Zeichenvorlagen case SFX_STYLE_FAMILY_CHAR: { DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_CHAR_NAME ), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_CHAR_NAME ) , "GetTabPageRangesFunc fail!"); AddTabPage(TP_CHAR_STD, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_CHAR_NAME ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_CHAR_NAME ) ); DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_CHAR_EFFECTS ), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_CHAR_EFFECTS ) , "GetTabPageRangesFunc fail!"); AddTabPage(TP_CHAR_EXT, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_CHAR_EFFECTS ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_CHAR_EFFECTS ) ); DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_CHAR_POSITION ), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_CHAR_POSITION ) , "GetTabPageRangesFunc fail!"); AddTabPage(TP_CHAR_POS, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_CHAR_POSITION ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_CHAR_POSITION ) ); DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_CHAR_TWOLINES ), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_CHAR_TWOLINES ) , "GetTabPageRangesFunc fail!"); AddTabPage(TP_CHAR_TWOLN, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_CHAR_TWOLINES ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_CHAR_TWOLINES ) ); DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BACKGROUND ), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_BACKGROUND ) , "GetTabPageRangesFunc fail!"); AddTabPage(TP_BACKGROUND, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BACKGROUND ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_BACKGROUND ) ); SvtCJKOptions aCJKOptions; if(nHtmlMode & HTMLMODE_ON || !aCJKOptions.IsDoubleLinesEnabled()) RemoveTabPage(TP_CHAR_TWOLN); } break; // Absatzvorlagen case SFX_STYLE_FAMILY_PARA: { DBG_ASSERT(pFact->GetTabPageCreatorFunc(RID_SVXPAGE_STD_PARAGRAPH), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc(RID_SVXPAGE_STD_PARAGRAPH), "GetTabPageRangesFunc fail!"); AddTabPage( TP_PARA_STD, pFact->GetTabPageCreatorFunc(RID_SVXPAGE_STD_PARAGRAPH), pFact->GetTabPageRangesFunc(RID_SVXPAGE_STD_PARAGRAPH) ); DBG_ASSERT(pFact->GetTabPageCreatorFunc(RID_SVXPAGE_ALIGN_PARAGRAPH), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc(RID_SVXPAGE_ALIGN_PARAGRAPH), "GetTabPageRangesFunc fail!"); AddTabPage( TP_PARA_ALIGN, pFact->GetTabPageCreatorFunc(RID_SVXPAGE_ALIGN_PARAGRAPH), pFact->GetTabPageRangesFunc(RID_SVXPAGE_ALIGN_PARAGRAPH) ); DBG_ASSERT(pFact->GetTabPageCreatorFunc(RID_SVXPAGE_EXT_PARAGRAPH), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc(RID_SVXPAGE_EXT_PARAGRAPH), "GetTabPageRangesFunc fail!"); AddTabPage( TP_PARA_EXT, pFact->GetTabPageCreatorFunc(RID_SVXPAGE_EXT_PARAGRAPH), pFact->GetTabPageRangesFunc(RID_SVXPAGE_EXT_PARAGRAPH) ); DBG_ASSERT(pFact->GetTabPageCreatorFunc(RID_SVXPAGE_PARA_ASIAN), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc(RID_SVXPAGE_PARA_ASIAN), "GetTabPageRangesFunc fail!"); AddTabPage( TP_PARA_ASIAN, pFact->GetTabPageCreatorFunc(RID_SVXPAGE_PARA_ASIAN), pFact->GetTabPageRangesFunc(RID_SVXPAGE_PARA_ASIAN) ); DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_CHAR_NAME ), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_CHAR_NAME ), "GetTabPageRangesFunc fail!"); AddTabPage(TP_CHAR_STD, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_CHAR_NAME ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_CHAR_NAME ) ); DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_CHAR_EFFECTS ), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_CHAR_EFFECTS ), "GetTabPageRangesFunc fail!"); AddTabPage(TP_CHAR_EXT, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_CHAR_EFFECTS ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_CHAR_EFFECTS ) ); DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_CHAR_POSITION ), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_CHAR_POSITION ) , "GetTabPageRangesFunc fail!"); AddTabPage(TP_CHAR_POS, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_CHAR_POSITION ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_CHAR_POSITION ) ); DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_CHAR_TWOLINES ), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_CHAR_TWOLINES ) , "GetTabPageRangesFunc fail!"); AddTabPage(TP_CHAR_TWOLN, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_CHAR_TWOLINES ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_CHAR_TWOLINES ) ); DBG_ASSERT(pFact->GetTabPageCreatorFunc(RID_SVXPAGE_TABULATOR), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc(RID_SVXPAGE_TABULATOR), "GetTabPageRangesFunc fail!"); AddTabPage( TP_TABULATOR, pFact->GetTabPageCreatorFunc(RID_SVXPAGE_TABULATOR), pFact->GetTabPageRangesFunc(RID_SVXPAGE_TABULATOR) ); AddTabPage(TP_NUMPARA, SwParagraphNumTabPage::Create, SwParagraphNumTabPage::GetRanges); AddTabPage(TP_DROPCAPS, SwDropCapsPage::Create, SwDropCapsPage::GetRanges ); DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BACKGROUND ), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_BACKGROUND ), "GetTabPageRangesFunc fail!"); AddTabPage(TP_BACKGROUND, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BACKGROUND ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_BACKGROUND ) ); DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BORDER ), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_BORDER ), "GetTabPageRangesFunc fail!"); AddTabPage(TP_BORDER, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BORDER ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_BORDER ) ); AddTabPage( TP_CONDCOLL, SwCondCollPage::Create, SwCondCollPage::GetRanges ); if( (!bNewStyle && RES_CONDTXTFMTCOLL != ((SwDocStyleSheet&)rBase).GetCollection()->Which()) || nHtmlMode & HTMLMODE_ON ) RemoveTabPage(TP_CONDCOLL); SvtCJKOptions aCJKOptions; if(nHtmlMode & HTMLMODE_ON) { SvxHtmlOptions* pHtmlOpt = SvxHtmlOptions::Get(); if (!pHtmlOpt->IsPrintLayoutExtension()) RemoveTabPage(TP_PARA_EXT); RemoveTabPage(TP_PARA_ASIAN); RemoveTabPage(TP_TABULATOR); RemoveTabPage(TP_NUMPARA); RemoveTabPage(TP_CHAR_TWOLN); if(!(nHtmlMode & HTMLMODE_FULL_STYLES)) { RemoveTabPage(TP_BACKGROUND); RemoveTabPage(TP_DROPCAPS); } if(!(nHtmlMode & HTMLMODE_PARA_BORDER)) RemoveTabPage(TP_BORDER); } else { if(!aCJKOptions.IsAsianTypographyEnabled()) RemoveTabPage(TP_PARA_ASIAN); if(!aCJKOptions.IsDoubleLinesEnabled()) RemoveTabPage(TP_CHAR_TWOLN); } } break; // Rahmenvorlagen case SFX_STYLE_FAMILY_FRAME: { AddTabPage(TP_FRM_STD, SwFrmPage::Create, SwFrmPage::GetRanges ); AddTabPage(TP_FRM_ADD, SwFrmAddPage::Create, SwFrmAddPage::GetRanges ); AddTabPage(TP_FRM_WRAP, SwWrapTabPage::Create, SwWrapTabPage::GetRanges ); DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BACKGROUND ), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_BACKGROUND ), "GetTabPageRangesFunc fail!"); AddTabPage(TP_BACKGROUND, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BACKGROUND ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_BACKGROUND ) ); DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BORDER ), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_BORDER ), "GetTabPageRangesFunc fail!"); AddTabPage(TP_BORDER, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BORDER ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_BORDER ) ); AddTabPage(TP_COLUMN, SwColumnPage::Create, SwColumnPage::GetRanges ); AddTabPage( TP_MACRO_ASSIGN, SfxMacroTabPage::Create, 0); // Auskommentiert wegen Bug #45776 (per default keine Breite&Groesse in Rahmenvorlagen) /* SwFmtFrmSize aSize( (const SwFmtFrmSize&)rBase. GetItemSet().Get(RES_FRM_SIZE)); if( !aSize.GetWidth() ) { aSize.SetWidth( DFLT_WIDTH ); aSize.SetHeight( DFLT_HEIGHT ); rBase.GetItemSet().Put( aSize ); }*/ break; } // Seitenvorlagen case SFX_STYLE_FAMILY_PAGE: { DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BACKGROUND ), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_BACKGROUND ), "GetTabPageRangesFunc fail!"); AddTabPage(TP_BACKGROUND, pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BACKGROUND ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_BACKGROUND ) ); AddTabPage(TP_HEADER_PAGE, String(SW_RES(STR_PAGE_HEADER)), SvxHeaderPage::Create, SvxHeaderPage::GetRanges ); AddTabPage(TP_FOOTER_PAGE, String(SW_RES(STR_PAGE_FOOTER)), SvxFooterPage::Create, SvxFooterPage::GetRanges ); if(bColumn) SetCurPageId(TP_COLUMN); DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_PAGE ), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_PAGE ), "GetTabPageRangesFunc fail!"); AddTabPage(TP_PAGE_STD, String(SW_RES(STR_PAGE_STD)), pFact->GetTabPageCreatorFunc( RID_SVXPAGE_PAGE ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_PAGE ), FALSE, 1 ); // nach der Verwalten-Page if(!pActShell || 0 == ::GetHtmlMode(pWrtShell->GetView().GetDocShell())) { DBG_ASSERT(pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BORDER ), "GetTabPageCreatorFunc fail!"); DBG_ASSERT(pFact->GetTabPageRangesFunc( RID_SVXPAGE_BORDER ), "GetTabPageRangesFunc fail!"); AddTabPage(TP_BORDER, String(SW_RES(STR_PAGE_BORDER)), pFact->GetTabPageCreatorFunc( RID_SVXPAGE_BORDER ), pFact->GetTabPageRangesFunc( RID_SVXPAGE_BORDER ) ); AddTabPage(TP_COLUMN, String(SW_RES(STR_PAGE_COLUMN)), SwColumnPage::Create, SwColumnPage::GetRanges ); AddTabPage(TP_FOOTNOTE_PAGE, String(SW_RES(STR_PAGE_FOOTNOTE)), SwFootNotePage::Create, SwFootNotePage::GetRanges ); AddTabPage(TP_TEXTGRID_PAGE, String(SW_RES(STR_PAGE_TEXTGRID)), SwTextGridPage::Create, SwTextGridPage::GetRanges ); SvtCJKOptions aCJKOptions; if(!aCJKOptions.IsAsianTypographyEnabled()) RemoveTabPage(TP_TEXTGRID_PAGE); } } break; // Numerierungsvorlagen case SFX_STYLE_FAMILY_PSEUDO: { AddTabPage( RID_SVXPAGE_PICK_SINGLE_NUM ); AddTabPage( RID_SVXPAGE_PICK_BULLET ); AddTabPage( RID_SVXPAGE_PICK_NUM ); AddTabPage( RID_SVXPAGE_PICK_BMP); AddTabPage( RID_SVXPAGE_NUM_OPTIONS ); AddTabPage( RID_SVXPAGE_NUM_POSITION ); /* const SfxPoolItem* pItem; if(SFX_ITEM_SET == rBase.GetItemSet().GetItemState( FN_PARAM_ACT_NUMBER, FALSE, &pItem )) { // pActNum = (ActNumberFormat*)((const SwPtrItem*)pItem)->GetValue(); } */ } break; default: ASSERT(!this, "Falsche Familie"); } } /*-------------------------------------------------------------------- Beschreibung: --------------------------------------------------------------------*/ SwTemplateDlg::~SwTemplateDlg() { } /*-------------------------------------------------------------------- Beschreibung: --------------------------------------------------------------------*/ short SwTemplateDlg::Ok() { short nRet = SfxTabDialog::Ok(); if( RET_OK == nRet ) { const SfxPoolItem *pOutItem, *pExItem; if( SFX_ITEM_SET == pExampleSet->GetItemState( SID_ATTR_NUMBERING_RULE, FALSE, &pExItem ) && ( !GetOutputItemSet() || SFX_ITEM_SET != GetOutputItemSet()->GetItemState( SID_ATTR_NUMBERING_RULE, FALSE, &pOutItem ) || *pExItem != *pOutItem )) { if( GetOutputItemSet() ) ((SfxItemSet*)GetOutputItemSet())->Put( *pExItem ); else nRet = RET_CANCEL; } } else //JP 09.01.98 Bug #46446#: // das ist der Ok - Handler also muss auf OK defaultet werden! nRet = RET_OK; return nRet; } /*-------------------------------------------------------------------- Beschreibung: --------------------------------------------------------------------*/ const SfxItemSet* SwTemplateDlg::GetRefreshedSet() { SfxItemSet* pInSet = GetInputSetImpl(); pInSet->ClearItem(); pInSet->SetParent( &GetStyleSheet().GetItemSet() ); return pInSet; } /*-------------------------------------------------------------------- Beschreibung: --------------------------------------------------------------------*/ void SwTemplateDlg::PageCreated( USHORT nId, SfxTabPage &rPage ) { //Namen der Vorlagen und Metric setzen String sNumCharFmt, sBulletCharFmt; SwStyleNameMapper::FillUIName( RES_POOLCHR_NUM_LEVEL, sNumCharFmt); SwStyleNameMapper::FillUIName( RES_POOLCHR_BUL_LEVEL, sBulletCharFmt); SfxAllItemSet aSet(*(GetInputSetImpl()->GetPool())); switch( nId ) { case TP_CHAR_STD: { ASSERT(::GetActiveView(), "keine View aktiv"); SvxFontListItem aFontListItem( *( (SvxFontListItem*)::GetActiveView()-> GetDocShell()->GetItem( SID_ATTR_CHAR_FONTLIST ) ) ); aSet.Put (SvxFontListItem( aFontListItem.GetFontList(), SID_ATTR_CHAR_FONTLIST)); UINT32 nFlags = 0; if(rPage.GetItemSet().GetParent() && 0 == (nHtmlMode & HTMLMODE_ON )) nFlags = SVX_RELATIVE_MODE; if( SFX_STYLE_FAMILY_CHAR == nType ) nFlags = nFlags|SVX_PREVIEW_CHARACTER; aSet.Put (SfxUInt32Item(SID_FLAG_TYPE, nFlags)); rPage.PageCreated(aSet); } break; case TP_CHAR_EXT: { UINT32 nFlags = SVX_ENABLE_FLASH; if( SFX_STYLE_FAMILY_CHAR == nType ) nFlags = nFlags|SVX_PREVIEW_CHARACTER; aSet.Put (SfxUInt32Item(SID_FLAG_TYPE, nFlags)); rPage.PageCreated(aSet); } break; case TP_CHAR_POS: if( SFX_STYLE_FAMILY_CHAR == nType ) { aSet.Put (SfxUInt32Item(SID_FLAG_TYPE, SVX_PREVIEW_CHARACTER)); rPage.PageCreated(aSet); } break; case TP_CHAR_TWOLN: if( SFX_STYLE_FAMILY_CHAR == nType ) { aSet.Put (SfxUInt32Item(SID_FLAG_TYPE, SVX_PREVIEW_CHARACTER)); rPage.PageCreated(aSet); } break; case TP_PARA_STD: { if( rPage.GetItemSet().GetParent() ) { aSet.Put(SfxUInt32Item(SID_SVXSTDPARAGRAPHTABPAGE_ABSLINEDIST,MM50/2)); aSet.Put(SfxUInt32Item(SID_SVXSTDPARAGRAPHTABPAGE_FLAGSET,0x000F)); rPage.PageCreated(aSet); } } break; case TP_NUMPARA: { ListBox & rBox = ((SwParagraphNumTabPage&)rPage).GetStyleBox(); SfxStyleSheetBasePool* pPool = pWrtShell->GetView().GetDocShell()->GetStyleSheetPool(); pPool->SetSearchMask(SFX_STYLE_FAMILY_PSEUDO, SFXSTYLEBIT_ALL); const SfxStyleSheetBase* pBase = pPool->First(); SvStringsSortDtor aNames; while(pBase) { aNames.Insert(new String(pBase->GetName())); pBase = pPool->Next(); } for(USHORT i = 0; i < aNames.Count(); i++) rBox.InsertEntry(*aNames.GetObject(i)); } break; case TP_PARA_ALIGN: { aSet.Put(SfxBoolItem(SID_SVXPARAALIGNTABPAGE_ENABLEJUSTIFYEXT,TRUE)); rPage.PageCreated(aSet); } break; case TP_FRM_STD: ((SwFrmPage&)rPage).SetNewFrame( TRUE ); ((SwFrmPage&)rPage).SetFormatUsed( TRUE ); break; case TP_FRM_ADD: ((SwFrmAddPage&)rPage).SetFormatUsed(TRUE); ((SwFrmAddPage&)rPage).SetNewFrame(TRUE); break; case TP_FRM_WRAP: ((SwWrapTabPage&)rPage).SetFormatUsed( TRUE, FALSE ); break; case TP_COLUMN: if( nType == SFX_STYLE_FAMILY_FRAME ) ((SwColumnPage&)rPage).SetFrmMode(TRUE); ((SwColumnPage&)rPage).SetFormatUsed( TRUE ); break; case TP_BACKGROUND: { sal_Int32 nFlagType = 0; if( SFX_STYLE_FAMILY_PARA == nType ) nFlagType |= SVX_SHOW_PARACTL; if( SFX_STYLE_FAMILY_CHAR != nType ) nFlagType |= SVX_SHOW_SELECTOR; if( SFX_STYLE_FAMILY_FRAME == nType ) nFlagType |= SVX_ENABLE_TRANSPARENCY; aSet.Put (SfxUInt32Item(SID_FLAG_TYPE, nFlagType)); rPage.PageCreated(aSet); } break; case TP_CONDCOLL: ((SwCondCollPage&)rPage).SetCollection( ((SwDocStyleSheet&)GetStyleSheet()).GetCollection(), bNewStyle ); break; case TP_PAGE_STD: if(0 == (nHtmlMode & HTMLMODE_ON )) { List aList; String* pNew = new String; SwStyleNameMapper::FillUIName( RES_POOLCOLL_TEXT, *pNew ); aList.Insert( pNew, (ULONG)0 ); if( pWrtShell ) { SfxStyleSheetBasePool* pStyleSheetPool = pWrtShell-> GetView().GetDocShell()->GetStyleSheetPool(); pStyleSheetPool->SetSearchMask(SFX_STYLE_FAMILY_PARA); SfxStyleSheetBase *pFirstStyle = pStyleSheetPool->First(); while(pFirstStyle) { aList.Insert( new String(pFirstStyle->GetName()), aList.Count()); pFirstStyle = pStyleSheetPool->Next(); } } aSet.Put (SfxStringListItem(SID_COLLECT_LIST, &aList)); rPage.PageCreated(aSet); for( USHORT i = (USHORT)aList.Count(); i; --i ) delete (String*)aList.Remove(i); } break; case TP_MACRO_ASSIGN: SwMacroAssignDlg::AddEvents( (SfxMacroTabPage&)rPage, MACASSGN_ALLFRM); break; case RID_SVXPAGE_PICK_NUM: { aSet.Put (SfxStringItem(SID_NUM_CHAR_FMT,sNumCharFmt)); aSet.Put (SfxStringItem(SID_BULLET_CHAR_FMT,sBulletCharFmt)); rPage.PageCreated(aSet); } break; case RID_SVXPAGE_NUM_OPTIONS: { aSet.Put (SfxStringItem(SID_NUM_CHAR_FMT,sNumCharFmt)); aSet.Put (SfxStringItem(SID_BULLET_CHAR_FMT,sBulletCharFmt)); // Zeichenvorlagen sammeln ListBox rCharFmtLB(this); rCharFmtLB.Clear(); rCharFmtLB.InsertEntry( ViewShell::GetShellRes()->aStrNone ); SwDocShell* pDocShell = ::GetActiveWrtShell()->GetView().GetDocShell(); ::FillCharStyleListBox(rCharFmtLB, pDocShell); List aList; for(USHORT j = 0; j < rCharFmtLB.GetEntryCount(); j++) { aList.Insert( new XubString(rCharFmtLB.GetEntry(j)), LIST_APPEND ); } aSet.Put( SfxStringListItem( SID_CHAR_FMT_LIST_BOX,&aList ) ) ; FieldUnit eMetric = ::GetDfltMetric(0 != PTR_CAST(SwWebDocShell, pDocShell)); aSet.Put ( SfxAllEnumItem(SID_METRIC_ITEM, static_cast< USHORT >(eMetric))); rPage.PageCreated(aSet); for( USHORT i = (USHORT)aList.Count(); i; --i ) delete (XubString*)aList.Remove(i); aList.Clear(); } break; case RID_SVXPAGE_NUM_POSITION: { SwDocShell* pDocShell = ::GetActiveWrtShell()->GetView().GetDocShell(); FieldUnit eMetric = ::GetDfltMetric(0 != PTR_CAST(SwWebDocShell, pDocShell)); aSet.Put ( SfxAllEnumItem(SID_METRIC_ITEM, static_cast< USHORT >(eMetric))); rPage.PageCreated(aSet); } break; case RID_SVXPAGE_PICK_BULLET : { aSet.Put (SfxStringItem(SID_BULLET_CHAR_FMT,sBulletCharFmt)); rPage.PageCreated(aSet); } break; case TP_HEADER_PAGE: if(0 == (nHtmlMode & HTMLMODE_ON )) ((SvxHeaderPage&)rPage).EnableDynamicSpacing(); break; case TP_FOOTER_PAGE: if(0 == (nHtmlMode & HTMLMODE_ON )) ((SvxFooterPage&)rPage).EnableDynamicSpacing(); break; case TP_BORDER : if( SFX_STYLE_FAMILY_PARA == nType ) { aSet.Put (SfxUInt16Item(SID_SWMODE_TYPE,SW_BORDER_MODE_PARA)); } else if( SFX_STYLE_FAMILY_FRAME == nType ) { aSet.Put (SfxUInt16Item(SID_SWMODE_TYPE,SW_BORDER_MODE_FRAME)); } rPage.PageCreated(aSet); break; } }