1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir #ifndef _SD_DLGFACT_HXX 28*cdf0e10cSrcweir #define _SD_DLGFACT_HXX 29*cdf0e10cSrcweir 30*cdf0e10cSrcweir // include --------------------------------------------------------------- 31*cdf0e10cSrcweir #include "sdabstdlg.hxx" 32*cdf0e10cSrcweir #include <sfx2/basedlgs.hxx> 33*cdf0e10cSrcweir 34*cdf0e10cSrcweir #define DECL_ABSTDLG_BASE(Class,DialogClass) \ 35*cdf0e10cSrcweir DialogClass* pDlg; \ 36*cdf0e10cSrcweir public: \ 37*cdf0e10cSrcweir Class( DialogClass* p) \ 38*cdf0e10cSrcweir : pDlg(p) \ 39*cdf0e10cSrcweir {} \ 40*cdf0e10cSrcweir virtual ~Class(); \ 41*cdf0e10cSrcweir virtual short Execute() ; 42*cdf0e10cSrcweir 43*cdf0e10cSrcweir #define IMPL_ABSTDLG_BASE(Class) \ 44*cdf0e10cSrcweir Class::~Class() \ 45*cdf0e10cSrcweir { \ 46*cdf0e10cSrcweir delete pDlg; \ 47*cdf0e10cSrcweir } \ 48*cdf0e10cSrcweir short Class::Execute() \ 49*cdf0e10cSrcweir { \ 50*cdf0e10cSrcweir return pDlg->Execute(); \ 51*cdf0e10cSrcweir } 52*cdf0e10cSrcweir 53*cdf0e10cSrcweir namespace sd { 54*cdf0e10cSrcweir class MorphDlg; 55*cdf0e10cSrcweir class CopyDlg; 56*cdf0e10cSrcweir class BreakDlg; 57*cdf0e10cSrcweir class OutlineBulletDlg; 58*cdf0e10cSrcweir class HeaderFooterDialog; 59*cdf0e10cSrcweir } 60*cdf0e10cSrcweir // add for BreakDlg 61*cdf0e10cSrcweir class Dialog; 62*cdf0e10cSrcweir class VclAbstractDialog_Impl : public VclAbstractDialog 63*cdf0e10cSrcweir { 64*cdf0e10cSrcweir DECL_ABSTDLG_BASE(VclAbstractDialog_Impl,Dialog) 65*cdf0e10cSrcweir }; 66*cdf0e10cSrcweir 67*cdf0e10cSrcweir // add for CopyDlg 68*cdf0e10cSrcweir 69*cdf0e10cSrcweir class AbstractCopyDlg_Impl : public AbstractCopyDlg 70*cdf0e10cSrcweir { 71*cdf0e10cSrcweir DECL_ABSTDLG_BASE(AbstractCopyDlg_Impl,::sd::CopyDlg) 72*cdf0e10cSrcweir virtual void GetAttr( SfxItemSet& rOutAttrs ); 73*cdf0e10cSrcweir }; 74*cdf0e10cSrcweir 75*cdf0e10cSrcweir // add for SdCustomShowDlg 76*cdf0e10cSrcweir class SdCustomShowDlg; 77*cdf0e10cSrcweir class AbstractSdCustomShowDlg_Impl : public AbstractSdCustomShowDlg 78*cdf0e10cSrcweir { 79*cdf0e10cSrcweir DECL_ABSTDLG_BASE(AbstractSdCustomShowDlg_Impl,SdCustomShowDlg) 80*cdf0e10cSrcweir virtual sal_Bool IsModified() const ; 81*cdf0e10cSrcweir virtual sal_Bool IsCustomShow() const ; 82*cdf0e10cSrcweir }; 83*cdf0e10cSrcweir 84*cdf0e10cSrcweir //add for SdCharDlg begin 85*cdf0e10cSrcweir class SfxTabDialog; 86*cdf0e10cSrcweir class AbstractTabDialog_Impl : public SfxAbstractTabDialog 87*cdf0e10cSrcweir { 88*cdf0e10cSrcweir DECL_ABSTDLG_BASE( AbstractTabDialog_Impl,SfxTabDialog ) 89*cdf0e10cSrcweir virtual void SetCurPageId( sal_uInt16 nId ); 90*cdf0e10cSrcweir virtual const SfxItemSet* GetOutputItemSet() const; 91*cdf0e10cSrcweir virtual const sal_uInt16* GetInputRanges( const SfxItemPool& pItem ); 92*cdf0e10cSrcweir virtual void SetInputSet( const SfxItemSet* pInSet ); 93*cdf0e10cSrcweir //From class Window. 94*cdf0e10cSrcweir virtual void SetText( const XubString& rStr ); 95*cdf0e10cSrcweir virtual String GetText() const; 96*cdf0e10cSrcweir }; 97*cdf0e10cSrcweir //add for SdCharDlg end 98*cdf0e10cSrcweir 99*cdf0e10cSrcweir 100*cdf0e10cSrcweir //add for OutlineBulletDlg begin 101*cdf0e10cSrcweir class SfxTabDialog; 102*cdf0e10cSrcweir class AbstractBulletDialog_Impl : public SfxAbstractTabDialog 103*cdf0e10cSrcweir { 104*cdf0e10cSrcweir DECL_ABSTDLG_BASE( AbstractBulletDialog_Impl,SfxTabDialog ) 105*cdf0e10cSrcweir virtual void SetCurPageId( sal_uInt16 nId ); 106*cdf0e10cSrcweir virtual const SfxItemSet* GetOutputItemSet() const; 107*cdf0e10cSrcweir virtual const sal_uInt16* GetInputRanges( const SfxItemPool& pItem ); 108*cdf0e10cSrcweir virtual void SetInputSet( const SfxItemSet* pInSet ); 109*cdf0e10cSrcweir //From class Window. 110*cdf0e10cSrcweir virtual void SetText( const XubString& rStr ); 111*cdf0e10cSrcweir virtual String GetText() const; 112*cdf0e10cSrcweir }; 113*cdf0e10cSrcweir //add for OutlineBulletDlg end 114*cdf0e10cSrcweir 115*cdf0e10cSrcweir class SdPresLayoutTemplateDlg; 116*cdf0e10cSrcweir class SdPresLayoutTemplateDlg_Impl : public SfxAbstractTabDialog 117*cdf0e10cSrcweir { 118*cdf0e10cSrcweir DECL_ABSTDLG_BASE( SdPresLayoutTemplateDlg_Impl,SdPresLayoutTemplateDlg ) 119*cdf0e10cSrcweir virtual void SetCurPageId( sal_uInt16 nId ); 120*cdf0e10cSrcweir virtual const SfxItemSet* GetOutputItemSet() const; 121*cdf0e10cSrcweir virtual const sal_uInt16* GetInputRanges( const SfxItemPool& pItem ); 122*cdf0e10cSrcweir virtual void SetInputSet( const SfxItemSet* pInSet ); 123*cdf0e10cSrcweir //From class Window. 124*cdf0e10cSrcweir virtual void SetText( const XubString& rStr ); 125*cdf0e10cSrcweir virtual String GetText() const; 126*cdf0e10cSrcweir }; 127*cdf0e10cSrcweir 128*cdf0e10cSrcweir // add for AssistentDlg 129*cdf0e10cSrcweir class AssistentDlg; 130*cdf0e10cSrcweir class AbstractAssistentDlg_Impl : public AbstractAssistentDlg 131*cdf0e10cSrcweir { 132*cdf0e10cSrcweir DECL_ABSTDLG_BASE(AbstractAssistentDlg_Impl,AssistentDlg) 133*cdf0e10cSrcweir virtual SfxObjectShellLock GetDocument(); 134*cdf0e10cSrcweir virtual OutputType GetOutputMedium() const; 135*cdf0e10cSrcweir virtual sal_Bool IsSummary() const; 136*cdf0e10cSrcweir virtual StartType GetStartType() const; 137*cdf0e10cSrcweir virtual String GetDocPath() const; 138*cdf0e10cSrcweir virtual sal_Bool GetStartWithFlag() const; 139*cdf0e10cSrcweir virtual sal_Bool IsDocEmpty() const; 140*cdf0e10cSrcweir virtual String GetPassword(); 141*cdf0e10cSrcweir }; 142*cdf0e10cSrcweir 143*cdf0e10cSrcweir // add for SdModifyFieldDlg 144*cdf0e10cSrcweir class SdModifyFieldDlg; 145*cdf0e10cSrcweir class AbstractSdModifyFieldDlg_Impl : public AbstractSdModifyFieldDlg 146*cdf0e10cSrcweir { 147*cdf0e10cSrcweir DECL_ABSTDLG_BASE(AbstractSdModifyFieldDlg_Impl,SdModifyFieldDlg) 148*cdf0e10cSrcweir virtual SvxFieldData* GetField(); 149*cdf0e10cSrcweir virtual SfxItemSet GetItemSet(); 150*cdf0e10cSrcweir }; 151*cdf0e10cSrcweir 152*cdf0e10cSrcweir // add for SdSnapLineDlg 153*cdf0e10cSrcweir class SdSnapLineDlg; 154*cdf0e10cSrcweir class AbstractSdSnapLineDlg_Impl : public AbstractSdSnapLineDlg 155*cdf0e10cSrcweir { 156*cdf0e10cSrcweir DECL_ABSTDLG_BASE(AbstractSdSnapLineDlg_Impl,SdSnapLineDlg) 157*cdf0e10cSrcweir virtual void GetAttr(SfxItemSet& rOutAttrs); 158*cdf0e10cSrcweir virtual void HideRadioGroup(); 159*cdf0e10cSrcweir virtual void HideDeleteBtn(); 160*cdf0e10cSrcweir virtual void SetInputFields(sal_Bool bEnableX, sal_Bool bEnableY); 161*cdf0e10cSrcweir //from class Window 162*cdf0e10cSrcweir virtual void SetText( const XubString& rStr ); 163*cdf0e10cSrcweir }; 164*cdf0e10cSrcweir 165*cdf0e10cSrcweir // add for SdInsertLayerDlg 166*cdf0e10cSrcweir class SdInsertLayerDlg; 167*cdf0e10cSrcweir class AbstractSdInsertLayerDlg_Impl : public AbstractSdInsertLayerDlg 168*cdf0e10cSrcweir { 169*cdf0e10cSrcweir DECL_ABSTDLG_BASE(AbstractSdInsertLayerDlg_Impl,SdInsertLayerDlg) 170*cdf0e10cSrcweir virtual void GetAttr( SfxItemSet& rOutAttrs ) ; 171*cdf0e10cSrcweir //from class Window 172*cdf0e10cSrcweir virtual void SetHelpId( const rtl::OString& rHelpId ) ; 173*cdf0e10cSrcweir }; 174*cdf0e10cSrcweir 175*cdf0e10cSrcweir // add for SdInsertPasteDlg 176*cdf0e10cSrcweir class SdInsertPasteDlg; 177*cdf0e10cSrcweir class AbstractSdInsertPasteDlg_Impl : public AbstractSdInsertPasteDlg 178*cdf0e10cSrcweir { 179*cdf0e10cSrcweir DECL_ABSTDLG_BASE(AbstractSdInsertPasteDlg_Impl,SdInsertPasteDlg) 180*cdf0e10cSrcweir virtual sal_Bool IsInsertBefore() const; 181*cdf0e10cSrcweir }; 182*cdf0e10cSrcweir 183*cdf0e10cSrcweir // add for SdInsertPagesObjsDlg 184*cdf0e10cSrcweir class SdInsertPagesObjsDlg; 185*cdf0e10cSrcweir class AbstractSdInsertPagesObjsDlg_Impl : public AbstractSdInsertPagesObjsDlg 186*cdf0e10cSrcweir { 187*cdf0e10cSrcweir DECL_ABSTDLG_BASE(AbstractSdInsertPagesObjsDlg_Impl,SdInsertPagesObjsDlg) 188*cdf0e10cSrcweir virtual ::Window * GetWindow(); //this method is added for return a Window type pointer 189*cdf0e10cSrcweir virtual List* GetList( sal_uInt16 nType ); 190*cdf0e10cSrcweir virtual sal_Bool IsLink(); 191*cdf0e10cSrcweir virtual sal_Bool IsRemoveUnnessesaryMasterPages() const; 192*cdf0e10cSrcweir }; 193*cdf0e10cSrcweir 194*cdf0e10cSrcweir // add for MorphDlg 195*cdf0e10cSrcweir class AbstractMorphDlg_Impl : public AbstractMorphDlg 196*cdf0e10cSrcweir { 197*cdf0e10cSrcweir DECL_ABSTDLG_BASE(AbstractMorphDlg_Impl,::sd::MorphDlg) 198*cdf0e10cSrcweir virtual void SaveSettings() const; 199*cdf0e10cSrcweir virtual sal_uInt16 GetFadeSteps() const; 200*cdf0e10cSrcweir virtual sal_Bool IsAttributeFade() const ; 201*cdf0e10cSrcweir virtual sal_Bool IsOrientationFade() const ; 202*cdf0e10cSrcweir }; 203*cdf0e10cSrcweir 204*cdf0e10cSrcweir // add for SdStartPresentationDlg 205*cdf0e10cSrcweir class SdStartPresentationDlg; 206*cdf0e10cSrcweir class AbstractSdStartPresDlg_Impl : public AbstractSdStartPresDlg 207*cdf0e10cSrcweir { 208*cdf0e10cSrcweir DECL_ABSTDLG_BASE(AbstractSdStartPresDlg_Impl,SdStartPresentationDlg) 209*cdf0e10cSrcweir virtual void GetAttr( SfxItemSet& rOutAttrs ); 210*cdf0e10cSrcweir }; 211*cdf0e10cSrcweir 212*cdf0e10cSrcweir // add for SdPresLayoutDlg 213*cdf0e10cSrcweir class SdPresLayoutDlg; 214*cdf0e10cSrcweir class AbstractSdPresLayoutDlg_Impl : public AbstractSdPresLayoutDlg 215*cdf0e10cSrcweir { 216*cdf0e10cSrcweir DECL_ABSTDLG_BASE(AbstractSdPresLayoutDlg_Impl,SdPresLayoutDlg) 217*cdf0e10cSrcweir virtual void GetAttr(SfxItemSet& rOutAttrs); 218*cdf0e10cSrcweir }; 219*cdf0e10cSrcweir 220*cdf0e10cSrcweir // add for SdActionDlg 221*cdf0e10cSrcweir class SfxSingleTabDialog; 222*cdf0e10cSrcweir class AbstractSfxDialog_Impl : public SfxAbstractDialog 223*cdf0e10cSrcweir { 224*cdf0e10cSrcweir DECL_ABSTDLG_BASE(AbstractSfxDialog_Impl,SfxModalDialog) 225*cdf0e10cSrcweir virtual const SfxItemSet* GetOutputItemSet() const; 226*cdf0e10cSrcweir virtual void SetText( const XubString& rStr ); 227*cdf0e10cSrcweir virtual String GetText() const; 228*cdf0e10cSrcweir }; 229*cdf0e10cSrcweir 230*cdf0e10cSrcweir // add for SdVectorizeDlg 231*cdf0e10cSrcweir class SdVectorizeDlg; 232*cdf0e10cSrcweir class AbstractSdVectorizeDlg_Impl :public AbstractSdVectorizeDlg 233*cdf0e10cSrcweir { 234*cdf0e10cSrcweir DECL_ABSTDLG_BASE(AbstractSdVectorizeDlg_Impl,SdVectorizeDlg) 235*cdf0e10cSrcweir virtual const GDIMetaFile& GetGDIMetaFile() const ; 236*cdf0e10cSrcweir }; 237*cdf0e10cSrcweir 238*cdf0e10cSrcweir // add for SdPublishingDlg 239*cdf0e10cSrcweir class SdPublishingDlg; 240*cdf0e10cSrcweir class AbstractSdPublishingDlg_Impl :public AbstractSdPublishingDlg 241*cdf0e10cSrcweir { 242*cdf0e10cSrcweir DECL_ABSTDLG_BASE(AbstractSdPublishingDlg_Impl,SdPublishingDlg) 243*cdf0e10cSrcweir virtual void GetParameterSequence( ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rParams ); 244*cdf0e10cSrcweir }; 245*cdf0e10cSrcweir 246*cdf0e10cSrcweir // add for HeaderFooterDialog 247*cdf0e10cSrcweir class AbstractHeaderFooterDialog_Impl :public AbstractHeaderFooterDialog 248*cdf0e10cSrcweir { 249*cdf0e10cSrcweir DECL_ABSTDLG_BASE(AbstractHeaderFooterDialog_Impl,::sd::HeaderFooterDialog) 250*cdf0e10cSrcweir virtual void ApplyToAll( TabPage* pPage ); 251*cdf0e10cSrcweir virtual void Apply( TabPage* pPage ); 252*cdf0e10cSrcweir virtual void Cancel( TabPage* pPage ); 253*cdf0e10cSrcweir }; 254*cdf0e10cSrcweir 255*cdf0e10cSrcweir //------------------------------------------------------------------------ 256*cdf0e10cSrcweir //AbstractDialogFactory_Impl implementations 257*cdf0e10cSrcweir class SdAbstractDialogFactory_Impl : public SdAbstractDialogFactory 258*cdf0e10cSrcweir { 259*cdf0e10cSrcweir 260*cdf0e10cSrcweir public: 261*cdf0e10cSrcweir virtual VclAbstractDialog* CreateBreakDlg(::Window* pWindow, ::sd::DrawView* pDrView, ::sd::DrawDocShell* pShell, sal_uLong nSumActionCount, sal_uLong nObjCount ); 262*cdf0e10cSrcweir virtual AbstractCopyDlg* CreateCopyDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, XColorTable* pColTab, ::sd::View* pView ); 263*cdf0e10cSrcweir virtual AbstractSdCustomShowDlg* CreateSdCustomShowDlg( ::Window* pWindow, SdDrawDocument& rDrawDoc ); 264*cdf0e10cSrcweir virtual SfxAbstractTabDialog* CreateSdTabCharDialog( ::Window* pParent, const SfxItemSet* pAttr, SfxObjectShell* pDocShell ); 265*cdf0e10cSrcweir virtual SfxAbstractTabDialog* CreateSdTabPageDialog( ::Window* pParent, const SfxItemSet* pAttr, SfxObjectShell* pDocShell, sal_Bool bAreaPage = sal_True ); 266*cdf0e10cSrcweir virtual AbstractAssistentDlg* CreateAssistentDlg( ::Window* pParent, sal_Bool bAutoPilot); 267*cdf0e10cSrcweir virtual AbstractSdModifyFieldDlg* CreateSdModifyFieldDlg( ::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet ); 268*cdf0e10cSrcweir virtual AbstractSdSnapLineDlg* CreateSdSnapLineDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, ::sd::View* pView); 269*cdf0e10cSrcweir virtual AbstractSdInsertLayerDlg* CreateSdInsertLayerDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, bool bDeletable, String aStr ); 270*cdf0e10cSrcweir virtual AbstractSdInsertPasteDlg* CreateSdInsertPasteDlg( ::Window* pWindow ); 271*cdf0e10cSrcweir virtual AbstractSdInsertPagesObjsDlg* CreateSdInsertPagesObjsDlg( ::Window* pParent, const SdDrawDocument* pDoc, SfxMedium* pSfxMedium, const String& rFileName ); 272*cdf0e10cSrcweir virtual AbstractMorphDlg* CreateMorphDlg( ::Window* pParent, const SdrObject* pObj1, const SdrObject* pObj2); 273*cdf0e10cSrcweir virtual SfxAbstractTabDialog* CreateSdOutlineBulletTabDlg ( ::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView = NULL ); 274*cdf0e10cSrcweir virtual SfxAbstractTabDialog* CreateSdParagraphTabDlg ( ::Window* pParent, const SfxItemSet* pAttr ); 275*cdf0e10cSrcweir virtual AbstractSdStartPresDlg* CreateSdStartPresentationDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, List& rPageNames, List* pCSList ); 276*cdf0e10cSrcweir virtual SfxAbstractTabDialog* CreateSdPresLayoutTemplateDlg( SfxObjectShell* pDocSh, ::Window* pParent, SdResId DlgId, SfxStyleSheetBase& rStyleBase, PresentationObjects ePO, SfxStyleSheetBasePool* pSSPool ); 277*cdf0e10cSrcweir virtual AbstractSdPresLayoutDlg* CreateSdPresLayoutDlg( ::sd::DrawDocShell* pDocShell, ::sd::ViewShell* pViewShell, ::Window* pWindow, const SfxItemSet& rInAttrs); 278*cdf0e10cSrcweir virtual SfxAbstractTabDialog* CreateSdTabTemplateDlg( ::Window* pParent, const SfxObjectShell* pDocShell, SfxStyleSheetBase& rStyleBase, SdrModel* pModel, SdrView* pView ); 279*cdf0e10cSrcweir virtual SfxAbstractDialog* CreatSdActionDialog( ::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView ); 280*cdf0e10cSrcweir virtual AbstractSdVectorizeDlg* CreateSdVectorizeDlg( ::Window* pParent, const Bitmap& rBmp, ::sd::DrawDocShell* pDocShell ); 281*cdf0e10cSrcweir virtual AbstractSdPublishingDlg* CreateSdPublishingDlg( ::Window* pWindow, DocumentType eDocType); 282*cdf0e10cSrcweir 283*cdf0e10cSrcweir virtual VclAbstractDialog* CreateMasterLayoutDialog( ::Window* pParent, 284*cdf0e10cSrcweir SdDrawDocument* pDoc, 285*cdf0e10cSrcweir SdPage* ); // add for MasterLayoutDialog 286*cdf0e10cSrcweir 287*cdf0e10cSrcweir virtual AbstractHeaderFooterDialog* CreateHeaderFooterDialog( ViewShell* pViewShell, 288*cdf0e10cSrcweir ::Window* pParent, 289*cdf0e10cSrcweir SdDrawDocument* pDoc, 290*cdf0e10cSrcweir SdPage* pCurrentPage ); // add for HeaderFooterDialog 291*cdf0e10cSrcweir 292*cdf0e10cSrcweir // For TabPage 293*cdf0e10cSrcweir virtual CreateTabPage GetSdOptionsContentsTabPageCreatorFunc(); 294*cdf0e10cSrcweir virtual CreateTabPage GetSdPrintOptionsTabPageCreatorFunc(); 295*cdf0e10cSrcweir virtual CreateTabPage GetSdOptionsMiscTabPageCreatorFunc(); 296*cdf0e10cSrcweir virtual CreateTabPage GetSdOptionsSnapTabPageCreatorFunc(); 297*cdf0e10cSrcweir }; 298*cdf0e10cSrcweir 299*cdf0e10cSrcweir #endif 300*cdf0e10cSrcweir 301