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