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"
55 class SfxObjectShellLock
;
62 class SfxStyleSheetBasePool
;
63 class SfxStyleSheetBase
;
74 class AbstractCopyDlg
: public VclAbstractDialog
//add for CopyDlg
77 virtual void GetAttr( SfxItemSet
& rOutAttrs
) = 0;
80 class AbstractSdCustomShowDlg
: public VclAbstractDialog
//add for SdCustomShowDlg
83 virtual sal_Bool
IsModified() const = 0;
84 virtual sal_Bool
IsCustomShow() const = 0;
87 class AbstractAssistentDlg
: public VclAbstractDialog
//add for AssistentDlg
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
103 virtual SvxFieldData
* GetField() = 0;
104 virtual SfxItemSet
GetItemSet() = 0;
107 class AbstractSdSnapLineDlg
: public VclAbstractDialog
//add for SdSnapLineDlg
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
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
129 virtual sal_Bool
IsInsertBefore() const = 0;
132 class AbstractSdInsertPagesObjsDlg
: public VclAbstractDialog
//add for SdInsertPagesObjsDlg
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
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
153 virtual void GetAttr( SfxItemSet
& rOutAttrs
) = 0;
156 class AbstractSdPresLayoutDlg
: public VclAbstractDialog
//add for SdPresLayoutDlg
159 virtual void GetAttr(SfxItemSet
& rOutAttrs
) = 0;
162 class AbstractSdVectorizeDlg
: public VclAbstractDialog
//add for SdVectorizeDlg
165 virtual const GDIMetaFile
& GetGDIMetaFile() const = 0;
168 class AbstractSdPublishingDlg
: public VclAbstractDialog
//add for SdPublishingDlg
171 virtual void GetParameterSequence( ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
>& rParams
) = 0;
174 class AbstractHeaderFooterDialog
: public VclAbstractDialog
// add for HeaderFooterDialog
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
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
,
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;