merge the formfield patch from ooo-build
[ooovba.git] / sd / inc / sdabstdlg.hxx
blob4128fab4f18967249e181b15dea45897c9e6058c
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: sdabstdlg.hxx,v $
10 * $Revision: 1.7 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef _SD_ABSTDLG_HXX
31 #define _SD_ABSTDLG_HXX
33 // include ---------------------------------------------------------------
35 #include <tools/solar.h>
36 #include <tools/string.hxx>
37 #include <sfx2/sfxdlg.hxx>
38 #include <com/sun/star/uno/Sequence.h>
39 #include <com/sun/star/beans/XPropertyAccess.hpp>
40 #include "prlayout.hxx"
41 #include "sdenumdef.hxx"
42 #include "pres.hxx"
44 namespace sd {
45 class View;
46 class DrawDocShell;
47 class ViewShell;
48 class DrawView;
51 class SfxTabPage;
52 class SfxViewFrame;
53 class SfxBindings;
54 class ResId;
55 class String;
56 class SfxItemPool;
57 class SfxObjectShell;
58 class SfxObjectShellLock;
59 class SvxFieldData;
60 class GDIMetaFile;
61 class XColorTable;
62 class SdDrawDocument;
63 class SfxMedium;
64 class SdrObject;
65 class SfxStyleSheetBasePool;
66 class SfxStyleSheetBase;
67 class SdrModel;
68 class SdrView;
69 class Bitmap;
70 class List;
71 class SdResId;
72 class Window;
73 class SdPage;
74 class TabPage;
75 class ViewShell;
77 class AbstractCopyDlg : public VclAbstractDialog //add for CopyDlg
79 public:
80 virtual void GetAttr( SfxItemSet& rOutAttrs ) = 0;
83 class AbstractSdCustomShowDlg : public VclAbstractDialog //add for SdCustomShowDlg
85 public:
86 virtual BOOL IsModified() const = 0;
87 virtual BOOL IsCustomShow() const = 0;
90 class AbstractAssistentDlg : public VclAbstractDialog //add for AssistentDlg
92 public:
93 virtual SfxObjectShellLock GetDocument() = 0;
94 virtual OutputType GetOutputMedium() const = 0;
95 virtual BOOL IsSummary() const = 0;
96 virtual StartType GetStartType() const = 0;
97 virtual String GetDocPath() const = 0;
98 virtual BOOL GetStartWithFlag() const = 0;
99 virtual BOOL IsDocEmpty() const = 0;
100 virtual String GetPassword() = 0;
103 class AbstractSdModifyFieldDlg : public VclAbstractDialog //add for SdModifyFieldDlg
105 public:
106 virtual SvxFieldData* GetField() = 0;
107 virtual SfxItemSet GetItemSet() = 0;
110 class AbstractSdSnapLineDlg : public VclAbstractDialog //add for SdSnapLineDlg
112 public:
113 virtual void GetAttr(SfxItemSet& rOutAttrs) = 0;
114 virtual void HideRadioGroup() = 0;
115 virtual void HideDeleteBtn() = 0;
116 virtual void SetInputFields(BOOL bEnableX, BOOL bEnableY) = 0;
117 //from class ::Window
118 virtual void SetText( const XubString& rStr ) = 0;
121 class AbstractSdInsertLayerDlg : public VclAbstractDialog //add for SdInsertLayerDlg
123 public:
124 virtual void GetAttr( SfxItemSet& rOutAttrs ) = 0;
125 //from class ::Window
126 virtual void SetHelpId( ULONG nHelpId ) = 0;
129 class AbstractSdInsertPasteDlg : public VclAbstractDialog //add for SdInsertPasteDlg
131 public:
132 virtual BOOL IsInsertBefore() const = 0;
135 class AbstractSdInsertPagesObjsDlg : public VclAbstractDialog //add for SdInsertPagesObjsDlg
137 public:
138 virtual ::Window* GetWindow() = 0; //this method is added for return a ::Window type pointer
139 virtual List* GetList( USHORT nType ) = 0;
140 virtual BOOL IsLink() = 0;
141 virtual BOOL IsRemoveUnnessesaryMasterPages() const = 0;
144 class AbstractMorphDlg : public VclAbstractDialog //add for MorphDlg
146 public:
147 virtual void SaveSettings() const = 0;
148 virtual USHORT GetFadeSteps() const = 0;
149 virtual BOOL IsAttributeFade() const = 0;
150 virtual BOOL IsOrientationFade() const = 0;
153 class AbstractSdStartPresDlg : public VclAbstractDialog //add for SdStartPresentationDlg
155 public:
156 virtual void GetAttr( SfxItemSet& rOutAttrs ) = 0;
159 class AbstractSdPrintDlg : public VclAbstractDialog //add for SdPrintDlg
161 public:
162 virtual USHORT GetAttr() = 0;
165 class AbstractSdPresLayoutDlg : public VclAbstractDialog //add for SdPresLayoutDlg
167 public:
168 virtual void GetAttr(SfxItemSet& rOutAttrs) = 0;
171 class AbstractSdVectorizeDlg : public VclAbstractDialog //add for SdVectorizeDlg
173 public:
174 virtual const GDIMetaFile& GetGDIMetaFile() const = 0;
177 class AbstractSdPublishingDlg : public VclAbstractDialog //add for SdPublishingDlg
179 public:
180 virtual void GetParameterSequence( ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rParams ) = 0;
183 class AbstractHeaderFooterDialog : public VclAbstractDialog // add for HeaderFooterDialog
185 public:
186 virtual void ApplyToAll( TabPage* pPage ) = 0;
187 virtual void Apply( TabPage* pPage ) = 0;
188 virtual void Cancel( TabPage* pPage ) = 0;
191 //---------------------------------------------------------
192 class SdAbstractDialogFactory
194 public:
195 static SdAbstractDialogFactory* Create();
197 virtual VclAbstractDialog* CreateBreakDlg(::Window* pWindow, ::sd::DrawView* pDrView, ::sd::DrawDocShell* pShell, ULONG nSumActionCount, ULONG nObjCount ) = 0;
198 virtual AbstractCopyDlg* CreateCopyDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, XColorTable* pColTab, ::sd::View* pView ) = 0;
199 virtual AbstractSdCustomShowDlg* CreateSdCustomShowDlg( ::Window* pWindow, SdDrawDocument& rDrawDoc ) = 0;
200 virtual SfxAbstractTabDialog* CreateSdTabCharDialog( ::Window* pParent, const SfxItemSet* pAttr, SfxObjectShell* pDocShell ) = 0;
201 virtual SfxAbstractTabDialog* CreateSdTabPageDialog( ::Window* pParent, const SfxItemSet* pAttr, SfxObjectShell* pDocShell, BOOL bAreaPage = TRUE ) = 0;
202 virtual AbstractAssistentDlg* CreateAssistentDlg( ::Window* pParent, BOOL bAutoPilot) = 0;
203 virtual AbstractSdModifyFieldDlg* CreateSdModifyFieldDlg( ::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet ) = 0;
204 virtual AbstractSdSnapLineDlg* CreateSdSnapLineDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, ::sd::View* pView) = 0;
205 virtual AbstractSdInsertLayerDlg* CreateSdInsertLayerDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, bool bDeletable, String aStr ) = 0;
206 virtual AbstractSdInsertPasteDlg* CreateSdInsertPasteDlg( ::Window* pWindow ) = 0;
207 virtual AbstractSdInsertPagesObjsDlg* CreateSdInsertPagesObjsDlg( ::Window* pParent, const SdDrawDocument* pDoc, SfxMedium* pSfxMedium, const String& rFileName ) = 0;
208 virtual AbstractMorphDlg* CreateMorphDlg( ::Window* pParent, const SdrObject* pObj1, const SdrObject* pObj2) = 0;
209 virtual SfxAbstractTabDialog* CreateSdOutlineBulletTabDlg ( ::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView = NULL ) = 0;
210 virtual SfxAbstractTabDialog* CreateSdParagraphTabDlg ( ::Window* pParent, const SfxItemSet* pAttr ) = 0;
211 virtual AbstractSdStartPresDlg* CreateSdStartPresentationDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, List& rPageNames, List* pCSList ) = 0;
212 virtual AbstractSdPrintDlg* CreateSdPrintDlg( ::Window* pWindow ) = 0; //add for SdPrintDlg
213 virtual SfxAbstractTabDialog* CreateSdPresLayoutTemplateDlg( SfxObjectShell* pDocSh, ::Window* pParent, SdResId DlgId, SfxStyleSheetBase& rStyleBase, PresentationObjects ePO, SfxStyleSheetBasePool* pSSPool ) = 0;
214 virtual AbstractSdPresLayoutDlg* CreateSdPresLayoutDlg( ::sd::DrawDocShell* pDocShell, ::sd::ViewShell* pViewShell, ::Window* pWindow, const SfxItemSet& rInAttrs) = 0;
215 virtual SfxAbstractTabDialog* CreateSdTabTemplateDlg( ::Window* pParent, const SfxObjectShell* pDocShell, SfxStyleSheetBase& rStyleBase, SdrModel* pModel, SdrView* pView ) = 0;
216 virtual SfxAbstractDialog* CreatSdActionDialog( ::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView ) = 0;
217 virtual AbstractSdVectorizeDlg* CreateSdVectorizeDlg( ::Window* pParent, const Bitmap& rBmp, ::sd::DrawDocShell* pDocShell ) = 0;
218 virtual AbstractSdPublishingDlg* CreateSdPublishingDlg( ::Window* pWindow, DocumentType eDocType) = 0;
220 virtual VclAbstractDialog* CreateMasterLayoutDialog( ::Window* pParent,
221 SdDrawDocument* pDoc,
222 SdPage* ) = 0; // add for MasterLayoutDialog
224 virtual AbstractHeaderFooterDialog* CreateHeaderFooterDialog( ViewShell* pViewShell,
225 ::Window* pParent,
226 SdDrawDocument* pDoc,
227 SdPage* pCurrentPage ) = 0; // add for HeaderFooterDialog
229 virtual CreateTabPage GetSdOptionsContentsTabPageCreatorFunc() = 0;
230 virtual CreateTabPage GetSdPrintOptionsTabPageCreatorFunc() = 0;
231 virtual CreateTabPage GetSdOptionsMiscTabPageCreatorFunc() = 0;
232 virtual CreateTabPage GetSdOptionsSnapTabPageCreatorFunc() = 0;
234 #endif