summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArmin Le Grand <Armin.Le.Grand@cib.de>2016-07-21 18:20:00 +0200
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2016-08-18 02:39:12 +0200
commit2db8b3a81554735552e366ebbad1227579dee4ca (patch)
tree116334bf4543907c2ac47e3770642c59f11bf7dc
parente56334255291a0ccb5165d7ceaa1391b906bb4de (diff)
screenshots: add dialog test cases for writer
Writer has currently no known dialogs that get created with an opened writer document. There are some ui files that do not work with fallback (7), but most work (167). Not all look good, though. Change-Id: I92a6a5077e3a8c93148e162455093399ba1f99ed
-rw-r--r--sc/qa/unit/screenshots/data/screenshots.txt5
-rw-r--r--sc/qa/unit/screenshots/screenshots.cxx2
-rw-r--r--sd/qa/unit/data/dialogs-test.txt5
-rw-r--r--sd/qa/unit/dialogs-test.cxx2
-rw-r--r--sw/CppunitTest_sw_dialogs_test.mk71
-rw-r--r--sw/CppunitTest_sw_filters_test.mk2
-rw-r--r--sw/Module_sw.mk3
-rw-r--r--sw/qa/unit/data/sw-dialogs-test.txt203
-rw-r--r--sw/qa/unit/sw-dialogs-test.cxx193
9 files changed, 479 insertions, 7 deletions
diff --git a/sc/qa/unit/screenshots/data/screenshots.txt b/sc/qa/unit/screenshots/data/screenshots.txt
index 40a362915d27..f2baf820ad98 100644
--- a/sc/qa/unit/screenshots/data/screenshots.txt
+++ b/sc/qa/unit/screenshots/data/screenshots.txt
@@ -41,8 +41,9 @@ modules/scalc/ui/formatcellsdialog.ui
# be visualized using a fallback based on VclBuilder
#
-# modules/scalc/ui/headerfootercontent.ui <- deactivated, leads to problems and the test to not work
-# modules/scalc/ui/pivottablelayoutdialog.ui <- deactivated, leads to problems and the test to not work
+# deactivated, leads to problems and the test to not work
+# modules/scalc/ui/headerfootercontent.ui
+# modules/scalc/ui/pivottablelayoutdialog.ui
modules/scalc/ui/autoformattable.ui
modules/scalc/ui/sortwarning.ui
diff --git a/sc/qa/unit/screenshots/screenshots.cxx b/sc/qa/unit/screenshots/screenshots.cxx
index 927ec010af04..255fe9ca580c 100644
--- a/sc/qa/unit/screenshots/screenshots.cxx
+++ b/sc/qa/unit/screenshots/screenshots.cxx
@@ -283,7 +283,7 @@ void ScScreenshotTest::testOpeningModalDialogs()
OUString aURL = aDirectories.getURLFromSrc("sc/qa/unit/screenshots/data/screenshots.txt");
SvFileStream aStream(aURL, StreamMode::READ);
OString aNextUIFile;
- OString aComment("#");
+ const OString aComment("#");
while (aStream.ReadLine(aNextUIFile))
{
diff --git a/sd/qa/unit/data/dialogs-test.txt b/sd/qa/unit/data/dialogs-test.txt
index 81fc5f08c07c..b54688fbc7b3 100644
--- a/sd/qa/unit/data/dialogs-test.txt
+++ b/sd/qa/unit/data/dialogs-test.txt
@@ -53,7 +53,10 @@ modules/simpress/ui/headerfooterdialog.ui
modules/sdraw/ui/paranumberingtab.ui
modules/sdraw/ui/namedesign.ui
modules/sdraw/ui/tabledesigndialog.ui
-# modules/simpress/ui/assistentdialog.ui <- deactivated, leads to problems and the test to not work
+
+# deactivated, leads to problems and the test to not work
+# modules/simpress/ui/assistentdialog.ui
+
modules/simpress/ui/headerfootertab.ui
modules/simpress/ui/customanimationproperties.ui
modules/simpress/ui/customanimationeffecttab.ui
diff --git a/sd/qa/unit/dialogs-test.cxx b/sd/qa/unit/dialogs-test.cxx
index 368a96a54203..1b0cf2b4cc1e 100644
--- a/sd/qa/unit/dialogs-test.cxx
+++ b/sd/qa/unit/dialogs-test.cxx
@@ -612,7 +612,7 @@ void SdDialogsTest::openAnyDialog()
OUString aURL = aDirectories.getURLFromSrc("sd/qa/unit/data/dialogs-test.txt");
SvFileStream aStream(aURL, StreamMode::READ);
OString aNextUIFile;
- OString aComment("#");
+ const OString aComment("#");
while (aStream.ReadLine(aNextUIFile))
{
diff --git a/sw/CppunitTest_sw_dialogs_test.mk b/sw/CppunitTest_sw_dialogs_test.mk
new file mode 100644
index 000000000000..7d98a2bb8839
--- /dev/null
+++ b/sw/CppunitTest_sw_dialogs_test.mk
@@ -0,0 +1,71 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#*************************************************************************
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+#*************************************************************************
+
+$(eval $(call gb_CppunitTest_CppunitTest,sw_dialogs_test))
+
+$(eval $(call gb_CppunitTest_add_exception_objects,sw_dialogs_test, \
+ sw/qa/unit/sw-dialogs-test \
+))
+
+$(eval $(call gb_CppunitTest_use_sdk_api,sw_dialogs_test))
+
+$(eval $(call gb_CppunitTest_set_include,sw_dialogs_test,\
+ -I$(SRCDIR)/sw/source/ui/inc \
+ -I$(SRCDIR)/sw/inc \
+ $$(INCLUDE) \
+))
+
+$(eval $(call gb_CppunitTest_use_libraries,sw_dialogs_test, \
+ basegfx \
+ comphelper \
+ cppu \
+ cppuhelper \
+ drawinglayer \
+ editeng \
+ i18nlangtag \
+ i18nutil \
+ msfilter \
+ oox \
+ sal \
+ salhelper \
+ sax \
+ sw \
+ swui \
+ sfx \
+ sot \
+ svl \
+ svt \
+ svx \
+ svxcore \
+ test \
+ tl \
+ tk \
+ ucbhelper \
+ unotest \
+ utl \
+ vcl \
+ xo \
+ $(gb_UWINAPI) \
+))
+
+$(eval $(call gb_CppunitTest_use_external,sw_dialogs_test,boost_headers))
+
+$(eval $(call gb_CppunitTest_use_sdk_api,sw_dialogs_test))
+
+$(eval $(call gb_CppunitTest_use_ure,sw_dialogs_test))
+$(eval $(call gb_CppunitTest_use_vcl_non_headless_with_windows,sw_dialogs_test))
+
+$(eval $(call gb_CppunitTest_use_rdb,sw_dialogs_test,services))
+
+# $(eval $(call gb_CppunitTest_use_configuration,sw_dialogs_test))
+$(eval $(call gb_CppunitTest_use_instdir_configuration,sw_dialogs_test))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sw/CppunitTest_sw_filters_test.mk b/sw/CppunitTest_sw_filters_test.mk
index d3cf68be3ec1..5d07ee3011e7 100644
--- a/sw/CppunitTest_sw_filters_test.mk
+++ b/sw/CppunitTest_sw_filters_test.mk
@@ -16,9 +16,11 @@ $(eval $(call gb_CppunitTest_use_externals,sw_filters_test,\
libxml2 \
))
+ifneq ($(DISABLE_CVE_TESTS),TRUE)
$(eval $(call gb_CppunitTest_add_exception_objects,sw_filters_test, \
sw/qa/core/filters-test \
))
+endif
$(eval $(call gb_CppunitTest_use_libraries,sw_filters_test, \
sw \
diff --git a/sw/Module_sw.mk b/sw/Module_sw.mk
index 39b466fc616f..890a0514ab25 100644
--- a/sw/Module_sw.mk
+++ b/sw/Module_sw.mk
@@ -79,11 +79,10 @@ $(eval $(call gb_Module_add_slowcheck_targets,sw,\
))
endif
-ifneq ($(DISABLE_CVE_TESTS),TRUE)
$(eval $(call gb_Module_add_slowcheck_targets,sw,\
CppunitTest_sw_filters_test \
+ CppunitTest_sw_dialogs_test \
))
-endif
ifneq ($(OOO_JUNIT_JAR),)
$(eval $(call gb_Module_add_subsequentcheck_targets,sw,\
diff --git a/sw/qa/unit/data/sw-dialogs-test.txt b/sw/qa/unit/data/sw-dialogs-test.txt
new file mode 100644
index 000000000000..5e910a5dce91
--- /dev/null
+++ b/sw/qa/unit/data/sw-dialogs-test.txt
@@ -0,0 +1,203 @@
+# -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+# This file contains all dialogs that the test dialogs-test
+# will test. It will read one-by-one, try to open it and create a
+# screenshot that will be saved in workdir/screenshots using the
+# pattern of the ui-file name.
+#
+# You may use empty lines, or lines starrting with '#' which are treated
+# as comments. All other lines have to end with <CR> and will be interpreted
+# as ui-files.
+
+#
+# The known dialogs which have a hard-coded representation
+#
+
+#
+# Dialogs without a hard-coded representation. These will
+# be visualized using a fallback based on VclBuilder
+#
+
+# deactivated, leads to problems and the test to not work
+# modules/swriter/ui/templatedialog(nRegion).ui
+# modules/swriter/ui/autoformattable.ui
+# modules/swriter/ui/endnotepage.ui
+# modules/swriter/ui/footnotesendnotestabpage.ui
+# modules/swriter/ui/linenumbering.ui
+# modules/swriter/ui/footnotepage.ui
+# modules/swriter/ui/outlinenumberingpage.ui
+
+modules/swriter/ui/abstractdialog.ui
+modules/swriter/ui/addentrydialog.ui
+modules/swriter/ui/addressblockdialog.ui
+modules/swriter/ui/alreadyexistsdialog.ui
+modules/swriter/ui/asciifilterdialog.ui
+modules/swriter/ui/asksearchdialog.ui
+modules/swriter/ui/assignfieldsdialog.ui
+modules/swriter/ui/assignstylesdialog.ui
+modules/swriter/ui/attachnamedialog.ui
+modules/swriter/ui/authenticationsettingsdialog.ui
+modules/swriter/ui/autotext.ui
+modules/swriter/ui/bibliographyentry.ui
+modules/swriter/ui/bulletsandnumbering.ui
+modules/swriter/ui/businessdatapage.ui
+modules/swriter/ui/cannotsavelabeldialog.ui
+modules/swriter/ui/captiondialog.ui
+modules/swriter/ui/captionoptions.ui
+modules/swriter/ui/cardformatpage.ui
+modules/swriter/ui/cardmediumpage.ui
+modules/swriter/ui/ccdialog.ui
+modules/swriter/ui/characterproperties.ui
+modules/swriter/ui/charurlpage.ui
+modules/swriter/ui/columndialog.ui
+modules/swriter/ui/columnpage.ui
+modules/swriter/ui/columnwidth.ui
+modules/swriter/ui/conditionpage.ui
+modules/swriter/ui/converttexttable.ui
+modules/swriter/ui/createaddresslist.ui
+modules/swriter/ui/createauthorentry.ui
+modules/swriter/ui/createautomarkdialog.ui
+modules/swriter/ui/customizeaddrlistdialog.ui
+modules/swriter/ui/datasourcesunavailabledialog.ui
+modules/swriter/ui/dropcapspage.ui
+modules/swriter/ui/dropdownfielddialog.ui
+modules/swriter/ui/editcategories.ui
+modules/swriter/ui/editfielddialog.ui
+modules/swriter/ui/editsectiondialog.ui
+modules/swriter/ui/envaddresspage.ui
+modules/swriter/ui/envdialog.ui
+modules/swriter/ui/envformatpage.ui
+modules/swriter/ui/envprinterpage.ui
+modules/swriter/ui/exchangedatabases.ui
+modules/swriter/ui/fielddialog.ui
+modules/swriter/ui/findentrydialog.ui
+modules/swriter/ui/flddbpage.ui
+modules/swriter/ui/flddocinfopage.ui
+modules/swriter/ui/flddocumentpage.ui
+modules/swriter/ui/fldfuncpage.ui
+modules/swriter/ui/fldrefpage.ui
+modules/swriter/ui/fldvarpage.ui
+modules/swriter/ui/floatingsync.ui
+modules/swriter/ui/footendnotedialog.ui
+modules/swriter/ui/footnoteareapage.ui
+modules/swriter/ui/formatsectiondialog.ui
+modules/swriter/ui/formattablepage.ui
+modules/swriter/ui/frmaddpage.ui
+modules/swriter/ui/frmtypepage.ui
+modules/swriter/ui/frmurlpage.ui
+modules/swriter/ui/indentpage.ui
+modules/swriter/ui/indexentry.ui
+modules/swriter/ui/infonotfounddialog.ui
+modules/swriter/ui/inforeadonlydialog.ui
+modules/swriter/ui/inputfielddialog.ui
+modules/swriter/ui/insertautotextdialog.ui
+modules/swriter/ui/insertbookmark.ui
+modules/swriter/ui/insertbreak.ui
+modules/swriter/ui/insertcaption.ui
+modules/swriter/ui/insertdbcolumnsdialog.ui
+modules/swriter/ui/insertfootnote.ui
+modules/swriter/ui/insertscript.ui
+modules/swriter/ui/insertsectiondialog.ui
+modules/swriter/ui/inserttable.ui
+modules/swriter/ui/labeldialog.ui
+modules/swriter/ui/labelformatpage.ui
+modules/swriter/ui/labeloptionspage.ui
+modules/swriter/ui/mailconfigpage.ui
+modules/swriter/ui/mailmerge.ui
+modules/swriter/ui/mailmergedialog.ui
+modules/swriter/ui/managechangessidebar.ui
+modules/swriter/ui/mergeconnectdialog.ui
+modules/swriter/ui/mergetabledialog.ui
+modules/swriter/ui/mmaddressblockpage.ui
+modules/swriter/ui/mmcreatingdialog.ui
+modules/swriter/ui/mmlayoutpage.ui
+modules/swriter/ui/mmmailbody.ui
+modules/swriter/ui/mmoutputtypepage.ui
+modules/swriter/ui/mmresultemaildialog.ui
+modules/swriter/ui/mmresultprintdialog.ui
+modules/swriter/ui/mmresultsavedialog.ui
+modules/swriter/ui/mmsalutationpage.ui
+modules/swriter/ui/mmselectpage.ui
+modules/swriter/ui/mmsendmails.ui
+modules/swriter/ui/newuserindexdialog.ui
+modules/swriter/ui/notebookbar.ui
+modules/swriter/ui/numberingnamedialog.ui
+modules/swriter/ui/numparapage.ui
+modules/swriter/ui/optcaptionpage.ui
+modules/swriter/ui/optcomparison.ui
+modules/swriter/ui/optcompatpage.ui
+modules/swriter/ui/optfonttabpage.ui
+modules/swriter/ui/optformataidspage.ui
+modules/swriter/ui/optgeneralpage.ui
+modules/swriter/ui/optredlinepage.ui
+modules/swriter/ui/opttablepage.ui
+modules/swriter/ui/opttestpage.ui
+modules/swriter/ui/outlinenumbering.ui
+modules/swriter/ui/outlinepositionpage.ui
+modules/swriter/ui/paradialog.ui
+modules/swriter/ui/picturepage.ui
+modules/swriter/ui/previewzoomdialog.ui
+modules/swriter/ui/printeroptions.ui
+modules/swriter/ui/printmergedialog.ui
+modules/swriter/ui/printmonitordialog.ui
+modules/swriter/ui/printoptionspage.ui
+modules/swriter/ui/privateuserpage.ui
+modules/swriter/ui/querycontinuebegindialog.ui
+modules/swriter/ui/querycontinueenddialog.ui
+modules/swriter/ui/querydefaultcompatdialog.ui
+modules/swriter/ui/queryrotateintostandarddialog.ui
+modules/swriter/ui/querysavelabeldialog.ui
+modules/swriter/ui/queryshowchangesdialog.ui
+modules/swriter/ui/renameautotextdialog.ui
+modules/swriter/ui/renameentrydialog.ui
+modules/swriter/ui/renameobjectdialog.ui
+modules/swriter/ui/rowheight.ui
+modules/swriter/ui/saveashtmldialog.ui
+modules/swriter/ui/savelabeldialog.ui
+modules/swriter/ui/sectionpage.ui
+modules/swriter/ui/selectaddressdialog.ui
+modules/swriter/ui/selectautotextdialog.ui
+modules/swriter/ui/selectblockdialog.ui
+modules/swriter/ui/selectindexdialog.ui
+modules/swriter/ui/selecttabledialog.ui
+modules/swriter/ui/sidebarpage.ui
+modules/swriter/ui/sidebarstylepresets.ui
+modules/swriter/ui/sidebartheme.ui
+modules/swriter/ui/sidebarwrap.ui
+modules/swriter/ui/sortdialog.ui
+modules/swriter/ui/splittable.ui
+modules/swriter/ui/statisticsinfopage.ui
+modules/swriter/ui/stringinput.ui
+modules/swriter/ui/subjectdialog.ui
+modules/swriter/ui/tablecolumnpage.ui
+modules/swriter/ui/tablepreviewdialog.ui
+modules/swriter/ui/tableproperties.ui
+modules/swriter/ui/tabletextflowpage.ui
+modules/swriter/ui/testmailsettings.ui
+modules/swriter/ui/textgridpage.ui
+modules/swriter/ui/titlepage.ui
+modules/swriter/ui/tocdialog.ui
+modules/swriter/ui/tocentriespage.ui
+modules/swriter/ui/tocindexpage.ui
+modules/swriter/ui/tocstylespage.ui
+modules/swriter/ui/tokenwidget.ui
+modules/swriter/ui/viewoptionspage.ui
+modules/swriter/ui/warndatasourcedialog.ui
+modules/swriter/ui/warnemaildialog.ui
+modules/swriter/ui/wordcount.ui
+modules/swriter/ui/wrapdialog.ui
+modules/swriter/ui/wrappage.ui
+modules/swriter/ui/indexentry.ui
+modules/swriter/ui/bibliographyentry.ui
+modules/swriter/ui/inforeadonlydialog.ui
+modules/swriter/ui/inforeadonlydialog.ui
+modules/swriter/ui/inforeadonlydialog.ui
+modules/swriter/ui/floatingnavigation.ui
+modules/swriter/ui/queryrotateintostandarddialog.ui
diff --git a/sw/qa/unit/sw-dialogs-test.cxx b/sw/qa/unit/sw-dialogs-test.cxx
new file mode 100644
index 000000000000..33e7e843edf0
--- /dev/null
+++ b/sw/qa/unit/sw-dialogs-test.cxx
@@ -0,0 +1,193 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include <sal/config.h>
+#include <test/screenshot_test.hxx>
+#include <rtl/strbuf.hxx>
+#include <osl/file.hxx>
+//#include <com/sun/star/lang/XComponent.hpp>
+//#include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
+//#include <com/sun/star/presentation/AnimationEffect.hpp>
+//#include <com/sun/star/presentation/ClickAction.hpp>
+
+#include <sfx2/app.hxx>
+//#include <sfx2/docfilt.hxx>
+//#include <sfx2/docfile.hxx>
+//#include <sfx2/sfxmodelfactory.hxx>
+//#include <svl/stritem.hxx>
+//#include <svl/aeitem.hxx>
+//#include <editeng/colritem.hxx>
+//#include <svx/svdtext.hxx>
+//#include <svx/svdotext.hxx>
+//#include <vcl/sound.hxx>
+
+//#include "drawdoc.hxx"
+//#include "../source/ui/inc/DrawDocShell.hxx"
+
+// #include <osl/process.h>
+// #include <osl/thread.h>
+// #include <osl/file.hxx>
+
+// #include "sdabstdlg.hxx"
+// #include <vcl/pngwrite.hxx>
+// #include "unomodel.hxx"
+// #include "ViewShell.hxx"
+// #include "Window.hxx"
+// #include "drawview.hxx"
+// #include "DrawViewShell.hxx"
+// #include <app.hrc>
+// #include "stlsheet.hxx"
+// #include "sdattr.hrc"
+// #include "strings.hrc"
+// #include "sdresid.hxx"
+// #include "sdattr.hxx"
+// #include "prltempl.hrc"
+
+//#include <comphelper/servicehelper.hxx>
+//#include <com/sun/star/frame/Desktop.hpp>
+//#include <com/sun/star/frame/XDesktop2.hpp>
+//#include <comphelper/processfactory.hxx>
+//#include <unotest/macros_test.hxx>
+
+#include <vcl/abstdlg.hxx>
+
+using namespace ::com::sun::star;
+
+/// Test opening a dialog in sd
+class SwDialogsTest : public ScreenshotTest
+{
+private:
+ /// helper method to populate KnownDialogs, called in setUp(). Needs to be
+ /// written and has to add entries to KnownDialogs
+ virtual void registerKnownDialogsByID(mapType& rKnownDialogs) override;
+
+ /// dialog creation for known dialogs by ID. Has to be implemented for
+ /// each registered known dialog
+ virtual VclAbstractDialog* createDialogByID(sal_uInt32 nID) override;
+
+public:
+ SwDialogsTest();
+ virtual ~SwDialogsTest();
+
+ virtual void setUp() override;
+
+ // try to open a dialog
+ void openAnyDialog();
+
+ CPPUNIT_TEST_SUITE(SwDialogsTest);
+ CPPUNIT_TEST(openAnyDialog);
+ CPPUNIT_TEST_SUITE_END();
+};
+
+SwDialogsTest::SwDialogsTest()
+{
+}
+
+SwDialogsTest::~SwDialogsTest()
+{
+}
+
+void SwDialogsTest::setUp()
+{
+ ScreenshotTest::setUp();
+}
+
+void SwDialogsTest::registerKnownDialogsByID(mapType& /*rKnownDialogs*/)
+{
+ // fill map of known dilogs
+}
+
+VclAbstractDialog* SwDialogsTest::createDialogByID(sal_uInt32 /*nID*/)
+{
+ return nullptr;
+}
+
+void SwDialogsTest::openAnyDialog()
+{
+ /// example how to process an input file containing the UXMLDescriptions of the dialogs
+ /// to dump
+ if (true)
+ {
+ test::Directories aDirectories;
+ OUString aURL = aDirectories.getURLFromSrc("sw/qa/unit/data/sw-dialogs-test.txt");
+ SvFileStream aStream(aURL, StreamMode::READ);
+ OString aNextUIFile;
+ const OString aComment("#");
+
+ while (aStream.ReadLine(aNextUIFile))
+ {
+ if (!aNextUIFile.isEmpty() && !aNextUIFile.startsWith(aComment))
+ {
+ // first check if it's a known dialog
+ std::unique_ptr<VclAbstractDialog> pDlg(createDialogByName(aNextUIFile));
+
+ if (pDlg)
+ {
+ // known dialog, dump screenshot to path
+ dumpDialogToPath(*pDlg);
+ }
+ else
+ {
+ // unknown dialog, try fallback to generic created
+ // VclBuilder-generated instance. Keep in mind that Dialogs
+ // using this mechanism will probably not be layouted well
+ // since the setup/initialization part is missing. Thus,
+ // only use for fallback when only the UI file is available.
+ dumpDialogToPath(aNextUIFile);
+ }
+ }
+ }
+ }
+
+ /// example how to dump all known dialogs
+ if (false)
+ {
+ // example for SfxTabDialog: 5 -> "modules/sdraw/ui/drawpagedialog.ui"
+ // example for TabDialog: 22 -> "modules/simpress/ui/headerfooterdialog.ui"
+ // example for self-adapted wizard: 0 -> "modules/simpress/ui/publishingdialog.ui"
+ for (mapType::const_iterator i = getKnownDialogs().begin(); i != getKnownDialogs().end(); i++)
+ {
+ std::unique_ptr<VclAbstractDialog> pDlg(createDialogByID((*i).second));
+
+ if (pDlg)
+ {
+ // known dialog, dump screenshot to path
+ dumpDialogToPath(*pDlg);
+ }
+ else
+ {
+ // unknown dialog, should not happen in this basic loop.
+ // You have probably forgotten to add a case and
+ // implementastion to createDialogByID, please do this
+ }
+ }
+ }
+
+ /// example how to dump a dialog using fallback functionality
+ if (false)
+ {
+ // unknown dialog, try fallback to generic created
+ // VclBuilder-generated instance. Keep in mind that Dialogs
+ // using this mechanism will probably not be layouted well
+ // since the setup/initialization part is missing. Thus,
+ // only use for fallback when only the UI file is available.
+ //
+ // Take any example here, it's only for demonstration - using
+ // even a known one to demonstrate the fallback possibility
+ const OString aUIXMLDescription("modules/swriter/ui/abstractdialog.ui");
+
+ dumpDialogToPath(aUIXMLDescription);
+ }
+}
+
+CPPUNIT_TEST_SUITE_REGISTRATION(SwDialogsTest);
+
+CPPUNIT_PLUGIN_IMPLEMENT();
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */