Bump version to 6.4-15
[LibreOffice.git] / cui / source / factory / dlgfact.cxx
blobbe6351d04b8ba89a55af4c672abe643e023eac8f
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 .
20 #include <align.hxx>
21 #include "dlgfact.hxx"
23 #include <sfx2/app.hxx>
24 #include <sfx2/basedlgs.hxx>
25 #include <sfx2/pageids.hxx>
26 #include <svx/dialogs.hrc>
27 #include <svx/svxids.hrc>
28 #include <numfmt.hxx>
29 #include <splitcelldlg.hxx>
30 #include <dstribut.hxx>
31 #include <cuiimapwnd.hxx>
32 #include <cui/cuicharmap.hxx>
33 #include <srchxtra.hxx>
34 #include <textanim.hxx>
35 #include <autocdlg.hxx>
36 #include <treeopt.hxx>
37 #include <labdlg.hxx>
38 #include <hangulhanjadlg.hxx>
39 #include <showcols.hxx>
40 #include <zoom.hxx>
41 #include <cuigaldlg.hxx>
42 #include <transfrm.hxx>
43 #include <bbdlg.hxx>
44 #include <cuisrchdlg.hxx>
45 #include <cuitbxform.hxx>
46 #include <optdict.hxx>
47 #include <dlgname.hxx>
48 #include <multipat.hxx>
49 #include <cuihyperdlg.hxx>
50 #include <cuifmsearch.hxx>
51 #include <cuigrfflt.hxx>
52 #include <cuitabarea.hxx>
53 #include <cuitabline.hxx>
54 #include <measure.hxx>
55 #include <connect.hxx>
56 #include <dbregister.hxx>
57 #include <cuioptgenrl.hxx>
58 #include <optasian.hxx>
59 #include <insdlg.hxx>
60 #include <pastedlg.hxx>
61 #include <linkdlg.hxx>
62 #include <SignatureLineDialog.hxx>
63 #include <SignSignatureLineDialog.hxx>
64 #include <QrCodeGenDialog.hxx>
65 #include <SpellDialog.hxx>
66 #include <cfg.hxx>
67 #include <numpages.hxx>
68 #include <paragrph.hxx>
69 #include <tabstpge.hxx>
70 #include <textattr.hxx>
71 #include <backgrnd.hxx>
72 #include <border.hxx>
73 #include <chardlg.hxx>
74 #include <page.hxx>
75 #include <postdlg.hxx>
76 #include <grfpage.hxx>
77 #include <scriptdlg.hxx>
78 #include <cfgutil.hxx>
79 #include <macropg.hxx>
80 #include <sdrcelldlg.hxx>
81 #include <newtabledlg.hxx>
82 #include <macroass.hxx>
83 #include <insrc.hxx>
84 #include <passwdomdlg.hxx>
85 #include <screenshotannotationdlg.hxx>
86 #include <hyphen.hxx>
87 #include <thesdlg.hxx>
88 #include <about.hxx>
89 #include <tipofthedaydlg.hxx>
90 #include <DiagramDialog.hxx>
92 using namespace ::com::sun::star;
93 using namespace ::com::sun::star::frame;
94 using namespace ::com::sun::star::container;
96 using ::com::sun::star::uno::Reference;
98 using namespace svx;
99 // AbstractTabDialog implementations just forwards everything to the dialog
101 short CuiAbstractController_Impl::Execute()
103 return m_xDlg->run();
106 short CuiAbstractSingleTabController_Impl::Execute()
108 return m_xDlg->run();
111 short AbstractSvxDistributeDialog_Impl::Execute()
113 return m_xDlg->run();
116 short AbstractHangulHanjaConversionDialog_Impl::Execute()
118 return m_xDlg->run();
121 short AbstractFmShowColsDialog_Impl::Execute()
123 return m_xDlg->run();
126 short AbstractHyphenWordDialog_Impl::Execute()
128 return m_xDlg->run();
131 short AbstractThesaurusDialog_Impl::Execute()
133 return m_xDlg->run();
136 bool AbstractThesaurusDialog_Impl::StartExecuteAsync(AsyncContext &rCtx)
138 return SfxDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn);
141 short AbstractSvxZoomDialog_Impl::Execute()
143 return m_xDlg->run();
146 short AbstractTitleDialog_Impl::Execute()
148 return m_xDlg->run();
151 short AbstractScriptSelectorDialog_Impl::Execute()
153 return m_xDlg->run();
156 short AbstractGalleryIdDialog_Impl::Execute()
158 return m_xDlg->run();
161 short AbstractURLDlg_Impl::Execute()
163 return m_xDlg->run();
166 short AbstractSvxSearchSimilarityDialog_Impl::Execute()
168 return m_xDlg->run();
171 short AbstractSvxTransformTabDialog_Impl::Execute()
173 return m_xDlg->run();
176 bool AbstractSvxTransformTabDialog_Impl::StartExecuteAsync(AsyncContext &rCtx)
178 return SfxTabDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn);
181 short AbstractSvxCaptionDialog_Impl::Execute()
183 return m_xDlg->run();
186 bool AbstractSvxCaptionDialog_Impl::StartExecuteAsync(AsyncContext &rCtx)
188 return SfxTabDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn);
191 short AbstractSvxJSearchOptionsDialog_Impl::Execute()
193 return m_xDlg->run();
196 short AbstractFmInputRecordNoDialog_Impl::Execute()
198 return m_xDlg->run();
201 short AbstractSvxNewDictionaryDialog_Impl::Execute()
203 return m_xDlg->run();
206 short AbstractSvxNameDialog_Impl::Execute()
208 return m_xDlg->run();
211 // #i68101#
212 short AbstractSvxObjectNameDialog_Impl::Execute()
214 return m_xDlg->run();
217 short AbstractSvxObjectTitleDescDialog_Impl::Execute()
219 return m_xDlg->run();
222 short AbstractSvxMultiPathDialog_Impl::Execute()
224 return m_xDlg->run();
227 short AbstractSvxPathSelectDialog_Impl::Execute()
229 return m_xDlg->run();
232 short AbstractSvxHpLinkDlg_Impl::Execute()
234 return m_xDlg->run();
237 short AbstractFmSearchDialog_Impl::Execute()
239 return m_xDlg->run();
242 short AbstractGraphicFilterDialog_Impl::Execute()
244 return m_xDlg->run();
247 short AbstractSvxAreaTabDialog_Impl::Execute()
249 return m_xDlg->run();
252 bool AbstractSvxAreaTabDialog_Impl::StartExecuteAsync(AsyncContext &rCtx)
254 return SfxTabDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn);
257 short AbstractPasteDialog_Impl::Execute()
259 return m_xDlg->run();
262 bool AbstractPasteDialog_Impl::StartExecuteAsync(AsyncContext &rCtx)
264 return SfxDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn);
267 short AbstractInsertObjectDialog_Impl::Execute()
269 return m_xDlg->run();
272 short AbstractLinksDialog_Impl::Execute()
274 return m_xDlg->run();
277 short AbstractSpellDialog_Impl::Execute()
279 return m_xDlg->run();
282 bool AbstractSpellDialog_Impl::StartExecuteAsync(AsyncContext &rCtx)
284 return SfxDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn);
287 short AbstractSvxPostItDialog_Impl::Execute()
289 return m_xDlg->run();
292 short AbstractPasswordToOpenModifyDialog_Impl::Execute()
294 return m_xDlg->run();
297 short AbstractSvxCharacterMapDialog_Impl::Execute()
299 return m_xDlg->run();
302 const SfxItemSet* AbstractSvxCharacterMapDialog_Impl::GetOutputItemSet() const
304 return m_xDlg->GetOutputItemSet();
307 void AbstractSvxCharacterMapDialog_Impl::SetText(const OUString& rStr)
309 m_xDlg->set_title(rStr);
312 short AbstractSignatureLineDialog_Impl::Execute()
314 return m_xDlg->run();
317 short AbstractSignSignatureLineDialog_Impl::Execute()
319 return m_xDlg->run();
322 short AbstractQrCodeGenDialog_Impl::Execute()
324 return m_xDlg->run();
327 short AbstractScreenshotAnnotationDlg_Impl::Execute()
329 return m_xDlg->run();
332 short CuiAbstractTabController_Impl::Execute()
334 return m_xDlg->run();
337 bool CuiAbstractTabController_Impl::StartExecuteAsync(AsyncContext &rCtx)
339 return SfxTabDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn);
342 void CuiAbstractTabController_Impl::SetCurPageId( const OString &rName )
344 m_xDlg->SetCurPageId( rName );
347 const SfxItemSet* CuiAbstractTabController_Impl::GetOutputItemSet() const
349 return m_xDlg->GetOutputItemSet();
352 const sal_uInt16* CuiAbstractTabController_Impl::GetInputRanges(const SfxItemPool& pItem )
354 return m_xDlg->GetInputRanges( pItem );
357 void CuiAbstractTabController_Impl::SetInputSet( const SfxItemSet* pInSet )
359 m_xDlg->SetInputSet( pInSet );
362 //From class Window.
363 void CuiAbstractTabController_Impl::SetText( const OUString& rStr )
365 m_xDlg->set_title(rStr);
368 std::vector<OString> CuiAbstractTabController_Impl::getAllPageUIXMLDescriptions() const
370 return m_xDlg->getAllPageUIXMLDescriptions();
373 bool CuiAbstractTabController_Impl::selectPageByUIXMLDescription(const OString& rUIXMLDescription)
375 return m_xDlg->selectPageByUIXMLDescription(rUIXMLDescription);
378 BitmapEx CuiAbstractTabController_Impl::createScreenshot() const
380 return m_xDlg->createScreenshot();
383 OString CuiAbstractTabController_Impl::GetScreenshotId() const
385 return m_xDlg->GetScreenshotId();
388 bool CuiAsyncAbstractTabController_Impl::StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx)
390 return SfxTabDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn);
393 void CuiAsyncAbstractTabController_Impl::SetCurPageId( const OString &rName )
395 m_xDlg->SetCurPageId( rName );
398 const SfxItemSet* CuiAsyncAbstractTabController_Impl::GetOutputItemSet() const
400 return m_xDlg->GetOutputItemSet();
403 const SfxItemSet* CuiAbstractSingleTabController_Impl::GetOutputItemSet() const
405 return m_xDlg->GetOutputItemSet();
408 void CuiAbstractSingleTabController_Impl::SetText(const OUString& rStr)
410 m_xDlg->set_title(rStr);
413 SvxDistributeHorizontal AbstractSvxDistributeDialog_Impl::GetDistributeHor()const
415 return m_xDlg->GetDistributeHor();
417 SvxDistributeVertical AbstractSvxDistributeDialog_Impl::GetDistributeVer()const
419 return m_xDlg->GetDistributeVer();
422 void AbstractHangulHanjaConversionDialog_Impl::EndDialog(sal_Int32 nResult)
424 m_xDlg->response(nResult);
427 void AbstractHangulHanjaConversionDialog_Impl::EnableRubySupport( bool _bVal )
429 m_xDlg->EnableRubySupport(_bVal);
432 void AbstractHangulHanjaConversionDialog_Impl::SetByCharacter( bool _bByCharacter )
434 m_xDlg->SetByCharacter(_bByCharacter);
437 void AbstractHangulHanjaConversionDialog_Impl::SetConversionDirectionState( bool _bTryBothDirections, editeng::HangulHanjaConversion::ConversionDirection _ePrimaryConversionDirection )
439 m_xDlg->SetConversionDirectionState(_bTryBothDirections, _ePrimaryConversionDirection);
442 void AbstractHangulHanjaConversionDialog_Impl::SetConversionFormat( editeng::HangulHanjaConversion::ConversionFormat _eType )
444 m_xDlg->SetConversionFormat(_eType);
447 void AbstractHangulHanjaConversionDialog_Impl::SetOptionsChangedHdl( const Link<LinkParamNone*,void>& _rHdl )
449 m_xDlg->SetOptionsChangedHdl(_rHdl );
452 void AbstractHangulHanjaConversionDialog_Impl::SetIgnoreHdl( const Link<weld::Button&,void>& _rHdl )
454 m_xDlg->SetIgnoreHdl(_rHdl );
457 void AbstractHangulHanjaConversionDialog_Impl::SetIgnoreAllHdl(const Link<weld::Button&,void>& rHdl)
459 m_xDlg->SetIgnoreAllHdl(rHdl);
462 void AbstractHangulHanjaConversionDialog_Impl::SetChangeHdl(const Link<weld::Button&,void>& rHdl)
464 m_xDlg->SetChangeHdl(rHdl);
467 void AbstractHangulHanjaConversionDialog_Impl::SetChangeAllHdl( const Link<weld::Button&,void>& rHdl )
469 m_xDlg->SetChangeAllHdl(rHdl);
472 void AbstractHangulHanjaConversionDialog_Impl::SetClickByCharacterHdl( const Link<weld::ToggleButton&,void>& _rHdl )
474 m_xDlg->SetClickByCharacterHdl(_rHdl );
477 void AbstractHangulHanjaConversionDialog_Impl::SetConversionFormatChangedHdl(const Link<weld::Button&,void>& rHdl)
479 m_xDlg->SetConversionFormatChangedHdl(rHdl);
482 void AbstractHangulHanjaConversionDialog_Impl::SetFindHdl( const Link<weld::Button&,void>& rHdl )
484 m_xDlg->SetFindHdl(rHdl);
487 bool AbstractHangulHanjaConversionDialog_Impl::GetUseBothDirections( ) const
489 return m_xDlg->GetUseBothDirections();
492 editeng::HangulHanjaConversion::ConversionDirection AbstractHangulHanjaConversionDialog_Impl::GetDirection( editeng::HangulHanjaConversion::ConversionDirection _eDefaultDirection ) const
494 return m_xDlg->GetDirection( _eDefaultDirection );
497 void AbstractHangulHanjaConversionDialog_Impl::SetCurrentString(
498 const OUString& _rNewString,
499 const css::uno::Sequence< OUString >& _rSuggestions,
500 bool _bOriginatesFromDocument
503 m_xDlg->SetCurrentString(_rNewString,_rSuggestions,_bOriginatesFromDocument);
506 OUString AbstractHangulHanjaConversionDialog_Impl::GetCurrentString( ) const
508 return m_xDlg->GetCurrentString();
511 editeng::HangulHanjaConversion::ConversionFormat AbstractHangulHanjaConversionDialog_Impl::GetConversionFormat( ) const
513 return m_xDlg->GetConversionFormat();
516 void AbstractHangulHanjaConversionDialog_Impl::FocusSuggestion( )
518 m_xDlg->FocusSuggestion();
521 OUString AbstractHangulHanjaConversionDialog_Impl::GetCurrentSuggestion( ) const
523 return m_xDlg->GetCurrentSuggestion();
526 OUString AbstractThesaurusDialog_Impl::GetWord()
528 return m_xDlg->GetWord();
531 Reference < css::embed::XEmbeddedObject > AbstractInsertObjectDialog_Impl::GetObject()
533 return m_xDlg->GetObject();
536 bool AbstractInsertObjectDialog_Impl::IsCreateNew()
538 return m_xDlg->IsCreateNew();
541 ::Reference< css::io::XInputStream > AbstractInsertObjectDialog_Impl::GetIconIfIconified( OUString* pGraphicMediaType )
543 return m_xDlg->GetIconIfIconified( pGraphicMediaType );
546 void AbstractPasteDialog_Impl::Insert(SotClipboardFormatId nFormat, const OUString& rFormatName)
548 m_xDlg->Insert(nFormat, rFormatName);
551 void AbstractPasteDialog_Impl::SetObjName(const SvGlobalName & rClass, const OUString& rObjName)
553 m_xDlg->SetObjName(rClass, rObjName);
556 void AbstractPasteDialog_Impl::PreGetFormat( const TransferableDataHelper& aHelper )
558 m_xDlg->PreGetFormat(aHelper);
561 SotClipboardFormatId AbstractPasteDialog_Impl::GetFormatOnly()
563 return m_xDlg->GetFormatOnly();
566 SotClipboardFormatId AbstractPasteDialog_Impl::GetFormat( const TransferableDataHelper& aHelper )
568 return m_xDlg->GetFormat(aHelper);
571 void AbstractFmShowColsDialog_Impl::SetColumns(const ::Reference< css::container::XIndexContainer>& xCols)
573 m_xDlg->SetColumns(xCols);
576 void AbstractSvxZoomDialog_Impl::SetLimits( sal_uInt16 nMin, sal_uInt16 nMax )
578 m_xDlg->SetLimits( nMin, nMax );
581 void AbstractSvxZoomDialog_Impl::HideButton( ZoomButtonId nBtnId )
583 m_xDlg->HideButton( nBtnId );
586 const SfxItemSet* AbstractSvxZoomDialog_Impl::GetOutputItemSet() const
588 return m_xDlg->GetOutputItemSet();
591 void AbstractSpellDialog_Impl::InvalidateDialog()
593 m_xDlg->InvalidateDialog();
596 std::shared_ptr<SfxDialogController> AbstractSpellDialog_Impl::GetController()
598 return m_xDlg;
601 SfxBindings& AbstractSpellDialog_Impl::GetBindings()
603 return m_xDlg->GetBindings();
606 OUString AbstractTitleDialog_Impl::GetTitle() const
608 return m_xDlg->GetTitle();
611 sal_uInt32 AbstractGalleryIdDialog_Impl::GetId() const
613 return m_xDlg->GetId();
616 OUString AbstractURLDlg_Impl::GetURL() const
618 return m_xDlg->GetURL();
621 OUString AbstractURLDlg_Impl::GetAltText() const
623 return m_xDlg->GetAltText();
626 OUString AbstractURLDlg_Impl::GetDesc() const
628 return m_xDlg->GetDesc();
631 OUString AbstractURLDlg_Impl::GetTarget() const
633 return m_xDlg->GetTarget();
636 OUString AbstractURLDlg_Impl::GetName() const
638 return m_xDlg->GetName();
641 sal_uInt16 AbstractSvxSearchSimilarityDialog_Impl::GetOther()
643 return m_xDlg->GetOther();
646 sal_uInt16 AbstractSvxSearchSimilarityDialog_Impl::GetShorter()
648 return m_xDlg->GetShorter();
651 sal_uInt16 AbstractSvxSearchSimilarityDialog_Impl::GetLonger()
653 return m_xDlg->GetLonger();
656 bool AbstractSvxSearchSimilarityDialog_Impl::IsRelaxed()
658 return m_xDlg->IsRelaxed();
661 // AbstractSvxTransformTabDialog implementations just forwards everything to the dialog
662 void AbstractSvxTransformTabDialog_Impl::SetCurPageId( const OString& rName )
664 m_xDlg->SetCurPageId( rName );
667 const SfxItemSet* AbstractSvxTransformTabDialog_Impl::GetOutputItemSet() const
669 return m_xDlg->GetOutputItemSet();
672 const sal_uInt16* AbstractSvxTransformTabDialog_Impl::GetInputRanges(const SfxItemPool& pItem )
674 return m_xDlg->GetInputRanges( pItem );
677 void AbstractSvxTransformTabDialog_Impl::SetInputSet( const SfxItemSet* pInSet )
679 m_xDlg->SetInputSet( pInSet );
682 //From class Window.
683 void AbstractSvxTransformTabDialog_Impl::SetText( const OUString& rStr )
685 m_xDlg->set_title(rStr);
688 void AbstractSvxTransformTabDialog_Impl::SetValidateFramePosLink( const Link<SvxSwFrameValidation&,void>& rLink )
690 m_xDlg->SetValidateFramePosLink( rLink );
693 // AbstractSvxCaptionDialog implementations just forwards everything to the dialog
694 void AbstractSvxCaptionDialog_Impl::SetCurPageId( const OString& rName )
696 m_xDlg->SetCurPageId(rName);
699 const SfxItemSet* AbstractSvxCaptionDialog_Impl::GetOutputItemSet() const
701 return m_xDlg->GetOutputItemSet();
704 const sal_uInt16* AbstractSvxCaptionDialog_Impl::GetInputRanges(const SfxItemPool& pItem )
706 return m_xDlg->GetInputRanges( pItem );
709 void AbstractSvxCaptionDialog_Impl::SetInputSet( const SfxItemSet* pInSet )
711 m_xDlg->SetInputSet( pInSet );
714 void AbstractSvxCaptionDialog_Impl::SetText( const OUString& rStr )
716 m_xDlg->set_title(rStr);
719 void AbstractSvxCaptionDialog_Impl::SetValidateFramePosLink( const Link<SvxSwFrameValidation&,void>& rLink )
721 m_xDlg->SetValidateFramePosLink( rLink );
724 TransliterationFlags AbstractSvxJSearchOptionsDialog_Impl::GetTransliterationFlags() const
726 return m_xDlg->GetTransliterationFlags();
729 void AbstractFmInputRecordNoDialog_Impl::SetValue(long nNew)
731 m_xDlg->SetValue(nNew);
734 long AbstractFmInputRecordNoDialog_Impl::GetValue() const
736 return m_xDlg->GetValue();
739 ::Reference< css::linguistic2::XDictionary > AbstractSvxNewDictionaryDialog_Impl::GetNewDictionary()
741 return m_xDlg->GetNewDictionary();
744 void AbstractSvxNameDialog_Impl::GetName(OUString& rName)
746 rName = m_xDlg->GetName();
749 void AbstractSvxNameDialog_Impl::SetCheckNameHdl( const Link<AbstractSvxNameDialog&,bool>& rLink, bool bCheckImmediately )
751 aCheckNameHdl = rLink;
752 if( rLink.IsSet() )
753 m_xDlg->SetCheckNameHdl( LINK(this, AbstractSvxNameDialog_Impl, CheckNameHdl), bCheckImmediately );
754 else
755 m_xDlg->SetCheckNameHdl( Link<SvxNameDialog&,bool>(), bCheckImmediately );
758 void AbstractSvxNameDialog_Impl::SetEditHelpId(const OString& rHelpId)
760 m_xDlg->SetEditHelpId(rHelpId);
763 void AbstractSvxNameDialog_Impl::SetHelpId(const OString& rHelpId)
765 m_xDlg->set_help_id(rHelpId);
768 void AbstractSvxNameDialog_Impl::SetText( const OUString& rStr )
770 m_xDlg->set_title(rStr);
773 IMPL_LINK_NOARG(AbstractSvxNameDialog_Impl, CheckNameHdl, SvxNameDialog&, bool)
775 return aCheckNameHdl.Call(*this);
778 void AbstractSvxObjectNameDialog_Impl::GetName(OUString& rName)
780 rName = m_xDlg->GetName();
783 void AbstractSvxObjectNameDialog_Impl::SetCheckNameHdl(const Link<AbstractSvxObjectNameDialog&,bool>& rLink)
785 aCheckNameHdl = rLink;
787 if(rLink.IsSet())
789 m_xDlg->SetCheckNameHdl(LINK(this, AbstractSvxObjectNameDialog_Impl, CheckNameHdl));
791 else
793 m_xDlg->SetCheckNameHdl(Link<SvxObjectNameDialog&,bool>());
797 IMPL_LINK_NOARG(AbstractSvxObjectNameDialog_Impl, CheckNameHdl, SvxObjectNameDialog&, bool)
799 return aCheckNameHdl.Call(*this);
802 void AbstractSvxObjectTitleDescDialog_Impl::GetTitle(OUString& rTitle)
804 rTitle = m_xDlg->GetTitle();
807 void AbstractSvxObjectTitleDescDialog_Impl::GetDescription(OUString& rDescription)
809 rDescription = m_xDlg->GetDescription();
812 OUString AbstractSvxMultiPathDialog_Impl::GetPath() const
814 return m_xDlg->GetPath();
817 void AbstractSvxMultiPathDialog_Impl::SetPath( const OUString& rPath )
819 m_xDlg->SetPath( rPath );
822 void AbstractSvxMultiPathDialog_Impl::SetTitle( const OUString& rNewTitle )
824 m_xDlg->SetTitle(rNewTitle);
827 OUString AbstractSvxPathSelectDialog_Impl::GetPath() const
829 return m_xDlg->GetPath();
832 void AbstractSvxPathSelectDialog_Impl::SetPath( const OUString& rPath )
834 m_xDlg->SetPath( rPath );
837 void AbstractSvxPathSelectDialog_Impl::SetTitle( const OUString& rNewTitle )
839 m_xDlg->SetTitle(rNewTitle);
842 std::shared_ptr<SfxDialogController> AbstractSvxHpLinkDlg_Impl::GetController()
844 return m_xDlg;
847 bool AbstractSvxHpLinkDlg_Impl::QueryClose()
849 return m_xDlg->QueryClose();
852 void AbstractFmSearchDialog_Impl::SetFoundHandler(const Link<FmFoundRecordInformation&,void>& lnk)
854 m_xDlg->SetFoundHandler(lnk);
857 void AbstractFmSearchDialog_Impl::SetCanceledNotFoundHdl(const Link<FmFoundRecordInformation&,void>& lnk)
859 m_xDlg->SetCanceledNotFoundHdl(lnk);
862 void AbstractFmSearchDialog_Impl::SetActiveField(const OUString& strField)
864 m_xDlg->SetActiveField(strField);
867 Graphic AbstractGraphicFilterDialog_Impl::GetFilteredGraphic(const Graphic& rGraphic, double fScaleX, double fScaleY)
869 return m_xDlg->GetFilteredGraphic(rGraphic, fScaleX, fScaleY);
872 // AbstractSvxAreaTabDialog implementations just forwards everything to the dialog
873 void AbstractSvxAreaTabDialog_Impl::SetCurPageId( const OString& rName )
875 m_xDlg->SetCurPageId( rName );
878 const SfxItemSet* AbstractSvxAreaTabDialog_Impl::GetOutputItemSet() const
880 return m_xDlg->GetOutputItemSet();
883 const sal_uInt16* AbstractSvxAreaTabDialog_Impl::GetInputRanges(const SfxItemPool& pItem )
885 return m_xDlg->GetInputRanges( pItem );
888 void AbstractSvxAreaTabDialog_Impl::SetInputSet( const SfxItemSet* pInSet )
890 m_xDlg->SetInputSet( pInSet );
893 void AbstractSvxAreaTabDialog_Impl::SetText( const OUString& rStr )
895 m_xDlg->set_title(rStr);
898 void AbstractSvxPostItDialog_Impl::SetText( const OUString& rStr )
900 m_xDlg->set_title(rStr);
903 const SfxItemSet* AbstractSvxPostItDialog_Impl::GetOutputItemSet() const
905 return m_xDlg->GetOutputItemSet();
908 void AbstractSvxPostItDialog_Impl::EnableTravel(bool bNext, bool bPrev)
910 m_xDlg->EnableTravel( bNext, bPrev );
913 OUString AbstractSvxPostItDialog_Impl::GetNote()
915 return m_xDlg->GetNote();
918 void AbstractSvxPostItDialog_Impl::SetNote(const OUString& rTxt)
920 m_xDlg->SetNote( rTxt );
923 void AbstractSvxPostItDialog_Impl::ShowLastAuthor(const OUString& rAuthor, const OUString& rDate)
925 m_xDlg->ShowLastAuthor( rAuthor, rDate );
928 void AbstractSvxPostItDialog_Impl::DontChangeAuthor()
930 m_xDlg->DontChangeAuthor();
933 void AbstractSvxPostItDialog_Impl::HideAuthor()
935 m_xDlg->HideAuthor();
938 void AbstractSvxPostItDialog_Impl::SetNextHdl( const Link<AbstractSvxPostItDialog&,void>& rLink )
940 aNextHdl = rLink;
941 if( rLink.IsSet() )
942 m_xDlg->SetNextHdl( LINK(this, AbstractSvxPostItDialog_Impl, NextHdl ) );
943 else
944 m_xDlg->SetNextHdl( Link<SvxPostItDialog&,void>() );
947 void AbstractSvxPostItDialog_Impl::SetPrevHdl( const Link<AbstractSvxPostItDialog&,void>& rLink )
949 aPrevHdl = rLink;
950 if( rLink.IsSet() )
951 m_xDlg->SetPrevHdl( LINK(this, AbstractSvxPostItDialog_Impl, PrevHdl ) );
952 else
953 m_xDlg->SetPrevHdl( Link<SvxPostItDialog&,void>() );
956 IMPL_LINK_NOARG(AbstractSvxPostItDialog_Impl, NextHdl, SvxPostItDialog&, void)
958 aNextHdl.Call(*this);
961 IMPL_LINK_NOARG(AbstractSvxPostItDialog_Impl, PrevHdl, SvxPostItDialog&, void)
963 aPrevHdl.Call(*this);
966 std::shared_ptr<weld::Dialog> AbstractSvxPostItDialog_Impl::GetDialog()
968 return m_xDlg->GetDialog();
971 OUString AbstractPasswordToOpenModifyDialog_Impl::GetPasswordToOpen() const
973 return m_xDlg->GetPasswordToOpen();
976 OUString AbstractPasswordToOpenModifyDialog_Impl::GetPasswordToModify() const
978 return m_xDlg->GetPasswordToModify();
981 bool AbstractPasswordToOpenModifyDialog_Impl::IsRecommendToOpenReadonly() const
983 return m_xDlg->IsRecommendToOpenReadonly();
986 // Create dialogs with simplest interface
987 VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateVclDialog(weld::Window* pParent, sal_uInt32 nResId)
989 std::unique_ptr<OfaTreeOptionsDialog> xDlg;
990 switch ( nResId )
992 case SID_OPTIONS_TREEDIALOG :
993 case SID_OPTIONS_DATABASES :
994 case SID_LANGUAGE_OPTIONS :
996 bool bActivateLastSelection = false;
997 if (nResId == SID_OPTIONS_TREEDIALOG)
998 bActivateLastSelection = true;
999 Reference< frame::XFrame > xFrame;
1000 xDlg = std::make_unique<OfaTreeOptionsDialog>(pParent, xFrame, bActivateLastSelection);
1001 if (nResId == SID_OPTIONS_DATABASES)
1003 xDlg->ActivatePage(SID_SB_DBREGISTEROPTIONS);
1005 else if (nResId == SID_LANGUAGE_OPTIONS)
1007 //open the tab page "tools/options/languages"
1008 xDlg->ActivatePage(OFA_TP_LANGUAGES_FOR_SET_DOCUMENT_LANGUAGE);
1011 break;
1012 default:
1013 break;
1016 if (xDlg)
1017 return VclPtr<CuiAbstractController_Impl>::Create(std::move(xDlg));
1018 return nullptr;
1021 VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateAboutDialog(weld::Window* pParent)
1023 return VclPtr<CuiAbstractController_Impl>::Create(std::make_unique<AboutDialog>(pParent));
1026 VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateFrameDialog(weld::Window* pParent, const Reference< frame::XFrame >& rxFrame,
1027 sal_uInt32 nResId, const OUString& rParameter )
1029 std::unique_ptr<OfaTreeOptionsDialog> xDlg;
1030 if (SID_OPTIONS_TREEDIALOG == nResId || SID_OPTIONS_DATABASES == nResId)
1032 // only activate last page if we don't want to activate a special page
1033 bool bActivateLastSelection = ( nResId != SID_OPTIONS_DATABASES && rParameter.isEmpty() );
1034 xDlg = std::make_unique<OfaTreeOptionsDialog>(pParent, rxFrame, bActivateLastSelection);
1035 if ( nResId == SID_OPTIONS_DATABASES )
1036 xDlg->ActivatePage(SID_SB_DBREGISTEROPTIONS);
1037 else if ( !rParameter.isEmpty() )
1038 xDlg->ActivatePage( rParameter );
1041 if (xDlg)
1042 return VclPtr<CuiAbstractController_Impl>::Create(std::move(xDlg));
1043 return nullptr;
1046 // TabDialog outside the drawing layer
1047 VclPtr<SfxAbstractTabDialog> AbstractDialogFactory_Impl::CreateAutoCorrTabDialog(weld::Window* pParent, const SfxItemSet* pAttrSet)
1049 return VclPtr<CuiAbstractTabController_Impl>::Create(std::make_unique<OfaAutoCorrDlg>(pParent, pAttrSet));
1052 VclPtr<SfxAbstractTabDialog> AbstractDialogFactory_Impl::CreateCustomizeTabDialog(weld::Window* pParent,
1053 const SfxItemSet* pAttrSet,
1054 const Reference< frame::XFrame >& xViewFrame )
1056 std::unique_ptr<SvxConfigDialog> xDlg1(new SvxConfigDialog(pParent, pAttrSet));
1057 xDlg1->SetFrame(xViewFrame);
1058 return VclPtr<CuiAbstractTabController_Impl>::Create(std::move(xDlg1));
1061 // TabDialog that use functionality of the drawing layer
1062 VclPtr<SfxAbstractTabDialog> AbstractDialogFactory_Impl::CreateTextTabDialog(weld::Window* pParent,
1063 const SfxItemSet* pAttrSet,
1064 SdrView* pView)
1066 return VclPtr<CuiAbstractTabController_Impl>::Create(std::make_unique<SvxTextTabDialog>(pParent, pAttrSet, pView));
1069 // TabDialog that use functionality of the drawing layer and add AnchorTypes -- for SvxCaptionTabDialog
1070 VclPtr<AbstractSvxCaptionDialog> AbstractDialogFactory_Impl::CreateCaptionDialog(weld::Window* pParent,
1071 const SdrView* pView,
1072 SvxAnchorIds nAnchorTypes)
1074 return VclPtr<AbstractSvxCaptionDialog_Impl>::Create(std::make_unique<SvxCaptionTabDialog>(pParent, pView, nAnchorTypes));
1077 VclPtr<AbstractSvxDistributeDialog> AbstractDialogFactory_Impl::CreateSvxDistributeDialog(weld::Window* pParent,
1078 const SfxItemSet& rAttr)
1080 return VclPtr<AbstractSvxDistributeDialog_Impl>::Create(std::make_unique<SvxDistributeDialog>(pParent, rAttr, SvxDistributeHorizontal::NONE, SvxDistributeVertical::NONE));
1083 VclPtr<AbstractHangulHanjaConversionDialog> AbstractDialogFactory_Impl::CreateHangulHanjaConversionDialog(weld::Window* pParent)
1085 return VclPtr<AbstractHangulHanjaConversionDialog_Impl>::Create(std::make_unique<HangulHanjaConversionDialog>(pParent));
1088 VclPtr<AbstractThesaurusDialog> AbstractDialogFactory_Impl::CreateThesaurusDialog(weld::Window* pParent,
1089 css::uno::Reference<css::linguistic2::XThesaurus> xThesaurus,
1090 const OUString &rWord, LanguageType nLanguage)
1092 return VclPtr<AbstractThesaurusDialog_Impl>::Create(std::make_unique<SvxThesaurusDialog>(pParent, xThesaurus, rWord, nLanguage));
1095 VclPtr<AbstractHyphenWordDialog> AbstractDialogFactory_Impl::CreateHyphenWordDialog(weld::Window* pParent,
1096 const OUString &rWord, LanguageType nLang,
1097 css::uno::Reference< css::linguistic2::XHyphenator > &xHyphen,
1098 SvxSpellWrapper* pWrapper)
1100 return VclPtr<AbstractHyphenWordDialog_Impl>::Create(std::make_unique<SvxHyphenWordDialog>(rWord, nLang, pParent, xHyphen, pWrapper));
1103 VclPtr<AbstractFmShowColsDialog> AbstractDialogFactory_Impl::CreateFmShowColsDialog(weld::Window* pParent)
1105 return VclPtr<AbstractFmShowColsDialog_Impl>::Create(std::make_unique<FmShowColsDialog>(pParent));
1108 VclPtr<AbstractSvxZoomDialog> AbstractDialogFactory_Impl::CreateSvxZoomDialog(weld::Window* pParent, const SfxItemSet& rCoreSet)
1110 return VclPtr<AbstractSvxZoomDialog_Impl>::Create(std::make_unique<SvxZoomDialog>(pParent, rCoreSet));
1113 VclPtr<AbstractSpellDialog> AbstractDialogFactory_Impl::CreateSvxSpellDialog(
1114 weld::Window* pParent,
1115 SfxBindings* pBindings,
1116 svx::SpellDialogChildWindow* pSpellChildWindow)
1118 return VclPtr<AbstractSpellDialog_Impl>::Create(std::make_unique<svx::SpellDialog>(pSpellChildWindow, pParent, pBindings));
1121 VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateActualizeProgressDialog(weld::Window* pParent,
1122 GalleryTheme* pThm)
1124 return VclPtr<CuiAbstractController_Impl>::Create(std::make_unique<ActualizeProgress>(pParent, pThm));
1127 VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateScriptErrorDialog(const css::uno::Any& rException)
1129 return VclPtr<SvxScriptErrorDialog>::Create(rException);
1132 VclPtr<AbstractScriptSelectorDialog> AbstractDialogFactory_Impl::CreateScriptSelectorDialog(weld::Window* pParent,
1133 const Reference<frame::XFrame>& rxFrame)
1135 return VclPtr<AbstractScriptSelectorDialog_Impl>::Create(std::make_unique<SvxScriptSelectorDialog>(pParent, false/*bShowSlots*/, rxFrame));
1138 OUString AbstractScriptSelectorDialog_Impl::GetScriptURL() const
1140 return m_xDlg->GetScriptURL();
1143 void AbstractScriptSelectorDialog_Impl::SetRunLabel()
1145 m_xDlg->SetRunLabel();
1148 VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateSvxScriptOrgDialog(weld::Window* pParent,
1149 const OUString& rLanguage)
1151 return VclPtr<CuiAbstractController_Impl>::Create(std::make_unique<SvxScriptOrgDialog>(pParent, rLanguage));
1154 VclPtr<AbstractTitleDialog> AbstractDialogFactory_Impl::CreateTitleDialog(weld::Window* pParent,
1155 const OUString& rOldText)
1157 return VclPtr<AbstractTitleDialog_Impl>::Create(std::make_unique<TitleDialog>(pParent, rOldText));
1160 VclPtr<AbstractGalleryIdDialog> AbstractDialogFactory_Impl::CreateGalleryIdDialog(weld::Window* pParent,
1161 GalleryTheme* pThm)
1163 return VclPtr<AbstractGalleryIdDialog_Impl>::Create(std::make_unique<GalleryIdDialog>(pParent, pThm));
1166 VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateGalleryThemePropertiesDialog(weld::Window* pParent,
1167 ExchangeData* pData,
1168 SfxItemSet* pItemSet)
1170 return VclPtr<CuiAbstractTabController_Impl>::Create(std::make_unique<GalleryThemeProperties>(
1171 pParent, pData, pItemSet));
1174 VclPtr<AbstractURLDlg> AbstractDialogFactory_Impl::CreateURLDialog(weld::Widget* pParent,
1175 const OUString& rURL, const OUString& rAltText, const OUString& rDescription,
1176 const OUString& rTarget, const OUString& rName,
1177 TargetList& rTargetList )
1179 return VclPtr<AbstractURLDlg_Impl>::Create(std::make_unique<URLDlg>(pParent, rURL, rAltText, rDescription,
1180 rTarget, rName, rTargetList));
1184 VclPtr<SfxAbstractTabDialog> AbstractDialogFactory_Impl::CreateTabItemDialog(weld::Window* pParent,
1185 const SfxItemSet& rSet)
1187 return VclPtr<CuiAbstractTabController_Impl>::Create(std::make_unique<SvxSearchFormatDialog>(
1188 pParent, rSet));
1191 VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateSvxSearchAttributeDialog(weld::Window* pParent,
1192 SearchAttrItemList& rLst,
1193 const sal_uInt16* pWhRanges )
1195 return VclPtr<CuiAbstractController_Impl>::Create(std::make_unique<SvxSearchAttributeDialog>(pParent, rLst, pWhRanges));
1198 VclPtr<AbstractSvxSearchSimilarityDialog> AbstractDialogFactory_Impl::CreateSvxSearchSimilarityDialog(weld::Window* pParent,
1199 bool bRelax,
1200 sal_uInt16 nOther,
1201 sal_uInt16 nShorter,
1202 sal_uInt16 nLonger)
1204 return VclPtr<AbstractSvxSearchSimilarityDialog_Impl>::Create(std::make_unique<SvxSearchSimilarityDialog>(pParent, bRelax, nOther, nShorter, nLonger));
1207 VclPtr<SfxAbstractTabDialog> AbstractDialogFactory_Impl::CreateSvxBorderBackgroundDlg(
1208 weld::Window* pParent,
1209 const SfxItemSet& rCoreSet,
1210 bool bEnableDrawingLayerFillStyles)
1212 return VclPtr<CuiAbstractTabController_Impl>::Create(std::make_unique<SvxBorderBackgroundDlg>(
1213 pParent,
1214 rCoreSet,
1215 /*bEnableSelector*/true,
1216 bEnableDrawingLayerFillStyles));
1219 VclPtr<AbstractSvxTransformTabDialog> AbstractDialogFactory_Impl::CreateSvxTransformTabDialog(weld::Window* pParent,
1220 const SfxItemSet* pAttr,
1221 const SdrView* pView,
1222 SvxAnchorIds nAnchorTypes)
1224 return VclPtr<AbstractSvxTransformTabDialog_Impl>::Create(new SvxTransformTabDialog(pParent, pAttr,pView, nAnchorTypes));
1227 VclPtr<SfxAbstractTabDialog> AbstractDialogFactory_Impl::CreateSchTransformTabDialog(weld::Window* pParent,
1228 const SfxItemSet* pAttr,
1229 const SdrView* pSdrView,
1230 bool bSizeTabPage)
1232 auto pDlg = std::make_unique<SvxTransformTabDialog>(pParent, pAttr, pSdrView,
1233 bSizeTabPage ? SvxAnchorIds::NoProtect : SvxAnchorIds::NoProtect|SvxAnchorIds::NoResize);
1234 pDlg->RemoveTabPage( "RID_SVXPAGE_ANGLE" );
1235 pDlg->RemoveTabPage( "RID_SVXPAGE_SLANT" );
1236 return VclPtr<CuiAbstractTabController_Impl>::Create(std::move(pDlg));
1239 VclPtr<AbstractSvxJSearchOptionsDialog> AbstractDialogFactory_Impl::CreateSvxJSearchOptionsDialog(weld::Window* pParent,
1240 const SfxItemSet& rOptionsSet,
1241 TransliterationFlags nInitialFlags)
1243 return VclPtr<AbstractSvxJSearchOptionsDialog_Impl>::Create(std::make_unique<SvxJSearchOptionsDialog>(pParent, rOptionsSet, nInitialFlags));
1246 VclPtr<AbstractFmInputRecordNoDialog> AbstractDialogFactory_Impl::CreateFmInputRecordNoDialog(weld::Window* pParent)
1248 return VclPtr<AbstractFmInputRecordNoDialog_Impl>::Create(std::make_unique<FmInputRecordNoDialog>(pParent));
1251 VclPtr<AbstractSvxNewDictionaryDialog> AbstractDialogFactory_Impl::CreateSvxNewDictionaryDialog(weld::Window* pParent)
1253 return VclPtr<AbstractSvxNewDictionaryDialog_Impl>::Create(std::make_unique<SvxNewDictionaryDialog>(pParent));
1256 VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateSvxEditDictionaryDialog(weld::Window* pParent, const OUString& rName)
1258 return VclPtr<CuiAbstractController_Impl>::Create(std::make_unique<SvxEditDictionaryDialog>(pParent, rName));
1261 VclPtr<AbstractSvxNameDialog> AbstractDialogFactory_Impl::CreateSvxNameDialog(weld::Window* pParent,
1262 const OUString& rName, const OUString& rDesc)
1264 return VclPtr<AbstractSvxNameDialog_Impl>::Create(std::make_unique<SvxNameDialog>(pParent, rName, rDesc));
1267 VclPtr<AbstractSvxObjectNameDialog> AbstractDialogFactory_Impl::CreateSvxObjectNameDialog(weld::Window* pParent, const OUString& rName)
1269 return VclPtr<AbstractSvxObjectNameDialog_Impl>::Create(std::make_unique<SvxObjectNameDialog>(pParent, rName));
1272 VclPtr<AbstractSvxObjectTitleDescDialog> AbstractDialogFactory_Impl::CreateSvxObjectTitleDescDialog(weld::Window* pParent, const OUString& rTitle, const OUString& rDescription)
1274 return VclPtr<AbstractSvxObjectTitleDescDialog_Impl>::Create(std::make_unique<SvxObjectTitleDescDialog>(pParent, rTitle, rDescription));
1277 VclPtr<AbstractSvxMultiPathDialog> AbstractDialogFactory_Impl::CreateSvxMultiPathDialog(weld::Window* pParent)
1279 return VclPtr<AbstractSvxMultiPathDialog_Impl>::Create(std::make_unique<SvxMultiPathDialog>(pParent));
1282 VclPtr<AbstractSvxMultiPathDialog> AbstractDialogFactory_Impl::CreateSvxPathSelectDialog(weld::Window* pParent)
1284 return VclPtr<AbstractSvxPathSelectDialog_Impl>::Create(std::make_unique<SvxPathSelectDialog>(pParent));
1287 VclPtr<AbstractSvxHpLinkDlg> AbstractDialogFactory_Impl::CreateSvxHpLinkDlg(SfxChildWindow* pChild, SfxBindings* pBindings, weld::Window* pParent)
1289 return VclPtr<AbstractSvxHpLinkDlg_Impl>::Create(std::make_unique<SvxHpLinkDlg>(pBindings, pChild, pParent));
1292 VclPtr<AbstractFmSearchDialog> AbstractDialogFactory_Impl::CreateFmSearchDialog(weld::Window* pParent,
1293 const OUString& strInitialText,
1294 const std::vector< OUString >& _rContexts,
1295 sal_Int16 nInitialContext,
1296 const Link<FmSearchContext&,sal_uInt32>& lnkContextSupplier)
1298 return VclPtr<AbstractFmSearchDialog_Impl>::Create(std::make_unique<FmSearchDialog>(pParent,
1299 strInitialText, _rContexts, nInitialContext, lnkContextSupplier));
1303 VclPtr<AbstractGraphicFilterDialog> AbstractDialogFactory_Impl::CreateGraphicFilterEmboss(weld::Window* pParent,
1304 const Graphic& rGraphic)
1306 return VclPtr<AbstractGraphicFilterDialog_Impl>::Create(std::make_unique<GraphicFilterEmboss>(pParent, rGraphic, RectPoint::MM));
1309 VclPtr<AbstractGraphicFilterDialog> AbstractDialogFactory_Impl::CreateGraphicFilterPoster(weld::Window* pParent,
1310 const Graphic& rGraphic)
1312 return VclPtr<AbstractGraphicFilterDialog_Impl>::Create(std::make_unique<GraphicFilterPoster>(pParent, rGraphic, 16));
1315 VclPtr<AbstractGraphicFilterDialog> AbstractDialogFactory_Impl::CreateGraphicFilterSepia(weld::Window* pParent,
1316 const Graphic& rGraphic)
1318 return VclPtr<AbstractGraphicFilterDialog_Impl>::Create(std::make_unique<GraphicFilterSepia>(pParent, rGraphic, 10));
1321 VclPtr<AbstractGraphicFilterDialog> AbstractDialogFactory_Impl::CreateGraphicFilterSmooth(weld::Window* pParent,
1322 const Graphic& rGraphic, double nRadius)
1324 return VclPtr<AbstractGraphicFilterDialog_Impl>::Create(std::make_unique<GraphicFilterSmooth>(pParent, rGraphic, nRadius));
1327 VclPtr<AbstractGraphicFilterDialog> AbstractDialogFactory_Impl::CreateGraphicFilterSolarize(weld::Window* pParent,
1328 const Graphic& rGraphic)
1330 return VclPtr<AbstractGraphicFilterDialog_Impl>::Create(std::make_unique<GraphicFilterSolarize>(pParent, rGraphic, 128, false /*bInvert*/));
1333 VclPtr<AbstractGraphicFilterDialog> AbstractDialogFactory_Impl::CreateGraphicFilterMosaic(weld::Window* pParent,
1334 const Graphic& rGraphic)
1336 return VclPtr<AbstractGraphicFilterDialog_Impl>::Create(std::make_unique<GraphicFilterMosaic>(pParent, rGraphic, 4, 4, false /*bEnhanceEdges*/));
1339 VclPtr<AbstractSvxAreaTabDialog> AbstractDialogFactory_Impl::CreateSvxAreaTabDialog(weld::Window* pParent,
1340 const SfxItemSet* pAttr,
1341 SdrModel* pModel,
1342 bool bShadow)
1344 return VclPtr<AbstractSvxAreaTabDialog_Impl>::Create(std::make_unique<SvxAreaTabDialog>(pParent, pAttr, pModel, bShadow));
1347 VclPtr<SfxAbstractTabDialog> AbstractDialogFactory_Impl::CreateSvxLineTabDialog(weld::Window* pParent, const SfxItemSet* pAttr, //add forSvxLineTabDialog
1348 SdrModel* pModel,
1349 const SdrObject* pObj ,
1350 bool bHasObj)
1352 return VclPtr<CuiAbstractTabController_Impl>::Create(std::make_unique<SvxLineTabDialog>(pParent, pAttr, pModel, pObj,bHasObj));
1355 VclPtr<SfxAbstractDialog> AbstractDialogFactory_Impl::CreateCharMapDialog(weld::Window* pParent, const SfxItemSet& rAttr,
1356 const Reference< XFrame >& rDocumentFrame)
1358 return VclPtr<AbstractSvxCharacterMapDialog_Impl>::Create(std::make_unique<SvxCharacterMap>(pParent, &rAttr, rDocumentFrame));
1361 VclPtr<SfxAbstractDialog> AbstractDialogFactory_Impl::CreateEventConfigDialog(weld::Widget* pParent,
1362 const SfxItemSet& rAttr,
1363 const Reference< XFrame >& rDocumentFrame)
1365 return VclPtr<CuiAbstractSingleTabController_Impl>::Create(std::make_unique<SfxMacroAssignDlg>(pParent, rDocumentFrame, rAttr));
1368 VclPtr<SfxAbstractDialog> AbstractDialogFactory_Impl::CreateSfxDialog(weld::Window* pParent,
1369 const SfxItemSet& rAttr,
1370 const SdrView* pView,
1371 sal_uInt32 nResId)
1373 switch ( nResId )
1375 case RID_SVXPAGE_MEASURE:
1376 return VclPtr<CuiAbstractSingleTabController_Impl>::Create(std::make_unique<SvxMeasureDialog>(pParent, rAttr, pView));
1377 case RID_SVXPAGE_CONNECTION:
1378 return VclPtr<CuiAbstractSingleTabController_Impl>::Create(std::make_unique<SvxConnectionDialog>(pParent, rAttr, pView));
1379 case RID_SFXPAGE_DBREGISTER:
1380 return VclPtr<CuiAbstractSingleTabController_Impl>::Create(std::make_unique<DatabaseRegistrationDialog>(pParent, rAttr));
1383 return nullptr;
1386 VclPtr<AbstractSvxPostItDialog> AbstractDialogFactory_Impl::CreateSvxPostItDialog(weld::Widget* pParent,
1387 const SfxItemSet& rCoreSet,
1388 bool bPrevNext)
1390 return VclPtr<AbstractSvxPostItDialog_Impl>::Create(std::make_unique<SvxPostItDialog>(pParent, rCoreSet, bPrevNext));
1393 class SvxMacroAssignDialog : public VclAbstractDialog
1395 public:
1396 SvxMacroAssignDialog( weld::Window* _pParent, const Reference< XFrame >& _rxDocumentFrame, const bool _bUnoDialogMode,
1397 const Reference< XNameReplace >& _rxEvents, const sal_uInt16 _nInitiallySelectedEvent )
1398 :m_aItems( SfxGetpApp()->GetPool(), svl::Items<SID_ATTR_MACROITEM, SID_ATTR_MACROITEM>{} )
1400 m_aItems.Put( SfxBoolItem( SID_ATTR_MACROITEM, _bUnoDialogMode ) );
1401 m_xDialog.reset(new SvxMacroAssignDlg(_pParent, _rxDocumentFrame, m_aItems, _rxEvents, _nInitiallySelectedEvent));
1404 virtual short Execute() override;
1406 private:
1407 SfxItemSet m_aItems;
1408 std::unique_ptr<SvxMacroAssignDlg> m_xDialog;
1411 short SvxMacroAssignDialog::Execute()
1413 return m_xDialog->run();
1416 short AbstractTipOfTheDayDialog_Impl::Execute()
1418 return m_xDlg->run();
1421 short AbstractDiagramDialog_Impl::Execute()
1423 return m_xDlg->run();
1426 VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateSvxMacroAssignDlg(
1427 weld::Window* _pParent, const Reference< XFrame >& _rxDocumentFrame, const bool _bUnoDialogMode,
1428 const Reference< XNameReplace >& _rxEvents, const sal_uInt16 _nInitiallySelectedEvent )
1430 return VclPtr<SvxMacroAssignDialog>::Create( _pParent, _rxDocumentFrame, _bUnoDialogMode, _rxEvents, _nInitiallySelectedEvent );
1433 // Factories for TabPages
1434 CreateTabPage AbstractDialogFactory_Impl::GetTabPageCreatorFunc( sal_uInt16 nId )
1436 switch ( nId )
1438 case RID_SVXPAGE_BKG :
1439 return SvxBkgTabPage::Create;
1440 case RID_SVXPAGE_TEXTANIMATION :
1441 return SvxTextAnimationPage::Create;
1442 case RID_SVXPAGE_TRANSPARENCE :
1443 return SvxTransparenceTabPage::Create;
1444 case RID_SVXPAGE_AREA :
1445 return SvxAreaTabPage::Create;
1446 case RID_SVXPAGE_SHADOW :
1447 return SvxShadowTabPage::Create;
1448 case RID_SVXPAGE_LINE :
1449 return SvxLineTabPage::Create;
1450 case RID_SVXPAGE_CONNECTION :
1451 return SvxConnectionPage::Create;
1452 case RID_SVXPAGE_MEASURE :
1453 return SvxMeasurePage::Create;
1454 case RID_SFXPAGE_GENERAL :
1455 return SvxGeneralTabPage::Create;
1456 case RID_SVXPAGE_PICK_SINGLE_NUM :
1457 return SvxSingleNumPickTabPage::Create;
1458 case RID_SVXPAGE_PICK_BMP :
1459 return SvxBitmapPickTabPage::Create;
1460 case RID_SVXPAGE_PICK_BULLET :
1461 return SvxBulletPickTabPage::Create;
1462 case RID_SVXPAGE_NUM_OPTIONS :
1463 return SvxNumOptionsTabPage::Create;
1464 case RID_SVXPAGE_PICK_NUM :
1465 return SvxNumPickTabPage::Create;
1466 case RID_SVXPAGE_NUM_POSITION :
1467 return SvxNumPositionTabPage::Create;
1468 case RID_SVXPAGE_PARA_ASIAN :
1469 return SvxAsianTabPage::Create;
1470 case RID_SVXPAGE_EXT_PARAGRAPH :
1471 return SvxExtParagraphTabPage::Create;
1472 case RID_SVXPAGE_ALIGN_PARAGRAPH :
1473 return SvxParaAlignTabPage::Create;
1474 case RID_SVXPAGE_STD_PARAGRAPH :
1475 return SvxStdParagraphTabPage::Create;
1476 case RID_SVXPAGE_TABULATOR :
1477 return SvxTabulatorTabPage::Create;
1478 case RID_SVXPAGE_TEXTATTR :
1479 return SvxTextAttrPage::Create;
1480 case RID_SVXPAGE_ALIGNMENT :
1481 return svx::AlignmentTabPage::Create;
1482 case RID_SW_TP_BACKGROUND :
1483 case RID_SVXPAGE_BACKGROUND :
1484 return SvxBackgroundTabPage::Create;
1485 case RID_SVXPAGE_BORDER :
1486 return SvxBorderTabPage::Create;
1487 case RID_SVXPAGE_CHAR_NAME :
1488 return SvxCharNamePage::Create;
1489 case RID_SVXPAGE_CHAR_EFFECTS :
1490 return SvxCharEffectsPage::Create;
1491 case RID_SVXPAGE_CHAR_POSITION :
1492 return SvxCharPositionPage::Create;
1493 case RID_SVXPAGE_CHAR_TWOLINES :
1494 return SvxCharTwoLinesPage::Create;
1495 case RID_SVXPAGE_NUMBERFORMAT :
1496 return SvxNumberFormatTabPage::Create;
1497 case RID_SVXPAGE_PAGE :
1498 return SvxPageDescPage::Create;
1499 case RID_SVXPAGE_GRFCROP :
1500 return SvxGrfCropPage::Create;
1501 case RID_SVXPAGE_MACROASSIGN :
1502 return SfxMacroTabPage::Create;
1503 default:
1504 break;
1507 return nullptr;
1510 DialogGetRanges AbstractDialogFactory_Impl::GetDialogGetRangesFunc()
1512 return SvxPostItDialog::GetRanges;
1515 GetTabPageRanges AbstractDialogFactory_Impl::GetTabPageRangesFunc( sal_uInt16 nId )
1517 switch ( nId )
1519 case RID_SVXPAGE_TEXTANIMATION :
1520 return SvxTextAnimationPage::GetRanges;
1521 case RID_SVXPAGE_TRANSPARENCE :
1522 return SvxTransparenceTabPage::GetRanges;
1523 case RID_SVXPAGE_AREA :
1524 return SvxAreaTabPage::GetRanges;
1525 case RID_SVXPAGE_SHADOW :
1526 return SvxShadowTabPage::GetRanges;
1527 case RID_SVXPAGE_LINE :
1528 return SvxLineTabPage::GetRanges;
1529 case RID_SVXPAGE_CONNECTION :
1530 return SvxConnectionPage::GetRanges;
1531 case RID_SVXPAGE_MEASURE :
1532 return SvxMeasurePage::GetRanges;
1533 case RID_SVXPAGE_PARA_ASIAN :
1534 return SvxAsianTabPage::GetRanges;
1535 case RID_SVXPAGE_EXT_PARAGRAPH :
1536 return SvxExtParagraphTabPage::GetRanges;
1537 case RID_SVXPAGE_ALIGN_PARAGRAPH :
1538 return SvxParaAlignTabPage::GetRanges;
1539 case RID_SVXPAGE_STD_PARAGRAPH :
1540 return SvxStdParagraphTabPage::GetRanges;
1541 case RID_SVXPAGE_TABULATOR :
1542 return SvxTabulatorTabPage::GetRanges;
1543 case RID_SVXPAGE_TEXTATTR :
1544 return SvxTextAttrPage::GetRanges;
1545 case RID_SVXPAGE_ALIGNMENT :
1546 return svx::AlignmentTabPage::GetRanges;
1547 case RID_SW_TP_BACKGROUND :
1548 case RID_SVXPAGE_BACKGROUND :
1549 return SvxBackgroundTabPage::GetRanges;
1550 case RID_SVXPAGE_BORDER :
1551 return SvxBorderTabPage::GetRanges;
1552 case RID_SVXPAGE_CHAR_NAME :
1553 return SvxCharNamePage::GetRanges;
1554 case RID_SVXPAGE_CHAR_EFFECTS :
1555 return SvxCharEffectsPage::GetRanges;
1556 case RID_SVXPAGE_CHAR_POSITION :
1557 return SvxCharPositionPage::GetRanges;
1558 case RID_SVXPAGE_CHAR_TWOLINES :
1559 return SvxCharTwoLinesPage::GetRanges;
1560 case RID_SVXPAGE_NUMBERFORMAT :
1561 return SvxNumberFormatTabPage::GetRanges;
1562 case RID_SVXPAGE_PAGE :
1563 return SvxPageDescPage::GetRanges;
1564 case RID_SVXPAGE_ASIAN_LAYOUT:
1565 return SvxAsianLayoutPage::GetRanges;
1566 default:
1567 break;
1570 return nullptr;
1573 VclPtr<SfxAbstractInsertObjectDialog> AbstractDialogFactory_Impl::CreateInsertObjectDialog(weld::Window* pParent, const OUString& rCommand,
1574 const Reference <css::embed::XStorage>& xStor, const SvObjectServerList* pList)
1576 std::unique_ptr<InsertObjectDialog_Impl> pDlg;
1577 if ( rCommand == ".uno:InsertObject" )
1578 pDlg.reset(new SvInsertOleDlg(pParent, xStor, pList));
1579 else if ( rCommand == ".uno:InsertObjectFloatingFrame" )
1580 pDlg.reset(new SfxInsertFloatingFrameDialog(pParent, xStor));
1582 if ( pDlg )
1584 pDlg->SetHelpId( OUStringToOString( rCommand, RTL_TEXTENCODING_UTF8 ) );
1585 return VclPtr<AbstractInsertObjectDialog_Impl>::Create( std::move(pDlg) );
1587 return nullptr;
1590 VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateEditObjectDialog(weld::Window* pParent, const OUString& rCommand,
1591 const Reference<css::embed::XEmbeddedObject>& xObj)
1593 if ( rCommand == ".uno:InsertObjectFloatingFrame" )
1595 auto pDlg = std::make_unique<SfxInsertFloatingFrameDialog>(pParent, xObj);
1596 pDlg->SetHelpId( OUStringToOString( rCommand, RTL_TEXTENCODING_UTF8 ) );
1597 return VclPtr<AbstractInsertObjectDialog_Impl>::Create( std::move(pDlg) );
1599 return nullptr;
1602 VclPtr<SfxAbstractPasteDialog> AbstractDialogFactory_Impl::CreatePasteDialog(weld::Window* pParent)
1604 return VclPtr<AbstractPasteDialog_Impl>::Create(std::make_unique<SvPasteObjectDialog>(pParent));
1607 VclPtr<SfxAbstractLinksDialog> AbstractDialogFactory_Impl::CreateLinksDialog(weld::Window* pParent, sfx2::LinkManager* pMgr, bool bHTML, sfx2::SvBaseLink* p)
1609 auto xLinkDlg(std::make_unique<SvBaseLinksDlg>(pParent, pMgr, bHTML));
1610 if (p)
1611 xLinkDlg->SetActLink(p);
1612 return VclPtr<AbstractLinksDialog_Impl>::Create(std::move(xLinkDlg));
1615 std::shared_ptr<AbstractTabController> AbstractDialogFactory_Impl::CreateSvxFormatCellsDialog(weld::Window* pParent, const SfxItemSet* pAttr, const SdrModel& rModel)
1617 return std::make_shared<CuiAsyncAbstractTabController_Impl>(std::make_unique<SvxFormatCellsDialog>(pParent, pAttr, rModel));
1620 VclPtr<SvxAbstractSplitTableDialog> AbstractDialogFactory_Impl::CreateSvxSplitTableDialog(weld::Window* pParent, bool bIsTableVertical, long nMaxVertical)
1622 return VclPtr<SvxAbstractSplitTableDialog_Impl>::Create( std::make_shared<SvxSplitTableDlg>(pParent, bIsTableVertical, nMaxVertical, 99 ));
1625 std::shared_ptr<SvxAbstractNewTableDialog> AbstractDialogFactory_Impl::CreateSvxNewTableDialog(weld::Window* pParent)
1627 return std::make_shared<SvxNewTableDialogWrapper>(pParent);
1630 VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateOptionsDialog(weld::Window* pParent, const OUString& rExtensionId)
1632 return VclPtr<CuiAbstractController_Impl>::Create(std::make_unique<OfaTreeOptionsDialog>(pParent, rExtensionId));
1635 VclPtr<SvxAbstractInsRowColDlg> AbstractDialogFactory_Impl::CreateSvxInsRowColDlg(weld::Window* pParent, bool bCol, const OString& rHelpId)
1637 return VclPtr<SvxInsRowColDlg>::Create(pParent, bCol, rHelpId);
1640 VclPtr<AbstractPasswordToOpenModifyDialog> AbstractDialogFactory_Impl::CreatePasswordToOpenModifyDialog(
1641 weld::Window * pParent, sal_uInt16 nMaxPasswdLen, bool bIsPasswordToModify)
1643 return VclPtr<AbstractPasswordToOpenModifyDialog_Impl>::Create(std::make_unique<PasswordToOpenModifyDialog>(pParent, nMaxPasswdLen, bIsPasswordToModify));
1646 VclPtr<AbstractScreenshotAnnotationDlg> AbstractDialogFactory_Impl::CreateScreenshotAnnotationDlg(weld::Dialog& rParentDialog)
1648 return VclPtr<AbstractScreenshotAnnotationDlg_Impl>::Create(std::make_unique<ScreenshotAnnotationDlg>(rParentDialog));
1651 VclPtr<AbstractSignatureLineDialog> AbstractDialogFactory_Impl::CreateSignatureLineDialog(
1652 weld::Window* pParent, const Reference<XModel> xModel, bool bEditExisting)
1654 return VclPtr<AbstractSignatureLineDialog_Impl>::Create(
1655 std::make_unique<SignatureLineDialog>(pParent, xModel, bEditExisting));
1658 VclPtr<AbstractSignSignatureLineDialog>
1659 AbstractDialogFactory_Impl::CreateSignSignatureLineDialog(weld::Window* pParent,
1660 const Reference<XModel> xModel)
1662 return VclPtr<AbstractSignSignatureLineDialog_Impl>::Create(
1663 std::make_unique<SignSignatureLineDialog>(pParent, xModel));
1666 VclPtr<AbstractQrCodeGenDialog> AbstractDialogFactory_Impl::CreateQrCodeGenDialog(
1667 weld::Window* pParent, const Reference<XModel> xModel, bool bEditExisting)
1669 return VclPtr<AbstractQrCodeGenDialog_Impl>::Create(
1670 std::make_unique<QrCodeGenDialog>(pParent, xModel, bEditExisting));
1673 VclPtr<AbstractTipOfTheDayDialog>
1674 AbstractDialogFactory_Impl::CreateTipOfTheDayDialog(weld::Window* pParent)
1676 return VclPtr<AbstractTipOfTheDayDialog_Impl>::Create(std::make_unique<TipOfTheDayDialog>(pParent));
1679 VclPtr<AbstractDiagramDialog>
1680 AbstractDialogFactory_Impl::CreateDiagramDialog(weld::Window* pParent, std::shared_ptr<DiagramDataInterface> pDiagramData)
1682 return VclPtr<AbstractDiagramDialog_Impl>::Create(
1683 std::make_unique<DiagramDialog>(pParent, pDiagramData));
1686 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */