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 #ifndef INCLUDED_CUI_SOURCE_FACTORY_DLGFACT_HXX
20 #define INCLUDED_CUI_SOURCE_FACTORY_DLGFACT_HXX
21 
22 #include <svx/svxdlg.hxx>
23 #include <svx/zoom_def.hxx>
24 #include <com/sun/star/container/XNameReplace.hpp>
25 
26 #include <tools/link.hxx>
27 #include <com/sun/star/frame/XFrame.hpp>
28 
29 #include <cfgutil.hxx>
30 #include <cui/cuicharmap.hxx>
31 #include <cuifmsearch.hxx>
32 #include <cuigaldlg.hxx>
33 #include <cuigrfflt.hxx>
34 #include <cuihyperdlg.hxx>
35 #include <cuiimapwnd.hxx>
36 #include <cuisrchdlg.hxx>
37 #include <cuitabarea.hxx>
38 #include <cuitbxform.hxx>
39 #include <dlgname.hxx>
40 #include <DiagramDialog.hxx>
41 #include <dstribut.hxx>
42 #include <hangulhanjadlg.hxx>
43 #include <hyphen.hxx>
44 #include <insdlg.hxx>
45 #include <labdlg.hxx>
46 #include <linkdlg.hxx>
47 #include <multipat.hxx>
48 #include <optdict.hxx>
49 #include <passwdomdlg.hxx>
50 #include <pastedlg.hxx>
51 #include <postdlg.hxx>
52 #include <QrCodeGenDialog.hxx>
53 #include <screenshotannotationdlg.hxx>
54 #include <showcols.hxx>
55 #include <SignatureLineDialog.hxx>
56 #include <SignSignatureLineDialog.hxx>
57 #include <SpellDialog.hxx>
58 #include <srchxtra.hxx>
59 #include <thesdlg.hxx>
60 #include <tipofthedaydlg.hxx>
61 #include <transfrm.hxx>
62 #include <zoom.hxx>
63 
64 class SfxSingleTabDialogController;
65 class SfxItemPool;
66 class FmShowColsDialog;
67 class SvxZoomDialog;
68 class FmInputRecordNoDialog;
69 class SvxJSearchOptionsDialog;
70 class SvxNewDictionaryDialog;
71 class SvxNameDialog;
72 
73 // #i68101#
74 class SvxObjectNameDialog;
75 class SvxObjectTitleDescDialog;
76 
77 class SvxMultiPathDialog;
78 class SvxHpLinkDlg;
79 class FmSearchDialog;
80 class Graphic;
81 class GraphicFilterDialog;
82 class SvxAreaTabDialog;
83 class InsertObjectDialog_Impl;
84 class SvPasteObjectDialog;
85 class SvBaseLinksDlg;
86 class SvxTransformTabDialog;
87 class SvxCaptionTabDialog;
88 class SvxThesaurusDialog;
89 class SvxHyphenWordDialog;
90 
91 namespace svx{
92 class HangulHanjaConversionDialog;
93 }
94 using namespace svx;
95 
96 #define DECL_ABSTDLG_BASE(Class,DialogClass)        \
97     ScopedVclPtr<DialogClass> pDlg;                 \
98 public:                                             \
99     explicit        Class( DialogClass* p)          \
100                      : pDlg(p)                      \
101                      {}                             \
102     virtual short   Execute() override;             \
103     virtual bool    StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) override;
104 
105 #define IMPL_ABSTDLG_BASE(Class)                    \
106 short Class::Execute()                              \
107 {                                                   \
108     return pDlg->Execute();                         \
109 }                                                   \
110 bool Class::StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) \
111 {                                                   \
112     return pDlg->StartExecuteAsync(rCtx);           \
113 }
114 
115 class CuiAbstractController_Impl : public VclAbstractDialog
116 {
117     std::unique_ptr<weld::DialogController> m_xDlg;
118 public:
CuiAbstractController_Impl(std::unique_ptr<weld::DialogController> p)119     explicit CuiAbstractController_Impl(std::unique_ptr<weld::DialogController> p)
120         : m_xDlg(std::move(p))
121     {
122     }
123     virtual short Execute() override;
124 };
125 
126 class CuiAbstractSingleTabController_Impl : public SfxAbstractDialog
127 {
128     std::unique_ptr<SfxSingleTabDialogController> m_xDlg;
129 public:
CuiAbstractSingleTabController_Impl(std::unique_ptr<SfxSingleTabDialogController> p)130     explicit CuiAbstractSingleTabController_Impl(std::unique_ptr<SfxSingleTabDialogController> p)
131         : m_xDlg(std::move(p))
132     {
133     }
134     virtual short Execute() override;
135     virtual const SfxItemSet*   GetOutputItemSet() const override;
136 
137     //From class Window.
138     virtual void          SetText( const OUString& rStr ) override;
139 };
140 
141 class CuiAbstractTabController_Impl : public SfxAbstractTabDialog
142 {
143     std::shared_ptr<SfxTabDialogController> m_xDlg;
144 public:
CuiAbstractTabController_Impl(std::unique_ptr<SfxTabDialogController> p)145     explicit CuiAbstractTabController_Impl(std::unique_ptr<SfxTabDialogController> p)
146         : m_xDlg(std::move(p))
147     {
148     }
149     virtual short Execute() override;
150     virtual bool StartExecuteAsync(AsyncContext &rCtx) override;
151     virtual void                SetCurPageId( const OString &rName ) override;
152     virtual const SfxItemSet*   GetOutputItemSet() const override;
153     virtual const sal_uInt16*   GetInputRanges( const SfxItemPool& pItem ) override;
154     virtual void                SetInputSet( const SfxItemSet* pInSet ) override;
155     virtual void        SetText( const OUString& rStr ) override;
156 
157     // screenshotting
158     virtual std::vector<OString> getAllPageUIXMLDescriptions() const override;
159     virtual bool selectPageByUIXMLDescription(const OString& rUIXMLDescription) override;
160     virtual BitmapEx createScreenshot() const override;
161     virtual OString GetScreenshotId() const override;
162 };
163 
164 class SvxDistributeDialog;
165 class AbstractSvxDistributeDialog_Impl: public AbstractSvxDistributeDialog
166 {
167     std::unique_ptr<SvxDistributeDialog> m_xDlg;
168 public:
AbstractSvxDistributeDialog_Impl(std::unique_ptr<SvxDistributeDialog> p)169     explicit AbstractSvxDistributeDialog_Impl(std::unique_ptr<SvxDistributeDialog> p)
170         : m_xDlg(std::move(p))
171     {
172     }
173     virtual short Execute() override;
174 public:
175     virtual SvxDistributeHorizontal GetDistributeHor() const override;
176     virtual SvxDistributeVertical GetDistributeVer() const override;
177 };
178 
179 class AbstractHangulHanjaConversionDialog_Impl: public AbstractHangulHanjaConversionDialog
180 {
181 private:
182     std::unique_ptr<HangulHanjaConversionDialog> m_xDlg;
183 public:
AbstractHangulHanjaConversionDialog_Impl(std::unique_ptr<HangulHanjaConversionDialog> p)184     explicit AbstractHangulHanjaConversionDialog_Impl(std::unique_ptr<HangulHanjaConversionDialog> p)
185         : m_xDlg(std::move(p))
186     {
187     }
188     virtual short     Execute() override;
189     virtual void      EndDialog(sal_Int32 nResult) override;
190     virtual void      EnableRubySupport( bool _bVal ) override;
191     virtual void      SetByCharacter( bool _bByCharacter ) override ;
192     virtual void      SetConversionDirectionState( bool _bTryBothDirections, editeng::HangulHanjaConversion::ConversionDirection _ePrimaryConversionDirection ) override;
193     virtual void      SetConversionFormat( editeng::HangulHanjaConversion::ConversionFormat _eType ) override;
194     virtual void      SetOptionsChangedHdl( const Link<LinkParamNone*,void>& _rHdl ) override;
195     virtual void      SetIgnoreHdl( const Link<weld::Button&,void>& _rHdl ) override;
196     virtual void      SetIgnoreAllHdl( const Link<weld::Button&,void>& _rHdl ) override ;
197     virtual void      SetChangeHdl( const Link<weld::Button&,void>& _rHdl ) override ;
198     virtual void      SetChangeAllHdl( const Link<weld::Button&,void>& rHdl ) override ;
199     virtual void      SetClickByCharacterHdl( const Link<weld::ToggleButton&,void>& rHdl ) override ;
200     virtual void      SetConversionFormatChangedHdl( const Link<weld::Button&,void>& _rHdl ) override ;
201     virtual void      SetFindHdl( const Link<weld::Button&,void>& _rHdl ) override;
202     virtual bool      GetUseBothDirections( ) const override;
203     virtual editeng::HangulHanjaConversion::ConversionDirection
204                       GetDirection( editeng::HangulHanjaConversion::ConversionDirection _eDefaultDirection ) const override;
205     virtual void      SetCurrentString(
206                         const OUString& _rNewString,
207                         const css::uno::Sequence< OUString >& _rSuggestions,
208                         bool _bOriginatesFromDocument = true
209                       ) override;
210     virtual OUString  GetCurrentString( ) const override ;
211     virtual editeng::HangulHanjaConversion::ConversionFormat
212                       GetConversionFormat( ) const override ;
213     virtual void      FocusSuggestion( ) override;
214     virtual OUString  GetCurrentSuggestion( ) const override;
215 };
216 
217 class AbstractThesaurusDialog_Impl : public AbstractThesaurusDialog
218 {
219     std::shared_ptr<SvxThesaurusDialog> m_xDlg;
220 public:
AbstractThesaurusDialog_Impl(std::unique_ptr<SvxThesaurusDialog> p)221     explicit AbstractThesaurusDialog_Impl(std::unique_ptr<SvxThesaurusDialog> p)
222         : m_xDlg(std::move(p))
223     {
224     }
225     virtual short Execute() override;
226     virtual bool StartExecuteAsync(AsyncContext &rCtx) override;
227     virtual OUString    GetWord() override;
228 };
229 
230 class AbstractHyphenWordDialog_Impl: public AbstractHyphenWordDialog
231 {
232     std::unique_ptr<SvxHyphenWordDialog> m_xDlg;
233 public:
AbstractHyphenWordDialog_Impl(std::unique_ptr<SvxHyphenWordDialog> p)234     explicit AbstractHyphenWordDialog_Impl(std::unique_ptr<SvxHyphenWordDialog> p)
235         : m_xDlg(std::move(p))
236     {
237     }
238     virtual short Execute() override;
239 };
240 
241 class FmShowColsDialog;
242 class AbstractFmShowColsDialog_Impl : public AbstractFmShowColsDialog
243 {
244     std::unique_ptr<FmShowColsDialog> m_xDlg;
245 public:
AbstractFmShowColsDialog_Impl(std::unique_ptr<FmShowColsDialog> p)246     explicit AbstractFmShowColsDialog_Impl(std::unique_ptr<FmShowColsDialog> p)
247         : m_xDlg(std::move(p))
248     {
249     }
250     virtual short Execute() override;
251     virtual void SetColumns(const css::uno::Reference< css::container::XIndexContainer>& xCols) override;
252 };
253 
254 class SvxZoomDialog;
255 class AbstractSvxZoomDialog_Impl : public AbstractSvxZoomDialog
256 {
257     std::unique_ptr<SvxZoomDialog> m_xDlg;
258 public:
AbstractSvxZoomDialog_Impl(std::unique_ptr<SvxZoomDialog> p)259     explicit AbstractSvxZoomDialog_Impl(std::unique_ptr<SvxZoomDialog> p)
260         : m_xDlg(std::move(p))
261     {
262     }
263     virtual short Execute() override;
264     virtual void  SetLimits( sal_uInt16 nMin, sal_uInt16 nMax ) override;
265     virtual void  HideButton( ZoomButtonId nBtnId ) override;
266     virtual const SfxItemSet*   GetOutputItemSet() const override ;
267 };
268 
269 namespace svx{ class SpellDialog;}
270 class AbstractSpellDialog_Impl : public AbstractSpellDialog
271 {
272     std::shared_ptr<svx::SpellDialog> m_xDlg;
273 public:
AbstractSpellDialog_Impl(std::unique_ptr<svx::SpellDialog> p)274     explicit AbstractSpellDialog_Impl(std::unique_ptr<svx::SpellDialog> p)
275         : m_xDlg(std::move(p))
276     {
277     }
278     virtual short Execute() override;
279     virtual bool StartExecuteAsync(AsyncContext &rCtx) override;
280     virtual void InvalidateDialog() override;
281     virtual std::shared_ptr<SfxDialogController> GetController() override;
282     virtual SfxBindings& GetBindings() override;
283 };
284 
285 class TitleDialog;
286 class AbstractTitleDialog_Impl : public AbstractTitleDialog
287 {
288 protected:
289     std::unique_ptr<TitleDialog> m_xDlg;
290 public:
AbstractTitleDialog_Impl(std::unique_ptr<TitleDialog> p)291     explicit AbstractTitleDialog_Impl(std::unique_ptr<TitleDialog> p)
292         : m_xDlg(std::move(p))
293     {
294     }
295     virtual short Execute() override;
296     virtual OUString  GetTitle() const override ;
297 
298 };
299 
300 class SvxScriptSelectorDialog;
301 class AbstractScriptSelectorDialog_Impl : public AbstractScriptSelectorDialog
302 {
303     std::unique_ptr<SvxScriptSelectorDialog> m_xDlg;
304 public:
AbstractScriptSelectorDialog_Impl(std::unique_ptr<SvxScriptSelectorDialog> p)305     explicit AbstractScriptSelectorDialog_Impl(std::unique_ptr<SvxScriptSelectorDialog> p)
306         : m_xDlg(std::move(p))
307     {
308     }
309     virtual short Execute() override;
310     virtual OUString GetScriptURL() const override;
311     virtual void SetRunLabel() override;
312 };
313 
314 class GalleryIdDialog;
315 class AbstractGalleryIdDialog_Impl : public AbstractGalleryIdDialog
316 {
317 protected:
318     std::unique_ptr<GalleryIdDialog> m_xDlg;
319 public:
AbstractGalleryIdDialog_Impl(std::unique_ptr<GalleryIdDialog> p)320     explicit AbstractGalleryIdDialog_Impl(std::unique_ptr<GalleryIdDialog> p)
321         : m_xDlg(std::move(p))
322     {
323     }
324     virtual short Execute() override;
325     virtual sal_uInt32 GetId() const override;
326 };
327 
328 class URLDlg;
329 class AbstractURLDlg_Impl :public AbstractURLDlg
330 {
331 protected:
332     std::unique_ptr<URLDlg> m_xDlg;
333 public:
AbstractURLDlg_Impl(std::unique_ptr<URLDlg> p)334     explicit AbstractURLDlg_Impl(std::unique_ptr<URLDlg> p)
335         : m_xDlg(std::move(p))
336     {
337     }
338     virtual short Execute() override;
339     virtual OUString      GetURL() const override;
340     virtual OUString      GetAltText() const override;
341     virtual OUString      GetDesc() const override;
342     virtual OUString      GetTarget() const override;
343     virtual OUString      GetName() const override;
344 };
345 
346 class SvxSearchSimilarityDialog;
347 class AbstractSvxSearchSimilarityDialog_Impl :public AbstractSvxSearchSimilarityDialog
348 {
349     std::unique_ptr<SvxSearchSimilarityDialog> m_xDlg;
350 public:
AbstractSvxSearchSimilarityDialog_Impl(std::unique_ptr<SvxSearchSimilarityDialog> p)351     explicit AbstractSvxSearchSimilarityDialog_Impl(std::unique_ptr<SvxSearchSimilarityDialog> p)
352         : m_xDlg(std::move(p))
353     {
354     }
355     virtual short Execute() override;
356     virtual sal_uInt16              GetOther() override;
357     virtual sal_uInt16              GetShorter() override;
358     virtual sal_uInt16              GetLonger() override;
359     virtual bool                    IsRelaxed() override;
360 };
361 
362 class SvxJSearchOptionsDialog;
363 class AbstractSvxJSearchOptionsDialog_Impl : public AbstractSvxJSearchOptionsDialog
364 {
365     std::unique_ptr<SvxJSearchOptionsDialog> m_xDlg;
366 public:
AbstractSvxJSearchOptionsDialog_Impl(std::unique_ptr<SvxJSearchOptionsDialog> p)367     explicit AbstractSvxJSearchOptionsDialog_Impl(std::unique_ptr<SvxJSearchOptionsDialog> p)
368         : m_xDlg(std::move(p))
369     {
370     }
371     virtual short Execute() override;
372     virtual TransliterationFlags    GetTransliterationFlags() const override;
373 };
374 
375 class AbstractSvxTransformTabDialog_Impl : public AbstractSvxTransformTabDialog
376 {
377     std::shared_ptr<SvxTransformTabDialog> m_xDlg;
378 public:
AbstractSvxTransformTabDialog_Impl(SvxTransformTabDialog * p)379     explicit AbstractSvxTransformTabDialog_Impl(SvxTransformTabDialog* p)
380         : m_xDlg(p)
381     {
382     }
383     virtual short Execute() override;
384     virtual bool StartExecuteAsync(AsyncContext &rCtx) override;
385     virtual void SetValidateFramePosLink( const Link<SvxSwFrameValidation&,void>& rLink ) override;
386     virtual void                SetCurPageId( const OString& rName ) override;
387     virtual const SfxItemSet*   GetOutputItemSet() const override;
388     virtual const sal_uInt16*       GetInputRanges( const SfxItemPool& pItem ) override;
389     virtual void                SetInputSet( const SfxItemSet* pInSet ) override;
390     virtual void        SetText( const OUString& rStr ) override;
391 };
392 
393 class AbstractSvxCaptionDialog_Impl : public AbstractSvxCaptionDialog
394 {
395     std::shared_ptr<SvxCaptionTabDialog> m_xDlg;
396 public:
AbstractSvxCaptionDialog_Impl(std::unique_ptr<SvxCaptionTabDialog> p)397     explicit AbstractSvxCaptionDialog_Impl(std::unique_ptr<SvxCaptionTabDialog> p)
398         : m_xDlg(std::move(p))
399     {
400     }
401     virtual short Execute() override;
402     virtual bool StartExecuteAsync(AsyncContext &rCtx) override;
403     virtual void SetValidateFramePosLink( const Link<SvxSwFrameValidation&,void>& rLink ) override;
404     virtual void                SetCurPageId( const OString& rName ) override;
405     virtual const SfxItemSet*   GetOutputItemSet() const override;
406     virtual const sal_uInt16*       GetInputRanges( const SfxItemPool& pItem ) override;
407     virtual void                SetInputSet( const SfxItemSet* pInSet ) override;
408     virtual void        SetText( const OUString& rStr ) override;
409 };
410 
411 class FmInputRecordNoDialog;
412 class AbstractFmInputRecordNoDialog_Impl :public AbstractFmInputRecordNoDialog
413 {
414     std::unique_ptr<FmInputRecordNoDialog> m_xDlg;
415 public:
AbstractFmInputRecordNoDialog_Impl(std::unique_ptr<FmInputRecordNoDialog> p)416     explicit AbstractFmInputRecordNoDialog_Impl(std::unique_ptr<FmInputRecordNoDialog> p)
417         : m_xDlg(std::move(p))
418     {
419     }
420     virtual short Execute() override;
421     virtual void SetValue(long nNew) override ;
422     virtual long GetValue() const override ;
423 };
424 
425 class SvxNewDictionaryDialog;
426 class AbstractSvxNewDictionaryDialog_Impl :public AbstractSvxNewDictionaryDialog
427 {
428     std::unique_ptr<SvxNewDictionaryDialog> m_xDlg;
429 public:
AbstractSvxNewDictionaryDialog_Impl(std::unique_ptr<SvxNewDictionaryDialog> p)430     explicit AbstractSvxNewDictionaryDialog_Impl(std::unique_ptr<SvxNewDictionaryDialog> p)
431         : m_xDlg(std::move(p))
432     {
433     }
434     virtual short Execute() override;
435     virtual css::uno::Reference< css::linguistic2::XDictionary >  GetNewDictionary() override;
436 };
437 
438 class SvxNameDialog;
439 class AbstractSvxNameDialog_Impl :public AbstractSvxNameDialog
440 {
441 public:
AbstractSvxNameDialog_Impl(std::unique_ptr<SvxNameDialog> p)442     explicit AbstractSvxNameDialog_Impl(std::unique_ptr<SvxNameDialog> p)
443         : m_xDlg(std::move(p))
444     {
445     }
446     virtual short Execute() override;
447     virtual void    GetName( OUString& rName ) override ;
448     virtual void    SetCheckNameHdl( const Link<AbstractSvxNameDialog&,bool>& rLink, bool bCheckImmediately = false ) override ;
449     virtual void    SetEditHelpId(const OString&) override ;
450     //from class Window
451     virtual void    SetHelpId( const OString& ) override ;
452     virtual void    SetText( const OUString& rStr ) override ;
453 private:
454     std::unique_ptr<SvxNameDialog> m_xDlg;
455     Link<AbstractSvxNameDialog&,bool> aCheckNameHdl;
456     DECL_LINK(CheckNameHdl, SvxNameDialog&, bool);
457 };
458 
459 class SvxObjectNameDialog;
460 class SvxObjectTitleDescDialog;
461 
462 class AbstractSvxObjectNameDialog_Impl : public AbstractSvxObjectNameDialog
463 {
464 public:
AbstractSvxObjectNameDialog_Impl(std::unique_ptr<SvxObjectNameDialog> p)465     explicit AbstractSvxObjectNameDialog_Impl(std::unique_ptr<SvxObjectNameDialog> p)
466         : m_xDlg(std::move(p))
467     {
468     }
469     virtual short Execute() override;
470     virtual void GetName(OUString& rName) override ;
471     virtual void SetCheckNameHdl(const Link<AbstractSvxObjectNameDialog&,bool>& rLink) override;
472 
473 private:
474     std::unique_ptr<SvxObjectNameDialog> m_xDlg;
475     Link<AbstractSvxObjectNameDialog&,bool> aCheckNameHdl;
476     DECL_LINK(CheckNameHdl, SvxObjectNameDialog&, bool);
477 };
478 
479 class AbstractSvxObjectTitleDescDialog_Impl :public AbstractSvxObjectTitleDescDialog
480 {
481     std::unique_ptr<SvxObjectTitleDescDialog> m_xDlg;
482 public:
AbstractSvxObjectTitleDescDialog_Impl(std::unique_ptr<SvxObjectTitleDescDialog> p)483     explicit AbstractSvxObjectTitleDescDialog_Impl(std::unique_ptr<SvxObjectTitleDescDialog> p)
484         : m_xDlg(std::move(p))
485     {
486     }
487     virtual short Execute() override;
488     virtual void GetTitle(OUString& rName) override;
489     virtual void GetDescription(OUString& rName) override;
490 };
491 
492 class AbstractSvxMultiPathDialog_Impl : public AbstractSvxMultiPathDialog
493 {
494     std::unique_ptr<SvxMultiPathDialog> m_xDlg;
495 public:
AbstractSvxMultiPathDialog_Impl(std::unique_ptr<SvxMultiPathDialog> p)496     explicit AbstractSvxMultiPathDialog_Impl(std::unique_ptr<SvxMultiPathDialog> p)
497         : m_xDlg(std::move(p))
498     {
499     }
500     virtual short Execute() override;
501     virtual OUString        GetPath() const override;
502     virtual void            SetPath( const OUString& rPath ) override;
503     virtual void            SetTitle( const OUString& rNewTitle ) override;
504 };
505 
506 class SvxPathSelectDialog;
507 class AbstractSvxPathSelectDialog_Impl : public AbstractSvxMultiPathDialog
508 {
509 protected:
510     std::unique_ptr<SvxPathSelectDialog> m_xDlg;
511 public:
AbstractSvxPathSelectDialog_Impl(std::unique_ptr<SvxPathSelectDialog> p)512     explicit AbstractSvxPathSelectDialog_Impl(std::unique_ptr<SvxPathSelectDialog> p)
513         : m_xDlg(std::move(p))
514     {
515     }
516     virtual short Execute() override;
517     virtual OUString        GetPath() const override;
518     virtual void            SetPath( const OUString& rPath ) override;
519     virtual void            SetTitle( const OUString& rNewTitle ) override;
520 };
521 
522 class SvxHpLinkDlg;
523 class AbstractSvxHpLinkDlg_Impl : public AbstractSvxHpLinkDlg
524 {
525 protected:
526     std::shared_ptr<SvxHpLinkDlg> m_xDlg;
527 public:
AbstractSvxHpLinkDlg_Impl(std::unique_ptr<SvxHpLinkDlg> p)528     explicit AbstractSvxHpLinkDlg_Impl(std::unique_ptr<SvxHpLinkDlg> p)
529         : m_xDlg(std::move(p))
530     {
531     }
532     virtual short Execute() override;
533     virtual std::shared_ptr<SfxDialogController> GetController() override;
534     virtual bool        QueryClose() override;
535 };
536 
537 class FmSearchDialog;
538 struct FmFoundRecordInformation;
539 class AbstractFmSearchDialog_Impl :public AbstractFmSearchDialog
540 {
541     std::unique_ptr<FmSearchDialog> m_xDlg;
542 public:
AbstractFmSearchDialog_Impl(std::unique_ptr<FmSearchDialog> p)543     explicit AbstractFmSearchDialog_Impl(std::unique_ptr<FmSearchDialog> p)
544         : m_xDlg(std::move(p))
545     {
546     }
547     virtual short Execute() override;
548     virtual void SetFoundHandler(const Link<FmFoundRecordInformation&,void>& lnk) override ;
549     virtual void SetCanceledNotFoundHdl(const Link<FmFoundRecordInformation&,void>& lnk) override;
550     virtual void SetActiveField(const OUString& strField) override;
551 };
552 
553 class AbstractGraphicFilterDialog_Impl : public AbstractGraphicFilterDialog
554 {
555     std::unique_ptr<GraphicFilterDialog> m_xDlg;
556 public:
AbstractGraphicFilterDialog_Impl(std::unique_ptr<GraphicFilterDialog> p)557     explicit AbstractGraphicFilterDialog_Impl(std::unique_ptr<GraphicFilterDialog> p)
558         : m_xDlg(std::move(p))
559     {
560     }
561     virtual short Execute() override;
562     virtual Graphic GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY ) override;
563 };
564 
565 class SvxAreaTabDialog;
566 class AbstractSvxAreaTabDialog_Impl : public AbstractSvxAreaTabDialog
567 {
568     std::shared_ptr<SvxAreaTabDialog> m_xDlg;
569 public:
AbstractSvxAreaTabDialog_Impl(std::unique_ptr<SvxAreaTabDialog> p)570     explicit AbstractSvxAreaTabDialog_Impl(std::unique_ptr<SvxAreaTabDialog> p)
571         : m_xDlg(std::move(p))
572     {
573     }
574     virtual short Execute() override;
575     virtual bool StartExecuteAsync(AsyncContext &rCtx) override;
576     virtual void SetCurPageId(const OString& rName) override;
577     virtual const SfxItemSet* GetOutputItemSet() const override;
578     virtual const sal_uInt16* GetInputRanges(const SfxItemPool& pItem) override;
579     virtual void SetInputSet(const SfxItemSet* pInSet) override;
580     virtual void SetText(const OUString& rStr) override;
581 };
582 
583 class AbstractInsertObjectDialog_Impl : public SfxAbstractInsertObjectDialog
584 {
585     std::unique_ptr<InsertObjectDialog_Impl> m_xDlg;
586 public:
AbstractInsertObjectDialog_Impl(std::unique_ptr<InsertObjectDialog_Impl> p)587     explicit AbstractInsertObjectDialog_Impl(std::unique_ptr<InsertObjectDialog_Impl> p)
588         : m_xDlg(std::move(p))
589     {
590     }
591     virtual short Execute() override;
592     virtual css::uno::Reference < css::embed::XEmbeddedObject > GetObject() override;
593     virtual css::uno::Reference< css::io::XInputStream > GetIconIfIconified( OUString* pGraphicMediaType ) override;
594     virtual bool IsCreateNew() override;
595 };
596 
597 class AbstractPasteDialog_Impl : public SfxAbstractPasteDialog
598 {
599     std::shared_ptr<SvPasteObjectDialog> m_xDlg;
600 public:
AbstractPasteDialog_Impl(std::unique_ptr<SvPasteObjectDialog> p)601     explicit AbstractPasteDialog_Impl(std::unique_ptr<SvPasteObjectDialog> p)
602         : m_xDlg(std::move(p))
603     {
604     }
605     virtual short Execute() override;
606     virtual bool StartExecuteAsync(AsyncContext &rCtx) override;
607 public:
608     virtual void Insert( SotClipboardFormatId nFormat, const OUString & rFormatName ) override;
609     virtual void SetObjName( const SvGlobalName & rClass, const OUString & rObjName ) override;
610     virtual void PreGetFormat( const TransferableDataHelper& aHelper ) override;
611     virtual SotClipboardFormatId GetFormatOnly() override;
612     virtual SotClipboardFormatId GetFormat( const TransferableDataHelper& aHelper ) override;
613 };
614 
615 class AbstractLinksDialog_Impl : public SfxAbstractLinksDialog
616 {
617 protected:
618     std::unique_ptr<SvBaseLinksDlg> m_xDlg;
619 public:
AbstractLinksDialog_Impl(std::unique_ptr<SvBaseLinksDlg> p)620     explicit AbstractLinksDialog_Impl(std::unique_ptr<SvBaseLinksDlg> p)
621         : m_xDlg(std::move(p))
622     {
623     }
624     virtual short Execute() override;
625 };
626 
627 class SvxPostItDialog;
628 class AbstractSvxPostItDialog_Impl :public AbstractSvxPostItDialog
629 {
630 public:
AbstractSvxPostItDialog_Impl(std::unique_ptr<SvxPostItDialog> pDlg)631     AbstractSvxPostItDialog_Impl(std::unique_ptr<SvxPostItDialog> pDlg)
632         : m_xDlg(std::move(pDlg))
633     {
634     }
635     virtual short               Execute() override;
636     virtual void                SetText( const OUString& rStr ) override;  //From class Window
637     virtual const SfxItemSet*   GetOutputItemSet() const override;
638     virtual void                SetPrevHdl( const Link<AbstractSvxPostItDialog&,void>& rLink ) override;
639     virtual void                SetNextHdl( const Link<AbstractSvxPostItDialog&,void>& rLink ) override;
640     virtual void                EnableTravel(bool bNext, bool bPrev) override;
641     virtual OUString            GetNote() override;
642     virtual void                SetNote(const OUString& rTxt) override;
643     virtual void                ShowLastAuthor(const OUString& rAuthor, const OUString& rDate) override;
644     virtual void                DontChangeAuthor() override;
645     virtual void                HideAuthor() override;
646     virtual std::shared_ptr<weld::Dialog> GetDialog() override;
647 private:
648     std::unique_ptr<SvxPostItDialog> m_xDlg;
649     Link<AbstractSvxPostItDialog&,void> aNextHdl;
650     Link<AbstractSvxPostItDialog&,void> aPrevHdl;
651     DECL_LINK(NextHdl, SvxPostItDialog&, void);
652     DECL_LINK(PrevHdl, SvxPostItDialog&, void);
653 };
654 
655 class PasswordToOpenModifyDialog;
656 class AbstractPasswordToOpenModifyDialog_Impl : public AbstractPasswordToOpenModifyDialog
657 {
658     std::unique_ptr<PasswordToOpenModifyDialog> m_xDlg;
659 public:
AbstractPasswordToOpenModifyDialog_Impl(std::unique_ptr<PasswordToOpenModifyDialog> p)660     explicit AbstractPasswordToOpenModifyDialog_Impl(std::unique_ptr<PasswordToOpenModifyDialog> p)
661         : m_xDlg(std::move(p))
662     {
663     }
664     virtual short Execute() override;
665     virtual OUString  GetPasswordToOpen() const override;
666     virtual OUString  GetPasswordToModify() const override;
667     virtual bool      IsRecommendToOpenReadonly() const override;
668 };
669 
670 class SvxCharacterMap;
671 class AbstractSvxCharacterMapDialog_Impl : public SfxAbstractDialog
672 {
673     std::unique_ptr<SvxCharacterMap> m_xDlg;
674 public:
AbstractSvxCharacterMapDialog_Impl(std::unique_ptr<SvxCharacterMap> p)675     explicit AbstractSvxCharacterMapDialog_Impl(std::unique_ptr<SvxCharacterMap> p)
676         : m_xDlg(std::move(p))
677     {
678     }
679     virtual short Execute() override;
680     virtual const SfxItemSet* GetOutputItemSet() const override;
681     virtual void  SetText(const OUString& rStr) override;
682 };
683 
684 class ScreenshotAnnotationDlg;
685 class AbstractScreenshotAnnotationDlg_Impl : public AbstractScreenshotAnnotationDlg
686 {
687     std::unique_ptr<ScreenshotAnnotationDlg> m_xDlg;
688 
689 public:
AbstractScreenshotAnnotationDlg_Impl(std::unique_ptr<ScreenshotAnnotationDlg> p)690     explicit AbstractScreenshotAnnotationDlg_Impl(std::unique_ptr<ScreenshotAnnotationDlg> p)
691         : m_xDlg(std::move(p))
692     {
693     }
694     virtual short Execute() override;
695 };
696 
697 class SignatureLineDialog;
698 class AbstractSignatureLineDialog_Impl : public AbstractSignatureLineDialog
699 {
700     std::unique_ptr<SignatureLineDialog> m_xDlg;
701 
702 public:
AbstractSignatureLineDialog_Impl(std::unique_ptr<SignatureLineDialog> p)703     explicit AbstractSignatureLineDialog_Impl(std::unique_ptr<SignatureLineDialog> p)
704         : m_xDlg(std::move(p))
705     {
706     }
707     virtual short Execute() override;
708 };
709 
710 class QrCodeGenDialog;
711 class AbstractQrCodeGenDialog_Impl : public AbstractQrCodeGenDialog
712 {
713     std::unique_ptr<QrCodeGenDialog> m_xDlg;
714 
715 public:
AbstractQrCodeGenDialog_Impl(std::unique_ptr<QrCodeGenDialog> p)716     explicit AbstractQrCodeGenDialog_Impl(std::unique_ptr<QrCodeGenDialog> p)
717         : m_xDlg(std::move(p))
718     {
719     }
720     virtual short Execute() override;
721 };
722 
723 class SignSignatureLineDialog;
724 class AbstractSignSignatureLineDialog_Impl : public AbstractSignSignatureLineDialog
725 {
726 protected:
727     std::unique_ptr<SignSignatureLineDialog> m_xDlg;
728 
729 public:
AbstractSignSignatureLineDialog_Impl(std::unique_ptr<SignSignatureLineDialog> p)730     explicit AbstractSignSignatureLineDialog_Impl(std::unique_ptr<SignSignatureLineDialog> p)
731         : m_xDlg(std::move(p))
732     {
733     }
734     virtual short Execute() override;
735 };
736 
737 class TipOfTheDayDialog;
738 class AbstractTipOfTheDayDialog_Impl : public AbstractTipOfTheDayDialog
739 {
740 protected:
741     std::unique_ptr<TipOfTheDayDialog> m_xDlg;
742 
743 public:
AbstractTipOfTheDayDialog_Impl(std::unique_ptr<TipOfTheDayDialog> p)744     explicit AbstractTipOfTheDayDialog_Impl(std::unique_ptr<TipOfTheDayDialog> p)
745         : m_xDlg(std::move(p))
746     {
747     }
748     virtual short Execute() override;
749 };
750 
751 class DiagramDialog;
752 
753 /** Edit Diagram dialog */
754 class AbstractDiagramDialog_Impl : public AbstractDiagramDialog
755 {
756 protected:
757     std::unique_ptr<DiagramDialog> m_xDlg;
758 
759 public:
AbstractDiagramDialog_Impl(std::unique_ptr<DiagramDialog> p)760     explicit AbstractDiagramDialog_Impl(std::unique_ptr<DiagramDialog> p)
761         : m_xDlg(std::move(p))
762     {
763     }
764     virtual short Execute() override;
765 };
766 
767 //AbstractDialogFactory_Impl implementations
768 class AbstractDialogFactory_Impl : public SvxAbstractDialogFactory
769 {
770 public:
771     virtual VclPtr<VclAbstractDialog>    CreateVclDialog(weld::Window* pParent, sal_uInt32 nResId) override;
772 
773     virtual VclPtr<VclAbstractDialog>    CreateAboutDialog(weld::Window* pParent) override;
774 
775     virtual VclPtr<SfxAbstractDialog>    CreateSfxDialog( weld::Window* pParent,
776                                             const SfxItemSet& rAttr,
777                                             const SdrView* pView,
778                                             sal_uInt32 nResId ) override;
779     virtual VclPtr<SfxAbstractDialog>    CreateCharMapDialog(weld::Window* pParent,
780                                                              const SfxItemSet& rAttr,
781                                                              const css::uno::Reference< css::frame::XFrame >& rFrame) override;
782     virtual VclPtr<SfxAbstractDialog>    CreateEventConfigDialog(weld::Widget* pParent,
783                                                                  const SfxItemSet& rAttr,
784                                                                  const css::uno::Reference< css::frame::XFrame >& rFrame) override;
785     virtual VclPtr<VclAbstractDialog>    CreateFrameDialog(weld::Window* pParent, const css::uno::Reference< css::frame::XFrame >& rxFrame,
786                                                            sal_uInt32 nResId,
787                                                            const OUString& rParameter ) override;
788     virtual VclPtr<SfxAbstractTabDialog> CreateAutoCorrTabDialog(weld::Window* pParent, const SfxItemSet* pAttrSet) override;
789     virtual VclPtr<SfxAbstractTabDialog> CreateCustomizeTabDialog(weld::Window* pParent,
790                                             const SfxItemSet* pAttrSet,
791                                             const css::uno::Reference< css::frame::XFrame >& xViewFrame ) override;
792     virtual VclPtr<SfxAbstractTabDialog> CreateTextTabDialog( weld::Window* pParent,
793                                             const SfxItemSet* pAttrSet,
794                                             SdrView* pView ) override;
795     virtual VclPtr<SfxAbstractTabDialog> CreateTabItemDialog(weld::Window* pParent, const SfxItemSet& rSet) override;
796     virtual VclPtr<AbstractSvxCaptionDialog>
797                                           CreateCaptionDialog(weld::Window* pParent,
798                                             const SdrView* pView,
799                                             SvxAnchorIds nAnchorTypes = SvxAnchorIds::NONE) override;
800     virtual VclPtr<AbstractSvxDistributeDialog>
801                                           CreateSvxDistributeDialog(weld::Window* pParent, const SfxItemSet& rAttr) override;
802     virtual VclPtr<SfxAbstractInsertObjectDialog>
803                                            CreateInsertObjectDialog(weld::Window* pParent, const OUString& rCommmand,
804                                             const css::uno::Reference < css::embed::XStorage >& xStor,
805                                             const SvObjectServerList* pList ) override;
806     virtual VclPtr<VclAbstractDialog>      CreateEditObjectDialog(weld::Window* pParent, const OUString& rCommmand,
807                                             const css::uno::Reference < css::embed::XEmbeddedObject >& xObj ) override;
808     virtual VclPtr<SfxAbstractPasteDialog> CreatePasteDialog(weld::Window* pParent) override;
809     virtual VclPtr<SfxAbstractLinksDialog> CreateLinksDialog(weld::Window* pParent, sfx2::LinkManager* pMgr, bool bHTML = false, sfx2::SvBaseLink* p=nullptr) override;
810 
811     virtual VclPtr<AbstractHangulHanjaConversionDialog> CreateHangulHanjaConversionDialog(weld::Window* pParent) override;
812     virtual VclPtr<AbstractThesaurusDialog>  CreateThesaurusDialog(weld::Window*,
813                                                 css::uno::Reference<css::linguistic2::XThesaurus> xThesaurus,
814                                                 const OUString &rWord, LanguageType nLanguage) override;
815 
816     virtual VclPtr<AbstractHyphenWordDialog> CreateHyphenWordDialog(weld::Window*,
817                                                 const OUString &rWord, LanguageType nLang,
818                                                 css::uno::Reference< css::linguistic2::XHyphenator >  &xHyphen,
819                                                 SvxSpellWrapper* pWrapper) override;
820 
821     virtual VclPtr<AbstractFmShowColsDialog> CreateFmShowColsDialog(weld::Window* pParent) override;
822     virtual VclPtr<AbstractSvxZoomDialog> CreateSvxZoomDialog(weld::Window* pParent, const SfxItemSet& rCoreSet) override;
823    // add for SvxBorderBackgroundDlg
824     virtual VclPtr<SfxAbstractTabDialog> CreateSvxBorderBackgroundDlg(
825        weld::Window* pParent,
826        const SfxItemSet& rCoreSet,
827        bool bEnableDrawingLayerFillStyles) override;
828 
829     virtual VclPtr<AbstractSvxTransformTabDialog> CreateSvxTransformTabDialog(weld::Window* pParent,
830                                                                               const SfxItemSet* pAttr,
831                                                                               const SdrView* pView,
832                                                                               SvxAnchorIds nAnchorTypes = SvxAnchorIds::NONE) override ;
833     virtual VclPtr<SfxAbstractTabDialog> CreateSchTransformTabDialog(weld::Window* pParent,
834                                                                      const SfxItemSet* pAttr,
835                                                                      const SdrView* pSdrView,
836                                                                      bool bSizeTabPage) override;
837     virtual VclPtr<AbstractSpellDialog>  CreateSvxSpellDialog(
838                             weld::Window* pParent,
839                             SfxBindings* pBindings,
840                             svx::SpellDialogChildWindow* pSpellChildWindow ) override;
841 
842     virtual VclPtr<VclAbstractDialog> CreateActualizeProgressDialog(weld::Window* pParent, GalleryTheme* pThm) override;
843     virtual VclPtr<AbstractTitleDialog> CreateTitleDialog(weld::Window* pParent, const OUString& rOldText) override;
844     virtual VclPtr<AbstractGalleryIdDialog> CreateGalleryIdDialog(weld::Window* pParent,
845                                             GalleryTheme* pThm) override;
846     virtual VclPtr<VclAbstractDialog> CreateGalleryThemePropertiesDialog(weld::Window* pParent,
847                                             ExchangeData* pData,
848                                             SfxItemSet* pItemSet) override;
849     virtual VclPtr<AbstractURLDlg> CreateURLDialog(weld::Widget* pParent,
850                                             const OUString& rURL, const OUString& rAltText, const OUString& rDescription,
851                                             const OUString& rTarget, const OUString& rName,
852                                             TargetList& rTargetList ) override;
853 
854     virtual VclPtr<VclAbstractDialog>      CreateSvxSearchAttributeDialog(weld::Window* pParent,
855                                             SearchAttrItemList& rLst,
856                                             const sal_uInt16* pWhRanges) override;
857     virtual VclPtr<AbstractSvxSearchSimilarityDialog> CreateSvxSearchSimilarityDialog( weld::Window* pParent,
858                                                             bool bRelax,
859                                                             sal_uInt16 nOther,
860                                                             sal_uInt16 nShorter,
861                                                             sal_uInt16 nLonger) override;
862     virtual VclPtr<AbstractSvxJSearchOptionsDialog> CreateSvxJSearchOptionsDialog(weld::Window* pParent,
863                                                                                   const SfxItemSet& rOptionsSet,
864                                                                                   TransliterationFlags nInitialFlags) override;
865     virtual VclPtr<AbstractFmInputRecordNoDialog> CreateFmInputRecordNoDialog(weld::Window* pParent) override;
866     virtual VclPtr<AbstractSvxNewDictionaryDialog> CreateSvxNewDictionaryDialog(weld::Window* pParent) override;
867     virtual VclPtr<VclAbstractDialog>     CreateSvxEditDictionaryDialog(weld::Window* pParent, const OUString& rName) override;
868     virtual VclPtr<AbstractSvxNameDialog> CreateSvxNameDialog(weld::Window* pParent,
869                                             const OUString& rName, const OUString& rDesc) override;
870     // #i68101#
871     virtual VclPtr<AbstractSvxObjectNameDialog> CreateSvxObjectNameDialog(weld::Window* pParent, const OUString& rName) override;
872     virtual VclPtr<AbstractSvxObjectTitleDescDialog> CreateSvxObjectTitleDescDialog(weld::Window* pParent, const OUString& rTitle, const OUString& rDescription) override;
873     virtual VclPtr<AbstractSvxMultiPathDialog>    CreateSvxMultiPathDialog(weld::Window* pParent) override;
874     virtual VclPtr<AbstractSvxMultiPathDialog>    CreateSvxPathSelectDialog(weld::Window* pParent) override;
875     virtual VclPtr<AbstractSvxHpLinkDlg>          CreateSvxHpLinkDlg(SfxChildWindow* pChild, SfxBindings* pBindings, weld::Window* pParent) override;
876     virtual VclPtr<AbstractFmSearchDialog>        CreateFmSearchDialog(weld::Window* pParent,
877                                                         const OUString& strInitialText,
878                                                         const std::vector< OUString >& _rContexts,
879                                                         sal_Int16 nInitialContext,
880                                                         const Link<FmSearchContext&,sal_uInt32>& lnkContextSupplier) override;
881     virtual VclPtr<AbstractGraphicFilterDialog>   CreateGraphicFilterEmboss(weld::Window* pParent,
882                                                 const Graphic& rGraphic) override;
883     virtual VclPtr<AbstractGraphicFilterDialog>   CreateGraphicFilterPoster(weld::Window* pParent,
884                                                 const Graphic& rGraphic) override;
885     virtual VclPtr<AbstractGraphicFilterDialog>   CreateGraphicFilterSepia(weld::Window* pParent,
886                                                 const Graphic& rGraphic) override;
887     virtual VclPtr<AbstractGraphicFilterDialog>   CreateGraphicFilterSmooth(weld::Window* pParent,
888                                                 const Graphic& rGraphic, double nRadius) override;
889     virtual VclPtr<AbstractGraphicFilterDialog>  CreateGraphicFilterSolarize(weld::Window* pParent,
890                                                 const Graphic& rGraphic) override;
891     virtual VclPtr<AbstractGraphicFilterDialog>   CreateGraphicFilterMosaic(weld::Window* pParent,
892                                                 const Graphic& rGraphic) override;
893     virtual VclPtr<AbstractSvxAreaTabDialog>       CreateSvxAreaTabDialog(weld::Window* pParent,
894                                                                           const SfxItemSet* pAttr,
895                                                                           SdrModel* pModel,
896                                                                           bool bShadow) override;
897     virtual VclPtr<SfxAbstractTabDialog>           CreateSvxLineTabDialog(weld::Window* pParent, const SfxItemSet* pAttr,
898                                                                  SdrModel* pModel,
899                                                                  const SdrObject* pObj,
900                                                                  bool bHasObj ) override;
901     virtual VclPtr<AbstractSvxPostItDialog>        CreateSvxPostItDialog(weld::Widget* pParent,
902                                                                          const SfxItemSet& rCoreSet,
903                                                                          bool bPrevNext = false) override;
904 
905     // For TabPage
906     virtual CreateTabPage               GetTabPageCreatorFunc( sal_uInt16 nId ) override;
907 
908     virtual GetTabPageRanges            GetTabPageRangesFunc( sal_uInt16 nId ) override;
909     virtual DialogGetRanges             GetDialogGetRangesFunc() override;
910     virtual VclPtr<VclAbstractDialog>   CreateSvxScriptOrgDialog(weld::Window* pParent, const OUString& rLanguage) override;
911 
912     virtual VclPtr<AbstractScriptSelectorDialog> CreateScriptSelectorDialog(weld::Window* pParent,
913             const css::uno::Reference< css::frame::XFrame >& rxFrame) override;
914 
915     virtual VclPtr<VclAbstractDialog> CreateScriptErrorDialog(const css::uno::Any& rException) override;
916 
917     virtual VclPtr<VclAbstractDialog>  CreateSvxMacroAssignDlg(
918                 weld::Window* _pParent,
919                 const css::uno::Reference< css::frame::XFrame >& _rxDocumentFrame,
920                 const bool _bUnoDialogMode,
921                 const css::uno::Reference< css::container::XNameReplace >& _rxEvents,
922                 const sal_uInt16 _nInitiallySelectedEvent
923             ) override;
924 
925     virtual VclPtr<SfxAbstractTabDialog> CreateSvxFormatCellsDialog(weld::Window* pParent, const SfxItemSet* pAttr, const SdrModel& rModel) override;
926 
927     virtual VclPtr<SvxAbstractSplitTableDialog> CreateSvxSplitTableDialog(weld::Window* pParent, bool bIsTableVertical, long nMaxVertical) override;
928 
929     virtual VclPtr<SvxAbstractNewTableDialog> CreateSvxNewTableDialog(weld::Window* pParent) override ;
930 
931     virtual VclPtr<VclAbstractDialog>          CreateOptionsDialog(
932         weld::Window* pParent, const OUString& rExtensionId ) override;
933 
934     virtual VclPtr<SvxAbstractInsRowColDlg> CreateSvxInsRowColDlg(weld::Window* pParent, bool bCol, const OString& rHelpId) override;
935 
936     virtual VclPtr<AbstractPasswordToOpenModifyDialog> CreatePasswordToOpenModifyDialog(weld::Window* pParent, sal_uInt16 nMaxPasswdLen, bool bIsPasswordToModify) override;
937 
938     virtual VclPtr<AbstractScreenshotAnnotationDlg> CreateScreenshotAnnotationDlg(weld::Dialog& rParentDialog) override;
939 
940     virtual VclPtr<AbstractSignatureLineDialog>
941     CreateSignatureLineDialog(weld::Window* pParent,
942                               const css::uno::Reference<css::frame::XModel> xModel, bool bEditExisting) override;
943 
944     virtual VclPtr<AbstractSignSignatureLineDialog>
945     CreateSignSignatureLineDialog(weld::Window* pParent,
946                                   const css::uno::Reference<css::frame::XModel> xModel) override;
947 
948     virtual VclPtr<AbstractQrCodeGenDialog>
949     CreateQrCodeGenDialog(weld::Window* pParent,
950                               const css::uno::Reference<css::frame::XModel> xModel, bool bEditExisting) override;
951 
952     virtual VclPtr<AbstractTipOfTheDayDialog> CreateTipOfTheDayDialog(weld::Window* pParent) override;
953 
954     virtual VclPtr<AbstractDiagramDialog> CreateDiagramDialog(
955         weld::Window* pParent,
956         std::shared_ptr<DiagramDataInterface> pDiagramData) override;
957 };
958 
959 #endif
960 
961 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
962