Coverage Report

Created: 2025-12-31 10:39

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libreoffice/sd/inc/sdabstdlg.hxx
Line
Count
Source
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
 * This file is part of the LibreOffice project.
4
 *
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/.
8
 *
9
 * This file incorporates work covered by the following license notice:
10
 *
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 .
18
 */
19
#pragma once
20
21
#include <vector>
22
23
#include <rtl/string.hxx>
24
#include <sfx2/tabdlg.hxx>
25
#include <svl/itemset.hxx>
26
#include <tools/solar.h>
27
#include <vcl/abstdlg.hxx>
28
#include <svx/svxdlg.hxx>
29
30
#include <com/sun/star/beans/PropertyValue.hpp>
31
32
#include "prlayout.hxx"
33
#include "pres.hxx"
34
#include "sddllapi.h"
35
36
namespace sd {
37
    class View;
38
    class ViewShell;
39
    class DrawDocShell;
40
    class DrawView;
41
}
42
43
class SfxObjectShell;
44
class SvxFieldData;
45
class GDIMetaFile;
46
class SdDrawDocument;
47
class SfxMedium;
48
class SdrObject;
49
class SfxStyleSheetBasePool;
50
class SfxStyleSheetBase;
51
class SdrModel;
52
class SdrView;
53
class Bitmap;
54
class SdPage;
55
class SdCustomShowList;
56
class SfxAbstractDialog;
57
class SfxAbstractTabDialog;
58
59
class AbstractCopyDlg : public VclAbstractDialog
60
{
61
protected:
62
    virtual ~AbstractCopyDlg() override = default;
63
public:
64
    virtual void    GetAttr( SfxItemSet& rOutAttrs ) = 0;
65
};
66
67
class AbstractSdCustomShowDlg : public VclAbstractDialog
68
{
69
protected:
70
    virtual ~AbstractSdCustomShowDlg() override = default;
71
public:
72
    virtual bool        IsCustomShow() const = 0;
73
};
74
75
class AbstractSdModifyFieldDlg : public VclAbstractDialog
76
{
77
protected:
78
    virtual ~AbstractSdModifyFieldDlg() override = default;
79
public:
80
    virtual SvxFieldData*       GetField() = 0;
81
    virtual SfxItemSet          GetItemSet() = 0;
82
};
83
84
class AbstractSdSnapLineDlg : public VclAbstractDialog
85
{
86
protected:
87
    virtual ~AbstractSdSnapLineDlg() override = default;
88
public:
89
    virtual void GetAttr(SfxItemSet& rOutAttrs) = 0;
90
    virtual void HideRadioGroup() = 0;
91
    virtual void HideDeleteBtn() = 0;
92
    virtual void SetInputFields(bool bEnableX, bool bEnableY) = 0;
93
    virtual void    SetText( const OUString& rStr ) = 0;
94
};
95
96
class AbstractSdInsertLayerDlg : public VclAbstractDialog
97
{
98
protected:
99
    virtual ~AbstractSdInsertLayerDlg() override = default;
100
public:
101
    virtual void    GetAttr( SfxItemSet& rOutAttrs ) = 0;
102
    virtual void    SetHelpId( const OUString& rHelpId ) = 0;
103
};
104
105
class AbstractSdInsertPagesObjsDlg : public VclAbstractDialog
106
{
107
protected:
108
    virtual ~AbstractSdInsertPagesObjsDlg() override = default;
109
public:
110
    virtual std::vector<OUString> GetList ( const sal_uInt16 nType ) = 0;
111
    virtual bool        IsLink() = 0;
112
    virtual bool        IsRemoveUnnecessaryMasterPages() const = 0;
113
};
114
115
class AbstractMorphDlg : public VclAbstractDialog
116
{
117
protected:
118
    virtual ~AbstractMorphDlg() override = default;
119
public:
120
    virtual void            SaveSettings() const = 0;
121
    virtual sal_uInt16          GetFadeSteps() const = 0;
122
    virtual bool            IsAttributeFade() const = 0;
123
    virtual bool            IsOrientationFade() const = 0;
124
};
125
126
class AbstractSdStartPresDlg : public VclAbstractDialog
127
{
128
protected:
129
    virtual ~AbstractSdStartPresDlg() override = default;
130
public:
131
    virtual void    GetAttr( SfxItemSet& rOutAttrs ) = 0;
132
};
133
134
class AbstractSdPresLayoutDlg : public VclAbstractDialog
135
{
136
protected:
137
    virtual ~AbstractSdPresLayoutDlg() override = default;
138
public:
139
    virtual void    GetAttr(SfxItemSet& rOutAttrs) = 0;
140
};
141
142
class AbstractSdVectorizeDlg : public VclAbstractDialog
143
{
144
protected:
145
    virtual ~AbstractSdVectorizeDlg() override = default;
146
public:
147
    virtual const GDIMetaFile&  GetGDIMetaFile() const = 0;
148
};
149
150
class AbstractHeaderFooterDialog : public VclAbstractDialog
151
{
152
protected:
153
    virtual ~AbstractHeaderFooterDialog() override = default;
154
};
155
156
class SdAbstractDialogFactory
157
{
158
public:
159
    SD_DLLPUBLIC static SdAbstractDialogFactory*     Create();
160
161
    virtual VclPtr<AbstractSvxBulletAndPositionDlg> CreateSvxBulletAndPositionDlg(weld::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView) = 0;
162
    virtual VclPtr<VclAbstractDialog>          CreateBreakDlg(weld::Window* pWindow, ::sd::DrawView* pDrView, ::sd::DrawDocShell* pShell, sal_uLong nSumActionCount, sal_uLong nObjCount ) = 0;
163
    virtual VclPtr<AbstractCopyDlg>            CreateCopyDlg(weld::Window* pWindow, const SfxItemSet& rInAttrs, ::sd::View* pView ) = 0;
164
    virtual VclPtr<AbstractSdCustomShowDlg>    CreateSdCustomShowDlg(weld::Window* pWindow, SdDrawDocument& rDrawDoc) = 0;
165
    virtual VclPtr<SfxAbstractTabDialog>       CreateSdTabCharDialog(weld::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell) = 0;
166
    virtual VclPtr<SfxAbstractTabDialog>       CreateSdTabPageDialog(weld::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell, bool bAreaPage, bool bIsImpressDoc) = 0;
167
    virtual VclPtr<AbstractSdModifyFieldDlg>   CreateSdModifyFieldDlg(weld::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet) = 0;
168
    virtual VclPtr<AbstractSdSnapLineDlg>      CreateSdSnapLineDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, ::sd::View* pView) = 0;
169
    virtual VclPtr<AbstractSdInsertLayerDlg>   CreateSdInsertLayerDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, bool bDeletable, const OUString& rStr) = 0;
170
    virtual VclPtr<AbstractSdInsertPagesObjsDlg> CreateSdInsertPagesObjsDlg(weld::Window* pParent, const SdDrawDocument& rDoc, SfxMedium* pSfxMedium, const OUString& rFileName) = 0;
171
    virtual VclPtr<AbstractMorphDlg>           CreateMorphDlg(weld::Window* pParent, const SdrObject* pObj1, const SdrObject* pObj2) = 0;
172
    virtual VclPtr<SfxAbstractTabDialog>       CreateSdOutlineBulletTabDlg(weld::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView) = 0;
173
    virtual VclPtr<SfxAbstractTabDialog>       CreateSdParagraphTabDlg(weld::Window* pWindow, const SfxItemSet* pAttr) = 0;
174
    virtual VclPtr<AbstractSdStartPresDlg>     CreateSdStartPresentationDlg(weld::Window* pWindow, const SfxItemSet& rInAttrs,
175
                                                                     const std::vector<OUString> &rPageNames, SdCustomShowList* pCSList ) = 0;
176
    virtual VclPtr<VclAbstractDialog>          CreateRemoteDialog(weld::Window* pWindow) = 0;
177
    virtual VclPtr<SfxAbstractTabDialog>       CreateSdPresLayoutTemplateDlg(SfxObjectShell* pDocSh, weld::Window* pParent, bool bBackgroundDlg, SfxStyleSheetBase& rStyleBase, PresentationObjects ePO, SfxStyleSheetBasePool* pSSPool) = 0;
178
    virtual VclPtr<AbstractSdPresLayoutDlg>    CreateSdPresLayoutDlg(weld::Window* pParent, ::sd::DrawDocShell* pDocShell, const SfxItemSet& rInAttrs) = 0;
179
    virtual VclPtr<SfxAbstractTabDialog>       CreateSdTabTemplateDlg(weld::Window* pParent, const SfxObjectShell* pDocShell, SfxStyleSheetBase& rStyleBase, SdrModel* pModel, SdrView* pView) = 0;
180
    virtual VclPtr<SfxAbstractDialog>          CreatSdActionDialog(weld::Window* pParent, const SfxItemSet& rAttr, ::sd::View* pView) = 0;
181
    virtual VclPtr<AbstractSdVectorizeDlg>     CreateSdVectorizeDlg(weld::Window* pParent, const Bitmap& rBmp, ::sd::DrawDocShell* pDocShell) = 0;
182
183
    virtual VclPtr<VclAbstractDialog>          CreateMasterLayoutDialog(weld::Window* pParent, SdDrawDocument& rDoc, SdPage*) = 0;
184
185
    virtual VclPtr<AbstractHeaderFooterDialog> CreateHeaderFooterDialog(sd::ViewShell& rViewShell,
186
                                                                        weld::Window* pParent,
187
                                                                        SdDrawDocument& rDoc,
188
                                                                        SdPage* pCurrentPage) = 0;
189
190
    virtual CreateTabPage               GetSdOptionsContentsTabPageCreatorFunc() = 0;
191
    virtual CreateTabPage               GetSdPrintOptionsTabPageCreatorFunc() = 0;
192
    virtual CreateTabPage               GetSdOptionsMiscTabPageCreatorFunc() = 0;
193
    virtual CreateTabPage               GetSdOptionsSnapTabPageCreatorFunc() = 0;
194
195
    virtual VclPtr<VclAbstractDialog> CreateSdPhotoAlbumDialog(weld::Window* pWindow, SdDrawDocument& rDoc) = 0;
196
197
protected:
198
0
    ~SdAbstractDialogFactory() {}
199
};
200
201
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */