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 INCLUDED_SD_INC_SDABSTDLG_HXX
20 #define INCLUDED_SD_INC_SDABSTDLG_HXX
24 #include <rtl/ref.hxx>
25 #include <rtl/string.hxx>
26 #include <tools/solar.h>
27 #include <sfx2/sfxdlg.hxx>
28 #include <com/sun/star/uno/Sequence.h>
29 #include <com/sun/star/beans/NamedValue.hpp>
30 #include <com/sun/star/beans/XPropertyAccess.hpp>
31 #include "prlayout.hxx"
32 #include "sdenumdef.hxx"
43 class SfxObjectShellLock
;
50 class SfxStyleSheetBasePool
;
51 class SfxStyleSheetBase
;
57 namespace vcl
{ class Window
; }
60 class SdCustomShowList
;
62 class AbstractCopyDlg
: public VclAbstractDialog
65 virtual void GetAttr( SfxItemSet
& rOutAttrs
) = 0;
68 class AbstractSdCustomShowDlg
: public VclAbstractDialog
71 virtual bool IsModified() const = 0;
72 virtual bool IsCustomShow() const = 0;
75 class AbstractAssistentDlg
: public VclAbstractDialog
78 virtual SfxObjectShellLock
GetDocument() = 0;
79 virtual OutputType
GetOutputMedium() const = 0;
80 virtual bool IsSummary() const = 0;
81 virtual StartType
GetStartType() const = 0;
82 virtual OUString
GetDocPath() const = 0;
83 virtual bool GetStartWithFlag() const = 0;
84 virtual bool IsDocEmpty() const = 0;
85 virtual com::sun::star::uno::Sequence
< com::sun::star::beans::NamedValue
> GetPassword() = 0;
88 class AbstractSdModifyFieldDlg
: public VclAbstractDialog
91 virtual SvxFieldData
* GetField() = 0;
92 virtual SfxItemSet
GetItemSet() = 0;
95 class AbstractSdSnapLineDlg
: public VclAbstractDialog
98 virtual void GetAttr(SfxItemSet
& rOutAttrs
) = 0;
99 virtual void HideRadioGroup() = 0;
100 virtual void HideDeleteBtn() = 0;
101 virtual void SetInputFields(bool bEnableX
, bool bEnableY
) = 0;
102 //from class vcl::Window
103 virtual void SetText( const OUString
& rStr
) = 0;
106 class AbstractSdInsertLayerDlg
: public VclAbstractDialog
109 virtual void GetAttr( SfxItemSet
& rOutAttrs
) = 0;
110 //from class vcl::Window
111 virtual void SetHelpId( const OString
& rHelpId
) = 0;
114 class AbstractSdInsertPasteDlg
: public VclAbstractDialog
117 virtual bool IsInsertBefore() const = 0;
120 class AbstractSdInsertPagesObjsDlg
: public VclAbstractDialog
123 virtual vcl::Window
* GetWindow() = 0; //this method is added for return a vcl::Window type pointer
124 virtual std::vector
<OUString
> GetList ( const sal_uInt16 nType
) = 0;
125 virtual bool IsLink() = 0;
126 virtual bool IsRemoveUnnessesaryMasterPages() const = 0;
129 class AbstractMorphDlg
: public VclAbstractDialog
132 virtual void SaveSettings() const = 0;
133 virtual sal_uInt16
GetFadeSteps() const = 0;
134 virtual bool IsAttributeFade() const = 0;
135 virtual bool IsOrientationFade() const = 0;
138 class AbstractSdStartPresDlg
: public VclAbstractDialog
141 virtual void GetAttr( SfxItemSet
& rOutAttrs
) = 0;
144 class AbstractSdPresLayoutDlg
: public VclAbstractDialog
147 virtual void GetAttr(SfxItemSet
& rOutAttrs
) = 0;
150 class AbstractSdVectorizeDlg
: public VclAbstractDialog
153 virtual const GDIMetaFile
& GetGDIMetaFile() const = 0;
156 class AbstractSdPublishingDlg
: public VclAbstractDialog
159 virtual void GetParameterSequence( ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
>& rParams
) = 0;
162 class AbstractHeaderFooterDialog
: public VclAbstractDialog
165 virtual void ApplyToAll() = 0;
166 virtual void Apply() = 0;
167 virtual void Cancel() = 0;
170 class SdAbstractDialogFactory
173 static SdAbstractDialogFactory
* Create();
175 virtual VclAbstractDialog
* CreateBreakDlg(vcl::Window
* pWindow
, ::sd::DrawView
* pDrView
, ::sd::DrawDocShell
* pShell
, sal_uLong nSumActionCount
, sal_uLong nObjCount
) = 0;
176 virtual AbstractCopyDlg
* CreateCopyDlg( vcl::Window
* pWindow
, const SfxItemSet
& rInAttrs
, const rtl::Reference
<XColorList
> &pColTab
, ::sd::View
* pView
) = 0;
177 virtual AbstractSdCustomShowDlg
* CreateSdCustomShowDlg( vcl::Window
* pWindow
, SdDrawDocument
& rDrawDoc
) = 0;
178 virtual SfxAbstractTabDialog
* CreateSdTabCharDialog( vcl::Window
* pParent
, const SfxItemSet
* pAttr
, SfxObjectShell
* pDocShell
) = 0;
179 virtual SfxAbstractTabDialog
* CreateSdTabPageDialog( vcl::Window
* pParent
, const SfxItemSet
* pAttr
, SfxObjectShell
* pDocShell
, bool bAreaPage
= true ) = 0;
180 virtual AbstractAssistentDlg
* CreateAssistentDlg( vcl::Window
* pParent
, bool bAutoPilot
) = 0;
181 virtual AbstractSdModifyFieldDlg
* CreateSdModifyFieldDlg( vcl::Window
* pWindow
, const SvxFieldData
* pInField
, const SfxItemSet
& rSet
) = 0;
182 virtual AbstractSdSnapLineDlg
* CreateSdSnapLineDlg( vcl::Window
* pWindow
, const SfxItemSet
& rInAttrs
, ::sd::View
* pView
) = 0;
183 virtual AbstractSdInsertLayerDlg
* CreateSdInsertLayerDlg( vcl::Window
* pWindow
, const SfxItemSet
& rInAttrs
, bool bDeletable
, const OUString
& aStr
) = 0;
184 virtual AbstractSdInsertPasteDlg
* CreateSdInsertPasteDlg( vcl::Window
* pWindow
) = 0;
185 virtual AbstractSdInsertPagesObjsDlg
* CreateSdInsertPagesObjsDlg( vcl::Window
* pParent
, const SdDrawDocument
* pDoc
, SfxMedium
* pSfxMedium
, const OUString
& rFileName
) = 0;
186 virtual AbstractMorphDlg
* CreateMorphDlg( vcl::Window
* pParent
, const SdrObject
* pObj1
, const SdrObject
* pObj2
) = 0;
187 virtual SfxAbstractTabDialog
* CreateSdOutlineBulletTabDlg ( vcl::Window
* pParent
, const SfxItemSet
* pAttr
, ::sd::View
* pView
= NULL
) = 0;
188 virtual SfxAbstractTabDialog
* CreateSdParagraphTabDlg ( vcl::Window
* pParent
, const SfxItemSet
* pAttr
) = 0;
189 virtual AbstractSdStartPresDlg
* CreateSdStartPresentationDlg( vcl::Window
* pWindow
, const SfxItemSet
& rInAttrs
,
190 const std::vector
<OUString
> &rPageNames
, SdCustomShowList
* pCSList
) = 0;
191 virtual VclAbstractDialog
* CreateRemoteDialog( vcl::Window
* pWindow
) = 0;
192 virtual SfxAbstractTabDialog
* CreateSdPresLayoutTemplateDlg( SfxObjectShell
* pDocSh
, vcl::Window
* pParent
, const SdResId
& DlgId
, SfxStyleSheetBase
& rStyleBase
, PresentationObjects ePO
, SfxStyleSheetBasePool
* pSSPool
) = 0;
193 virtual AbstractSdPresLayoutDlg
* CreateSdPresLayoutDlg( ::sd::DrawDocShell
* pDocShell
, vcl::Window
* pWindow
, const SfxItemSet
& rInAttrs
) = 0;
194 virtual SfxAbstractTabDialog
* CreateSdTabTemplateDlg( vcl::Window
* pParent
, const SfxObjectShell
* pDocShell
, SfxStyleSheetBase
& rStyleBase
, SdrModel
* pModel
, SdrView
* pView
) = 0;
195 virtual SfxAbstractDialog
* CreatSdActionDialog( vcl::Window
* pParent
, const SfxItemSet
* pAttr
, ::sd::View
* pView
) = 0;
196 virtual AbstractSdVectorizeDlg
* CreateSdVectorizeDlg( vcl::Window
* pParent
, const Bitmap
& rBmp
, ::sd::DrawDocShell
* pDocShell
) = 0;
197 virtual AbstractSdPublishingDlg
* CreateSdPublishingDlg( vcl::Window
* pWindow
, DocumentType eDocType
) = 0;
199 virtual VclAbstractDialog
* CreateMasterLayoutDialog( vcl::Window
* pParent
,
200 SdDrawDocument
* pDoc
,
203 virtual AbstractHeaderFooterDialog
* CreateHeaderFooterDialog( sd::ViewShell
* pViewShell
,
204 vcl::Window
* pParent
,
205 SdDrawDocument
* pDoc
,
206 SdPage
* pCurrentPage
) = 0;
208 virtual CreateTabPage
GetSdOptionsContentsTabPageCreatorFunc() = 0;
209 virtual CreateTabPage
GetSdPrintOptionsTabPageCreatorFunc() = 0;
210 virtual CreateTabPage
GetSdOptionsMiscTabPageCreatorFunc() = 0;
211 virtual CreateTabPage
GetSdOptionsSnapTabPageCreatorFunc() = 0;
213 virtual VclAbstractDialog
* CreateSdPhotoAlbumDialog( vcl::Window
* pWindow
, SdDrawDocument
* pDoc
) = 0;
216 ~SdAbstractDialogFactory() {}
220 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */