1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* 3 * This file is part of the LibreOffice project. 4 * 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 * 9 * This file incorporates work covered by the following license notice: 10 * 11 * Licensed to the Apache Software Foundation (ASF) under one or more 12 * contributor license agreements. See the NOTICE file distributed 13 * with this work for additional information regarding copyright 14 * ownership. The ASF licenses this file to you under the Apache 15 * License, Version 2.0 (the "License"); you may not use this file 16 * except in compliance with the License. You may obtain a copy of 17 * the License at http://www.apache.org/licenses/LICENSE-2.0 . 18 */ 19 #ifndef INCLUDED_SW_SOURCE_UI_DIALOG_SWDLGFACT_HXX 20 #define INCLUDED_SW_SOURCE_UI_DIALOG_SWDLGFACT_HXX 21 22 #include <swabstdlg.hxx> 23 24 #include <abstract.hxx> 25 #include <ascfldlg.hxx> 26 #include <cnttab.hxx> 27 #include <colwd.hxx> 28 #include <convert.hxx> 29 #include <DateFormFieldDialog.hxx> 30 #include <dbinsdlg.hxx> 31 #include <DropDownFieldDialog.hxx> 32 #include <DropDownFormFieldDialog.hxx> 33 #include <fldtdlg.hxx> 34 #include <glossary.hxx> 35 #include <inpdlg.hxx> 36 #include <insfnote.hxx> 37 #include <javaedit.hxx> 38 #include <label.hxx> 39 #include <mailmergewizard.hxx> 40 #include <mailmrge.hxx> 41 #include <mergetbl.hxx> 42 #include <multmrk.hxx> 43 #include <regionsw.hxx> 44 #include <rowht.hxx> 45 #include <selglos.hxx> 46 #include <splittbl.hxx> 47 #include <srtdlg.hxx> 48 #include <swmodalredlineacceptdlg.hxx> 49 #include <swrenamexnameddlg.hxx> 50 #include <swuicnttab.hxx> 51 #include <swuiidxmrk.hxx> 52 #include <tautofmt.hxx> 53 #include <wordcountdialog.hxx> 54 55 class SwInsertAbstractDlg; 56 class SwAsciiFilterDlg; 57 class SwBreakDlg; 58 class SwMultiTOXMarkDlg; 59 class SwSortDlg; 60 class SwTableHeightDlg; 61 class SwTableWidthDlg; 62 class SwMergeTableDlg; 63 class SfxTabDialog; 64 class SwConvertTableDlg; 65 class SwInsertDBColAutoPilot; 66 class SwLabDlg; 67 class SwSelGlossaryDlg; 68 class SwAutoFormatDlg; 69 class SwFieldDlg; 70 class SwRenameXNamedDlg; 71 class SwModalRedlineAcceptDlg; 72 class SwTOXMark; 73 class SwSplitTableDlg; 74 75 #include <itabenum.hxx> 76 #include <optional> 77 #include <o3tl/deleter.hxx> 78 79 namespace sw 80 { 81 class DropDownFieldDialog; 82 class DropDownFormFieldDialog; 83 class DateFormFieldDialog; 84 } 85 86 class SwWordCountFloatDlg; 87 class AbstractSwWordCountFloatDlg_Impl : public AbstractSwWordCountFloatDlg 88 { 89 std::shared_ptr<SwWordCountFloatDlg> m_xDlg; 90 public: AbstractSwWordCountFloatDlg_Impl(std::shared_ptr<SwWordCountFloatDlg> p)91 explicit AbstractSwWordCountFloatDlg_Impl(std::shared_ptr<SwWordCountFloatDlg> p) 92 : m_xDlg(std::move(p)) 93 { 94 } 95 virtual short Execute() override; 96 virtual void UpdateCounts() override; 97 virtual void SetCounts(const SwDocStat &rCurrCnt, const SwDocStat &rDocStat) override; 98 virtual std::shared_ptr<SfxDialogController> GetController() override; 99 }; 100 101 class AbstractSwInsertAbstractDlg_Impl : public AbstractSwInsertAbstractDlg 102 { 103 std::unique_ptr<SwInsertAbstractDlg> m_xDlg; 104 public: AbstractSwInsertAbstractDlg_Impl(std::unique_ptr<SwInsertAbstractDlg> p)105 explicit AbstractSwInsertAbstractDlg_Impl(std::unique_ptr<SwInsertAbstractDlg> p) 106 : m_xDlg(std::move(p)) 107 { 108 } 109 virtual short Execute() override; 110 virtual sal_uInt8 GetLevel() const override ; 111 virtual sal_uInt8 GetPara() const override ; 112 }; 113 114 class SwAbstractSfxController_Impl : public SfxAbstractDialog 115 { 116 std::unique_ptr<SfxSingleTabDialogController> m_xDlg; 117 public: SwAbstractSfxController_Impl(std::unique_ptr<SfxSingleTabDialogController> p)118 explicit SwAbstractSfxController_Impl(std::unique_ptr<SfxSingleTabDialogController> p) 119 : m_xDlg(std::move(p)) 120 { 121 } 122 virtual short Execute() override; 123 virtual const SfxItemSet* GetOutputItemSet() const override; 124 virtual void SetText(const OUString& rStr) override; 125 }; 126 127 class AbstractSwAsciiFilterDlg_Impl : public AbstractSwAsciiFilterDlg 128 { 129 std::unique_ptr<SwAsciiFilterDlg> m_xDlg; 130 public: AbstractSwAsciiFilterDlg_Impl(std::unique_ptr<SwAsciiFilterDlg> p)131 explicit AbstractSwAsciiFilterDlg_Impl(std::unique_ptr<SwAsciiFilterDlg> p) 132 : m_xDlg(std::move(p)) 133 { 134 } 135 virtual short Execute() override; 136 virtual void FillOptions( SwAsciiOptions& rOptions ) override; 137 }; 138 139 class AbstractGenericDialog_Impl : public VclAbstractDialog 140 { 141 std::shared_ptr<weld::GenericDialogController> m_xDlg; 142 public: AbstractGenericDialog_Impl(std::shared_ptr<weld::GenericDialogController> p)143 explicit AbstractGenericDialog_Impl(std::shared_ptr<weld::GenericDialogController> p) 144 : m_xDlg(std::move(p)) 145 { 146 } 147 virtual short Execute() override; 148 virtual bool StartExecuteAsync(AsyncContext &rCtx) override; 149 }; 150 151 class AbstractSwSortDlg_Impl : public VclAbstractDialog 152 { 153 std::unique_ptr<SwSortDlg> m_xDlg; 154 public: AbstractSwSortDlg_Impl(std::unique_ptr<SwSortDlg> p)155 explicit AbstractSwSortDlg_Impl(std::unique_ptr<SwSortDlg> p) 156 : m_xDlg(std::move(p)) 157 { 158 } 159 virtual short Execute() override; 160 }; 161 162 class AbstractMultiTOXMarkDlg_Impl : public VclAbstractDialog 163 { 164 std::unique_ptr<SwMultiTOXMarkDlg> m_xDlg; 165 public: AbstractMultiTOXMarkDlg_Impl(std::unique_ptr<SwMultiTOXMarkDlg> p)166 explicit AbstractMultiTOXMarkDlg_Impl(std::unique_ptr<SwMultiTOXMarkDlg> p) 167 : m_xDlg(std::move(p)) 168 { 169 } 170 virtual short Execute() override; 171 }; 172 173 class AbstractSwBreakDlg_Impl : public AbstractSwBreakDlg 174 { 175 std::shared_ptr<weld::DialogController> m_xDlg; 176 public: AbstractSwBreakDlg_Impl(std::shared_ptr<weld::DialogController> p)177 explicit AbstractSwBreakDlg_Impl(std::shared_ptr<weld::DialogController> p) 178 : m_xDlg(std::move(p)) 179 { 180 } 181 virtual OUString GetTemplateName() override; 182 virtual sal_uInt16 GetKind() override; 183 virtual ::std::optional<sal_uInt16> GetPageNumber() override; 184 getDialogController()185 virtual std::shared_ptr<weld::DialogController> getDialogController() override { return m_xDlg; } 186 }; 187 188 class AbstractSwTableWidthDlg_Impl : public VclAbstractDialog 189 { 190 std::unique_ptr<SwTableWidthDlg> m_xDlg; 191 public: AbstractSwTableWidthDlg_Impl(std::unique_ptr<SwTableWidthDlg> p)192 explicit AbstractSwTableWidthDlg_Impl(std::unique_ptr<SwTableWidthDlg> p) 193 : m_xDlg(std::move(p)) 194 { 195 } 196 virtual short Execute() override; 197 }; 198 199 class AbstractSwTableHeightDlg_Impl : public VclAbstractDialog 200 { 201 std::unique_ptr<SwTableHeightDlg> m_xDlg; 202 public: AbstractSwTableHeightDlg_Impl(std::unique_ptr<SwTableHeightDlg> p)203 explicit AbstractSwTableHeightDlg_Impl(std::unique_ptr<SwTableHeightDlg> p) 204 : m_xDlg(std::move(p)) 205 { 206 } 207 virtual short Execute() override; 208 }; 209 210 class AbstractSwMergeTableDlg_Impl : public VclAbstractDialog 211 { 212 std::unique_ptr<SwMergeTableDlg> m_xDlg; 213 public: AbstractSwMergeTableDlg_Impl(std::unique_ptr<SwMergeTableDlg> p)214 explicit AbstractSwMergeTableDlg_Impl(std::unique_ptr<SwMergeTableDlg> p) 215 : m_xDlg(std::move(p)) 216 { 217 } 218 virtual short Execute() override; 219 }; 220 221 class AbstractSplitTableDialog_Impl : public AbstractSplitTableDialog // add for 222 { 223 std::unique_ptr<SwSplitTableDlg> m_xDlg; 224 public: AbstractSplitTableDialog_Impl(std::unique_ptr<SwSplitTableDlg> p)225 explicit AbstractSplitTableDialog_Impl(std::unique_ptr<SwSplitTableDlg> p) 226 : m_xDlg(std::move(p)) 227 { 228 } 229 virtual short Execute() override; 230 virtual SplitTable_HeadlineOption GetSplitMode() override; 231 }; 232 233 class AbstractTabController_Impl : virtual public SfxAbstractTabDialog 234 { 235 protected: 236 std::shared_ptr<SfxTabDialogController> m_xDlg; 237 public: AbstractTabController_Impl(std::shared_ptr<SfxTabDialogController> p)238 explicit AbstractTabController_Impl(std::shared_ptr<SfxTabDialogController> p) 239 : m_xDlg(std::move(p)) 240 { 241 } 242 virtual short Execute() override; 243 virtual bool StartExecuteAsync(AsyncContext &rCtx) override; 244 virtual void SetCurPageId( const OString &rName ) override; 245 virtual const SfxItemSet* GetOutputItemSet() const override; 246 virtual const sal_uInt16* GetInputRanges( const SfxItemPool& pItem ) override; 247 virtual void SetInputSet( const SfxItemSet* pInSet ) override; 248 //From class Window. 249 virtual void SetText( const OUString& rStr ) override; 250 }; 251 252 class AbstractApplyTabController_Impl : public AbstractTabController_Impl, virtual public SfxAbstractApplyTabDialog 253 { 254 public: AbstractApplyTabController_Impl(std::shared_ptr<SfxTabDialogController> p)255 explicit AbstractApplyTabController_Impl(std::shared_ptr<SfxTabDialogController> p) 256 : AbstractTabController_Impl(std::move(p)) 257 { 258 } 259 DECL_LINK(ApplyHdl, weld::Button&, void); 260 private: 261 Link<LinkParamNone*,void> m_aHandler; 262 virtual void SetApplyHdl( const Link<LinkParamNone*,void>& rLink ) override; 263 }; 264 265 class AbstractSwConvertTableDlg_Impl : public AbstractSwConvertTableDlg 266 { 267 std::unique_ptr<SwConvertTableDlg> m_xDlg; 268 public: AbstractSwConvertTableDlg_Impl(std::unique_ptr<SwConvertTableDlg> p)269 explicit AbstractSwConvertTableDlg_Impl(std::unique_ptr<SwConvertTableDlg> p) 270 : m_xDlg(std::move(p)) 271 { 272 } 273 virtual short Execute() override; 274 virtual void GetValues( sal_Unicode& rDelim,SwInsertTableOptions& rInsTableFlags, 275 SwTableAutoFormat const*& prTAFormat) override; 276 }; 277 278 class AbstractSwInsertDBColAutoPilot_Impl : public AbstractSwInsertDBColAutoPilot 279 { 280 std::unique_ptr<SwInsertDBColAutoPilot> m_xDlg; 281 public: AbstractSwInsertDBColAutoPilot_Impl(std::unique_ptr<SwInsertDBColAutoPilot> p)282 explicit AbstractSwInsertDBColAutoPilot_Impl(std::unique_ptr<SwInsertDBColAutoPilot> p) 283 : m_xDlg(std::move(p)) 284 { 285 } 286 virtual short Execute() override; 287 virtual void DataToDoc( const css::uno::Sequence< css::uno::Any >& rSelection, 288 css::uno::Reference< css::sdbc::XDataSource> rxSource, 289 css::uno::Reference< css::sdbc::XConnection> xConnection, 290 css::uno::Reference< css::sdbc::XResultSet > xResultSet) override; 291 }; 292 293 class AbstractDropDownFieldDialog_Impl : public AbstractDropDownFieldDialog 294 { 295 std::unique_ptr<sw::DropDownFieldDialog> m_xDlg; 296 public: AbstractDropDownFieldDialog_Impl(std::unique_ptr<sw::DropDownFieldDialog> p)297 explicit AbstractDropDownFieldDialog_Impl(std::unique_ptr<sw::DropDownFieldDialog> p) 298 : m_xDlg(std::move(p)) 299 { 300 } 301 virtual short Execute() override; 302 virtual bool PrevButtonPressed() const override; 303 virtual bool NextButtonPressed() const override; 304 }; 305 306 class AbstractDropDownFormFieldDialog_Impl : public VclAbstractDialog 307 { 308 std::unique_ptr<sw::DropDownFormFieldDialog> m_xDlg; 309 public: AbstractDropDownFormFieldDialog_Impl(std::unique_ptr<sw::DropDownFormFieldDialog> p)310 explicit AbstractDropDownFormFieldDialog_Impl(std::unique_ptr<sw::DropDownFormFieldDialog> p) 311 : m_xDlg(std::move(p)) 312 { 313 } 314 virtual short Execute() override; 315 }; 316 317 class AbstractDateFormFieldDialog_Impl : public VclAbstractDialog 318 { 319 std::unique_ptr<sw::DateFormFieldDialog> m_xDlg; 320 public: AbstractDateFormFieldDialog_Impl(std::unique_ptr<sw::DateFormFieldDialog> p)321 explicit AbstractDateFormFieldDialog_Impl(std::unique_ptr<sw::DateFormFieldDialog> p) 322 : m_xDlg(std::move(p)) 323 { 324 } 325 virtual short Execute() override; 326 }; 327 328 class AbstractSwLabDlg_Impl : public AbstractSwLabDlg 329 { 330 std::unique_ptr<SwLabDlg> m_xDlg; 331 public: AbstractSwLabDlg_Impl(std::unique_ptr<SwLabDlg> p)332 explicit AbstractSwLabDlg_Impl(std::unique_ptr<SwLabDlg> p) 333 : m_xDlg(std::move(p)) 334 { 335 } 336 virtual short Execute() override; 337 virtual void SetCurPageId( const OString &rName ) override; 338 virtual const SfxItemSet* GetOutputItemSet() const override; 339 virtual const sal_uInt16* GetInputRanges( const SfxItemPool& pItem ) override; 340 virtual void SetInputSet( const SfxItemSet* pInSet ) override; 341 //From class Window. 342 virtual void SetText( const OUString& rStr ) override; 343 virtual const OUString& GetBusinessCardStr() const override; 344 virtual Printer *GetPrt() override; 345 }; 346 347 class AbstractSwSelGlossaryDlg_Impl : public AbstractSwSelGlossaryDlg 348 { 349 std::unique_ptr<SwSelGlossaryDlg> m_xDlg; 350 public: AbstractSwSelGlossaryDlg_Impl(std::unique_ptr<SwSelGlossaryDlg> p)351 explicit AbstractSwSelGlossaryDlg_Impl(std::unique_ptr<SwSelGlossaryDlg> p) 352 : m_xDlg(std::move(p)) 353 { 354 } 355 virtual short Execute() override; 356 virtual void InsertGlos(const OUString &rRegion, const OUString &rGlosName) override; // inline 357 virtual sal_Int32 GetSelectedIdx() const override; // inline 358 virtual void SelectEntryPos(sal_Int32 nIdx) override; // inline 359 }; 360 361 class AbstractSwAutoFormatDlg_Impl : public AbstractSwAutoFormatDlg 362 { 363 std::unique_ptr<SwAutoFormatDlg, o3tl::default_delete<SwAutoFormatDlg>> m_xDlg; 364 public: AbstractSwAutoFormatDlg_Impl(std::unique_ptr<SwAutoFormatDlg,o3tl::default_delete<SwAutoFormatDlg>> p)365 explicit AbstractSwAutoFormatDlg_Impl(std::unique_ptr<SwAutoFormatDlg, o3tl::default_delete<SwAutoFormatDlg>> p) 366 : m_xDlg(std::move(p)) 367 { 368 } 369 virtual short Execute() override; 370 virtual std::unique_ptr<SwTableAutoFormat> FillAutoFormatOfIndex() const override; 371 }; 372 373 class AbstractSwFieldDlg_Impl : public AbstractSwFieldDlg 374 { 375 std::shared_ptr<SwFieldDlg> m_xDlg; 376 public: AbstractSwFieldDlg_Impl(std::shared_ptr<SwFieldDlg> p)377 explicit AbstractSwFieldDlg_Impl(std::shared_ptr<SwFieldDlg> p) 378 : m_xDlg(std::move(p)) 379 { 380 } 381 virtual short Execute() override; 382 virtual bool StartExecuteAsync(AsyncContext &rCtx) override; 383 virtual void SetCurPageId( const OString &rName ) override; 384 virtual const SfxItemSet* GetOutputItemSet() const override; 385 virtual const sal_uInt16* GetInputRanges( const SfxItemPool& pItem ) override; 386 virtual void SetInputSet( const SfxItemSet* pInSet ) override; 387 //From class Window. 388 virtual void SetText( const OUString& rStr ) override; 389 virtual void ShowReferencePage() override; 390 virtual void Initialize(SfxChildWinInfo *pInfo) override; 391 virtual void ReInitDlg() override; 392 virtual void ActivateDatabasePage() override; 393 virtual std::shared_ptr<SfxDialogController> GetController() override; 394 }; 395 396 class AbstractSwRenameXNamedDlg_Impl : public AbstractSwRenameXNamedDlg 397 { 398 std::unique_ptr<SwRenameXNamedDlg> m_xDlg; 399 public: AbstractSwRenameXNamedDlg_Impl(std::unique_ptr<SwRenameXNamedDlg> p)400 explicit AbstractSwRenameXNamedDlg_Impl(std::unique_ptr<SwRenameXNamedDlg> p) 401 : m_xDlg(std::move(p)) 402 { 403 } 404 virtual short Execute() override; 405 virtual void SetForbiddenChars( const OUString& rSet ) override; 406 virtual void SetAlternativeAccess( 407 css::uno::Reference< css::container::XNameAccess > & xSecond, 408 css::uno::Reference< css::container::XNameAccess > & xThird ) override; 409 }; 410 411 class AbstractSwModalRedlineAcceptDlg_Impl : public AbstractSwModalRedlineAcceptDlg 412 { 413 std::unique_ptr<SwModalRedlineAcceptDlg> m_xDlg; 414 public: AbstractSwModalRedlineAcceptDlg_Impl(std::unique_ptr<SwModalRedlineAcceptDlg> p)415 explicit AbstractSwModalRedlineAcceptDlg_Impl(std::unique_ptr<SwModalRedlineAcceptDlg> p) 416 : m_xDlg(std::move(p)) 417 { 418 } 419 virtual short Execute() override; 420 virtual void AcceptAll(bool bAccept) override; 421 }; 422 423 class SwGlossaryDlg; 424 class AbstractGlossaryDlg_Impl : public AbstractGlossaryDlg 425 { 426 std::unique_ptr<SwGlossaryDlg> m_xDlg; 427 public: AbstractGlossaryDlg_Impl(std::unique_ptr<SwGlossaryDlg> p)428 explicit AbstractGlossaryDlg_Impl(std::unique_ptr<SwGlossaryDlg> p) 429 : m_xDlg(std::move(p)) 430 { 431 } 432 virtual short Execute() override; 433 virtual OUString GetCurrGrpName() const override; 434 virtual OUString GetCurrShortName() const override; 435 }; 436 437 class SwFieldInputDlg; 438 class AbstractFieldInputDlg_Impl : public AbstractFieldInputDlg 439 { 440 std::unique_ptr<SwFieldInputDlg> m_xDlg; 441 public: AbstractFieldInputDlg_Impl(std::unique_ptr<SwFieldInputDlg> p)442 explicit AbstractFieldInputDlg_Impl(std::unique_ptr<SwFieldInputDlg> p) 443 : m_xDlg(std::move(p)) 444 { 445 } 446 virtual short Execute() override; 447 virtual void EndDialog(sal_Int32) override; 448 virtual bool PrevButtonPressed() const override; 449 virtual bool NextButtonPressed() const override; 450 }; 451 452 class SwInsFootNoteDlg; 453 class AbstractInsFootNoteDlg_Impl : public AbstractInsFootNoteDlg 454 { 455 std::unique_ptr<SwInsFootNoteDlg> m_xDlg; 456 public: AbstractInsFootNoteDlg_Impl(std::unique_ptr<SwInsFootNoteDlg> p)457 explicit AbstractInsFootNoteDlg_Impl(std::unique_ptr<SwInsFootNoteDlg> p) 458 : m_xDlg(std::move(p)) 459 { 460 } 461 virtual short Execute() override; 462 virtual OUString GetFontName() override; 463 virtual bool IsEndNote() override; 464 virtual OUString GetStr() override; 465 //from class Window 466 virtual void SetHelpId( const OString& sHelpId ) override; 467 virtual void SetText( const OUString& rStr ) override; 468 }; 469 470 class SwInsTableDlg; 471 class AbstractInsTableDlg_Impl : public AbstractInsTableDlg 472 { 473 protected: 474 std::shared_ptr<weld::DialogController> m_xDlg; 475 public: AbstractInsTableDlg_Impl(std::shared_ptr<weld::DialogController> p)476 explicit AbstractInsTableDlg_Impl(std::shared_ptr<weld::DialogController> p) 477 : m_xDlg(p) 478 { 479 } 480 virtual void GetValues( OUString& rName, sal_uInt16& rRow, sal_uInt16& rCol, 481 SwInsertTableOptions& rInsTableFlags, OUString& rTableAutoFormatName, 482 std::unique_ptr<SwTableAutoFormat>& prTAFormat ) override; getDialogController()483 virtual std::shared_ptr<weld::DialogController> getDialogController() override { return m_xDlg; } 484 }; 485 486 class SwJavaEditDialog; 487 class AbstractJavaEditDialog_Impl : public AbstractJavaEditDialog 488 { 489 std::unique_ptr<SwJavaEditDialog> m_xDlg; 490 public: AbstractJavaEditDialog_Impl(std::unique_ptr<SwJavaEditDialog> p)491 explicit AbstractJavaEditDialog_Impl(std::unique_ptr<SwJavaEditDialog> p) 492 : m_xDlg(std::move(p)) 493 { 494 } 495 virtual short Execute() override; 496 virtual OUString GetScriptText() const override; 497 virtual OUString GetScriptType() const override; 498 virtual bool IsUrl() const override; 499 virtual bool IsNew() const override; 500 virtual bool IsUpdate() const override; 501 }; 502 503 class SwMailMergeDlg; 504 class AbstractMailMergeDlg_Impl : public AbstractMailMergeDlg 505 { 506 std::unique_ptr<SwMailMergeDlg> m_xDlg; 507 public: AbstractMailMergeDlg_Impl(std::unique_ptr<SwMailMergeDlg> p)508 explicit AbstractMailMergeDlg_Impl(std::unique_ptr<SwMailMergeDlg> p) 509 : m_xDlg(std::move(p)) 510 { 511 } 512 virtual short Execute() override; 513 virtual DBManagerOptions GetMergeType() override ; 514 virtual const OUString& GetSaveFilter() const override; 515 virtual css::uno::Sequence< css::uno::Any > GetSelection() const override ; 516 virtual css::uno::Reference< css::sdbc::XResultSet> GetResultSet() const override; 517 virtual bool IsSaveSingleDoc() const override; 518 virtual bool IsGenerateFromDataBase() const override; 519 virtual bool IsFileEncryptedFromDataBase() const override; 520 virtual OUString GetColumnName() const override; 521 virtual OUString GetPasswordColumnName() const override; 522 virtual OUString GetTargetURL() const override; 523 }; 524 525 class SwMailMergeCreateFromDlg; 526 class AbstractMailMergeCreateFromDlg_Impl : public AbstractMailMergeCreateFromDlg 527 { 528 std::unique_ptr<SwMailMergeCreateFromDlg> m_xDlg; 529 public: AbstractMailMergeCreateFromDlg_Impl(std::unique_ptr<SwMailMergeCreateFromDlg> p)530 explicit AbstractMailMergeCreateFromDlg_Impl(std::unique_ptr<SwMailMergeCreateFromDlg> p) 531 : m_xDlg(std::move(p)) 532 { 533 } 534 virtual short Execute() override; 535 virtual bool IsThisDocument() const override ; 536 }; 537 538 class SwMailMergeFieldConnectionsDlg; 539 class AbstractMailMergeFieldConnectionsDlg_Impl : public AbstractMailMergeFieldConnectionsDlg 540 { 541 std::unique_ptr<SwMailMergeFieldConnectionsDlg> m_xDlg; 542 public: AbstractMailMergeFieldConnectionsDlg_Impl(std::unique_ptr<SwMailMergeFieldConnectionsDlg> p)543 explicit AbstractMailMergeFieldConnectionsDlg_Impl(std::unique_ptr<SwMailMergeFieldConnectionsDlg> p) 544 : m_xDlg(std::move(p)) 545 { 546 } 547 virtual short Execute() override; 548 virtual bool IsUseExistingConnections() const override ; 549 }; 550 551 class SwMultiTOXTabDialog; 552 class AbstractMultiTOXTabDialog_Impl : public AbstractMultiTOXTabDialog 553 { 554 protected: 555 std::shared_ptr<SwMultiTOXTabDialog> m_xDlg; 556 public: AbstractMultiTOXTabDialog_Impl(std::shared_ptr<SwMultiTOXTabDialog> p)557 explicit AbstractMultiTOXTabDialog_Impl(std::shared_ptr<SwMultiTOXTabDialog> p) 558 : m_xDlg(std::move(p)) 559 { 560 } 561 virtual short Execute() override; 562 virtual bool StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) override; 563 virtual CurTOXType GetCurrentTOXType() const override ; 564 virtual SwTOXDescription& GetTOXDescription(CurTOXType eTOXTypes) override; 565 //from SfxTabDialog 566 virtual const SfxItemSet* GetOutputItemSet() const override; 567 }; 568 569 class SwEditRegionDlg; 570 class AbstractEditRegionDlg_Impl : public AbstractEditRegionDlg 571 { 572 std::shared_ptr<SwEditRegionDlg> m_xDlg; 573 public: AbstractEditRegionDlg_Impl(std::shared_ptr<SwEditRegionDlg> p)574 explicit AbstractEditRegionDlg_Impl(std::shared_ptr<SwEditRegionDlg> p) 575 : m_xDlg(std::move(p)) 576 { 577 } 578 virtual short Execute() override; 579 virtual void SelectSection(const OUString& rSectionName) override; 580 }; 581 582 class SwInsertSectionTabDialog; 583 class AbstractInsertSectionTabDialog_Impl : public AbstractInsertSectionTabDialog 584 { 585 std::shared_ptr<SwInsertSectionTabDialog> m_xDlg; 586 public: AbstractInsertSectionTabDialog_Impl(std::shared_ptr<SwInsertSectionTabDialog> p)587 explicit AbstractInsertSectionTabDialog_Impl(std::shared_ptr<SwInsertSectionTabDialog> p) 588 : m_xDlg(std::move(p)) 589 { 590 } 591 virtual short Execute() override; 592 virtual bool StartExecuteAsync(AsyncContext &rCtx) override; 593 virtual void SetSectionData(SwSectionData const& rSect) override; 594 }; 595 596 class SwIndexMarkFloatDlg; 597 class AbstractIndexMarkFloatDlg_Impl : public AbstractMarkFloatDlg 598 { 599 std::shared_ptr<SwIndexMarkFloatDlg> m_xDlg; 600 public: AbstractIndexMarkFloatDlg_Impl(std::shared_ptr<SwIndexMarkFloatDlg> p)601 explicit AbstractIndexMarkFloatDlg_Impl(std::shared_ptr<SwIndexMarkFloatDlg> p) 602 : m_xDlg(std::move(p)) 603 { 604 } 605 virtual short Execute() override; 606 virtual void ReInitDlg(SwWrtShell& rWrtShell) override; 607 virtual std::shared_ptr<SfxDialogController> GetController() override; 608 }; 609 610 class SwAuthMarkFloatDlg; 611 class AbstractAuthMarkFloatDlg_Impl : public AbstractMarkFloatDlg 612 { 613 std::shared_ptr<SwAuthMarkFloatDlg> m_xDlg; 614 public: AbstractAuthMarkFloatDlg_Impl(std::shared_ptr<SwAuthMarkFloatDlg> p)615 explicit AbstractAuthMarkFloatDlg_Impl(std::shared_ptr<SwAuthMarkFloatDlg> p) 616 : m_xDlg(std::move(p)) 617 { 618 } 619 virtual short Execute() override; 620 virtual void ReInitDlg(SwWrtShell& rWrtShell) override; 621 virtual std::shared_ptr<SfxDialogController> GetController() override; 622 }; 623 624 class SwMailMergeWizard; 625 class AbstractMailMergeWizard_Impl : public AbstractMailMergeWizard 626 { 627 std::shared_ptr<SwMailMergeWizard> m_xDlg; 628 629 public: AbstractMailMergeWizard_Impl(std::shared_ptr<SwMailMergeWizard> p)630 explicit AbstractMailMergeWizard_Impl(std::shared_ptr<SwMailMergeWizard> p) 631 : m_xDlg(std::move(p)) 632 { 633 } 634 virtual ~AbstractMailMergeWizard_Impl() override; 635 virtual bool StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) override; 636 virtual short Execute() override; 637 638 virtual OUString GetReloadDocument() const override; 639 virtual void ShowPage( sal_uInt16 nLevel ) override; 640 virtual sal_uInt16 GetRestartPage() const override; 641 }; 642 643 //AbstractDialogFactory_Impl implementations 644 class SwAbstractDialogFactory_Impl : public SwAbstractDialogFactory 645 { 646 647 public: ~SwAbstractDialogFactory_Impl()648 virtual ~SwAbstractDialogFactory_Impl() {} 649 650 virtual VclPtr<SfxAbstractDialog> CreateNumFormatDialog(weld::Widget* pParent, const SfxItemSet& rAttr) override; 651 virtual VclPtr<SfxAbstractDialog> CreateSwDropCapsDialog(weld::Window* pParent, const SfxItemSet& rSet) override; 652 virtual VclPtr<SfxAbstractDialog> CreateSwBackgroundDialog(weld::Window* pParent, const SfxItemSet& rSet) override; 653 virtual VclPtr<AbstractSwWordCountFloatDlg> CreateSwWordCountDialog(SfxBindings* pBindings, 654 SfxChildWindow* pChild, weld::Window *pParent, SfxChildWinInfo* pInfo) override; 655 virtual VclPtr<AbstractSwInsertAbstractDlg> CreateSwInsertAbstractDlg(weld::Window* pParent) override; 656 virtual VclPtr<SfxAbstractDialog> CreateSwAddressAbstractDlg(weld::Window* pParent, const SfxItemSet& rSet) override; 657 virtual VclPtr<AbstractSwAsciiFilterDlg> CreateSwAsciiFilterDlg(weld::Window* pParent, SwDocShell& rDocSh, 658 SvStream* pStream) override; 659 virtual VclPtr<VclAbstractDialog> CreateSwInsertBookmarkDlg(weld::Window *pParent, SwWrtShell &rSh) override; 660 virtual std::shared_ptr<AbstractSwBreakDlg> CreateSwBreakDlg(weld::Window *pParent, SwWrtShell &rSh) override; 661 virtual VclPtr<VclAbstractDialog> CreateSwChangeDBDlg(SwView& rVw) override; 662 virtual VclPtr<SfxAbstractTabDialog> CreateSwCharDlg(weld::Window* pParent, SwView& pVw, const SfxItemSet& rCoreSet, 663 SwCharDlgMode nDialogMode, const OUString* pFormatStr = nullptr) override; 664 virtual VclPtr<AbstractSwConvertTableDlg> CreateSwConvertTableDlg(SwView& rView, bool bToTable) override; 665 virtual VclPtr<VclAbstractDialog> CreateSwCaptionDialog(weld::Window *pParent, SwView &rV) override; 666 virtual VclPtr<AbstractSwInsertDBColAutoPilot> CreateSwInsertDBColAutoPilot(SwView& rView, 667 css::uno::Reference< css::sdbc::XDataSource> rxSource, 668 css::uno::Reference<css::sdbcx::XColumnsSupplier> xColSupp, 669 const SwDBData& rData) override; 670 virtual VclPtr<SfxAbstractTabDialog> CreateSwFootNoteOptionDlg(weld::Window *pParent, SwWrtShell &rSh) override; 671 672 virtual VclPtr<AbstractDropDownFieldDialog> CreateDropDownFieldDialog(weld::Widget* pParent, SwWrtShell &rSh, 673 SwField* pField, bool bPrevButton, bool bNextButton) override; 674 virtual VclPtr<VclAbstractDialog> CreateDropDownFormFieldDialog(weld::Widget* pParent, sw::mark::IFieldmark* pDropDownField) override; 675 virtual VclPtr<VclAbstractDialog> CreateDateFormFieldDialog(weld::Widget* pParent, sw::mark::IDateFieldmark* pDateField, SwDoc& rDoc) override; 676 677 virtual VclPtr<SfxAbstractTabDialog> CreateSwEnvDlg(weld::Window* pParent, const SfxItemSet& rSet, SwWrtShell* pWrtSh, Printer* pPrt, bool bInsert) override; 678 virtual VclPtr<AbstractSwLabDlg> CreateSwLabDlg(weld::Window* pParent, const SfxItemSet& rSet, 679 SwDBManager* pDBManager, bool bLabel) override; 680 681 virtual SwLabDlgMethod GetSwLabDlgStaticMethod () override; 682 virtual VclPtr<SfxAbstractTabDialog> CreateSwParaDlg(weld::Window *pParent, 683 SwView& rVw, 684 const SfxItemSet& rCoreSet, 685 bool bDraw, 686 const OString& sDefPage = OString()) override; 687 688 virtual VclPtr<VclAbstractDialog> CreateSwAutoMarkDialog(weld::Window *pParent, SwWrtShell &rSh) override; 689 virtual VclPtr<AbstractSwSelGlossaryDlg> CreateSwSelGlossaryDlg(weld::Window *pParent, const OUString &rShortName) override; 690 virtual VclPtr<VclAbstractDialog> CreateSwSortingDialog(weld::Window *pParent, SwWrtShell &rSh) override; 691 virtual VclPtr<VclAbstractDialog> CreateSwTableHeightDialog(weld::Window *pParent, SwWrtShell &rSh) override; 692 virtual VclPtr<VclAbstractDialog> CreateSwColumnDialog(weld::Window *pParent, SwWrtShell &rSh) override; 693 virtual VclPtr<AbstractSplitTableDialog> CreateSplitTableDialog(weld::Window* pParent, SwWrtShell &rSh) override; 694 695 virtual VclPtr<AbstractSwAutoFormatDlg> CreateSwAutoFormatDlg(weld::Window* pParent, SwWrtShell* pShell, 696 bool bSetAutoFormat = true, 697 const SwTableAutoFormat* pSelFormat = nullptr) override; 698 virtual VclPtr<SfxAbstractDialog> CreateSwBorderDlg(weld::Window* pParent, SfxItemSet& rSet, SwBorderModes nType) override; 699 700 virtual VclPtr<SfxAbstractDialog> CreateSwWrapDlg(weld::Window* pParent, SfxItemSet& rSet, SwWrtShell* pSh) override; 701 virtual VclPtr<VclAbstractDialog> CreateSwTableWidthDlg(weld::Window *pParent, SwTableFUNC &rFnc) override; 702 virtual VclPtr<SfxAbstractTabDialog> CreateSwTableTabDlg(weld::Window* pParent, 703 const SfxItemSet* pItemSet, SwWrtShell* pSh) override; 704 virtual VclPtr<AbstractSwFieldDlg> CreateSwFieldDlg(SfxBindings* pB, SwChildWinWrapper* pCW, weld::Window *pParent) override; 705 virtual VclPtr<SfxAbstractDialog> CreateSwFieldEditDlg ( SwView& rVw ) override; 706 virtual VclPtr<AbstractSwRenameXNamedDlg> CreateSwRenameXNamedDlg(weld::Widget* pParent, 707 css::uno::Reference< css::container::XNamed > & xNamed, 708 css::uno::Reference< css::container::XNameAccess > & xNameAccess) override; 709 virtual VclPtr<AbstractSwModalRedlineAcceptDlg> CreateSwModalRedlineAcceptDlg(weld::Window *pParent) override; 710 711 virtual VclPtr<VclAbstractDialog> CreateTableMergeDialog(weld::Window* pParent, bool& rWithPrev) override; 712 virtual VclPtr<SfxAbstractTabDialog> CreateFrameTabDialog( const OUString &rDialogType, 713 SfxViewFrame *pFrame, weld::Window *pParent, 714 const SfxItemSet& rCoreSet, 715 bool bNewFrame = true, 716 const OString& sDefPage = OString()) override; 717 virtual VclPtr<SfxAbstractApplyTabDialog> CreateTemplateDialog( 718 weld::Window *pParent, 719 SfxStyleSheetBase& rBase, 720 SfxStyleFamily nRegion, 721 const OString& sPage, 722 SwWrtShell* pActShell, 723 bool bNew) override; 724 virtual VclPtr<AbstractGlossaryDlg> CreateGlossaryDlg(SfxViewFrame* pViewFrame, 725 SwGlossaryHdl* pGlosHdl, 726 SwWrtShell *pWrtShell) override; 727 virtual VclPtr<AbstractFieldInputDlg> CreateFieldInputDlg(weld::Widget *pParent, 728 SwWrtShell &rSh, SwField* pField, bool bPrevButton, bool bNextButton) override; 729 virtual VclPtr<AbstractInsFootNoteDlg> CreateInsFootNoteDlg( 730 weld::Window * pParent, SwWrtShell &rSh, bool bEd = false) override; 731 virtual VclPtr<VclAbstractDialog> CreateTitlePageDlg(weld::Window* pParent) override; 732 virtual VclPtr<VclAbstractDialog> CreateVclSwViewDialog(SwView& rView) override; 733 virtual std::shared_ptr<AbstractInsTableDlg> CreateInsTableDlg(SwView& rView) override; 734 virtual VclPtr<AbstractJavaEditDialog> CreateJavaEditDialog(weld::Window* pParent, 735 SwWrtShell* pWrtSh) override; 736 virtual VclPtr<AbstractMailMergeDlg> CreateMailMergeDlg( 737 weld::Window* pParent, SwWrtShell& rSh, 738 const OUString& rSourceName, 739 const OUString& rTableName, 740 sal_Int32 nCommandType, 741 const css::uno::Reference< css::sdbc::XConnection>& xConnection ) override; 742 virtual VclPtr<AbstractMailMergeCreateFromDlg> CreateMailMergeCreateFromDlg(weld::Window* pParent) override; 743 virtual VclPtr<AbstractMailMergeFieldConnectionsDlg> CreateMailMergeFieldConnectionsDlg(weld::Window* pParent) override; 744 virtual VclPtr<VclAbstractDialog> CreateMultiTOXMarkDlg(weld::Window* pParent, SwTOXMgr &rTOXMgr) override; 745 virtual VclPtr<SfxAbstractTabDialog> CreateOutlineTabDialog(weld::Window* pParent, const SfxItemSet* pSwItemSet, 746 SwWrtShell &) override; 747 virtual VclPtr<SfxAbstractTabDialog> CreateSvxNumBulletTabDialog(weld::Window* pParent, 748 const SfxItemSet* pSwItemSet, 749 SwWrtShell &) override; 750 virtual VclPtr<AbstractMultiTOXTabDialog> CreateMultiTOXTabDialog( 751 weld::Widget* pParent, const SfxItemSet& rSet, 752 SwWrtShell &rShell, 753 SwTOXBase* pCurTOX, 754 bool bGlobal) override; 755 virtual VclPtr<AbstractEditRegionDlg> CreateEditRegionDlg(weld::Window* pParent, SwWrtShell& rWrtSh) override; 756 virtual VclPtr<AbstractInsertSectionTabDialog> CreateInsertSectionTabDialog( 757 weld::Window* pParent, const SfxItemSet& rSet, SwWrtShell& rSh) override; 758 virtual VclPtr<AbstractMarkFloatDlg> CreateIndexMarkFloatDlg( 759 SfxBindings* pBindings, 760 SfxChildWindow* pChild, 761 weld::Window *pParent, 762 SfxChildWinInfo* pInfo) override; 763 virtual VclPtr<AbstractMarkFloatDlg> CreateAuthMarkFloatDlg( 764 SfxBindings* pBindings, 765 SfxChildWindow* pChild, 766 weld::Window *pParent, 767 SfxChildWinInfo* pInfo) override; 768 virtual VclPtr<VclAbstractDialog> CreateIndexMarkModalDlg( 769 weld::Window *pParent, SwWrtShell& rSh, SwTOXMark* pCurTOXMark ) override; 770 771 virtual VclPtr<AbstractMailMergeWizard> CreateMailMergeWizard(SwView& rView, std::shared_ptr<SwMailMergeConfigItem>& rConfigItem) override; 772 773 virtual GlossaryGetCurrGroup GetGlossaryCurrGroupFunc() override; 774 virtual GlossarySetActGroup SetGlossaryActGroupFunc() override; 775 776 // For TabPage 777 virtual CreateTabPage GetTabPageCreatorFunc( sal_uInt16 nId ) override; 778 779 virtual void ExecuteMMResultSaveDialog(weld::Window* pParent) override; 780 virtual void ExecuteMMResultPrintDialog(weld::Window* pParent) override; 781 virtual void ExecuteMMResultEmailDialog(weld::Window* pParent) override; 782 }; 783 784 #endif 785 786 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 787