bump product version to 6.3.0.0.beta1
[LibreOffice.git] / include / svx / svxdlg.hxx
blob58acee4b86a1281fbf08e5923c5bdbd0c54d8941
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_SVX_SVXDLG_HXX
20 #define INCLUDED_SVX_SVXDLG_HXX
22 #include <sfx2/sfxdlg.hxx>
23 #include <svx/anchorid.hxx>
24 #include <svx/zoom_def.hxx>
25 #include <editeng/edtdlg.hxx>
27 #include <svx/dstribut_enum.hxx>
28 #include <svx/rectenum.hxx>
29 #include <com/sun/star/container/XIndexContainer.hpp>
30 #include <com/sun/star/container/XNameReplace.hpp>
31 #include <svx/svxdllapi.h>
32 #include <vector>
34 namespace sd {
35 class View;
38 namespace com{namespace sun{namespace star{
39 namespace linguistic2{
40 class XDictionary;
41 class XSpellChecker1;
42 class XSpellChecker;
43 class XThesaurus;
44 class XHyphenator;
45 }}}}
46 class SdrModel;
47 class SdrView;
48 class SvxSpellWrapper;
49 enum class TransliterationFlags;
50 struct ExchangeData;
51 class INetURLObject;
52 class GalleryTheme;
53 class SvxHyperlinkTabPageBase;
54 class SearchAttrItemList;
55 class FmFormShell;
56 class Graphic;
57 class SdrObject;
58 class SvxSpellWrapper;
59 struct FmSearchContext;
61 typedef const sal_uInt16* (*DialogGetRanges)();
63 typedef ::std::vector< OUString > TargetList;
65 namespace svx{ class SpellDialogChildWindow;}
66 namespace weld{
67 class Dialog;
68 class Window;
71 class AbstractSvxDistributeDialog :public VclAbstractDialog
73 protected:
74 virtual ~AbstractSvxDistributeDialog() override = default;
75 public:
76 virtual SvxDistributeHorizontal GetDistributeHor() const = 0;
77 virtual SvxDistributeVertical GetDistributeVer() const = 0;
80 class AbstractFmShowColsDialog : public VclAbstractDialog
82 protected:
83 virtual ~AbstractFmShowColsDialog() override = default;
84 public:
85 virtual void SetColumns(const css::uno::Reference< css::container::XIndexContainer>& xCols)= 0;
88 class AbstractSvxZoomDialog : public VclAbstractDialog
90 protected:
91 virtual ~AbstractSvxZoomDialog() override = default;
92 public:
93 virtual void SetLimits( sal_uInt16 nMin, sal_uInt16 nMax ) = 0;
94 virtual void HideButton( ZoomButtonId nBtnId )= 0;
95 virtual const SfxItemSet* GetOutputItemSet() const = 0 ;
98 class AbstractSpellDialog : public VclAbstractDialog
100 protected:
101 virtual ~AbstractSpellDialog() override = default;
102 public:
103 virtual void Invalidate() = 0;
104 virtual vcl::Window* GetWindow() = 0;
105 virtual SfxBindings& GetBindings() = 0;
108 class AbstractTitleDialog :public VclAbstractDialog
110 protected:
111 virtual ~AbstractTitleDialog() override = default;
112 public:
113 virtual OUString GetTitle() const =0;
116 class AbstractGalleryIdDialog :public VclAbstractDialog
118 protected:
119 virtual ~AbstractGalleryIdDialog() override = default;
120 public:
121 virtual sal_uInt32 GetId() const =0;
124 class AbstractURLDlg :public VclAbstractDialog
126 protected:
127 virtual ~AbstractURLDlg() override = default;
128 public:
129 virtual OUString GetURL() const = 0;
130 virtual OUString GetAltText() const = 0;
131 virtual OUString GetDesc() const = 0;
132 virtual OUString GetTarget() const = 0;
133 virtual OUString GetName() const = 0;
136 class AbstractSvxHlinkDlgMarkWnd :public VclAbstractDialog
138 protected:
139 virtual ~AbstractSvxHlinkDlgMarkWnd() override = default;
142 class AbstractSvxSearchSimilarityDialog :public VclAbstractDialog
144 protected:
145 virtual ~AbstractSvxSearchSimilarityDialog() override = default;
146 public:
147 virtual sal_uInt16 GetOther() =0 ;
148 virtual sal_uInt16 GetShorter() =0 ;
149 virtual sal_uInt16 GetLonger() =0 ;
150 virtual bool IsRelaxed() =0 ;
153 class AbstractSvxJSearchOptionsDialog :public VclAbstractDialog
155 protected:
156 virtual ~AbstractSvxJSearchOptionsDialog() override = default;
157 public:
158 virtual TransliterationFlags GetTransliterationFlags() const = 0;
161 class AbstractFmInputRecordNoDialog :public VclAbstractDialog
163 protected:
164 virtual ~AbstractFmInputRecordNoDialog() override = default;
165 public:
166 virtual void SetValue(long dNew) = 0;
167 virtual long GetValue() const = 0;
170 class AbstractSvxNewDictionaryDialog :public VclAbstractDialog
172 protected:
173 virtual ~AbstractSvxNewDictionaryDialog() override = default;
174 public:
175 virtual css::uno::Reference< css::linguistic2::XDictionary > GetNewDictionary() = 0;
178 class AbstractSvxNameDialog :public VclAbstractDialog
180 protected:
181 virtual ~AbstractSvxNameDialog() override = default;
182 public:
183 virtual void GetName( OUString& rName ) = 0;
184 virtual void SetCheckNameHdl( const Link<AbstractSvxNameDialog&,bool>& rLink, bool bCheckImmediately = false ) = 0;
185 virtual void SetEditHelpId(const OString&) = 0;
186 //from class Window
187 virtual void SetHelpId( const OString& ) = 0;
188 virtual void SetText( const OUString& rStr ) = 0;
191 class AbstractSvxObjectNameDialog :public VclAbstractDialog
193 protected:
194 virtual ~AbstractSvxObjectNameDialog() override = default;
195 public:
196 virtual void GetName(OUString& rName) = 0;
197 virtual void SetCheckNameHdl(const Link<AbstractSvxObjectNameDialog&,bool>& rLink) = 0;
200 class AbstractSvxObjectTitleDescDialog :public VclAbstractDialog
202 protected:
203 virtual ~AbstractSvxObjectTitleDescDialog() override = default;
204 public:
205 virtual void GetTitle(OUString& rTitle) = 0;
206 virtual void GetDescription(OUString& rDescription) = 0;
209 /// Abstract class provides the get information from the numbering and position dialog.
210 class AbstractSvxBulletAndPositionDlg :public VclAbstractDialog
212 protected:
213 virtual ~AbstractSvxBulletAndPositionDlg() override = default;
214 public:
215 virtual const SfxItemSet* GetOutputItemSet( SfxItemSet* pSet) const = 0 ;
216 virtual bool IsApplyToMaster() = 0;
217 virtual bool IsSlideScope() = 0;
220 class AbstractSvxMessDialog :public VclAbstractDialog
222 protected:
223 virtual ~AbstractSvxMessDialog() override = default;
226 class AbstractSvxMultiPathDialog : public VclAbstractDialog
228 protected:
229 virtual ~AbstractSvxMultiPathDialog() override = default;
230 public:
231 virtual OUString GetPath() const = 0;
232 virtual void SetPath( const OUString& rPath ) = 0;
233 virtual void SetTitle( const OUString& rNewTitle ) = 0;
236 class AbstractSvxHpLinkDlg : public VclAbstractDialog
238 protected:
239 virtual ~AbstractSvxHpLinkDlg() override = default;
240 public:
241 virtual vcl::Window* GetWindow() = 0;
242 virtual bool QueryClose() = 0;
245 struct FmFoundRecordInformation;
246 class AbstractFmSearchDialog :public VclAbstractDialog
248 protected:
249 virtual ~AbstractFmSearchDialog() override = default;
250 public:
251 virtual void SetFoundHandler(const Link<FmFoundRecordInformation&,void>& lnk) = 0;
252 virtual void SetCanceledNotFoundHdl(const Link<FmFoundRecordInformation&,void>& lnk)=0;
253 virtual void SetActiveField(const OUString& strField)=0;
256 class AbstractGraphicFilterDialog :public VclAbstractDialog
258 protected:
259 virtual ~AbstractGraphicFilterDialog() override = default;
260 public:
261 virtual Graphic GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY ) = 0;
264 class AbstractSvxAreaTabDialog :public SfxAbstractTabDialog
266 protected:
267 virtual ~AbstractSvxAreaTabDialog() override = default;
270 struct SvxSwFrameValidation;
271 class AbstractSvxTransformTabDialog : public SfxAbstractTabDialog
273 protected:
274 virtual ~AbstractSvxTransformTabDialog() override = default;
275 public:
276 virtual void SetValidateFramePosLink( const Link<SvxSwFrameValidation&,void>& rLink ) = 0;
279 class AbstractSvxCaptionDialog : public SfxAbstractTabDialog
281 protected:
282 virtual ~AbstractSvxCaptionDialog() override = default;
283 public:
284 virtual void SetValidateFramePosLink( const Link<SvxSwFrameValidation&,void>& rLink ) = 0;
287 class AbstractSvxPostItDialog : public VclAbstractDialog
289 protected:
290 virtual ~AbstractSvxPostItDialog() override = default;
291 public:
292 virtual void SetText( const OUString& rStr ) = 0; //From class Window
293 virtual const SfxItemSet* GetOutputItemSet() const = 0;
294 virtual void SetPrevHdl( const Link<AbstractSvxPostItDialog&,void>& rLink ) = 0;
295 virtual void SetNextHdl( const Link<AbstractSvxPostItDialog&,void>& rLink ) = 0;
296 virtual void EnableTravel(bool bNext, bool bPrev) = 0;
297 virtual OUString GetNote() = 0;
298 virtual void SetNote(const OUString& rTxt) = 0;
299 virtual void ShowLastAuthor(const OUString& rAuthor, const OUString& rDate) = 0;
300 virtual void DontChangeAuthor() = 0;
301 virtual void HideAuthor() = 0;
302 virtual std::shared_ptr<weld::Dialog> GetDialog() = 0;
305 class SvxAbstractSplitTableDialog : public VclAbstractDialog
307 protected:
308 virtual ~SvxAbstractSplitTableDialog() override = default;
309 public:
310 virtual bool IsHorizontal() const = 0;
311 virtual bool IsProportional() const = 0;
312 virtual long GetCount() const = 0;
313 virtual void SetSplitVerticalByDefault() = 0;
316 class SvxAbstractNewTableDialog : public VclAbstractDialog
318 protected:
319 virtual ~SvxAbstractNewTableDialog() override = default;
320 public:
321 virtual sal_Int32 getRows() const = 0;
322 virtual sal_Int32 getColumns() const = 0;
325 class SvxAbstractInsRowColDlg : public VclAbstractDialog
327 protected:
328 virtual ~SvxAbstractInsRowColDlg() override = default;
329 public:
330 virtual bool isInsertBefore() const = 0;
331 virtual sal_uInt16 getInsertCount() const = 0;
334 class SVX_DLLPUBLIC SvxAbstractDialogFactory : public SfxAbstractDialogFactory, public EditAbstractDialogFactory
336 public:
337 static SvxAbstractDialogFactory* Create();
339 virtual ~SvxAbstractDialogFactory() override;
341 virtual VclPtr<SfxAbstractTabDialog> CreateTextTabDialog( weld::Window* pParent,
342 const SfxItemSet* pAttrSet,
343 SdrView* pView ) = 0 ;
345 virtual VclPtr<AbstractSvxCaptionDialog> CreateCaptionDialog(weld::Window* pParent,
346 const SdrView* pView,
347 SvxAnchorIds nAnchorTypes = SvxAnchorIds::NONE) = 0;
349 virtual VclPtr<AbstractSvxDistributeDialog> CreateSvxDistributeDialog(weld::Window* pParent,
350 const SfxItemSet& rAttr)= 0;
352 virtual VclPtr<AbstractFmShowColsDialog> CreateFmShowColsDialog(weld::Window* pParent) = 0;
354 virtual VclPtr<AbstractSvxZoomDialog> CreateSvxZoomDialog(weld::Window* pParent, const SfxItemSet& rCoreSet) = 0;
356 virtual VclPtr<AbstractSpellDialog> CreateSvxSpellDialog(vcl::Window* pParent,
357 SfxBindings* pBindings,
358 svx::SpellDialogChildWindow* pSpellChildWindow )=0;
360 virtual VclPtr<VclAbstractDialog> CreateActualizeProgressDialog(weld::Window* pParent,
361 GalleryTheme* pThm) = 0;
362 virtual VclPtr<AbstractTitleDialog> CreateTitleDialog(weld::Window* pParent,
363 const OUString& rOldText) = 0;
364 virtual VclPtr<AbstractGalleryIdDialog> CreateGalleryIdDialog(weld::Window* pParent,
365 GalleryTheme* pThm) = 0;
366 virtual VclPtr<VclAbstractDialog> CreateGalleryThemePropertiesDialog(weld::Window* pParent,
367 ExchangeData* pData,
368 SfxItemSet* pItemSet ) = 0;
369 virtual VclPtr<AbstractURLDlg> CreateURLDialog(weld::Widget* pParent,
370 const OUString& rURL, const OUString& rAltText, const OUString& rDescription,
371 const OUString& rTarget, const OUString& rName,
372 TargetList& rTargetList ) = 0;
374 virtual VclPtr<SfxAbstractTabDialog> CreateTabItemDialog(weld::Window* pParent, const SfxItemSet& rSet) = 0;
375 virtual VclPtr<VclAbstractDialog> CreateSvxSearchAttributeDialog(weld::Window* pParent,
376 SearchAttrItemList& rLst,
377 const sal_uInt16* pWhRanges)=0;
378 virtual VclPtr<AbstractSvxSearchSimilarityDialog> CreateSvxSearchSimilarityDialog( weld::Window* pParent,
379 bool bRelax,
380 sal_uInt16 nOther,
381 sal_uInt16 nShorter,
382 sal_uInt16 nLonger ) = 0;
383 // add for SvxBorderBackgroundDlg
384 virtual VclPtr<SfxAbstractTabDialog> CreateSvxBorderBackgroundDlg(
385 weld::Window* pParent,
386 const SfxItemSet& rCoreSet,
387 bool bEnableDrawingLayerFillStyles) = 0;
389 virtual VclPtr<AbstractSvxTransformTabDialog> CreateSvxTransformTabDialog(weld::Window* pParent,
390 const SfxItemSet* pAttr,
391 const SdrView* pView,
392 SvxAnchorIds nAnchorTypes = SvxAnchorIds::NONE) = 0;
393 virtual VclPtr<SfxAbstractTabDialog> CreateSchTransformTabDialog(weld::Window* pParent,
394 const SfxItemSet* pAttr,
395 const SdrView* pSdrView,
396 bool bSizeTabPage) = 0;
397 virtual VclPtr<AbstractSvxJSearchOptionsDialog> CreateSvxJSearchOptionsDialog(weld::Window* pParent,
398 const SfxItemSet& rOptionsSet,
399 TransliterationFlags nInitialFlags) = 0;
400 virtual VclPtr<AbstractFmInputRecordNoDialog> CreateFmInputRecordNoDialog(weld::Window* pParent) = 0;
401 virtual VclPtr<AbstractSvxNewDictionaryDialog> CreateSvxNewDictionaryDialog(weld::Window* pParent) = 0;
402 virtual VclPtr<VclAbstractDialog> CreateSvxEditDictionaryDialog(weld::Window* pParent, const OUString& rName) = 0;
403 virtual VclPtr<AbstractSvxNameDialog> CreateSvxNameDialog(weld::Window* pParent,
404 const OUString& rName, const OUString& rDesc ) = 0;
406 // #i68101#
407 virtual VclPtr<AbstractSvxObjectNameDialog> CreateSvxObjectNameDialog(weld::Window* pParent, const OUString& rName) = 0;
408 virtual VclPtr<AbstractSvxObjectTitleDescDialog> CreateSvxObjectTitleDescDialog(weld::Window* pParent, const OUString& rTitle, const OUString& rDescription) = 0;
409 virtual VclPtr<AbstractSvxMultiPathDialog> CreateSvxMultiPathDialog(weld::Window* pParent) = 0 ;
410 virtual VclPtr<AbstractSvxMultiPathDialog> CreateSvxPathSelectDialog(weld::Window* pParent) = 0 ;
411 virtual VclPtr<AbstractSvxHpLinkDlg> CreateSvxHpLinkDlg(vcl::Window* pParent, SfxBindings* pBindings)=0;
412 virtual VclPtr<AbstractFmSearchDialog> CreateFmSearchDialog(weld::Window* pParent,
413 const OUString& strInitialText,
414 const ::std::vector< OUString >& _rContexts,
415 sal_Int16 nInitialContext,
416 const Link<FmSearchContext&,sal_uInt32>& lnkContextSupplier)=0;
417 virtual VclPtr<AbstractGraphicFilterDialog> CreateGraphicFilterEmboss(weld::Window* pParent,
418 const Graphic& rGraphic)=0;
419 virtual VclPtr<AbstractGraphicFilterDialog> CreateGraphicFilterPoster(weld::Window* pParent,
420 const Graphic& rGraphic)=0;
421 virtual VclPtr<AbstractGraphicFilterDialog> CreateGraphicFilterSepia(weld::Window* pParent,
422 const Graphic& rGraphic)=0;
423 virtual VclPtr<AbstractGraphicFilterDialog> CreateGraphicFilterSmooth(weld::Window* pParent,
424 const Graphic& rGraphic,
425 double nRadius)=0;
426 virtual VclPtr<AbstractGraphicFilterDialog> CreateGraphicFilterSolarize(weld::Window* pParent,
427 const Graphic& rGraphic)=0;
428 virtual VclPtr<AbstractGraphicFilterDialog> CreateGraphicFilterMosaic(weld::Window* pParent,
429 const Graphic& rGraphic)=0;
430 virtual VclPtr<AbstractSvxAreaTabDialog> CreateSvxAreaTabDialog(weld::Window* pParent,
431 const SfxItemSet* pAttr,
432 SdrModel* pModel,
433 bool bShadow) = 0 ;
434 virtual VclPtr<SfxAbstractTabDialog> CreateSvxLineTabDialog(weld::Window* pParent, const SfxItemSet* pAttr, //add forSvxLineTabDialog
435 SdrModel* pModel,
436 const SdrObject* pObj,
437 bool bHasObj )=0;
438 virtual VclPtr<SfxAbstractDialog> CreateSfxDialog( weld::Window* pParent,
439 const SfxItemSet& rAttr,
440 const SdrView* pView,
441 sal_uInt32 nResId )=0;
442 virtual VclPtr<SfxAbstractDialog> CreateCharMapDialog(weld::Window* pParent, const SfxItemSet& rAttr,
443 const css::uno::Reference<css::frame::XFrame>& rFrame) = 0;
444 virtual VclPtr<SfxAbstractDialog> CreateEventConfigDialog(weld::Widget* pParent, const SfxItemSet& rAttr,
445 const css::uno::Reference< css::frame::XFrame >& rFrame) = 0;
446 virtual VclPtr<AbstractSvxPostItDialog> CreateSvxPostItDialog(weld::Widget* pParent, const SfxItemSet& rCoreSet, bool bPrevNext = false) = 0;
447 virtual VclPtr<VclAbstractDialog> CreateSvxScriptOrgDialog(weld::Window* pParent, const OUString& rLanguage) override = 0;
449 virtual DialogGetRanges GetDialogGetRangesFunc() = 0;
451 virtual VclPtr<AbstractScriptSelectorDialog> CreateScriptSelectorDialog(weld::Window* pParent,
452 const css::uno::Reference< css::frame::XFrame >& rxFrame) override = 0;
454 virtual VclPtr<VclAbstractDialog> CreateScriptErrorDialog(const css::uno::Any& rException) override = 0;
456 virtual VclPtr<VclAbstractDialog> CreateSvxMacroAssignDlg(
457 weld::Window* _pParent,
458 const css::uno::Reference< css::frame::XFrame >& _rxDocumentFrame,
459 const bool _bUnoDialogMode,
460 const css::uno::Reference< css::container::XNameReplace >& _rxEvents,
461 const sal_uInt16 _nInitiallySelectedEvent
462 ) = 0;
464 virtual VclPtr<SfxAbstractTabDialog> CreateSvxFormatCellsDialog(weld::Window* pParent, const SfxItemSet* pAttr, const SdrModel& rModel, const SdrObject* pObj )=0;
466 virtual VclPtr<SvxAbstractSplitTableDialog> CreateSvxSplitTableDialog(weld::Window* pParent, bool bIsTableVertical, long nMaxVertical) = 0;
468 virtual VclPtr<SvxAbstractNewTableDialog> CreateSvxNewTableDialog(weld::Window* pParent) = 0;
470 virtual VclPtr<SvxAbstractInsRowColDlg> CreateSvxInsRowColDlg(weld::Window* pParent, bool bCol, const OString& rHelpId) = 0;
473 #endif
475 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */