merged tag LIBREOFFICE_3_2_99_3
[LibreOffice.git] / sd / source / ui / dlg / sddlgfact.hxx
blob551ef6317ed93c40c2a399cd7aebebf4507da83a
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) \
36 DialogClass* pDlg; \
37 public: \
38 Class( DialogClass* p) \
39 : pDlg(p) \
40 {} \
41 virtual ~Class(); \
42 virtual short Execute() ;
44 #define IMPL_ABSTDLG_BASE(Class) \
45 Class::~Class() \
46 { \
47 delete pDlg; \
48 } \
49 short Class::Execute() \
50 { \
51 return pDlg->Execute(); \
54 namespace sd {
55 class MorphDlg;
56 class CopyDlg;
57 class BreakDlg;
58 class OutlineBulletDlg;
59 class HeaderFooterDialog;
61 // add for BreakDlg
62 class Dialog;
63 class VclAbstractDialog_Impl : public VclAbstractDialog
65 DECL_ABSTDLG_BASE(VclAbstractDialog_Impl,Dialog)
68 // add for CopyDlg
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
86 class SfxTabDialog;
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 );
94 //From class Window.
95 virtual void SetText( const XubString& rStr );
96 virtual String GetText() const;
98 //add for SdCharDlg end
101 //add for OutlineBulletDlg begin
102 class SfxTabDialog;
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 );
110 //From class Window.
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 );
124 //From class Window.
125 virtual void SetText( const XubString& rStr );
126 virtual String GetText() const;
129 // add for AssistentDlg
130 class 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
154 class 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);
162 //from class Window
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 ) ;
172 //from class Window
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;
195 // add for MorphDlg
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
261 public:
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,
289 ::Window* pParent,
290 SdDrawDocument* pDoc,
291 SdPage* pCurrentPage ); // add for HeaderFooterDialog
293 // For TabPage
294 virtual CreateTabPage GetSdOptionsContentsTabPageCreatorFunc();
295 virtual CreateTabPage GetSdPrintOptionsTabPageCreatorFunc();
296 virtual CreateTabPage GetSdOptionsMiscTabPageCreatorFunc();
297 virtual CreateTabPage GetSdOptionsSnapTabPageCreatorFunc();
300 #endif
302 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */