sc/qa/unit/screenshots/screenshots.cxx | 46 +++++++++++++++++++++++++++++++-- sc/source/ui/attrdlg/scdlgfact.hxx | 10 +++++++ 2 files changed, 54 insertions(+), 2 deletions(-)
New commits: commit 6d0683068981f3f0d9c69a647ab31062351b5238 Author: Katarina Behrens <katarina.behr...@cib.de> Date: Wed Jun 29 12:49:58 2016 +0200 Support creating screenshots of tab dialogs try that with ScAttrDlg first Change-Id: Id84f5940ca3de9788446f2e513fa3991f31a2d5a diff --git a/sc/qa/unit/screenshots/screenshots.cxx b/sc/qa/unit/screenshots/screenshots.cxx index 68d2814..46a5af2 100644 --- a/sc/qa/unit/screenshots/screenshots.cxx +++ b/sc/qa/unit/screenshots/screenshots.cxx @@ -24,6 +24,7 @@ #include <sfx2/dispatch.hxx> #include <sfx2/viewfrm.hxx> #include <svl/srchitem.hxx> +#include <svx/numinf.hxx> #include <vcl/pngwrite.hxx> #include <tabvwsh.hxx> @@ -36,6 +37,7 @@ #include <reffact.hxx> #include <scui_def.hxx> #include <impex.hxx> +#include <patattr.hxx> #include <sc.hrc> #include <scresid.hxx> @@ -98,6 +100,7 @@ private: ScAbstractDialogFactory* pFact; std::unique_ptr<ScImportStringStream> pStream; + std::unique_ptr<SfxItemSet> pItemSet; }; ScScreenshotTest::ScScreenshotTest() @@ -250,6 +253,26 @@ VclAbstractDialog* ScScreenshotTest::createDialogByID( sal_uInt32 nID ) pReturnDialog = pFact->CreateScImportAsciiDlg( OUString(), pStream.get(), SC_PASTETEXT ); break; } + case 14: + { + ScViewData& rViewData = pViewShell->GetViewData(); + ScDocument *pDoc = rViewData.GetDocument(); + + const ScPatternAttr *pAttr = pViewShell->GetSelectionPattern(); + std::unique_ptr<SvxNumberInfoItem> pNumberInfoItem; + + pItemSet.reset( new SfxItemSet( pAttr->GetItemSet() ) ); + pItemSet->Put( SfxUInt32Item( ATTR_VALUE_FORMAT, + pAttr->GetNumberFormat( pDoc->GetFormatTable() ) ) ); + + pNumberInfoItem.reset( pViewShell->MakeNumberInfoItem(pDoc, &rViewData) ); + + pItemSet->MergeRange( SID_ATTR_NUMBERFORMAT_INFO, SID_ATTR_NUMBERFORMAT_INFO ); + pItemSet->Put(*pNumberInfoItem ); + + pReturnDialog = pFact->CreateScAttrDlg( pViewShell->GetDialogParent(), pItemSet.get() ); + break; + } //ScopedVclPtrInstance<ScShareDocumentDlg> pDlg14( pViewShell->GetDialogParent(), &rViewData ); //ScopedVclPtrInstance<ScTableProtectionDlg> pDlg16(pViewShell->GetDialogParent()); default: @@ -286,14 +309,33 @@ void ScScreenshotTest::saveScreenshot( VclAbstractDialog& rDialog ) void ScScreenshotTest::dumpDialogToPath( VclAbstractDialog& rDialog ) { - saveScreenshot( rDialog ); + const std::vector<OString> aPageDescriptions(rDialog.getAllPageUIXMLDescriptions()); + + if (aPageDescriptions.size()) + { + for (sal_uInt32 a(0); a < aPageDescriptions.size(); a++) + { + if (rDialog.selectPageByUIXMLDescription(aPageDescriptions[a])) + { + saveScreenshot( rDialog ); + } + else + { + CPPUNIT_ASSERT(false); + } + } + } + else + { + saveScreenshot( rDialog ); + } } void ScScreenshotTest::testOpeningModalDialogs() { initializeWithDoc("empty.ods"); - const sal_uInt32 nDialogs = 14; + const sal_uInt32 nDialogs = 15; for ( sal_uInt32 i = 0; i < nDialogs; i++ ) { commit 4c407b625f82ec64ceed729e59ca284a1e5a65d3 Author: Katarina Behrens <katarina.behr...@cib.de> Date: Wed Jun 29 12:46:48 2016 +0200 sc dialog factory screenshot interface also for tab dialogs Change-Id: Ia1f67a161cfadbf2b71d3647c50e1c0a4b24ae8d diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx b/sc/source/ui/attrdlg/scdlgfact.hxx index 159eafc..19cc0f3 100644 --- a/sc/source/ui/attrdlg/scdlgfact.hxx +++ b/sc/source/ui/attrdlg/scdlgfact.hxx @@ -65,6 +65,8 @@ public: \ {} \ virtual ~Class(); \ virtual short Execute() override ; \ + std::vector<OString> getAllPageUIXMLDescriptions() const; \ + bool selectPageByUIXMLDescription(const OString& rUIXMLDescription) override; \ virtual Bitmap createScreenshot() const override; \ virtual OString GetScreenshotId() const; \ @@ -86,6 +88,14 @@ short Class::Execute() \ { \ return pDlg->Execute(); \ } \ +std::vector<OString> Class::getAllPageUIXMLDescriptions() const \ +{ \ + return pDlg->getAllPageUIXMLDescriptions(); \ +} \ +bool Class::selectPageByUIXMLDescription(const OString& rUIXMLDescription) \ +{ \ + return pDlg->selectPageByUIXMLDescription(rUIXMLDescription); \ +} \ Bitmap Class::createScreenshot() const \ { \ return pDlg->createScreenshot(); \ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits