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_SW_SOURCE_UI_DIALOG_SWDLGFACT_HXX
20 #define INCLUDED_SW_SOURCE_UI_DIALOG_SWDLGFACT_HXX
22 #include <swabstdlg.hxx>
24 #include <abstract.hxx>
25 #include <ascfldlg.hxx>
28 #include <contentcontrollistitemdlg.hxx>
29 #include <convert.hxx>
30 #include <DateFormFieldDialog.hxx>
31 #include <dbinsdlg.hxx>
32 #include <DropDownFieldDialog.hxx>
33 #include <DropDownFormFieldDialog.hxx>
34 #include <fldtdlg.hxx>
35 #include <glossary.hxx>
37 #include <insfnote.hxx>
38 #include <javaedit.hxx>
40 #include <mailmergewizard.hxx>
41 #include <mailmrge.hxx>
42 #include <mergetbl.hxx>
43 #include <multmrk.hxx>
44 #include <regionsw.hxx>
46 #include <selglos.hxx>
47 #include <splittbl.hxx>
49 #include <swmodalredlineacceptdlg.hxx>
50 #include <swrenamexnameddlg.hxx>
51 #include <swuicnttab.hxx>
52 #include <swuiidxmrk.hxx>
53 #include <tautofmt.hxx>
55 #include <wordcountdialog.hxx>
56 #include <itabenum.hxx>
58 #include <o3tl/deleter.hxx>
59 #include <pagenumberdlg.hxx>
60 #include <changedb.hxx>
61 #include <copyfielddlg.hxx>
63 //AbstractDialogFactory_Impl implementations
64 class SwAbstractDialogFactory_Impl
: public SwAbstractDialogFactory
68 virtual ~SwAbstractDialogFactory_Impl() {}
70 virtual VclPtr
<SfxAbstractDialog
> CreateNumFormatDialog(weld::Widget
* pParent
, const SfxItemSet
& rAttr
) override
;
71 virtual VclPtr
<SfxAbstractDialog
> CreateSwDropCapsDialog(weld::Window
* pParent
, const SfxItemSet
& rSet
) override
;
72 virtual VclPtr
<SfxAbstractDialog
> CreateSwBackgroundDialog(weld::Window
* pParent
, const SfxItemSet
& rSet
) override
;
73 virtual VclPtr
<AbstractSwWordCountFloatDlg
> CreateSwWordCountDialog(SfxBindings
* pBindings
,
74 SfxChildWindow
* pChild
, weld::Window
*pParent
, SfxChildWinInfo
* pInfo
) override
;
75 virtual VclPtr
<AbstractSwInsertAbstractDlg
> CreateSwInsertAbstractDlg(weld::Window
* pParent
) override
;
76 virtual VclPtr
<SfxAbstractDialog
> CreateSwAddressAbstractDlg(weld::Window
* pParent
, const SfxItemSet
& rSet
) override
;
77 virtual VclPtr
<AbstractSwAsciiFilterDlg
> CreateSwAsciiFilterDlg(weld::Window
* pParent
, SwDocShell
& rDocSh
,
78 SvStream
* pStream
) override
;
79 virtual VclPtr
<VclAbstractDialog
> CreateSwInsertBookmarkDlg(weld::Window
*pParent
, SwWrtShell
&rSh
, OUString
const* pSelected
) override
;
80 virtual VclPtr
<VclAbstractDialog
> CreateSwContentControlDlg(weld::Window
*pParent
, SwWrtShell
&rSh
) override
;
81 virtual VclPtr
<AbstractSwPageNumberDlg
> CreateSwPageNumberDlg(weld::Window
*pParent
) override
;
83 VclPtr
<AbstractSwContentControlListItemDlg
>
84 CreateSwContentControlListItemDlg(weld::Window
* pParent
,
85 SwContentControlListItem
& rItem
) override
;
87 virtual std::shared_ptr
<AbstractSwBreakDlg
> CreateSwBreakDlg(weld::Window
*pParent
, SwWrtShell
&rSh
) override
;
88 virtual std::shared_ptr
<AbstractSwTranslateLangSelectDlg
> CreateSwTranslateLangSelectDlg(weld::Window
*pParent
, SwWrtShell
&rSh
) override
;
89 virtual VclPtr
<AbstractChangeDbDialog
> CreateSwChangeDBDlg(SwView
& rVw
) override
;
90 virtual VclPtr
<SfxAbstractTabDialog
> CreateSwCharDlg(weld::Window
* pParent
, SwView
& pVw
, const SfxItemSet
& rCoreSet
,
91 SwCharDlgMode nDialogMode
, const OUString
* pFormatStr
= nullptr) override
;
92 virtual VclPtr
<AbstractSwConvertTableDlg
> CreateSwConvertTableDlg(SwView
& rView
, bool bToTable
) override
;
93 virtual VclPtr
<VclAbstractDialog
> CreateSwCaptionDialog(weld::Window
*pParent
, SwView
&rV
) override
;
94 virtual VclPtr
<AbstractSwInsertDBColAutoPilot
> CreateSwInsertDBColAutoPilot(SwView
& rView
,
95 css::uno::Reference
< css::sdbc::XDataSource
> rxSource
,
96 css::uno::Reference
<css::sdbcx::XColumnsSupplier
> xColSupp
,
97 const SwDBData
& rData
) override
;
98 virtual VclPtr
<SfxAbstractTabDialog
> CreateSwFootNoteOptionDlg(weld::Window
*pParent
, SwWrtShell
&rSh
) override
;
100 virtual VclPtr
<AbstractDropDownFieldDialog
> CreateDropDownFieldDialog(weld::Widget
* pParent
, SwWrtShell
&rSh
,
101 SwField
* pField
, bool bPrevButton
, bool bNextButton
) override
;
102 virtual VclPtr
<AbstractDropDownFormFieldDialog
> CreateDropDownFormFieldDialog(weld::Widget
* pParent
, sw::mark::Fieldmark
* pDropDownField
) override
;
103 virtual VclPtr
<AbstractDateFormFieldDialog
> CreateDateFormFieldDialog(weld::Widget
* pParent
, sw::mark::DateFieldmark
* pDateField
, SwDoc
& rDoc
) override
;
105 virtual VclPtr
<SfxAbstractTabDialog
> CreateSwEnvDlg(weld::Window
* pParent
, const SfxItemSet
& rSet
, SwWrtShell
* pWrtSh
, Printer
* pPrt
, bool bInsert
) override
;
106 virtual VclPtr
<AbstractSwLabDlg
> CreateSwLabDlg(weld::Window
* pParent
, const SfxItemSet
& rSet
,
107 SwDBManager
* pDBManager
, bool bLabel
) override
;
109 virtual SwLabDlgMethod
GetSwLabDlgStaticMethod () override
;
110 virtual VclPtr
<SfxAbstractTabDialog
> CreateSwParaDlg(weld::Window
*pParent
,
112 const SfxItemSet
& rCoreSet
,
114 const OUString
& sDefPage
= {}) override
;
116 virtual VclPtr
<VclAbstractDialog
> CreateSwAutoMarkDialog(weld::Window
*pParent
, SwWrtShell
&rSh
) override
;
117 virtual VclPtr
<AbstractSwSelGlossaryDlg
> CreateSwSelGlossaryDlg(weld::Window
*pParent
, const OUString
&rShortName
) override
;
118 virtual VclPtr
<AbstractSwSortDlg
> CreateSwSortingDialog(weld::Window
*pParent
, SwWrtShell
&rSh
) override
;
119 virtual VclPtr
<AbstractSwTableHeightDlg
> CreateSwTableHeightDialog(weld::Window
*pParent
, SwWrtShell
&rSh
) override
;
120 virtual VclPtr
<VclAbstractDialog
> CreateSwColumnDialog(weld::Window
*pParent
, SwWrtShell
&rSh
) override
;
121 virtual VclPtr
<AbstractSplitTableDialog
> CreateSplitTableDialog(weld::Window
* pParent
, SwWrtShell
&rSh
) override
;
123 virtual VclPtr
<AbstractSwAutoFormatDlg
> CreateSwAutoFormatDlg(weld::Window
* pParent
, SwWrtShell
* pShell
,
124 bool bSetAutoFormat
= true,
125 const SwTableAutoFormat
* pSelFormat
= nullptr) override
;
126 virtual VclPtr
<SfxAbstractDialog
> CreateSwBorderDlg(weld::Window
* pParent
, SfxItemSet
& rSet
, SwBorderModes nType
) override
;
128 virtual VclPtr
<SfxAbstractDialog
> CreateSwWrapDlg(weld::Window
* pParent
, const SfxItemSet
& rSet
, SwWrtShell
* pSh
) override
;
129 virtual VclPtr
<AbstractSwTableWidthDlg
> CreateSwTableWidthDlg(weld::Window
*pParent
, SwWrtShell
*pShell
) override
;
130 virtual VclPtr
<SfxAbstractTabDialog
> CreateSwTableTabDlg(weld::Window
* pParent
,
131 const SfxItemSet
* pItemSet
, SwWrtShell
* pSh
) override
;
132 virtual VclPtr
<AbstractSwFieldDlg
> CreateSwFieldDlg(SfxBindings
* pB
, SwChildWinWrapper
* pCW
, weld::Window
*pParent
) override
;
133 virtual VclPtr
<SfxAbstractDialog
> CreateSwFieldEditDlg ( SwView
& rVw
) override
;
134 virtual VclPtr
<AbstractSwRenameXNamedDlg
> CreateSwRenameXNamedDlg(weld::Widget
* pParent
,
135 css::uno::Reference
< css::container::XNamed
> & xNamed
,
136 css::uno::Reference
< css::container::XNameAccess
> & xNameAccess
) override
;
137 virtual VclPtr
<AbstractSwModalRedlineAcceptDlg
> CreateSwModalRedlineAcceptDlg(weld::Window
*pParent
) override
;
139 virtual VclPtr
<VclAbstractDialog
> CreateTableMergeDialog(weld::Window
* pParent
, bool& rWithPrev
) override
;
140 virtual VclPtr
<SfxAbstractTabDialog
> CreateFrameTabDialog( const OUString
&rDialogType
,
141 SfxViewFrame
& rFrame
, weld::Window
*pParent
,
142 const SfxItemSet
& rCoreSet
,
143 bool bNewFrame
= true,
144 const OUString
& sDefPage
= {}) override
;
145 virtual VclPtr
<SfxAbstractApplyTabDialog
> CreateTemplateDialog(
146 weld::Window
*pParent
,
147 SfxStyleSheetBase
& rBase
,
148 SfxStyleFamily nRegion
,
149 const OUString
& sPage
,
150 SwWrtShell
* pActShell
,
152 virtual VclPtr
<AbstractGlossaryDlg
> CreateGlossaryDlg(SfxViewFrame
& rViewFrame
,
153 SwGlossaryHdl
* pGlosHdl
,
154 SwWrtShell
*pWrtShell
) override
;
155 virtual VclPtr
<AbstractFieldInputDlg
> CreateFieldInputDlg(weld::Widget
*pParent
,
156 SwWrtShell
&rSh
, SwField
* pField
, bool bPrevButton
, bool bNextButton
) override
;
157 virtual VclPtr
<AbstractInsFootNoteDlg
> CreateInsFootNoteDlg(
158 weld::Window
* pParent
, SwWrtShell
&rSh
, bool bEd
= false) override
;
159 virtual VclPtr
<VclAbstractDialog
> CreateTitlePageDlg(weld::Window
* pParent
) override
;
160 virtual VclPtr
<VclAbstractDialog
> CreateVclSwViewDialog(SwView
& rView
) override
;
161 virtual std::shared_ptr
<AbstractInsTableDlg
> CreateInsTableDlg(SwView
& rView
) override
;
162 virtual VclPtr
<AbstractJavaEditDialog
> CreateJavaEditDialog(weld::Window
* pParent
,
163 SwWrtShell
* pWrtSh
) override
;
164 virtual VclPtr
<AbstractMailMergeDlg
> CreateMailMergeDlg(
165 weld::Window
* pParent
, SwWrtShell
& rSh
,
166 const OUString
& rSourceName
,
167 const OUString
& rTableName
,
168 sal_Int32 nCommandType
,
169 const css::uno::Reference
< css::sdbc::XConnection
>& xConnection
) override
;
170 virtual VclPtr
<AbstractMailMergeCreateFromDlg
> CreateMailMergeCreateFromDlg(weld::Window
* pParent
) override
;
171 virtual VclPtr
<AbstractMailMergeFieldConnectionsDlg
> CreateMailMergeFieldConnectionsDlg(weld::Window
* pParent
) override
;
172 virtual VclPtr
<VclAbstractDialog
> CreateMultiTOXMarkDlg(weld::Window
* pParent
, SwTOXMgr
&rTOXMgr
) override
;
173 virtual VclPtr
<SfxAbstractTabDialog
> CreateOutlineTabDialog(weld::Window
* pParent
, const SfxItemSet
* pSwItemSet
,
174 SwWrtShell
&) override
;
175 virtual VclPtr
<AbstractNumBulletDialog
> CreateSvxNumBulletTabDialog(weld::Window
* pParent
,
176 const SfxItemSet
& rSwItemSet
,
177 SwWrtShell
&) override
;
178 virtual VclPtr
<AbstractMultiTOXTabDialog
> CreateMultiTOXTabDialog(
179 weld::Widget
* pParent
, const SfxItemSet
& rSet
,
182 bool bGlobal
) override
;
183 virtual VclPtr
<AbstractEditRegionDlg
> CreateEditRegionDlg(weld::Window
* pParent
, SwWrtShell
& rWrtSh
) override
;
184 virtual VclPtr
<AbstractInsertSectionTabDialog
> CreateInsertSectionTabDialog(
185 weld::Window
* pParent
, const SfxItemSet
& rSet
, SwWrtShell
& rSh
) override
;
186 virtual VclPtr
<AbstractMarkFloatDlg
> CreateIndexMarkFloatDlg(
187 SfxBindings
* pBindings
,
188 SfxChildWindow
* pChild
,
189 weld::Window
*pParent
,
190 SfxChildWinInfo
* pInfo
) override
;
191 virtual VclPtr
<AbstractMarkFloatDlg
> CreateAuthMarkFloatDlg(
192 SfxBindings
* pBindings
,
193 SfxChildWindow
* pChild
,
194 weld::Window
*pParent
,
195 SfxChildWinInfo
* pInfo
) override
;
196 virtual VclPtr
<VclAbstractDialog
> CreateIndexMarkModalDlg(
197 weld::Window
*pParent
, SwWrtShell
& rSh
, SwTOXMark
* pCurTOXMark
) override
;
199 virtual VclPtr
<AbstractMailMergeWizard
> CreateMailMergeWizard(SwView
& rView
, std::shared_ptr
<SwMailMergeConfigItem
>& rConfigItem
) override
;
201 virtual GlossaryGetCurrGroup
GetGlossaryCurrGroupFunc() override
;
202 virtual GlossarySetActGroup
SetGlossaryActGroupFunc() override
;
204 virtual VclPtr
<AbstractCopyFieldDlg
> CreateCopyFieldDlg(weld::Widget
* pParent
, const rtl::OUString
& rFieldValue
) override
;
207 virtual CreateTabPage
GetTabPageCreatorFunc( sal_uInt16 nId
) override
;
209 virtual void ExecuteMMResultSaveDialog(weld::Window
* pParent
) override
;
210 virtual void ExecuteMMResultPrintDialog(weld::Window
* pParent
) override
;
211 virtual void ExecuteMMResultEmailDialog(weld::Window
* pParent
) override
;
216 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */