1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
28 #ifndef _SD_DLGFACT_HXX
29 #define _SD_DLGFACT_HXX
31 // include ---------------------------------------------------------------
32 #include "sdabstdlg.hxx"
33 #include <sfx2/basedlgs.hxx>
35 #define DECL_ABSTDLG_BASE(Class,DialogClass) \
38 Class( DialogClass* p) \
42 virtual short Execute() ;
44 #define IMPL_ABSTDLG_BASE(Class) \
49 short Class::Execute() \
51 return pDlg->Execute(); \
58 class OutlineBulletDlg
;
59 class HeaderFooterDialog
;
63 class VclAbstractDialog_Impl
: public VclAbstractDialog
65 DECL_ABSTDLG_BASE(VclAbstractDialog_Impl
,Dialog
)
70 class AbstractCopyDlg_Impl
: public AbstractCopyDlg
72 DECL_ABSTDLG_BASE(AbstractCopyDlg_Impl
,::sd::CopyDlg
)
73 virtual void GetAttr( SfxItemSet
& rOutAttrs
);
76 // add for SdCustomShowDlg
77 class SdCustomShowDlg
;
78 class AbstractSdCustomShowDlg_Impl
: public AbstractSdCustomShowDlg
80 DECL_ABSTDLG_BASE(AbstractSdCustomShowDlg_Impl
,SdCustomShowDlg
)
81 virtual BOOL
IsModified() const ;
82 virtual BOOL
IsCustomShow() const ;
85 //add for SdCharDlg begin
87 class AbstractTabDialog_Impl
: public SfxAbstractTabDialog
89 DECL_ABSTDLG_BASE( AbstractTabDialog_Impl
,SfxTabDialog
)
90 virtual void SetCurPageId( USHORT nId
);
91 virtual const SfxItemSet
* GetOutputItemSet() const;
92 virtual const USHORT
* GetInputRanges( const SfxItemPool
& pItem
);
93 virtual void SetInputSet( const SfxItemSet
* pInSet
);
95 virtual void SetText( const XubString
& rStr
);
96 virtual String
GetText() const;
98 //add for SdCharDlg end
101 //add for OutlineBulletDlg begin
103 class AbstractBulletDialog_Impl
: public SfxAbstractTabDialog
105 DECL_ABSTDLG_BASE( AbstractBulletDialog_Impl
,SfxTabDialog
)
106 virtual void SetCurPageId( USHORT nId
);
107 virtual const SfxItemSet
* GetOutputItemSet() const;
108 virtual const USHORT
* GetInputRanges( const SfxItemPool
& pItem
);
109 virtual void SetInputSet( const SfxItemSet
* pInSet
);
111 virtual void SetText( const XubString
& rStr
);
112 virtual String
GetText() const;
114 //add for OutlineBulletDlg end
116 class SdPresLayoutTemplateDlg
;
117 class SdPresLayoutTemplateDlg_Impl
: public SfxAbstractTabDialog
119 DECL_ABSTDLG_BASE( SdPresLayoutTemplateDlg_Impl
,SdPresLayoutTemplateDlg
)
120 virtual void SetCurPageId( USHORT nId
);
121 virtual const SfxItemSet
* GetOutputItemSet() const;
122 virtual const USHORT
* GetInputRanges( const SfxItemPool
& pItem
);
123 virtual void SetInputSet( const SfxItemSet
* pInSet
);
125 virtual void SetText( const XubString
& rStr
);
126 virtual String
GetText() const;
129 // add for AssistentDlg
131 class AbstractAssistentDlg_Impl
: public AbstractAssistentDlg
133 DECL_ABSTDLG_BASE(AbstractAssistentDlg_Impl
,AssistentDlg
)
134 virtual SfxObjectShellLock
GetDocument();
135 virtual OutputType
GetOutputMedium() const;
136 virtual BOOL
IsSummary() const;
137 virtual StartType
GetStartType() const;
138 virtual String
GetDocPath() const;
139 virtual BOOL
GetStartWithFlag() const;
140 virtual BOOL
IsDocEmpty() const;
141 virtual String
GetPassword();
144 // add for SdModifyFieldDlg
145 class SdModifyFieldDlg
;
146 class AbstractSdModifyFieldDlg_Impl
: public AbstractSdModifyFieldDlg
148 DECL_ABSTDLG_BASE(AbstractSdModifyFieldDlg_Impl
,SdModifyFieldDlg
)
149 virtual SvxFieldData
* GetField();
150 virtual SfxItemSet
GetItemSet();
153 // add for SdSnapLineDlg
155 class AbstractSdSnapLineDlg_Impl
: public AbstractSdSnapLineDlg
157 DECL_ABSTDLG_BASE(AbstractSdSnapLineDlg_Impl
,SdSnapLineDlg
)
158 virtual void GetAttr(SfxItemSet
& rOutAttrs
);
159 virtual void HideRadioGroup();
160 virtual void HideDeleteBtn();
161 virtual void SetInputFields(BOOL bEnableX
, BOOL bEnableY
);
163 virtual void SetText( const XubString
& rStr
);
166 // add for SdInsertLayerDlg
167 class SdInsertLayerDlg
;
168 class AbstractSdInsertLayerDlg_Impl
: public AbstractSdInsertLayerDlg
170 DECL_ABSTDLG_BASE(AbstractSdInsertLayerDlg_Impl
,SdInsertLayerDlg
)
171 virtual void GetAttr( SfxItemSet
& rOutAttrs
) ;
173 virtual void SetHelpId( ULONG nHelpId
) ;
176 // add for SdInsertPasteDlg
177 class SdInsertPasteDlg
;
178 class AbstractSdInsertPasteDlg_Impl
: public AbstractSdInsertPasteDlg
180 DECL_ABSTDLG_BASE(AbstractSdInsertPasteDlg_Impl
,SdInsertPasteDlg
)
181 virtual BOOL
IsInsertBefore() const;
184 // add for SdInsertPagesObjsDlg
185 class SdInsertPagesObjsDlg
;
186 class AbstractSdInsertPagesObjsDlg_Impl
: public AbstractSdInsertPagesObjsDlg
188 DECL_ABSTDLG_BASE(AbstractSdInsertPagesObjsDlg_Impl
,SdInsertPagesObjsDlg
)
189 virtual ::Window
* GetWindow(); //this method is added for return a Window type pointer
190 virtual List
* GetList( USHORT nType
);
191 virtual BOOL
IsLink();
192 virtual BOOL
IsRemoveUnnessesaryMasterPages() const;
196 class AbstractMorphDlg_Impl
: public AbstractMorphDlg
198 DECL_ABSTDLG_BASE(AbstractMorphDlg_Impl
,::sd::MorphDlg
)
199 virtual void SaveSettings() const;
200 virtual USHORT
GetFadeSteps() const;
201 virtual BOOL
IsAttributeFade() const ;
202 virtual BOOL
IsOrientationFade() const ;
205 // add for SdStartPresentationDlg
206 class SdStartPresentationDlg
;
207 class AbstractSdStartPresDlg_Impl
: public AbstractSdStartPresDlg
209 DECL_ABSTDLG_BASE(AbstractSdStartPresDlg_Impl
,SdStartPresentationDlg
)
210 virtual void GetAttr( SfxItemSet
& rOutAttrs
);
213 // add for SdPresLayoutDlg
214 class SdPresLayoutDlg
;
215 class AbstractSdPresLayoutDlg_Impl
: public AbstractSdPresLayoutDlg
217 DECL_ABSTDLG_BASE(AbstractSdPresLayoutDlg_Impl
,SdPresLayoutDlg
)
218 virtual void GetAttr(SfxItemSet
& rOutAttrs
);
221 // add for SdActionDlg
222 class SfxSingleTabDialog
;
223 class AbstractSfxDialog_Impl
: public SfxAbstractDialog
225 DECL_ABSTDLG_BASE(AbstractSfxDialog_Impl
,SfxModalDialog
)
226 virtual const SfxItemSet
* GetOutputItemSet() const;
227 virtual void SetText( const XubString
& rStr
);
228 virtual String
GetText() const;
231 // add for SdVectorizeDlg
232 class SdVectorizeDlg
;
233 class AbstractSdVectorizeDlg_Impl
:public AbstractSdVectorizeDlg
235 DECL_ABSTDLG_BASE(AbstractSdVectorizeDlg_Impl
,SdVectorizeDlg
)
236 virtual const GDIMetaFile
& GetGDIMetaFile() const ;
239 // add for SdPublishingDlg
240 class SdPublishingDlg
;
241 class AbstractSdPublishingDlg_Impl
:public AbstractSdPublishingDlg
243 DECL_ABSTDLG_BASE(AbstractSdPublishingDlg_Impl
,SdPublishingDlg
)
244 virtual void GetParameterSequence( ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
>& rParams
);
247 // add for HeaderFooterDialog
248 class AbstractHeaderFooterDialog_Impl
:public AbstractHeaderFooterDialog
250 DECL_ABSTDLG_BASE(AbstractHeaderFooterDialog_Impl
,::sd::HeaderFooterDialog
)
251 virtual void ApplyToAll( TabPage
* pPage
);
252 virtual void Apply( TabPage
* pPage
);
253 virtual void Cancel( TabPage
* pPage
);
256 //------------------------------------------------------------------------
257 //AbstractDialogFactory_Impl implementations
258 class SdAbstractDialogFactory_Impl
: public SdAbstractDialogFactory
262 virtual VclAbstractDialog
* CreateBreakDlg(::Window
* pWindow
, ::sd::DrawView
* pDrView
, ::sd::DrawDocShell
* pShell
, ULONG nSumActionCount
, ULONG nObjCount
);
263 virtual AbstractCopyDlg
* CreateCopyDlg( ::Window
* pWindow
, const SfxItemSet
& rInAttrs
, XColorTable
* pColTab
, ::sd::View
* pView
);
264 virtual AbstractSdCustomShowDlg
* CreateSdCustomShowDlg( ::Window
* pWindow
, SdDrawDocument
& rDrawDoc
);
265 virtual SfxAbstractTabDialog
* CreateSdTabCharDialog( ::Window
* pParent
, const SfxItemSet
* pAttr
, SfxObjectShell
* pDocShell
);
266 virtual SfxAbstractTabDialog
* CreateSdTabPageDialog( ::Window
* pParent
, const SfxItemSet
* pAttr
, SfxObjectShell
* pDocShell
, BOOL bAreaPage
= TRUE
);
267 virtual AbstractAssistentDlg
* CreateAssistentDlg( ::Window
* pParent
, BOOL bAutoPilot
);
268 virtual AbstractSdModifyFieldDlg
* CreateSdModifyFieldDlg( ::Window
* pWindow
, const SvxFieldData
* pInField
, const SfxItemSet
& rSet
);
269 virtual AbstractSdSnapLineDlg
* CreateSdSnapLineDlg( ::Window
* pWindow
, const SfxItemSet
& rInAttrs
, ::sd::View
* pView
);
270 virtual AbstractSdInsertLayerDlg
* CreateSdInsertLayerDlg( ::Window
* pWindow
, const SfxItemSet
& rInAttrs
, bool bDeletable
, String aStr
);
271 virtual AbstractSdInsertPasteDlg
* CreateSdInsertPasteDlg( ::Window
* pWindow
);
272 virtual AbstractSdInsertPagesObjsDlg
* CreateSdInsertPagesObjsDlg( ::Window
* pParent
, const SdDrawDocument
* pDoc
, SfxMedium
* pSfxMedium
, const String
& rFileName
);
273 virtual AbstractMorphDlg
* CreateMorphDlg( ::Window
* pParent
, const SdrObject
* pObj1
, const SdrObject
* pObj2
);
274 virtual SfxAbstractTabDialog
* CreateSdOutlineBulletTabDlg ( ::Window
* pParent
, const SfxItemSet
* pAttr
, ::sd::View
* pView
= NULL
);
275 virtual SfxAbstractTabDialog
* CreateSdParagraphTabDlg ( ::Window
* pParent
, const SfxItemSet
* pAttr
);
276 virtual AbstractSdStartPresDlg
* CreateSdStartPresentationDlg( ::Window
* pWindow
, const SfxItemSet
& rInAttrs
, List
& rPageNames
, List
* pCSList
);
277 virtual SfxAbstractTabDialog
* CreateSdPresLayoutTemplateDlg( SfxObjectShell
* pDocSh
, ::Window
* pParent
, SdResId DlgId
, SfxStyleSheetBase
& rStyleBase
, PresentationObjects ePO
, SfxStyleSheetBasePool
* pSSPool
);
278 virtual AbstractSdPresLayoutDlg
* CreateSdPresLayoutDlg( ::sd::DrawDocShell
* pDocShell
, ::sd::ViewShell
* pViewShell
, ::Window
* pWindow
, const SfxItemSet
& rInAttrs
);
279 virtual SfxAbstractTabDialog
* CreateSdTabTemplateDlg( ::Window
* pParent
, const SfxObjectShell
* pDocShell
, SfxStyleSheetBase
& rStyleBase
, SdrModel
* pModel
, SdrView
* pView
);
280 virtual SfxAbstractDialog
* CreatSdActionDialog( ::Window
* pParent
, const SfxItemSet
* pAttr
, ::sd::View
* pView
);
281 virtual AbstractSdVectorizeDlg
* CreateSdVectorizeDlg( ::Window
* pParent
, const Bitmap
& rBmp
, ::sd::DrawDocShell
* pDocShell
);
282 virtual AbstractSdPublishingDlg
* CreateSdPublishingDlg( ::Window
* pWindow
, DocumentType eDocType
);
284 virtual VclAbstractDialog
* CreateMasterLayoutDialog( ::Window
* pParent
,
285 SdDrawDocument
* pDoc
,
286 SdPage
* ); // add for MasterLayoutDialog
288 virtual AbstractHeaderFooterDialog
* CreateHeaderFooterDialog( ViewShell
* pViewShell
,
290 SdDrawDocument
* pDoc
,
291 SdPage
* pCurrentPage
); // add for HeaderFooterDialog
294 virtual CreateTabPage
GetSdOptionsContentsTabPageCreatorFunc();
295 virtual CreateTabPage
GetSdPrintOptionsTabPageCreatorFunc();
296 virtual CreateTabPage
GetSdOptionsMiscTabPageCreatorFunc();
297 virtual CreateTabPage
GetSdOptionsSnapTabPageCreatorFunc();
302 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */