1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: sdabstdlg.hxx,v $
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"
58 class SfxObjectShellLock
;
65 class SfxStyleSheetBasePool
;
66 class SfxStyleSheetBase
;
77 class AbstractCopyDlg
: public VclAbstractDialog
//add for CopyDlg
80 virtual void GetAttr( SfxItemSet
& rOutAttrs
) = 0;
83 class AbstractSdCustomShowDlg
: public VclAbstractDialog
//add for SdCustomShowDlg
86 virtual BOOL
IsModified() const = 0;
87 virtual BOOL
IsCustomShow() const = 0;
90 class AbstractAssistentDlg
: public VclAbstractDialog
//add for AssistentDlg
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
106 virtual SvxFieldData
* GetField() = 0;
107 virtual SfxItemSet
GetItemSet() = 0;
110 class AbstractSdSnapLineDlg
: public VclAbstractDialog
//add for SdSnapLineDlg
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
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
132 virtual BOOL
IsInsertBefore() const = 0;
135 class AbstractSdInsertPagesObjsDlg
: public VclAbstractDialog
//add for SdInsertPagesObjsDlg
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
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
156 virtual void GetAttr( SfxItemSet
& rOutAttrs
) = 0;
159 class AbstractSdPrintDlg
: public VclAbstractDialog
//add for SdPrintDlg
162 virtual USHORT
GetAttr() = 0;
165 class AbstractSdPresLayoutDlg
: public VclAbstractDialog
//add for SdPresLayoutDlg
168 virtual void GetAttr(SfxItemSet
& rOutAttrs
) = 0;
171 class AbstractSdVectorizeDlg
: public VclAbstractDialog
//add for SdVectorizeDlg
174 virtual const GDIMetaFile
& GetGDIMetaFile() const = 0;
177 class AbstractSdPublishingDlg
: public VclAbstractDialog
//add for SdPublishingDlg
180 virtual void GetParameterSequence( ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
>& rParams
) = 0;
183 class AbstractHeaderFooterDialog
: public VclAbstractDialog
// add for HeaderFooterDialog
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
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
,
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;