CWS-TOOLING: integrate CWS os150
[LibreOffice.git] / sd / inc / sdabstdlg.hxx
blob555f9d5a3a7e3b0ea87f058d6ae348a644fede59
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
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.
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).
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.
26 ************************************************************************/
27 #ifndef _SD_ABSTDLG_HXX
28 #define _SD_ABSTDLG_HXX
30 // include ---------------------------------------------------------------
32 #include <tools/solar.h>
33 #include <tools/string.hxx>
34 #include <sfx2/sfxdlg.hxx>
35 #include <com/sun/star/uno/Sequence.h>
36 #include <com/sun/star/beans/XPropertyAccess.hpp>
37 #include "prlayout.hxx"
38 #include "sdenumdef.hxx"
39 #include "pres.hxx"
41 namespace sd {
42 class View;
43 class DrawDocShell;
44 class ViewShell;
45 class DrawView;
48 class SfxTabPage;
49 class SfxViewFrame;
50 class SfxBindings;
51 class ResId;
52 class String;
53 class SfxItemPool;
54 class SfxObjectShell;
55 class SfxObjectShellLock;
56 class SvxFieldData;
57 class GDIMetaFile;
58 class XColorTable;
59 class SdDrawDocument;
60 class SfxMedium;
61 class SdrObject;
62 class SfxStyleSheetBasePool;
63 class SfxStyleSheetBase;
64 class SdrModel;
65 class SdrView;
66 class Bitmap;
67 class List;
68 class SdResId;
69 class Window;
70 class SdPage;
71 class TabPage;
72 class ViewShell;
74 class AbstractCopyDlg : public VclAbstractDialog //add for CopyDlg
76 public:
77 virtual void GetAttr( SfxItemSet& rOutAttrs ) = 0;
80 class AbstractSdCustomShowDlg : public VclAbstractDialog //add for SdCustomShowDlg
82 public:
83 virtual sal_Bool IsModified() const = 0;
84 virtual sal_Bool IsCustomShow() const = 0;
87 class AbstractAssistentDlg : public VclAbstractDialog //add for AssistentDlg
89 public:
90 virtual SfxObjectShellLock GetDocument() = 0;
91 virtual OutputType GetOutputMedium() const = 0;
92 virtual sal_Bool IsSummary() const = 0;
93 virtual StartType GetStartType() const = 0;
94 virtual String GetDocPath() const = 0;
95 virtual sal_Bool GetStartWithFlag() const = 0;
96 virtual sal_Bool IsDocEmpty() const = 0;
97 virtual String GetPassword() = 0;
100 class AbstractSdModifyFieldDlg : public VclAbstractDialog //add for SdModifyFieldDlg
102 public:
103 virtual SvxFieldData* GetField() = 0;
104 virtual SfxItemSet GetItemSet() = 0;
107 class AbstractSdSnapLineDlg : public VclAbstractDialog //add for SdSnapLineDlg
109 public:
110 virtual void GetAttr(SfxItemSet& rOutAttrs) = 0;
111 virtual void HideRadioGroup() = 0;
112 virtual void HideDeleteBtn() = 0;
113 virtual void SetInputFields(sal_Bool bEnableX, sal_Bool bEnableY) = 0;
114 //from class ::Window
115 virtual void SetText( const XubString& rStr ) = 0;
118 class AbstractSdInsertLayerDlg : public VclAbstractDialog //add for SdInsertLayerDlg
120 public:
121 virtual void GetAttr( SfxItemSet& rOutAttrs ) = 0;
122 //from class ::Window
123 virtual void SetHelpId( const rtl::OString& rHelpId ) = 0;
126 class AbstractSdInsertPasteDlg : public VclAbstractDialog //add for SdInsertPasteDlg
128 public:
129 virtual sal_Bool IsInsertBefore() const = 0;
132 class AbstractSdInsertPagesObjsDlg : public VclAbstractDialog //add for SdInsertPagesObjsDlg
134 public:
135 virtual ::Window* GetWindow() = 0; //this method is added for return a ::Window type pointer
136 virtual List* GetList( sal_uInt16 nType ) = 0;
137 virtual sal_Bool IsLink() = 0;
138 virtual sal_Bool IsRemoveUnnessesaryMasterPages() const = 0;
141 class AbstractMorphDlg : public VclAbstractDialog //add for MorphDlg
143 public:
144 virtual void SaveSettings() const = 0;
145 virtual sal_uInt16 GetFadeSteps() const = 0;
146 virtual sal_Bool IsAttributeFade() const = 0;
147 virtual sal_Bool IsOrientationFade() const = 0;
150 class AbstractSdStartPresDlg : public VclAbstractDialog //add for SdStartPresentationDlg
152 public:
153 virtual void GetAttr( SfxItemSet& rOutAttrs ) = 0;
156 class AbstractSdPresLayoutDlg : public VclAbstractDialog //add for SdPresLayoutDlg
158 public:
159 virtual void GetAttr(SfxItemSet& rOutAttrs) = 0;
162 class AbstractSdVectorizeDlg : public VclAbstractDialog //add for SdVectorizeDlg
164 public:
165 virtual const GDIMetaFile& GetGDIMetaFile() const = 0;
168 class AbstractSdPublishingDlg : public VclAbstractDialog //add for SdPublishingDlg
170 public:
171 virtual void GetParameterSequence( ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rParams ) = 0;
174 class AbstractHeaderFooterDialog : public VclAbstractDialog // add for HeaderFooterDialog
176 public:
177 virtual void ApplyToAll( TabPage* pPage ) = 0;
178 virtual void Apply( TabPage* pPage ) = 0;
179 virtual void Cancel( TabPage* pPage ) = 0;
182 //---------------------------------------------------------
183 class SdAbstractDialogFactory
185 public:
186 static SdAbstractDialogFactory* Create();
188 virtual VclAbstractDialog* CreateBreakDlg(::Window* pWindow, ::sd::DrawView* pDrView, ::sd::DrawDocShell* pShell, sal_uLong nSumActionCount, sal_uLong nObjCount ) = 0;
189 virtual AbstractCopyDlg* CreateCopyDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, XColorTable* pColTab, ::sd::View* pView ) = 0;
190 virtual AbstractSdCustomShowDlg* CreateSdCustomShowDlg( ::Window* pWindow, SdDrawDocument& rDrawDoc ) = 0;
191 virtual SfxAbstractTabDialog* CreateSdTabCharDialog( ::Window* pParent, const SfxItemSet* pAttr, SfxObjectShell* pDocShell ) = 0;
192 virtual SfxAbstractTabDialog* CreateSdTabPageDialog( ::Window* pParent, const SfxItemSet* pAttr, SfxObjectShell* pDocShell, sal_Bool bAreaPage = sal_True ) = 0;
193 virtual AbstractAssistentDlg* CreateAssistentDlg( ::Window* pParent, sal_Bool bAutoPilot) = 0;
194 virtual AbstractSdModifyFieldDlg* CreateSdModifyFieldDlg( ::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet ) = 0;
195 virtual AbstractSdSnapLineDlg* CreateSdSnapLineDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, ::sd::View* pView) = 0;
196 virtual AbstractSdInsertLayerDlg* CreateSdInsertLayerDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, bool bDeletable, String aStr ) = 0;
197 virtual AbstractSdInsertPasteDlg* CreateSdInsertPasteDlg( ::Window* pWindow ) = 0;
198 virtual AbstractSdInsertPagesObjsDlg* CreateSdInsertPagesObjsDlg( ::Window* pParent, const SdDrawDocument* pDoc, SfxMedium* pSfxMedium, const String& rFileName ) = 0;
199 virtual AbstractMorphDlg* CreateMorphDlg( ::Window* pParent, const SdrObject* pObj1, const SdrObject* pObj2) = 0;
200 virtual SfxAbstractTabDialog* CreateSdOutlineBulletTabDlg ( ::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView = NULL ) = 0;
201 virtual SfxAbstractTabDialog* CreateSdParagraphTabDlg ( ::Window* pParent, const SfxItemSet* pAttr ) = 0;
202 virtual AbstractSdStartPresDlg* CreateSdStartPresentationDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, List& rPageNames, List* pCSList ) = 0;
203 virtual SfxAbstractTabDialog* CreateSdPresLayoutTemplateDlg( SfxObjectShell* pDocSh, ::Window* pParent, SdResId DlgId, SfxStyleSheetBase& rStyleBase, PresentationObjects ePO, SfxStyleSheetBasePool* pSSPool ) = 0;
204 virtual AbstractSdPresLayoutDlg* CreateSdPresLayoutDlg( ::sd::DrawDocShell* pDocShell, ::sd::ViewShell* pViewShell, ::Window* pWindow, const SfxItemSet& rInAttrs) = 0;
205 virtual SfxAbstractTabDialog* CreateSdTabTemplateDlg( ::Window* pParent, const SfxObjectShell* pDocShell, SfxStyleSheetBase& rStyleBase, SdrModel* pModel, SdrView* pView ) = 0;
206 virtual SfxAbstractDialog* CreatSdActionDialog( ::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView ) = 0;
207 virtual AbstractSdVectorizeDlg* CreateSdVectorizeDlg( ::Window* pParent, const Bitmap& rBmp, ::sd::DrawDocShell* pDocShell ) = 0;
208 virtual AbstractSdPublishingDlg* CreateSdPublishingDlg( ::Window* pWindow, DocumentType eDocType) = 0;
210 virtual VclAbstractDialog* CreateMasterLayoutDialog( ::Window* pParent,
211 SdDrawDocument* pDoc,
212 SdPage* ) = 0; // add for MasterLayoutDialog
214 virtual AbstractHeaderFooterDialog* CreateHeaderFooterDialog( ViewShell* pViewShell,
215 ::Window* pParent,
216 SdDrawDocument* pDoc,
217 SdPage* pCurrentPage ) = 0; // add for HeaderFooterDialog
219 virtual CreateTabPage GetSdOptionsContentsTabPageCreatorFunc() = 0;
220 virtual CreateTabPage GetSdPrintOptionsTabPageCreatorFunc() = 0;
221 virtual CreateTabPage GetSdOptionsMiscTabPageCreatorFunc() = 0;
222 virtual CreateTabPage GetSdOptionsSnapTabPageCreatorFunc() = 0;
224 #endif