Version 6.4.0.0.beta1, tag libreoffice-6.4.0.0.beta1
[LibreOffice.git] / cui / source / factory / dlgfact.hxx
blob17441721490740030bfc05824a02c9f83b0ef126
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef INCLUDED_CUI_SOURCE_FACTORY_DLGFACT_HXX
20 #define INCLUDED_CUI_SOURCE_FACTORY_DLGFACT_HXX
22 #include <svx/svxdlg.hxx>
23 #include <svx/zoom_def.hxx>
24 #include <com/sun/star/container/XNameReplace.hpp>
26 #include <tools/link.hxx>
27 #include <com/sun/star/frame/XFrame.hpp>
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>
64 class SfxSingleTabDialogController;
65 class SfxItemPool;
66 class FmShowColsDialog;
67 class SvxZoomDialog;
68 class FmInputRecordNoDialog;
69 class SvxJSearchOptionsDialog;
70 class SvxNewDictionaryDialog;
71 class SvxNameDialog;
73 // #i68101#
74 class SvxObjectNameDialog;
75 class SvxObjectTitleDescDialog;
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;
91 namespace svx{
92 class HangulHanjaConversionDialog;
94 using namespace svx;
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;
105 #define IMPL_ABSTDLG_BASE(Class) \
106 short Class::Execute() \
108 return pDlg->Execute(); \
110 bool Class::StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) \
112 return pDlg->StartExecuteAsync(rCtx); \
115 class CuiAbstractController_Impl : public VclAbstractDialog
117 std::unique_ptr<weld::DialogController> m_xDlg;
118 public:
119 explicit CuiAbstractController_Impl(std::unique_ptr<weld::DialogController> p)
120 : m_xDlg(std::move(p))
123 virtual short Execute() override;
126 class CuiAbstractSingleTabController_Impl : public SfxAbstractDialog
128 std::unique_ptr<SfxSingleTabDialogController> m_xDlg;
129 public:
130 explicit CuiAbstractSingleTabController_Impl(std::unique_ptr<SfxSingleTabDialogController> p)
131 : m_xDlg(std::move(p))
134 virtual short Execute() override;
135 virtual const SfxItemSet* GetOutputItemSet() const override;
137 //From class Window.
138 virtual void SetText( const OUString& rStr ) override;
141 class CuiAbstractTabController_Impl : public SfxAbstractTabDialog
143 std::shared_ptr<SfxTabDialogController> m_xDlg;
144 public:
145 explicit CuiAbstractTabController_Impl(std::unique_ptr<SfxTabDialogController> p)
146 : m_xDlg(std::move(p))
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;
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;
164 class SvxDistributeDialog;
165 class AbstractSvxDistributeDialog_Impl: public AbstractSvxDistributeDialog
167 std::unique_ptr<SvxDistributeDialog> m_xDlg;
168 public:
169 explicit AbstractSvxDistributeDialog_Impl(std::unique_ptr<SvxDistributeDialog> p)
170 : m_xDlg(std::move(p))
173 virtual short Execute() override;
174 public:
175 virtual SvxDistributeHorizontal GetDistributeHor() const override;
176 virtual SvxDistributeVertical GetDistributeVer() const override;
179 class AbstractHangulHanjaConversionDialog_Impl: public AbstractHangulHanjaConversionDialog
181 private:
182 std::unique_ptr<HangulHanjaConversionDialog> m_xDlg;
183 public:
184 explicit AbstractHangulHanjaConversionDialog_Impl(std::unique_ptr<HangulHanjaConversionDialog> p)
185 : m_xDlg(std::move(p))
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;
217 class AbstractThesaurusDialog_Impl : public AbstractThesaurusDialog
219 std::shared_ptr<SvxThesaurusDialog> m_xDlg;
220 public:
221 explicit AbstractThesaurusDialog_Impl(std::unique_ptr<SvxThesaurusDialog> p)
222 : m_xDlg(std::move(p))
225 virtual short Execute() override;
226 virtual bool StartExecuteAsync(AsyncContext &rCtx) override;
227 virtual OUString GetWord() override;
230 class AbstractHyphenWordDialog_Impl: public AbstractHyphenWordDialog
232 std::unique_ptr<SvxHyphenWordDialog> m_xDlg;
233 public:
234 explicit AbstractHyphenWordDialog_Impl(std::unique_ptr<SvxHyphenWordDialog> p)
235 : m_xDlg(std::move(p))
238 virtual short Execute() override;
241 class FmShowColsDialog;
242 class AbstractFmShowColsDialog_Impl : public AbstractFmShowColsDialog
244 std::unique_ptr<FmShowColsDialog> m_xDlg;
245 public:
246 explicit AbstractFmShowColsDialog_Impl(std::unique_ptr<FmShowColsDialog> p)
247 : m_xDlg(std::move(p))
250 virtual short Execute() override;
251 virtual void SetColumns(const css::uno::Reference< css::container::XIndexContainer>& xCols) override;
254 class SvxZoomDialog;
255 class AbstractSvxZoomDialog_Impl : public AbstractSvxZoomDialog
257 std::unique_ptr<SvxZoomDialog> m_xDlg;
258 public:
259 explicit AbstractSvxZoomDialog_Impl(std::unique_ptr<SvxZoomDialog> p)
260 : m_xDlg(std::move(p))
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 ;
269 namespace svx{ class SpellDialog;}
270 class AbstractSpellDialog_Impl : public AbstractSpellDialog
272 std::shared_ptr<svx::SpellDialog> m_xDlg;
273 public:
274 explicit AbstractSpellDialog_Impl(std::unique_ptr<svx::SpellDialog> p)
275 : m_xDlg(std::move(p))
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;
285 class TitleDialog;
286 class AbstractTitleDialog_Impl : public AbstractTitleDialog
288 protected:
289 std::unique_ptr<TitleDialog> m_xDlg;
290 public:
291 explicit AbstractTitleDialog_Impl(std::unique_ptr<TitleDialog> p)
292 : m_xDlg(std::move(p))
295 virtual short Execute() override;
296 virtual OUString GetTitle() const override ;
300 class SvxScriptSelectorDialog;
301 class AbstractScriptSelectorDialog_Impl : public AbstractScriptSelectorDialog
303 std::unique_ptr<SvxScriptSelectorDialog> m_xDlg;
304 public:
305 explicit AbstractScriptSelectorDialog_Impl(std::unique_ptr<SvxScriptSelectorDialog> p)
306 : m_xDlg(std::move(p))
309 virtual short Execute() override;
310 virtual OUString GetScriptURL() const override;
311 virtual void SetRunLabel() override;
314 class GalleryIdDialog;
315 class AbstractGalleryIdDialog_Impl : public AbstractGalleryIdDialog
317 protected:
318 std::unique_ptr<GalleryIdDialog> m_xDlg;
319 public:
320 explicit AbstractGalleryIdDialog_Impl(std::unique_ptr<GalleryIdDialog> p)
321 : m_xDlg(std::move(p))
324 virtual short Execute() override;
325 virtual sal_uInt32 GetId() const override;
328 class URLDlg;
329 class AbstractURLDlg_Impl :public AbstractURLDlg
331 protected:
332 std::unique_ptr<URLDlg> m_xDlg;
333 public:
334 explicit AbstractURLDlg_Impl(std::unique_ptr<URLDlg> p)
335 : m_xDlg(std::move(p))
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;
346 class SvxSearchSimilarityDialog;
347 class AbstractSvxSearchSimilarityDialog_Impl :public AbstractSvxSearchSimilarityDialog
349 std::unique_ptr<SvxSearchSimilarityDialog> m_xDlg;
350 public:
351 explicit AbstractSvxSearchSimilarityDialog_Impl(std::unique_ptr<SvxSearchSimilarityDialog> p)
352 : m_xDlg(std::move(p))
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;
362 class SvxJSearchOptionsDialog;
363 class AbstractSvxJSearchOptionsDialog_Impl : public AbstractSvxJSearchOptionsDialog
365 std::unique_ptr<SvxJSearchOptionsDialog> m_xDlg;
366 public:
367 explicit AbstractSvxJSearchOptionsDialog_Impl(std::unique_ptr<SvxJSearchOptionsDialog> p)
368 : m_xDlg(std::move(p))
371 virtual short Execute() override;
372 virtual TransliterationFlags GetTransliterationFlags() const override;
375 class AbstractSvxTransformTabDialog_Impl : public AbstractSvxTransformTabDialog
377 std::shared_ptr<SvxTransformTabDialog> m_xDlg;
378 public:
379 explicit AbstractSvxTransformTabDialog_Impl(SvxTransformTabDialog* p)
380 : m_xDlg(p)
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;
393 class AbstractSvxCaptionDialog_Impl : public AbstractSvxCaptionDialog
395 std::shared_ptr<SvxCaptionTabDialog> m_xDlg;
396 public:
397 explicit AbstractSvxCaptionDialog_Impl(std::unique_ptr<SvxCaptionTabDialog> p)
398 : m_xDlg(std::move(p))
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;
411 class FmInputRecordNoDialog;
412 class AbstractFmInputRecordNoDialog_Impl :public AbstractFmInputRecordNoDialog
414 std::unique_ptr<FmInputRecordNoDialog> m_xDlg;
415 public:
416 explicit AbstractFmInputRecordNoDialog_Impl(std::unique_ptr<FmInputRecordNoDialog> p)
417 : m_xDlg(std::move(p))
420 virtual short Execute() override;
421 virtual void SetValue(long nNew) override ;
422 virtual long GetValue() const override ;
425 class SvxNewDictionaryDialog;
426 class AbstractSvxNewDictionaryDialog_Impl :public AbstractSvxNewDictionaryDialog
428 std::unique_ptr<SvxNewDictionaryDialog> m_xDlg;
429 public:
430 explicit AbstractSvxNewDictionaryDialog_Impl(std::unique_ptr<SvxNewDictionaryDialog> p)
431 : m_xDlg(std::move(p))
434 virtual short Execute() override;
435 virtual css::uno::Reference< css::linguistic2::XDictionary > GetNewDictionary() override;
438 class SvxNameDialog;
439 class AbstractSvxNameDialog_Impl :public AbstractSvxNameDialog
441 public:
442 explicit AbstractSvxNameDialog_Impl(std::unique_ptr<SvxNameDialog> p)
443 : m_xDlg(std::move(p))
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);
459 class SvxObjectNameDialog;
460 class SvxObjectTitleDescDialog;
462 class AbstractSvxObjectNameDialog_Impl : public AbstractSvxObjectNameDialog
464 public:
465 explicit AbstractSvxObjectNameDialog_Impl(std::unique_ptr<SvxObjectNameDialog> p)
466 : m_xDlg(std::move(p))
469 virtual short Execute() override;
470 virtual void GetName(OUString& rName) override ;
471 virtual void SetCheckNameHdl(const Link<AbstractSvxObjectNameDialog&,bool>& rLink) override;
473 private:
474 std::unique_ptr<SvxObjectNameDialog> m_xDlg;
475 Link<AbstractSvxObjectNameDialog&,bool> aCheckNameHdl;
476 DECL_LINK(CheckNameHdl, SvxObjectNameDialog&, bool);
479 class AbstractSvxObjectTitleDescDialog_Impl :public AbstractSvxObjectTitleDescDialog
481 std::unique_ptr<SvxObjectTitleDescDialog> m_xDlg;
482 public:
483 explicit AbstractSvxObjectTitleDescDialog_Impl(std::unique_ptr<SvxObjectTitleDescDialog> p)
484 : m_xDlg(std::move(p))
487 virtual short Execute() override;
488 virtual void GetTitle(OUString& rName) override;
489 virtual void GetDescription(OUString& rName) override;
492 class AbstractSvxMultiPathDialog_Impl : public AbstractSvxMultiPathDialog
494 std::unique_ptr<SvxMultiPathDialog> m_xDlg;
495 public:
496 explicit AbstractSvxMultiPathDialog_Impl(std::unique_ptr<SvxMultiPathDialog> p)
497 : m_xDlg(std::move(p))
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;
506 class SvxPathSelectDialog;
507 class AbstractSvxPathSelectDialog_Impl : public AbstractSvxMultiPathDialog
509 protected:
510 std::unique_ptr<SvxPathSelectDialog> m_xDlg;
511 public:
512 explicit AbstractSvxPathSelectDialog_Impl(std::unique_ptr<SvxPathSelectDialog> p)
513 : m_xDlg(std::move(p))
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;
522 class SvxHpLinkDlg;
523 class AbstractSvxHpLinkDlg_Impl : public AbstractSvxHpLinkDlg
525 protected:
526 std::shared_ptr<SvxHpLinkDlg> m_xDlg;
527 public:
528 explicit AbstractSvxHpLinkDlg_Impl(std::unique_ptr<SvxHpLinkDlg> p)
529 : m_xDlg(std::move(p))
532 virtual short Execute() override;
533 virtual std::shared_ptr<SfxDialogController> GetController() override;
534 virtual bool QueryClose() override;
537 class FmSearchDialog;
538 struct FmFoundRecordInformation;
539 class AbstractFmSearchDialog_Impl :public AbstractFmSearchDialog
541 std::unique_ptr<FmSearchDialog> m_xDlg;
542 public:
543 explicit AbstractFmSearchDialog_Impl(std::unique_ptr<FmSearchDialog> p)
544 : m_xDlg(std::move(p))
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;
553 class AbstractGraphicFilterDialog_Impl : public AbstractGraphicFilterDialog
555 std::unique_ptr<GraphicFilterDialog> m_xDlg;
556 public:
557 explicit AbstractGraphicFilterDialog_Impl(std::unique_ptr<GraphicFilterDialog> p)
558 : m_xDlg(std::move(p))
561 virtual short Execute() override;
562 virtual Graphic GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY ) override;
565 class SvxAreaTabDialog;
566 class AbstractSvxAreaTabDialog_Impl : public AbstractSvxAreaTabDialog
568 std::shared_ptr<SvxAreaTabDialog> m_xDlg;
569 public:
570 explicit AbstractSvxAreaTabDialog_Impl(std::unique_ptr<SvxAreaTabDialog> p)
571 : m_xDlg(std::move(p))
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;
583 class AbstractInsertObjectDialog_Impl : public SfxAbstractInsertObjectDialog
585 std::unique_ptr<InsertObjectDialog_Impl> m_xDlg;
586 public:
587 explicit AbstractInsertObjectDialog_Impl(std::unique_ptr<InsertObjectDialog_Impl> p)
588 : m_xDlg(std::move(p))
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;
597 class AbstractPasteDialog_Impl : public SfxAbstractPasteDialog
599 std::shared_ptr<SvPasteObjectDialog> m_xDlg;
600 public:
601 explicit AbstractPasteDialog_Impl(std::unique_ptr<SvPasteObjectDialog> p)
602 : m_xDlg(std::move(p))
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;
615 class AbstractLinksDialog_Impl : public SfxAbstractLinksDialog
617 protected:
618 std::unique_ptr<SvBaseLinksDlg> m_xDlg;
619 public:
620 explicit AbstractLinksDialog_Impl(std::unique_ptr<SvBaseLinksDlg> p)
621 : m_xDlg(std::move(p))
624 virtual short Execute() override;
627 class SvxPostItDialog;
628 class AbstractSvxPostItDialog_Impl :public AbstractSvxPostItDialog
630 public:
631 AbstractSvxPostItDialog_Impl(std::unique_ptr<SvxPostItDialog> pDlg)
632 : m_xDlg(std::move(pDlg))
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);
655 class PasswordToOpenModifyDialog;
656 class AbstractPasswordToOpenModifyDialog_Impl : public AbstractPasswordToOpenModifyDialog
658 std::unique_ptr<PasswordToOpenModifyDialog> m_xDlg;
659 public:
660 explicit AbstractPasswordToOpenModifyDialog_Impl(std::unique_ptr<PasswordToOpenModifyDialog> p)
661 : m_xDlg(std::move(p))
664 virtual short Execute() override;
665 virtual OUString GetPasswordToOpen() const override;
666 virtual OUString GetPasswordToModify() const override;
667 virtual bool IsRecommendToOpenReadonly() const override;
670 class SvxCharacterMap;
671 class AbstractSvxCharacterMapDialog_Impl : public SfxAbstractDialog
673 std::unique_ptr<SvxCharacterMap> m_xDlg;
674 public:
675 explicit AbstractSvxCharacterMapDialog_Impl(std::unique_ptr<SvxCharacterMap> p)
676 : m_xDlg(std::move(p))
679 virtual short Execute() override;
680 virtual const SfxItemSet* GetOutputItemSet() const override;
681 virtual void SetText(const OUString& rStr) override;
684 class ScreenshotAnnotationDlg;
685 class AbstractScreenshotAnnotationDlg_Impl : public AbstractScreenshotAnnotationDlg
687 std::unique_ptr<ScreenshotAnnotationDlg> m_xDlg;
689 public:
690 explicit AbstractScreenshotAnnotationDlg_Impl(std::unique_ptr<ScreenshotAnnotationDlg> p)
691 : m_xDlg(std::move(p))
694 virtual short Execute() override;
697 class SignatureLineDialog;
698 class AbstractSignatureLineDialog_Impl : public AbstractSignatureLineDialog
700 std::unique_ptr<SignatureLineDialog> m_xDlg;
702 public:
703 explicit AbstractSignatureLineDialog_Impl(std::unique_ptr<SignatureLineDialog> p)
704 : m_xDlg(std::move(p))
707 virtual short Execute() override;
710 class QrCodeGenDialog;
711 class AbstractQrCodeGenDialog_Impl : public AbstractQrCodeGenDialog
713 std::unique_ptr<QrCodeGenDialog> m_xDlg;
715 public:
716 explicit AbstractQrCodeGenDialog_Impl(std::unique_ptr<QrCodeGenDialog> p)
717 : m_xDlg(std::move(p))
720 virtual short Execute() override;
723 class SignSignatureLineDialog;
724 class AbstractSignSignatureLineDialog_Impl : public AbstractSignSignatureLineDialog
726 protected:
727 std::unique_ptr<SignSignatureLineDialog> m_xDlg;
729 public:
730 explicit AbstractSignSignatureLineDialog_Impl(std::unique_ptr<SignSignatureLineDialog> p)
731 : m_xDlg(std::move(p))
734 virtual short Execute() override;
737 class TipOfTheDayDialog;
738 class AbstractTipOfTheDayDialog_Impl : public AbstractTipOfTheDayDialog
740 protected:
741 std::unique_ptr<TipOfTheDayDialog> m_xDlg;
743 public:
744 explicit AbstractTipOfTheDayDialog_Impl(std::unique_ptr<TipOfTheDayDialog> p)
745 : m_xDlg(std::move(p))
748 virtual short Execute() override;
751 class DiagramDialog;
753 /** Edit Diagram dialog */
754 class AbstractDiagramDialog_Impl : public AbstractDiagramDialog
756 protected:
757 std::unique_ptr<DiagramDialog> m_xDlg;
759 public:
760 explicit AbstractDiagramDialog_Impl(std::unique_ptr<DiagramDialog> p)
761 : m_xDlg(std::move(p))
764 virtual short Execute() override;
767 //AbstractDialogFactory_Impl implementations
768 class AbstractDialogFactory_Impl : public SvxAbstractDialogFactory
770 public:
771 virtual VclPtr<VclAbstractDialog> CreateVclDialog(weld::Window* pParent, sal_uInt32 nResId) override;
773 virtual VclPtr<VclAbstractDialog> CreateAboutDialog(weld::Window* pParent) override;
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;
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;
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;
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;
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;
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;
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;
905 // For TabPage
906 virtual CreateTabPage GetTabPageCreatorFunc( sal_uInt16 nId ) override;
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;
912 virtual VclPtr<AbstractScriptSelectorDialog> CreateScriptSelectorDialog(weld::Window* pParent,
913 const css::uno::Reference< css::frame::XFrame >& rxFrame) override;
915 virtual VclPtr<VclAbstractDialog> CreateScriptErrorDialog(const css::uno::Any& rException) override;
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;
925 virtual VclPtr<SfxAbstractTabDialog> CreateSvxFormatCellsDialog(weld::Window* pParent, const SfxItemSet* pAttr, const SdrModel& rModel) override;
927 virtual VclPtr<SvxAbstractSplitTableDialog> CreateSvxSplitTableDialog(weld::Window* pParent, bool bIsTableVertical, long nMaxVertical) override;
929 virtual VclPtr<SvxAbstractNewTableDialog> CreateSvxNewTableDialog(weld::Window* pParent) override ;
931 virtual VclPtr<VclAbstractDialog> CreateOptionsDialog(
932 weld::Window* pParent, const OUString& rExtensionId ) override;
934 virtual VclPtr<SvxAbstractInsRowColDlg> CreateSvxInsRowColDlg(weld::Window* pParent, bool bCol, const OString& rHelpId) override;
936 virtual VclPtr<AbstractPasswordToOpenModifyDialog> CreatePasswordToOpenModifyDialog(weld::Window* pParent, sal_uInt16 nMaxPasswdLen, bool bIsPasswordToModify) override;
938 virtual VclPtr<AbstractScreenshotAnnotationDlg> CreateScreenshotAnnotationDlg(weld::Dialog& rParentDialog) override;
940 virtual VclPtr<AbstractSignatureLineDialog>
941 CreateSignatureLineDialog(weld::Window* pParent,
942 const css::uno::Reference<css::frame::XModel> xModel, bool bEditExisting) override;
944 virtual VclPtr<AbstractSignSignatureLineDialog>
945 CreateSignSignatureLineDialog(weld::Window* pParent,
946 const css::uno::Reference<css::frame::XModel> xModel) override;
948 virtual VclPtr<AbstractQrCodeGenDialog>
949 CreateQrCodeGenDialog(weld::Window* pParent,
950 const css::uno::Reference<css::frame::XModel> xModel, bool bEditExisting) override;
952 virtual VclPtr<AbstractTipOfTheDayDialog> CreateTipOfTheDayDialog(weld::Window* pParent) override;
954 virtual VclPtr<AbstractDiagramDialog> CreateDiagramDialog(
955 weld::Window* pParent,
956 std::shared_ptr<DiagramDataInterface> pDiagramData) override;
959 #endif
961 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */