1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* 3 * This file is part of the LibreOffice project. 4 * 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 * 9 * This file incorporates work covered by the following license notice: 10 * 11 * Licensed to the Apache Software Foundation (ASF) under one or more 12 * contributor license agreements. See the NOTICE file distributed 13 * with this work for additional information regarding copyright 14 * ownership. The ASF licenses this file to you under the Apache 15 * License, Version 2.0 (the "License"); you may not use this file 16 * except in compliance with the License. You may obtain a copy of 17 * the License at http://www.apache.org/licenses/LICENSE-2.0 . 18 */ 19 #pragma once 20 21 #include <scabstdlg.hxx> 22 #include <sfx2/sfxdlg.hxx> 23 24 #include <corodlg.hxx> 25 #include <condformatmgr.hxx> 26 #include <dapitype.hxx> 27 #include <dapidata.hxx> 28 #include <datafdlg.hxx> 29 #include <delcodlg.hxx> 30 #include <delcldlg.hxx> 31 #include <dpgroupdlg.hxx> 32 #include <filldlg.hxx> 33 #include <groupdlg.hxx> 34 #include <linkarea.hxx> 35 #include <lbseldlg.hxx> 36 #include <inscldlg.hxx> 37 #include <instbdlg.hxx> 38 #include <inscodlg.hxx> 39 #include <mtrindlg.hxx> 40 #include <mvtabdlg.hxx> 41 #include <namecrea.hxx> 42 #include <namepast.hxx> 43 #include <pfiltdlg.hxx> 44 #include <pvfundlg.hxx> 45 #include <shtabdlg.hxx> 46 #include <scendlg.hxx> 47 #include <scuiasciiopt.hxx> 48 #include <scuiautofmt.hxx> 49 #include <scuiimoptdlg.hxx> 50 #include <sortdlg.hxx> 51 #include <strindlg.hxx> 52 #include <tabbgcolordlg.hxx> 53 #include <textimportoptions.hxx> 54 55 #define DECL_ABSTDLG_BASE(Class,DialogClass) \ 56 ScopedVclPtr<DialogClass> pDlg; \ 57 public: \ 58 explicit Class( DialogClass* p) \ 59 : pDlg(p) \ 60 {} \ 61 virtual ~Class() override; \ 62 virtual short Execute() override ; \ 63 virtual bool StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) override; \ 64 std::vector<OString> getAllPageUIXMLDescriptions() const override; \ 65 bool selectPageByUIXMLDescription(const OString& rUIXMLDescription) override; \ 66 virtual BitmapEx createScreenshot() const override; \ 67 virtual OString GetScreenshotId() const override; \ 68 69 #define IMPL_ABSTDLG_BASE(Class) \ 70 Class::~Class() \ 71 { \ 72 } \ 73 short Class::Execute() \ 74 { \ 75 return pDlg->Execute(); \ 76 } \ 77 bool Class::StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx)\ 78 { \ 79 return pDlg->StartExecuteAsync( rCtx ); \ 80 } \ 81 std::vector<OString> Class::getAllPageUIXMLDescriptions() const \ 82 { \ 83 return pDlg->getAllPageUIXMLDescriptions(); \ 84 } \ 85 bool Class::selectPageByUIXMLDescription(const OString& rUIXMLDescription) \ 86 { \ 87 return pDlg->selectPageByUIXMLDescription(rUIXMLDescription); \ 88 } \ 89 BitmapEx Class::createScreenshot() const \ 90 { \ 91 VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); \ 92 pDlg->createScreenshot(*xDialogSurface); \ 93 return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); \ 94 } \ 95 OString Class::GetScreenshotId() const \ 96 { \ 97 return pDlg->GetScreenshotId(); \ 98 } 99 100 class AbstractScImportAsciiDlg_Impl : public AbstractScImportAsciiDlg 101 { 102 std::shared_ptr<ScImportAsciiDlg> m_xDlg; 103 public: AbstractScImportAsciiDlg_Impl(std::shared_ptr<ScImportAsciiDlg> p)104 explicit AbstractScImportAsciiDlg_Impl(std::shared_ptr<ScImportAsciiDlg> p) 105 : m_xDlg(std::move(p)) 106 { 107 } 108 virtual short Execute() override; 109 virtual bool StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) override; 110 virtual void GetOptions( ScAsciiOptions& rOpt ) override; 111 virtual void SaveParameters() override; 112 113 // screenshotting 114 virtual BitmapEx createScreenshot() const override; 115 virtual OString GetScreenshotId() const override; 116 }; 117 118 class AbstractScAutoFormatDlg_Impl : public AbstractScAutoFormatDlg 119 { 120 std::unique_ptr<ScAutoFormatDlg> m_xDlg; 121 public: AbstractScAutoFormatDlg_Impl(std::unique_ptr<ScAutoFormatDlg> p)122 explicit AbstractScAutoFormatDlg_Impl(std::unique_ptr<ScAutoFormatDlg> p) 123 : m_xDlg(std::move(p)) 124 { 125 } 126 virtual short Execute() override; 127 virtual sal_uInt16 GetIndex() const override; 128 virtual OUString GetCurrFormatName() override; 129 }; 130 131 class AbstractScColRowLabelDlg_Impl : public AbstractScColRowLabelDlg 132 { 133 std::unique_ptr<ScColRowLabelDlg> m_xDlg; 134 public: AbstractScColRowLabelDlg_Impl(std::unique_ptr<ScColRowLabelDlg> p)135 explicit AbstractScColRowLabelDlg_Impl(std::unique_ptr<ScColRowLabelDlg> p) 136 : m_xDlg(std::move(p)) 137 { 138 } 139 virtual short Execute() override; 140 virtual bool IsCol() override; 141 virtual bool IsRow() override; 142 143 // screenshotting 144 virtual BitmapEx createScreenshot() const override; 145 virtual OString GetScreenshotId() const override; 146 }; 147 148 class AbstractScCondFormatManagerDlg_Impl : public AbstractScCondFormatManagerDlg 149 { 150 std::shared_ptr<ScCondFormatManagerDlg> m_xDlg; 151 public: AbstractScCondFormatManagerDlg_Impl(std::shared_ptr<ScCondFormatManagerDlg> p)152 explicit AbstractScCondFormatManagerDlg_Impl(std::shared_ptr<ScCondFormatManagerDlg> p) 153 : m_xDlg(std::move(p)) 154 { 155 } 156 virtual short Execute() override; 157 virtual bool StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) override; 158 virtual std::unique_ptr<ScConditionalFormatList> GetConditionalFormatList() override; 159 virtual bool CondFormatsChanged() const override; 160 virtual void SetModified() override; 161 virtual ScConditionalFormat* GetCondFormatSelected() override; 162 }; 163 164 class AbstractScDataPilotDatabaseDlg_Impl :public AbstractScDataPilotDatabaseDlg 165 { 166 std::shared_ptr<ScDataPilotDatabaseDlg> m_xDlg; 167 public: AbstractScDataPilotDatabaseDlg_Impl(std::shared_ptr<ScDataPilotDatabaseDlg> p)168 explicit AbstractScDataPilotDatabaseDlg_Impl(std::shared_ptr<ScDataPilotDatabaseDlg> p) 169 : m_xDlg(std::move(p)) 170 { 171 } 172 virtual short Execute() override; 173 virtual bool StartExecuteAsync(AsyncContext &) override; 174 virtual void GetValues( ScImportSourceDesc& rDesc ) override; 175 176 // screenshotting 177 virtual BitmapEx createScreenshot() const override; 178 virtual OString GetScreenshotId() const override; 179 }; 180 181 class AbstractScDataPilotSourceTypeDlg_Impl :public AbstractScDataPilotSourceTypeDlg 182 { 183 std::shared_ptr<ScDataPilotSourceTypeDlg> m_xDlg; 184 public: AbstractScDataPilotSourceTypeDlg_Impl(std::shared_ptr<ScDataPilotSourceTypeDlg> p)185 explicit AbstractScDataPilotSourceTypeDlg_Impl(std::shared_ptr<ScDataPilotSourceTypeDlg> p) 186 : m_xDlg(std::move(p)) 187 { 188 } 189 virtual short Execute() override; 190 virtual bool StartExecuteAsync(AsyncContext &) override; 191 virtual bool IsDatabase() const override; 192 virtual bool IsExternal() const override; 193 virtual bool IsNamedRange() const override; 194 virtual OUString GetSelectedNamedRange() const override; 195 virtual void AppendNamedRange(const OUString& rName) override; 196 197 // screenshotting 198 virtual BitmapEx createScreenshot() const override; 199 virtual OString GetScreenshotId() const override; 200 }; 201 202 class AbstractScDataPilotServiceDlg_Impl : public AbstractScDataPilotServiceDlg 203 { 204 std::shared_ptr<ScDataPilotServiceDlg> m_xDlg; 205 public: AbstractScDataPilotServiceDlg_Impl(std::shared_ptr<ScDataPilotServiceDlg> p)206 explicit AbstractScDataPilotServiceDlg_Impl(std::shared_ptr<ScDataPilotServiceDlg> p) 207 : m_xDlg(std::move(p)) 208 { 209 } 210 virtual short Execute() override; 211 virtual bool StartExecuteAsync(AsyncContext &) override; 212 virtual OUString GetServiceName() const override; 213 virtual OUString GetParSource() const override; 214 virtual OUString GetParName() const override; 215 virtual OUString GetParUser() const override; 216 virtual OUString GetParPass() const override; 217 }; 218 219 class AbstractScDeleteCellDlg_Impl : public AbstractScDeleteCellDlg 220 { 221 std::unique_ptr<ScDeleteCellDlg> m_xDlg; 222 public: AbstractScDeleteCellDlg_Impl(std::unique_ptr<ScDeleteCellDlg> p)223 explicit AbstractScDeleteCellDlg_Impl(std::unique_ptr<ScDeleteCellDlg> p) 224 : m_xDlg(std::move(p)) 225 { 226 } 227 virtual short Execute() override; 228 virtual DelCellCmd GetDelCellCmd() const override; 229 230 // screenshotting 231 virtual BitmapEx createScreenshot() const override; 232 virtual OString GetScreenshotId() const override; 233 }; 234 235 //for dataform 236 class AbstractScDataFormDlg_Impl : public AbstractScDataFormDlg 237 { 238 std::unique_ptr<ScDataFormDlg> m_xDlg; 239 public: AbstractScDataFormDlg_Impl(std::unique_ptr<ScDataFormDlg> p)240 explicit AbstractScDataFormDlg_Impl(std::unique_ptr<ScDataFormDlg> p) 241 : m_xDlg(std::move(p)) 242 { 243 } 244 virtual short Execute() override; 245 246 // screenshotting 247 virtual BitmapEx createScreenshot() const override; 248 virtual OString GetScreenshotId() const override; 249 }; 250 251 class AbstractScDeleteContentsDlg_Impl : public AbstractScDeleteContentsDlg 252 { 253 std::unique_ptr<ScDeleteContentsDlg> m_xDlg; 254 public: AbstractScDeleteContentsDlg_Impl(std::unique_ptr<ScDeleteContentsDlg> p)255 explicit AbstractScDeleteContentsDlg_Impl(std::unique_ptr<ScDeleteContentsDlg> p) 256 : m_xDlg(std::move(p)) 257 { 258 } 259 virtual short Execute() override; 260 virtual void DisableObjects() override; 261 virtual InsertDeleteFlags GetDelContentsCmdBits() const override; 262 263 // screenshotting 264 virtual BitmapEx createScreenshot() const override; 265 virtual OString GetScreenshotId() const override; 266 }; 267 268 class AbstractScFillSeriesDlg_Impl:public AbstractScFillSeriesDlg 269 { 270 std::unique_ptr<ScFillSeriesDlg> m_xDlg; 271 public: AbstractScFillSeriesDlg_Impl(std::unique_ptr<ScFillSeriesDlg> p)272 explicit AbstractScFillSeriesDlg_Impl(std::unique_ptr<ScFillSeriesDlg> p) 273 : m_xDlg(std::move(p)) 274 { 275 } 276 virtual short Execute() override; 277 virtual FillDir GetFillDir() const override; 278 virtual FillCmd GetFillCmd() const override; 279 virtual FillDateCmd GetFillDateCmd() const override; 280 virtual double GetStart() const override; 281 virtual double GetStep() const override; 282 virtual double GetMax() const override; 283 virtual OUString GetStartStr() const override; 284 virtual void SetEdStartValEnabled(bool bFlag) override; 285 }; 286 287 class AbstractScGroupDlg_Impl : public AbstractScGroupDlg 288 { 289 std::shared_ptr<ScGroupDlg> m_xDlg; 290 public: AbstractScGroupDlg_Impl(std::shared_ptr<ScGroupDlg> p)291 explicit AbstractScGroupDlg_Impl(std::shared_ptr<ScGroupDlg> p) 292 : m_xDlg(std::move(p)) 293 { 294 } 295 virtual short Execute() override; 296 virtual bool StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) override; 297 virtual bool GetColsChecked() const override; 298 }; 299 300 class AbstractScInsertCellDlg_Impl : public AbstractScInsertCellDlg 301 { 302 std::unique_ptr<ScInsertCellDlg> m_xDlg; 303 public: AbstractScInsertCellDlg_Impl(std::unique_ptr<ScInsertCellDlg> p)304 explicit AbstractScInsertCellDlg_Impl(std::unique_ptr<ScInsertCellDlg> p) 305 : m_xDlg(std::move(p)) 306 { 307 } 308 virtual short Execute() override; 309 virtual InsCellCmd GetInsCellCmd() const override ; 310 }; 311 312 class AbstractScInsertContentsDlg_Impl : public AbstractScInsertContentsDlg 313 { 314 std::unique_ptr<ScInsertContentsDlg> m_xDlg; 315 public: AbstractScInsertContentsDlg_Impl(std::unique_ptr<ScInsertContentsDlg> p)316 explicit AbstractScInsertContentsDlg_Impl(std::unique_ptr<ScInsertContentsDlg> p) 317 : m_xDlg(std::move(p)) 318 { 319 } 320 virtual short Execute() override; 321 virtual InsertDeleteFlags GetInsContentsCmdBits() const override; 322 virtual ScPasteFunc GetFormulaCmdBits() const override; 323 virtual bool IsSkipEmptyCells() const override; 324 virtual bool IsLink() const override; 325 virtual void SetFillMode( bool bSet ) override; 326 virtual void SetOtherDoc( bool bSet ) override; 327 virtual bool IsTranspose() const override; 328 virtual void SetChangeTrack( bool bSet ) override; 329 virtual void SetCellShiftDisabled( CellShiftDisabledFlags nDisable ) override; 330 virtual InsCellCmd GetMoveMode() override; 331 332 // screenshotting 333 virtual BitmapEx createScreenshot() const override; 334 virtual OString GetScreenshotId() const override; 335 }; 336 337 class AbstractScInsertTableDlg_Impl : public AbstractScInsertTableDlg 338 { 339 std::unique_ptr<ScInsertTableDlg> m_xDlg; 340 public: AbstractScInsertTableDlg_Impl(std::unique_ptr<ScInsertTableDlg> p)341 explicit AbstractScInsertTableDlg_Impl(std::unique_ptr<ScInsertTableDlg> p) 342 : m_xDlg(std::move(p)) 343 { 344 } 345 virtual short Execute() override; 346 virtual bool GetTablesFromFile() override; 347 virtual bool GetTablesAsLink() override; 348 virtual const OUString* GetFirstTable( sal_uInt16* pN = nullptr ) override; 349 virtual ScDocShell* GetDocShellTables() override; 350 virtual bool IsTableBefore() override; 351 virtual sal_uInt16 GetTableCount() override; 352 virtual const OUString* GetNextTable( sal_uInt16* pN ) override; 353 354 // screenshotting 355 virtual BitmapEx createScreenshot() const override; 356 virtual OString GetScreenshotId() const override; 357 }; 358 359 class AbstractScSelEntryDlg_Impl : public AbstractScSelEntryDlg 360 { 361 std::unique_ptr<ScSelEntryDlg> m_xDlg; 362 public: AbstractScSelEntryDlg_Impl(std::unique_ptr<ScSelEntryDlg> p)363 explicit AbstractScSelEntryDlg_Impl(std::unique_ptr<ScSelEntryDlg> p) 364 : m_xDlg(std::move(p)) 365 { 366 } 367 virtual short Execute() override; 368 virtual OUString GetSelectedEntry() const override; 369 }; 370 371 class AbstractScLinkedAreaDlg_Impl : public AbstractScLinkedAreaDlg 372 { 373 std::unique_ptr<ScLinkedAreaDlg> m_xDlg; 374 public: AbstractScLinkedAreaDlg_Impl(std::unique_ptr<ScLinkedAreaDlg> p)375 explicit AbstractScLinkedAreaDlg_Impl(std::unique_ptr<ScLinkedAreaDlg> p) 376 : m_xDlg(std::move(p)) 377 { 378 } 379 virtual ~AbstractScLinkedAreaDlg_Impl() override; 380 virtual short Execute() override; 381 virtual void InitFromOldLink( const OUString& rFile, const OUString& rFilter, 382 const OUString& rOptions, const OUString& rSource, 383 sal_uLong nRefresh ) override; 384 virtual OUString GetURL() override; 385 virtual OUString GetFilter() override; // may be empty 386 virtual OUString GetOptions() override; // filter options 387 virtual OUString GetSource() override; // separated by ";" 388 virtual sal_uLong GetRefresh() override; // 0 if disabled 389 }; 390 391 class AbstractScMetricInputDlg_Impl : public AbstractScMetricInputDlg 392 { 393 std::unique_ptr<ScMetricInputDlg> m_xDlg; 394 public: AbstractScMetricInputDlg_Impl(std::unique_ptr<ScMetricInputDlg> p)395 explicit AbstractScMetricInputDlg_Impl(std::unique_ptr<ScMetricInputDlg> p) 396 : m_xDlg(std::move(p)) 397 { 398 } 399 virtual short Execute() override; 400 virtual int GetInputValue() const override; 401 }; 402 403 class AbstractScMoveTableDlg_Impl : public AbstractScMoveTableDlg 404 { 405 std::unique_ptr<ScMoveTableDlg> m_xDlg; 406 public: AbstractScMoveTableDlg_Impl(std::unique_ptr<ScMoveTableDlg> p)407 explicit AbstractScMoveTableDlg_Impl(std::unique_ptr<ScMoveTableDlg> p) 408 : m_xDlg(std::move(p)) 409 { 410 } 411 virtual short Execute() override; 412 virtual sal_uInt16 GetSelectedDocument () const override; 413 virtual sal_uInt16 GetSelectedTable () const override; 414 virtual bool GetCopyTable () const override; 415 virtual bool GetRenameTable () const override; 416 virtual void GetTabNameString( OUString& rString ) const override; 417 virtual void SetForceCopyTable () override; 418 virtual void EnableRenameTable (bool bFlag) override; 419 420 // screenshotting 421 virtual BitmapEx createScreenshot() const override; 422 virtual OString GetScreenshotId() const override; 423 }; 424 425 class AbstractScNameCreateDlg_Impl : public AbstractScNameCreateDlg 426 { 427 std::unique_ptr<ScNameCreateDlg> m_xDlg; 428 public: AbstractScNameCreateDlg_Impl(std::unique_ptr<ScNameCreateDlg> p)429 explicit AbstractScNameCreateDlg_Impl(std::unique_ptr<ScNameCreateDlg> p) 430 : m_xDlg(std::move(p)) 431 { 432 } 433 virtual short Execute() override; 434 virtual CreateNameFlags GetFlags() const override; 435 436 // screenshotting 437 virtual BitmapEx createScreenshot() const override; 438 virtual OString GetScreenshotId() const override; 439 }; 440 441 class AbstractScNamePasteDlg_Impl : public AbstractScNamePasteDlg 442 { 443 std::unique_ptr<ScNamePasteDlg> m_xDlg; 444 public: AbstractScNamePasteDlg_Impl(std::unique_ptr<ScNamePasteDlg> p)445 explicit AbstractScNamePasteDlg_Impl(std::unique_ptr<ScNamePasteDlg> p) 446 : m_xDlg(std::move(p)) 447 { 448 } 449 virtual short Execute() override; 450 virtual std::vector<OUString> GetSelectedNames() const override; 451 }; 452 453 class AbstractScPivotFilterDlg_Impl : public AbstractScPivotFilterDlg 454 { 455 std::unique_ptr<ScPivotFilterDlg> m_xDlg; 456 public: AbstractScPivotFilterDlg_Impl(std::unique_ptr<ScPivotFilterDlg> p)457 explicit AbstractScPivotFilterDlg_Impl(std::unique_ptr<ScPivotFilterDlg> p) 458 : m_xDlg(std::move(p)) 459 { 460 } 461 virtual short Execute() override; 462 virtual const ScQueryItem& GetOutputItem() override; 463 }; 464 465 class AbstractScDPFunctionDlg_Impl : public AbstractScDPFunctionDlg 466 { 467 std::shared_ptr<ScDPFunctionDlg> m_xDlg; 468 public: AbstractScDPFunctionDlg_Impl(std::shared_ptr<ScDPFunctionDlg> p)469 explicit AbstractScDPFunctionDlg_Impl(std::shared_ptr<ScDPFunctionDlg> p) 470 : m_xDlg(std::move(p)) 471 { 472 } 473 virtual short Execute() override; 474 virtual bool StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) override; 475 virtual PivotFunc GetFuncMask() const override; 476 virtual css::sheet::DataPilotFieldReference GetFieldRef() const override; 477 virtual void Response(int nResponse) override; 478 }; 479 480 class AbstractScDPSubtotalDlg_Impl : public AbstractScDPSubtotalDlg 481 { 482 std::shared_ptr<ScDPSubtotalDlg> m_xDlg; 483 public: AbstractScDPSubtotalDlg_Impl(std::shared_ptr<ScDPSubtotalDlg> p)484 explicit AbstractScDPSubtotalDlg_Impl(std::shared_ptr<ScDPSubtotalDlg> p) 485 : m_xDlg(std::move(p)) 486 { 487 } 488 virtual short Execute() override; 489 virtual bool StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) override; 490 virtual PivotFunc GetFuncMask() const override; 491 virtual void FillLabelData( ScDPLabelData& rLabelData ) const override; 492 virtual void Response(int nResponse) override; 493 }; 494 495 class AbstractScDPNumGroupDlg_Impl : public AbstractScDPNumGroupDlg 496 { 497 std::unique_ptr<ScDPNumGroupDlg> m_xDlg; 498 public: AbstractScDPNumGroupDlg_Impl(std::unique_ptr<ScDPNumGroupDlg> p)499 explicit AbstractScDPNumGroupDlg_Impl(std::unique_ptr<ScDPNumGroupDlg> p) 500 : m_xDlg(std::move(p)) 501 { 502 } 503 virtual short Execute() override; 504 virtual ScDPNumGroupInfo GetGroupInfo() const override; 505 }; 506 507 class AbstractScDPDateGroupDlg_Impl : public AbstractScDPDateGroupDlg 508 { 509 std::unique_ptr<ScDPDateGroupDlg> m_xDlg; 510 public: AbstractScDPDateGroupDlg_Impl(std::unique_ptr<ScDPDateGroupDlg> p)511 explicit AbstractScDPDateGroupDlg_Impl(std::unique_ptr<ScDPDateGroupDlg> p) 512 : m_xDlg(std::move(p)) 513 { 514 } 515 virtual short Execute() override; 516 virtual ScDPNumGroupInfo GetGroupInfo() const override; 517 virtual sal_Int32 GetDatePart() const override; 518 }; 519 520 class AbstractScDPShowDetailDlg_Impl : public AbstractScDPShowDetailDlg 521 { 522 std::unique_ptr<ScDPShowDetailDlg> m_xDlg; 523 public: AbstractScDPShowDetailDlg_Impl(std::unique_ptr<ScDPShowDetailDlg> p)524 explicit AbstractScDPShowDetailDlg_Impl(std::unique_ptr<ScDPShowDetailDlg> p) 525 : m_xDlg(std::move(p)) 526 { 527 } 528 virtual short Execute() override; 529 virtual OUString GetDimensionName() const override; 530 }; 531 532 class AbstractScNewScenarioDlg_Impl : public AbstractScNewScenarioDlg 533 { 534 std::unique_ptr<ScNewScenarioDlg> m_xDlg; 535 public: AbstractScNewScenarioDlg_Impl(std::unique_ptr<ScNewScenarioDlg> p)536 explicit AbstractScNewScenarioDlg_Impl(std::unique_ptr<ScNewScenarioDlg> p) 537 : m_xDlg(std::move(p)) 538 { 539 } 540 virtual short Execute() override; 541 542 virtual void SetScenarioData( const OUString& rName, const OUString& rComment, 543 const Color& rColor, ScScenarioFlags nFlags ) override; 544 545 virtual void GetScenarioData( OUString& rName, OUString& rComment, 546 Color& rColor, ScScenarioFlags& rFlags ) const override; 547 }; 548 549 class AbstractScShowTabDlg_Impl : public AbstractScShowTabDlg 550 { 551 std::shared_ptr<ScShowTabDlg> m_xDlg; 552 public: AbstractScShowTabDlg_Impl(std::shared_ptr<ScShowTabDlg> p)553 explicit AbstractScShowTabDlg_Impl(std::shared_ptr<ScShowTabDlg> p) 554 : m_xDlg(std::move(p)) 555 { 556 } 557 virtual short Execute() override; 558 virtual bool StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) override; 559 virtual void Insert( const OUString& rString, bool bSelected ) override; 560 virtual void SetDescription(const OUString& rTitle, const OUString& rFixedText, const OString& sDlgHelpId, const OString& sLbHelpId) override; 561 virtual OUString GetEntry(sal_Int32 nPos) const override; 562 virtual std::vector<sal_Int32> GetSelectedRows() const override; 563 }; 564 565 class AbstractScSortWarningDlg_Impl : public AbstractScSortWarningDlg 566 { 567 std::unique_ptr<ScSortWarningDlg> m_xDlg; 568 public: AbstractScSortWarningDlg_Impl(std::unique_ptr<ScSortWarningDlg> p)569 explicit AbstractScSortWarningDlg_Impl(std::unique_ptr<ScSortWarningDlg> p) 570 : m_xDlg(std::move(p)) 571 { 572 } 573 virtual short Execute() override; 574 }; 575 576 class AbstractScStringInputDlg_Impl : public AbstractScStringInputDlg 577 { 578 std::unique_ptr<ScStringInputDlg> m_xDlg; 579 public: AbstractScStringInputDlg_Impl(std::unique_ptr<ScStringInputDlg> p)580 explicit AbstractScStringInputDlg_Impl(std::unique_ptr<ScStringInputDlg> p) 581 : m_xDlg(std::move(p)) 582 { 583 } 584 virtual short Execute() override; 585 virtual OUString GetInputString() const override; 586 587 // screenshotting 588 virtual BitmapEx createScreenshot() const override; 589 virtual OString GetScreenshotId() const override; 590 }; 591 592 class AbstractScTabBgColorDlg_Impl : public AbstractScTabBgColorDlg 593 { 594 std::unique_ptr<ScTabBgColorDlg> m_xDlg; 595 public: AbstractScTabBgColorDlg_Impl(std::unique_ptr<ScTabBgColorDlg> p)596 explicit AbstractScTabBgColorDlg_Impl(std::unique_ptr<ScTabBgColorDlg> p) 597 : m_xDlg(std::move(p)) 598 { 599 } 600 virtual short Execute() override; 601 virtual void GetSelectedColor( Color& rColor ) const override; 602 603 // screenshotting 604 virtual BitmapEx createScreenshot() const override; 605 virtual OString GetScreenshotId() const override; 606 }; 607 608 class AbstractScImportOptionsDlg_Impl : public AbstractScImportOptionsDlg 609 { 610 std::unique_ptr<ScImportOptionsDlg> m_xDlg; 611 public: AbstractScImportOptionsDlg_Impl(std::unique_ptr<ScImportOptionsDlg> p)612 explicit AbstractScImportOptionsDlg_Impl(std::unique_ptr<ScImportOptionsDlg> p) 613 : m_xDlg(std::move(p)) 614 { 615 } 616 virtual short Execute() override; 617 virtual void GetImportOptions( ScImportOptions& rOptions ) const override; 618 virtual void SaveImportOptions() const override; 619 }; 620 621 class AbstractScTextImportOptionsDlg_Impl : public AbstractScTextImportOptionsDlg 622 { 623 std::unique_ptr<ScTextImportOptionsDlg> m_xDlg; 624 public: AbstractScTextImportOptionsDlg_Impl(std::unique_ptr<ScTextImportOptionsDlg> p)625 explicit AbstractScTextImportOptionsDlg_Impl(std::unique_ptr<ScTextImportOptionsDlg> p) 626 : m_xDlg(std::move(p)) 627 { 628 } 629 virtual short Execute() override; 630 virtual LanguageType GetLanguageType() const override; 631 virtual bool IsDateConversionSet() const override; 632 virtual bool IsKeepAskingSet() const override; 633 634 // screenshotting 635 virtual BitmapEx createScreenshot() const override; 636 virtual OString GetScreenshotId() const override; 637 }; 638 639 class ScAbstractTabController_Impl : public SfxAbstractTabDialog 640 { 641 std::shared_ptr<SfxTabDialogController> m_xDlg; 642 public: ScAbstractTabController_Impl(std::shared_ptr<SfxTabDialogController> p)643 explicit ScAbstractTabController_Impl(std::shared_ptr<SfxTabDialogController> p) 644 : m_xDlg(std::move(p)) 645 { 646 } 647 virtual short Execute() override; 648 virtual bool StartExecuteAsync(AsyncContext &rCtx) override; 649 virtual void SetCurPageId( const OString &rName ) override; 650 virtual const SfxItemSet* GetOutputItemSet() const override; 651 virtual const sal_uInt16* GetInputRanges( const SfxItemPool& pItem ) override; 652 virtual void SetInputSet( const SfxItemSet* pInSet ) override; 653 virtual void SetText( const OUString& rStr ) override; 654 655 // screenshotting 656 virtual std::vector<OString> getAllPageUIXMLDescriptions() const override; 657 virtual bool selectPageByUIXMLDescription(const OString& rUIXMLDescription) override; 658 virtual BitmapEx createScreenshot() const override; 659 virtual OString GetScreenshotId() const override; 660 }; 661 662 class ScAsyncTabController_Impl : public ScAsyncTabController 663 { 664 std::shared_ptr<SfxTabDialogController> m_xDlg; 665 public: ScAsyncTabController_Impl(std::shared_ptr<SfxTabDialogController> p)666 explicit ScAsyncTabController_Impl(std::shared_ptr<SfxTabDialogController> p) 667 : m_xDlg(std::move(p)) 668 { 669 } 670 virtual bool StartExecuteAsync(VclAbstractDialog::AsyncContext &rCtx) override; 671 virtual const SfxItemSet* GetOutputItemSet() const override; 672 virtual void SetCurPageId( const OString &rName ) override; 673 }; 674 675 //AbstractDialogFactory_Impl implementations 676 class ScAbstractDialogFactory_Impl : public ScAbstractDialogFactory 677 { 678 679 public: ~ScAbstractDialogFactory_Impl()680 virtual ~ScAbstractDialogFactory_Impl() {} 681 682 virtual VclPtr<AbstractScImportAsciiDlg> CreateScImportAsciiDlg(weld::Window* pParent, 683 const OUString& aDatName, 684 SvStream* pInStream, 685 ScImportAsciiCall eCall) override; 686 687 virtual VclPtr<AbstractScTextImportOptionsDlg> CreateScTextImportOptionsDlg(weld::Window* pParent) override; 688 689 virtual VclPtr<AbstractScAutoFormatDlg> CreateScAutoFormatDlg(weld::Window* pParent, 690 ScAutoFormat* pAutoFormat, 691 const ScAutoFormatData* pSelFormatData, 692 ScViewData& rViewData) override; 693 virtual VclPtr<AbstractScColRowLabelDlg> CreateScColRowLabelDlg (weld::Window* pParent, 694 bool bCol, 695 bool bRow) override; 696 697 virtual VclPtr<AbstractScSortWarningDlg> CreateScSortWarningDlg(weld::Window* pParent, const OUString& rExtendText, const OUString& rCurrentText ) override; 698 699 virtual VclPtr<AbstractScCondFormatManagerDlg> CreateScCondFormatMgrDlg(weld::Window* pParent, ScDocument& rDoc, const ScConditionalFormatList* pFormatList ) override; 700 701 virtual VclPtr<AbstractScDataPilotDatabaseDlg> CreateScDataPilotDatabaseDlg(weld::Window* pParent) override; 702 703 virtual VclPtr<AbstractScDataPilotSourceTypeDlg> CreateScDataPilotSourceTypeDlg(weld::Window* pParent, 704 bool bEnableExternal) override; 705 706 virtual VclPtr<AbstractScDataPilotServiceDlg> CreateScDataPilotServiceDlg(weld::Window* pParent, 707 const std::vector<OUString>& rServices) override; 708 virtual VclPtr<AbstractScDeleteCellDlg> CreateScDeleteCellDlg(weld::Window* pParent, bool bDisallowCellMove ) override; 709 710 //for dataform 711 virtual VclPtr<AbstractScDataFormDlg> CreateScDataFormDlg(weld::Window* pParent, ScTabViewShell* pTabViewShell) override; 712 713 virtual VclPtr<AbstractScDeleteContentsDlg> CreateScDeleteContentsDlg(weld::Window* pParent) override; 714 715 virtual VclPtr<AbstractScFillSeriesDlg> CreateScFillSeriesDlg(weld::Window* pParent, 716 ScDocument& rDocument, 717 FillDir eFillDir, 718 FillCmd eFillCmd, 719 FillDateCmd eFillDateCmd, 720 const OUString& aStartStr, 721 double fStep, 722 double fMax, 723 SCSIZE nSelectHeight, 724 SCSIZE nSelectWidth, 725 sal_uInt16 nPossDir) override; 726 virtual VclPtr<AbstractScGroupDlg> CreateAbstractScGroupDlg(weld::Window* pParent, bool bUnGroup = false) override; 727 728 virtual VclPtr<AbstractScInsertCellDlg> CreateScInsertCellDlg(weld::Window* pParent, 729 bool bDisallowCellMove) override; 730 731 virtual VclPtr<AbstractScInsertContentsDlg> CreateScInsertContentsDlg(weld::Window* pParent, 732 const OUString* pStrTitle = nullptr) override; 733 734 virtual VclPtr<AbstractScInsertTableDlg> CreateScInsertTableDlg(weld::Window* pParent, ScViewData& rViewData, 735 SCTAB nTabCount, bool bFromFile) override; 736 737 virtual VclPtr<AbstractScSelEntryDlg> CreateScSelEntryDlg(weld::Window* pParent, const std::vector<OUString> &rEntryList) override; 738 739 virtual VclPtr<AbstractScLinkedAreaDlg> CreateScLinkedAreaDlg(weld::Widget* pParent) override; 740 741 virtual VclPtr<AbstractScMetricInputDlg> CreateScMetricInputDlg(weld::Window* pParent, 742 const OString& sDialogName, 743 tools::Long nCurrent, 744 tools::Long nDefault, 745 FieldUnit eFUnit, 746 sal_uInt16 nDecimals, 747 tools::Long nMaximum, 748 tools::Long nMinimum = 0 ) override; 749 750 virtual VclPtr<AbstractScMoveTableDlg> CreateScMoveTableDlg(weld::Window * pParent, 751 const OUString& rDefault) override; 752 753 virtual VclPtr<AbstractScNameCreateDlg> CreateScNameCreateDlg(weld::Window * pParent, 754 CreateNameFlags nFlags) override; 755 756 virtual VclPtr<AbstractScNamePasteDlg> CreateScNamePasteDlg(weld::Window * pParent, ScDocShell* pShell) override; 757 758 virtual VclPtr<AbstractScPivotFilterDlg> CreateScPivotFilterDlg(weld::Window* pParent, const SfxItemSet& rArgSet, 759 sal_uInt16 nSourceTab) override; 760 761 virtual VclPtr<AbstractScDPFunctionDlg> CreateScDPFunctionDlg(weld::Widget* pParent, 762 const ScDPLabelDataVector& rLabelVec, 763 const ScDPLabelData& rLabelData, 764 const ScPivotFuncData& rFuncData ) override; 765 766 virtual VclPtr<AbstractScDPSubtotalDlg> CreateScDPSubtotalDlg(weld::Widget* pParent, 767 ScDPObject& rDPObj, 768 const ScDPLabelData& rLabelData, 769 const ScPivotFuncData& rFuncData, 770 const ScDPNameVec& rDataFields ) override; 771 772 virtual VclPtr<AbstractScDPNumGroupDlg> CreateScDPNumGroupDlg(weld::Window* pParent, 773 const ScDPNumGroupInfo& rInfo) override; 774 775 virtual VclPtr<AbstractScDPDateGroupDlg> CreateScDPDateGroupDlg(weld::Window* pParent, 776 const ScDPNumGroupInfo& rInfo, 777 sal_Int32 nDatePart, 778 const Date& rNullDate) override; 779 780 virtual VclPtr<AbstractScDPShowDetailDlg> CreateScDPShowDetailDlg(weld::Window* pParent, 781 ScDPObject& rDPObj, 782 css::sheet::DataPilotFieldOrientation nOrient) override; 783 784 virtual VclPtr<AbstractScNewScenarioDlg> CreateScNewScenarioDlg(weld::Window* pParent, const OUString& rName, 785 bool bEdit, bool bSheetProtected) override; 786 virtual VclPtr<AbstractScShowTabDlg> CreateScShowTabDlg(weld::Window* pParent) override; 787 788 virtual VclPtr<AbstractScStringInputDlg> CreateScStringInputDlg(weld::Window* pParent, 789 const OUString& rTitle, 790 const OUString& rEditTitle, 791 const OUString& rDefault, 792 const OString& rHelpId, 793 const OString& rEditHelpId) override; 794 795 virtual VclPtr<AbstractScTabBgColorDlg> CreateScTabBgColorDlg(weld::Window* pParent, 796 const OUString& rTitle, //Dialog Title 797 const OUString& rTabBgColorNoColorText, //Label for no tab color 798 const Color& rDefaultColor) override; //Currently selected Color 799 800 virtual VclPtr<AbstractScImportOptionsDlg> CreateScImportOptionsDlg(weld::Window* pParent, bool bAscii, 801 const ScImportOptions* pOptions, 802 const OUString* pStrTitle, 803 bool bOnlyDbtoolsEncodings, 804 bool bImport = true) override; 805 806 virtual VclPtr<SfxAbstractTabDialog> CreateScAttrDlg(weld::Window* pParent, 807 const SfxItemSet* pCellAttrs) override; 808 809 virtual VclPtr<SfxAbstractTabDialog> CreateScHFEditDlg(weld::Window* pParent, 810 const SfxItemSet& rCoreSet, 811 const OUString& rPageStyle, 812 sal_uInt16 nResId ) override; 813 814 virtual VclPtr<SfxAbstractTabDialog> CreateScStyleDlg(weld::Window* pParent, 815 SfxStyleSheetBase& rStyleBase, 816 bool bPage) override; 817 818 virtual VclPtr<SfxAbstractTabDialog> CreateScSubTotalDlg(weld::Window* pParent, 819 const SfxItemSet& rArgSet) override; 820 virtual VclPtr<SfxAbstractTabDialog> CreateScCharDlg(weld::Window* pParent, 821 const SfxItemSet* pAttr, const SfxObjectShell* pDocShell, bool bDrawText) override; 822 823 virtual VclPtr<SfxAbstractTabDialog> CreateScParagraphDlg(weld::Window* pParent, 824 const SfxItemSet* pAttr) override; 825 826 virtual std::shared_ptr<ScAsyncTabController> CreateScSortDlg(weld::Window* pParent, const SfxItemSet* pArgSet) override; 827 828 // For TabPage 829 virtual CreateTabPage GetTabPageCreatorFunc( sal_uInt16 nId ) override; 830 831 }; 832 833 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 834