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