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