1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef _SD_ABSTDLG_HXX
20 #define _SD_ABSTDLG_HXX
24 #include <rtl/ref.hxx>
25 #include <rtl/string.hxx>
26 #include <tools/solar.h>
27 #include <tools/string.hxx>
28 #include <sfx2/sfxdlg.hxx>
29 #include <com/sun/star/uno/Sequence.h>
30 #include <com/sun/star/beans/NamedValue.hpp>
31 #include <com/sun/star/beans/XPropertyAccess.hpp>
32 #include "prlayout.hxx"
33 #include "sdenumdef.hxx"
44 class SfxObjectShellLock
;
51 class SfxStyleSheetBasePool
;
52 class SfxStyleSheetBase
;
62 class SdCustomShowList
;
64 class AbstractCopyDlg
: public VclAbstractDialog
//add for CopyDlg
67 virtual void GetAttr( SfxItemSet
& rOutAttrs
) = 0;
70 class AbstractSdCustomShowDlg
: public VclAbstractDialog
//add for SdCustomShowDlg
73 virtual sal_Bool
IsModified() const = 0;
74 virtual sal_Bool
IsCustomShow() const = 0;
77 class AbstractAssistentDlg
: public VclAbstractDialog
//add for AssistentDlg
80 virtual SfxObjectShellLock
GetDocument() = 0;
81 virtual OutputType
GetOutputMedium() const = 0;
82 virtual sal_Bool
IsSummary() const = 0;
83 virtual StartType
GetStartType() const = 0;
84 virtual String
GetDocPath() const = 0;
85 virtual sal_Bool
GetStartWithFlag() const = 0;
86 virtual sal_Bool
IsDocEmpty() const = 0;
87 virtual com::sun::star::uno::Sequence
< com::sun::star::beans::NamedValue
> GetPassword() = 0;
90 class AbstractSdModifyFieldDlg
: public VclAbstractDialog
//add for SdModifyFieldDlg
93 virtual SvxFieldData
* GetField() = 0;
94 virtual SfxItemSet
GetItemSet() = 0;
97 class AbstractSdSnapLineDlg
: public VclAbstractDialog
//add for SdSnapLineDlg
100 virtual void GetAttr(SfxItemSet
& rOutAttrs
) = 0;
101 virtual void HideRadioGroup() = 0;
102 virtual void HideDeleteBtn() = 0;
103 virtual void SetInputFields(sal_Bool bEnableX
, sal_Bool bEnableY
) = 0;
104 //from class ::Window
105 virtual void SetText( const OUString
& rStr
) = 0;
108 class AbstractSdInsertLayerDlg
: public VclAbstractDialog
//add for SdInsertLayerDlg
111 virtual void GetAttr( SfxItemSet
& rOutAttrs
) = 0;
112 //from class ::Window
113 virtual void SetHelpId( const OString
& rHelpId
) = 0;
116 class AbstractSdInsertPasteDlg
: public VclAbstractDialog
//add for SdInsertPasteDlg
119 virtual sal_Bool
IsInsertBefore() const = 0;
122 class AbstractSdInsertPagesObjsDlg
: public VclAbstractDialog
//add for SdInsertPagesObjsDlg
125 virtual ::Window
* GetWindow() = 0; //this method is added for return a ::Window type pointer
126 virtual std::vector
<OUString
> GetList ( const sal_uInt16 nType
) = 0;
127 virtual sal_Bool
IsLink() = 0;
128 virtual sal_Bool
IsRemoveUnnessesaryMasterPages() const = 0;
131 class AbstractMorphDlg
: public VclAbstractDialog
//add for MorphDlg
134 virtual void SaveSettings() const = 0;
135 virtual sal_uInt16
GetFadeSteps() const = 0;
136 virtual sal_Bool
IsAttributeFade() const = 0;
137 virtual sal_Bool
IsOrientationFade() const = 0;
140 class AbstractSdStartPresDlg
: public VclAbstractDialog
//add for SdStartPresentationDlg
143 virtual void GetAttr( SfxItemSet
& rOutAttrs
) = 0;
146 class AbstractSdPresLayoutDlg
: public VclAbstractDialog
//add for SdPresLayoutDlg
149 virtual void GetAttr(SfxItemSet
& rOutAttrs
) = 0;
152 class AbstractSdVectorizeDlg
: public VclAbstractDialog
//add for SdVectorizeDlg
155 virtual const GDIMetaFile
& GetGDIMetaFile() const = 0;
158 class AbstractSdPublishingDlg
: public VclAbstractDialog
//add for SdPublishingDlg
161 virtual void GetParameterSequence( ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
>& rParams
) = 0;
164 class AbstractHeaderFooterDialog
: public VclAbstractDialog
// add for HeaderFooterDialog
167 virtual void ApplyToAll( TabPage
* pPage
) = 0;
168 virtual void Apply( TabPage
* pPage
) = 0;
169 virtual void Cancel( TabPage
* pPage
) = 0;
172 //---------------------------------------------------------
173 class SdAbstractDialogFactory
176 static SdAbstractDialogFactory
* Create();
178 virtual VclAbstractDialog
* CreateBreakDlg(::Window
* pWindow
, ::sd::DrawView
* pDrView
, ::sd::DrawDocShell
* pShell
, sal_uLong nSumActionCount
, sal_uLong nObjCount
) = 0;
179 virtual AbstractCopyDlg
* CreateCopyDlg( ::Window
* pWindow
, const SfxItemSet
& rInAttrs
, const rtl::Reference
<XColorList
> &pColTab
, ::sd::View
* pView
) = 0;
180 virtual AbstractSdCustomShowDlg
* CreateSdCustomShowDlg( ::Window
* pWindow
, SdDrawDocument
& rDrawDoc
) = 0;
181 virtual SfxAbstractTabDialog
* CreateSdTabCharDialog( ::Window
* pParent
, const SfxItemSet
* pAttr
, SfxObjectShell
* pDocShell
) = 0;
182 virtual SfxAbstractTabDialog
* CreateSdTabPageDialog( ::Window
* pParent
, const SfxItemSet
* pAttr
, SfxObjectShell
* pDocShell
, sal_Bool bAreaPage
= sal_True
) = 0;
183 virtual AbstractAssistentDlg
* CreateAssistentDlg( ::Window
* pParent
, sal_Bool bAutoPilot
) = 0;
184 virtual AbstractSdModifyFieldDlg
* CreateSdModifyFieldDlg( ::Window
* pWindow
, const SvxFieldData
* pInField
, const SfxItemSet
& rSet
) = 0;
185 virtual AbstractSdSnapLineDlg
* CreateSdSnapLineDlg( ::Window
* pWindow
, const SfxItemSet
& rInAttrs
, ::sd::View
* pView
) = 0;
186 virtual AbstractSdInsertLayerDlg
* CreateSdInsertLayerDlg( ::Window
* pWindow
, const SfxItemSet
& rInAttrs
, bool bDeletable
, String aStr
) = 0;
187 virtual AbstractSdInsertPasteDlg
* CreateSdInsertPasteDlg( ::Window
* pWindow
) = 0;
188 virtual AbstractSdInsertPagesObjsDlg
* CreateSdInsertPagesObjsDlg( ::Window
* pParent
, const SdDrawDocument
* pDoc
, SfxMedium
* pSfxMedium
, const String
& rFileName
) = 0;
189 virtual AbstractMorphDlg
* CreateMorphDlg( ::Window
* pParent
, const SdrObject
* pObj1
, const SdrObject
* pObj2
) = 0;
190 virtual SfxAbstractTabDialog
* CreateSdOutlineBulletTabDlg ( ::Window
* pParent
, const SfxItemSet
* pAttr
, ::sd::View
* pView
= NULL
) = 0;
191 virtual SfxAbstractTabDialog
* CreateSdParagraphTabDlg ( ::Window
* pParent
, const SfxItemSet
* pAttr
) = 0;
192 virtual AbstractSdStartPresDlg
* CreateSdStartPresentationDlg( ::Window
* pWindow
, const SfxItemSet
& rInAttrs
,
193 const std::vector
<String
> &rPageNames
, SdCustomShowList
* pCSList
) = 0;
194 virtual VclAbstractDialog
* CreateRemoteDialog( ::Window
* pWindow
) = 0;
195 virtual SfxAbstractTabDialog
* CreateSdPresLayoutTemplateDlg( SfxObjectShell
* pDocSh
, ::Window
* pParent
, SdResId DlgId
, SfxStyleSheetBase
& rStyleBase
, PresentationObjects ePO
, SfxStyleSheetBasePool
* pSSPool
) = 0;
196 virtual AbstractSdPresLayoutDlg
* CreateSdPresLayoutDlg( ::sd::DrawDocShell
* pDocShell
, ::Window
* pWindow
, const SfxItemSet
& rInAttrs
) = 0;
197 virtual SfxAbstractTabDialog
* CreateSdTabTemplateDlg( ::Window
* pParent
, const SfxObjectShell
* pDocShell
, SfxStyleSheetBase
& rStyleBase
, SdrModel
* pModel
, SdrView
* pView
) = 0;
198 virtual SfxAbstractDialog
* CreatSdActionDialog( ::Window
* pParent
, const SfxItemSet
* pAttr
, ::sd::View
* pView
) = 0;
199 virtual AbstractSdVectorizeDlg
* CreateSdVectorizeDlg( ::Window
* pParent
, const Bitmap
& rBmp
, ::sd::DrawDocShell
* pDocShell
) = 0;
200 virtual AbstractSdPublishingDlg
* CreateSdPublishingDlg( ::Window
* pWindow
, DocumentType eDocType
) = 0;
202 virtual VclAbstractDialog
* CreateMasterLayoutDialog( ::Window
* pParent
,
203 SdDrawDocument
* pDoc
,
204 SdPage
* ) = 0; // add for MasterLayoutDialog
206 virtual AbstractHeaderFooterDialog
* CreateHeaderFooterDialog( ViewShell
* pViewShell
,
208 SdDrawDocument
* pDoc
,
209 SdPage
* pCurrentPage
) = 0; // add for HeaderFooterDialog
211 virtual CreateTabPage
GetSdOptionsContentsTabPageCreatorFunc() = 0;
212 virtual CreateTabPage
GetSdPrintOptionsTabPageCreatorFunc() = 0;
213 virtual CreateTabPage
GetSdOptionsMiscTabPageCreatorFunc() = 0;
214 virtual CreateTabPage
GetSdOptionsSnapTabPageCreatorFunc() = 0;
216 virtual VclAbstractDialog
* CreateSdPhotoAlbumDialog( ::Window
* pWindow
, SdDrawDocument
* pDoc
) = 0;
219 ~SdAbstractDialogFactory() {}
223 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */