1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef _SD_DLGFACT_HXX
20 #define _SD_DLGFACT_HXX
22 #include "sdabstdlg.hxx"
23 #include <sfx2/basedlgs.hxx>
25 #define DECL_ABSTDLG_BASE(Class,DialogClass) \
28 Class( DialogClass* p) \
32 virtual short Execute() ;
34 #define IMPL_ABSTDLG_BASE(Class) \
39 short Class::Execute() \
41 return pDlg->Execute(); \
48 class OutlineBulletDlg
;
49 class HeaderFooterDialog
;
53 class SdVclAbstractDialog_Impl
: public VclAbstractDialog
55 DECL_ABSTDLG_BASE(SdVclAbstractDialog_Impl
,Dialog
)
60 class AbstractCopyDlg_Impl
: public AbstractCopyDlg
62 DECL_ABSTDLG_BASE(AbstractCopyDlg_Impl
,::sd::CopyDlg
)
63 virtual void GetAttr( SfxItemSet
& rOutAttrs
);
66 // add for SdCustomShowDlg
67 class SdCustomShowDlg
;
68 class AbstractSdCustomShowDlg_Impl
: public AbstractSdCustomShowDlg
70 DECL_ABSTDLG_BASE(AbstractSdCustomShowDlg_Impl
,SdCustomShowDlg
)
71 virtual sal_Bool
IsModified() const ;
72 virtual sal_Bool
IsCustomShow() const ;
75 //add for SdCharDlg begin
77 class SdAbstractTabDialog_Impl
: public SfxAbstractTabDialog
79 DECL_ABSTDLG_BASE( SdAbstractTabDialog_Impl
,SfxTabDialog
)
80 virtual void SetCurPageId( sal_uInt16 nId
);
81 virtual void SetCurPageId( const OString
& rName
);
82 virtual const SfxItemSet
* GetOutputItemSet() const;
83 virtual const sal_uInt16
* GetInputRanges( const SfxItemPool
& pItem
);
84 virtual void SetInputSet( const SfxItemSet
* pInSet
);
86 virtual void SetText( const OUString
& rStr
);
87 virtual OUString
GetText() const;
89 //add for SdCharDlg end
92 //add for OutlineBulletDlg begin
94 class AbstractBulletDialog_Impl
: public SfxAbstractTabDialog
96 DECL_ABSTDLG_BASE( AbstractBulletDialog_Impl
,SfxTabDialog
)
97 virtual void SetCurPageId( sal_uInt16 nId
);
98 virtual void SetCurPageId( const OString
& rName
);
99 virtual const SfxItemSet
* GetOutputItemSet() const;
100 virtual const sal_uInt16
* GetInputRanges( const SfxItemPool
& pItem
);
101 virtual void SetInputSet( const SfxItemSet
* pInSet
);
103 virtual void SetText( const OUString
& rStr
);
104 virtual OUString
GetText() const;
106 //add for OutlineBulletDlg end
108 class SdPresLayoutTemplateDlg
;
109 class SdPresLayoutTemplateDlg_Impl
: public SfxAbstractTabDialog
111 DECL_ABSTDLG_BASE( SdPresLayoutTemplateDlg_Impl
,SdPresLayoutTemplateDlg
)
112 virtual void SetCurPageId( sal_uInt16 nId
);
113 virtual void SetCurPageId( const OString
& rName
);
114 virtual const SfxItemSet
* GetOutputItemSet() const;
115 virtual const sal_uInt16
* GetInputRanges( const SfxItemPool
& pItem
);
116 virtual void SetInputSet( const SfxItemSet
* pInSet
);
118 virtual void SetText( const OUString
& rStr
);
119 virtual OUString
GetText() const;
122 // add for AssistentDlg
124 class AbstractAssistentDlg_Impl
: public AbstractAssistentDlg
126 DECL_ABSTDLG_BASE(AbstractAssistentDlg_Impl
,AssistentDlg
)
127 virtual SfxObjectShellLock
GetDocument();
128 virtual OutputType
GetOutputMedium() const;
129 virtual sal_Bool
IsSummary() const;
130 virtual StartType
GetStartType() const;
131 virtual String
GetDocPath() const;
132 virtual sal_Bool
GetStartWithFlag() const;
133 virtual sal_Bool
IsDocEmpty() const;
134 virtual com::sun::star::uno::Sequence
< com::sun::star::beans::NamedValue
> GetPassword();
137 // add for SdModifyFieldDlg
138 class SdModifyFieldDlg
;
139 class AbstractSdModifyFieldDlg_Impl
: public AbstractSdModifyFieldDlg
141 DECL_ABSTDLG_BASE(AbstractSdModifyFieldDlg_Impl
,SdModifyFieldDlg
)
142 virtual SvxFieldData
* GetField();
143 virtual SfxItemSet
GetItemSet();
146 // add for SdSnapLineDlg
148 class AbstractSdSnapLineDlg_Impl
: public AbstractSdSnapLineDlg
150 DECL_ABSTDLG_BASE(AbstractSdSnapLineDlg_Impl
,SdSnapLineDlg
)
151 virtual void GetAttr(SfxItemSet
& rOutAttrs
);
152 virtual void HideRadioGroup();
153 virtual void HideDeleteBtn();
154 virtual void SetInputFields(sal_Bool bEnableX
, sal_Bool bEnableY
);
156 virtual void SetText( const OUString
& rStr
);
159 // add for SdInsertLayerDlg
160 class SdInsertLayerDlg
;
161 class AbstractSdInsertLayerDlg_Impl
: public AbstractSdInsertLayerDlg
163 DECL_ABSTDLG_BASE(AbstractSdInsertLayerDlg_Impl
,SdInsertLayerDlg
)
164 virtual void GetAttr( SfxItemSet
& rOutAttrs
) ;
166 virtual void SetHelpId( const OString
& rHelpId
) ;
169 // add for SdInsertPasteDlg
170 class SdInsertPasteDlg
;
171 class AbstractSdInsertPasteDlg_Impl
: public AbstractSdInsertPasteDlg
173 DECL_ABSTDLG_BASE(AbstractSdInsertPasteDlg_Impl
,SdInsertPasteDlg
)
174 virtual sal_Bool
IsInsertBefore() const;
177 // add for SdInsertPagesObjsDlg
178 class SdInsertPagesObjsDlg
;
179 class AbstractSdInsertPagesObjsDlg_Impl
: public AbstractSdInsertPagesObjsDlg
181 DECL_ABSTDLG_BASE(AbstractSdInsertPagesObjsDlg_Impl
,SdInsertPagesObjsDlg
)
182 virtual ::Window
* GetWindow(); //this method is added for return a Window type pointer
183 virtual std::vector
<OUString
> GetList ( const sal_uInt16 nType
);
184 virtual sal_Bool
IsLink();
185 virtual sal_Bool
IsRemoveUnnessesaryMasterPages() const;
189 class AbstractMorphDlg_Impl
: public AbstractMorphDlg
191 DECL_ABSTDLG_BASE(AbstractMorphDlg_Impl
,::sd::MorphDlg
)
192 virtual void SaveSettings() const;
193 virtual sal_uInt16
GetFadeSteps() const;
194 virtual sal_Bool
IsAttributeFade() const ;
195 virtual sal_Bool
IsOrientationFade() const ;
198 // add for SdStartPresentationDlg
199 class SdStartPresentationDlg
;
200 class AbstractSdStartPresDlg_Impl
: public AbstractSdStartPresDlg
202 DECL_ABSTDLG_BASE(AbstractSdStartPresDlg_Impl
,SdStartPresentationDlg
)
203 virtual void GetAttr( SfxItemSet
& rOutAttrs
);
206 // add for SdPresLayoutDlg
207 class SdPresLayoutDlg
;
208 class AbstractSdPresLayoutDlg_Impl
: public AbstractSdPresLayoutDlg
210 DECL_ABSTDLG_BASE(AbstractSdPresLayoutDlg_Impl
,SdPresLayoutDlg
)
211 virtual void GetAttr(SfxItemSet
& rOutAttrs
);
214 // add for SdActionDlg
215 class SdAbstractSfxDialog_Impl
: public SfxAbstractDialog
217 DECL_ABSTDLG_BASE(SdAbstractSfxDialog_Impl
,SfxModalDialog
)
218 virtual const SfxItemSet
* GetOutputItemSet() const;
219 virtual void SetText( const OUString
& rStr
);
220 virtual OUString
GetText() const;
223 // add for SdVectorizeDlg
224 class SdVectorizeDlg
;
225 class AbstractSdVectorizeDlg_Impl
:public AbstractSdVectorizeDlg
227 DECL_ABSTDLG_BASE(AbstractSdVectorizeDlg_Impl
,SdVectorizeDlg
)
228 virtual const GDIMetaFile
& GetGDIMetaFile() const ;
231 // add for SdPublishingDlg
232 class SdPublishingDlg
;
233 class AbstractSdPublishingDlg_Impl
:public AbstractSdPublishingDlg
235 DECL_ABSTDLG_BASE(AbstractSdPublishingDlg_Impl
,SdPublishingDlg
)
236 virtual void GetParameterSequence( ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
>& rParams
);
239 // add for HeaderFooterDialog
240 class AbstractHeaderFooterDialog_Impl
:public AbstractHeaderFooterDialog
242 DECL_ABSTDLG_BASE(AbstractHeaderFooterDialog_Impl
,::sd::HeaderFooterDialog
)
243 virtual void ApplyToAll( TabPage
* pPage
);
244 virtual void Apply( TabPage
* pPage
);
245 virtual void Cancel( TabPage
* pPage
);
247 //------------------------------------------------------------------------
249 //AbstractDialogFactory_Impl implementations
250 class SdAbstractDialogFactory_Impl
: public SdAbstractDialogFactory
254 virtual ~SdAbstractDialogFactory_Impl() {}
256 virtual VclAbstractDialog
* CreateBreakDlg(::Window
* pWindow
, ::sd::DrawView
* pDrView
, ::sd::DrawDocShell
* pShell
, sal_uLong nSumActionCount
, sal_uLong nObjCount
);
257 virtual AbstractCopyDlg
* CreateCopyDlg( ::Window
* pWindow
, const SfxItemSet
& rInAttrs
, const rtl::Reference
<XColorList
> &pColTab
, ::sd::View
* pView
);
258 virtual AbstractSdCustomShowDlg
* CreateSdCustomShowDlg( ::Window
* pWindow
, SdDrawDocument
& rDrawDoc
);
259 virtual SfxAbstractTabDialog
* CreateSdTabCharDialog( ::Window
* pParent
, const SfxItemSet
* pAttr
, SfxObjectShell
* pDocShell
);
260 virtual SfxAbstractTabDialog
* CreateSdTabPageDialog( ::Window
* pParent
, const SfxItemSet
* pAttr
, SfxObjectShell
* pDocShell
, sal_Bool bAreaPage
= sal_True
);
261 virtual AbstractAssistentDlg
* CreateAssistentDlg( ::Window
* pParent
, sal_Bool bAutoPilot
);
262 virtual AbstractSdModifyFieldDlg
* CreateSdModifyFieldDlg( ::Window
* pWindow
, const SvxFieldData
* pInField
, const SfxItemSet
& rSet
);
263 virtual AbstractSdSnapLineDlg
* CreateSdSnapLineDlg( ::Window
* pWindow
, const SfxItemSet
& rInAttrs
, ::sd::View
* pView
);
264 virtual AbstractSdInsertLayerDlg
* CreateSdInsertLayerDlg( ::Window
* pWindow
, const SfxItemSet
& rInAttrs
, bool bDeletable
, String aStr
);
265 virtual AbstractSdInsertPasteDlg
* CreateSdInsertPasteDlg( ::Window
* pWindow
);
266 virtual AbstractSdInsertPagesObjsDlg
* CreateSdInsertPagesObjsDlg( ::Window
* pParent
, const SdDrawDocument
* pDoc
, SfxMedium
* pSfxMedium
, const String
& rFileName
);
267 virtual AbstractMorphDlg
* CreateMorphDlg( ::Window
* pParent
, const SdrObject
* pObj1
, const SdrObject
* pObj2
);
268 virtual SfxAbstractTabDialog
* CreateSdOutlineBulletTabDlg ( ::Window
* pParent
, const SfxItemSet
* pAttr
, ::sd::View
* pView
= NULL
);
269 virtual SfxAbstractTabDialog
* CreateSdParagraphTabDlg ( ::Window
* pParent
, const SfxItemSet
* pAttr
);
270 virtual AbstractSdStartPresDlg
* CreateSdStartPresentationDlg( ::Window
* pWindow
, const SfxItemSet
& rInAttrs
,
271 const std::vector
<String
> &rPageNames
, SdCustomShowList
* pCSList
);
272 virtual VclAbstractDialog
* CreateRemoteDialog( ::Window
* pWindow
); // ad for RemoteDialog
273 virtual SfxAbstractTabDialog
* CreateSdPresLayoutTemplateDlg( SfxObjectShell
* pDocSh
, ::Window
* pParent
, SdResId DlgId
, SfxStyleSheetBase
& rStyleBase
, PresentationObjects ePO
, SfxStyleSheetBasePool
* pSSPool
);
274 virtual AbstractSdPresLayoutDlg
* CreateSdPresLayoutDlg( ::sd::DrawDocShell
* pDocShell
, ::Window
* pWindow
, const SfxItemSet
& rInAttrs
);
275 virtual SfxAbstractTabDialog
* CreateSdTabTemplateDlg( ::Window
* pParent
, const SfxObjectShell
* pDocShell
, SfxStyleSheetBase
& rStyleBase
, SdrModel
* pModel
, SdrView
* pView
);
276 virtual SfxAbstractDialog
* CreatSdActionDialog( ::Window
* pParent
, const SfxItemSet
* pAttr
, ::sd::View
* pView
);
277 virtual AbstractSdVectorizeDlg
* CreateSdVectorizeDlg( ::Window
* pParent
, const Bitmap
& rBmp
, ::sd::DrawDocShell
* pDocShell
);
278 virtual AbstractSdPublishingDlg
* CreateSdPublishingDlg( ::Window
* pWindow
, DocumentType eDocType
);
280 virtual VclAbstractDialog
* CreateSdPhotoAlbumDialog( ::Window
* pWindow
, SdDrawDocument
* pDoc
);
282 virtual VclAbstractDialog
* CreateMasterLayoutDialog( ::Window
* pParent
,
283 SdDrawDocument
* pDoc
,
284 SdPage
* ); // add for MasterLayoutDialog
286 virtual AbstractHeaderFooterDialog
* CreateHeaderFooterDialog( ViewShell
* pViewShell
,
288 SdDrawDocument
* pDoc
,
289 SdPage
* pCurrentPage
); // add for HeaderFooterDialog
292 virtual CreateTabPage
GetSdOptionsContentsTabPageCreatorFunc();
293 virtual CreateTabPage
GetSdPrintOptionsTabPageCreatorFunc();
294 virtual CreateTabPage
GetSdOptionsMiscTabPageCreatorFunc();
295 virtual CreateTabPage
GetSdOptionsSnapTabPageCreatorFunc();
301 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */