[Libreoffice-commits] core.git: Branch 'feature/jsdialogs' - 27353 commits - accessibility/inc accessibility/IwyuFilter_accessibility.yaml accessibility/Library_acc.mk accessibility/source android/Bootstrap android/CustomTarget_lo_android.mk android/.gitignore android/mobile-config.py android/README android/source animations/IwyuFilter_animations.yaml animations/source antivirusDetection.vbs apple_remote/source autogen.sh avmedia/inc avmedia/IwyuFilter_avmedia.yaml avmedia/Library_avmediagst_0_10.mk avmedia/Library_avmediagst.mk avmedia/Library_avmediaMacAVF.mk avmedia/Library_avmedia.mk avmedia/Library_avmediaQuickTime.mk avmedia/Library_avmediavlc.mk avmedia/Library_avmediawin.mk avmedia/Module_avmedia.mk avmedia/source basctl/inc basctl/IwyuFilter_basctl.yaml basctl/Library_basctl.mk basctl/qa basctl/sdi basctl/source basctl/uiconfig basctl/UIConfig_basicide.mk basctl/util basegfx/CppunitTest_basegfx.mk basegfx/inc basegfx/IwyuFilter_basegfx.yaml basegfx/Library_basegfx.mk basegfx/source baseg fx/test basic/CppunitTest_basic_macros.mk basic/inc basic/IwyuFilter_basic.yaml basic/Library_sb.mk basic/qa basic/source bean/BUCK bean/com bean/Jar_officebean.mk bean/JunitTest_bean_complex.mk bean/native bean/qa bean/test binaryurp/IwyuFilter_binaryurp.yaml binaryurp/source bin/benchmark-document-loading bin/check-elf-dynamic-objects bin/check-implementer-notes.py bin/check-missing-export-asserts.py bin/check-missing-unittests.py bin/convwatch.py bin/distro-install-desktop-integration bin/distro-install-file-lists bin/extract-tooltip.py bin/find-can-be-private-symbols.classes.results bin/find-can-be-private-symbols.functions.results bin/find-can-be-private-symbols.py bin/find-clang-format.py bin/find-duplicated-sids.py bin/find-files-not-referenced-by-makefile.py bin/find-german-comments bin/find-headers-to-move-inside-modules.py bin/find-mergedlib-can-be-private.classes.results bin/find-mergedlib-can-be-private.py bin/find-most-common-warn-messages.py bin/find-most-repeated-func tions.py bin/find-unneeded-includes bin/find-unused-defines.py bin/find-unused-sid-commands.py bin/find-unused-typedefs.py bin/gbuild-to-ide bin/gen-boost-headers bin/generate-bash-completion.py bin/get-bugzilla-attachments-by-mimetype bin/get_config_variables bin/gla11y bin/lint-ui.py bin/list-uitest.py bin/lo-all-static-libs bin/lo-commit-stat bin/lo-xlate-lang bin/moveglobalheaders.sh bin/oss-fuzz-build.sh bin/pack-debug bin/run bin/sanitize-blacklist.txt bin/sanitize-excludelist.txt bin/symbolstore.py bin/symstore.sh bin/test-hid-vs-ui.py bin/ui-checkdomain.sh bin/ui-converter-skeleton.py bin/ui-translatable.sh bin/unpack-sources bin/update bin/update_pch bin/update_pch_bisect bin/update_pch.sh bin/upload_symbols.py bin/verify-custom-widgets-libs bridges/inc bridges/Jar_java_uno.mk bridges/Library_cpp_uno.mk bridges/source BUCK canvas/Executable_canvasdemo.mk canvas/inc canvas/IwyuFilter_canvas.yaml canvas/Library_cairocanvas.mk canvas/Library_canvasfactory.mk canvas/Library_can vastools.mk canvas/Library_directx9canvas.mk canvas/Library_gdipluscanvas.mk canvas/Library_oglcanvas.mk canvas/Library_simplecanvas.mk canvas/Library_vclcanvas.mk canvas/Module_canvas.mk canvas/README.vars canvas/source canvas/StaticLibrary_directxcanvas.mk canvas/workben chart2/CppunitTest_chart2_dump.mk chart2/CppunitTest_chart2_export.mk chart2/CppunitTest_chart2_geometry.mk chart2/CppunitTest_chart2_import.mk chart2/CppunitTest_chart2_pivot_chart_test.mk chart2/CppunitTest_chart2_trendcalculators.mk chart2/CppunitTest_chart2_xshape.mk chart2/inc chart2/IwyuFilter_chart2.yaml chart2/Library_chartcontroller.mk chart2/Library_chartcore.mk chart2/Module_chart2.mk chart2/qa chart2/source chart2/uiconfig chart2/UIConfig_chart2.mk chart2/workbench .clang-format cli_ure/Module_cli_ure.mk cli_ure/readme.txt cli_ure/source codemaker/Executable_cppumaker.mk codemaker/Executable_javamaker.mk codemaker/source comphelper/CppunitTest_comphelper_parallelsort_test.mk comphelper/CppunitTest_comp helper_test.mk comphelper/CppunitTest_comphelper_threadpool_test.mk comphelper/inc comphelper/IwyuFilter_comphelper.yaml comphelper/Library_comphelper.mk comphelper/Module_comphelper.mk comphelper/qa comphelper/source comphelper/StaticLibrary_windows_process.mk comphelper/util compilerplugins/clang compilerplugins/.gitignore compilerplugins/LICENSE.TXT compilerplugins/Makefile-clang.mk config.guess config_host/config_box2d.h.in config_host/config_feature_desktop.h.in config_host/config_feature_opencl.h.in config_host/config_features.h.in config_host/config_folders.h.in config_host/config_global.h.in config_host/config_gtk3_kde5.h.in config_host/config_kde4.h.in config_host/config_kde5.h.in config_host/config_libnumbertext.h.in config_host/config_locales.h.in config_host/config_oauth2.h.in config_host/config_options.h.in config_host/config_poppler.h.in config_host/config_qrcodegen.h.in config_host/config_qt5.h.in config_host/config_skia.h.in config_host/config_vclplug.h.in config_hos t.mk.in configmgr/CppunitTest_configmgr_unit.mk configmgr/inc configmgr/IwyuFilter_configmgr.yaml configmgr/Library_configmgr.mk configmgr/qa configmgr/README configmgr/source config.sub configure.ac connectivity/com connectivity/CppunitTest_connectivity_commontools.mk connectivity/CppunitTest_connectivity_mysql_test.mk connectivity/CppunitTest_connectivity_sharedresources.mk connectivity/inc connectivity/IwyuFilter_connectivity.yaml connectivity/Jar_ConnectivityTools.mk connectivity/Library_ado.mk connectivity/Library_calc.mk connectivity/Library_dbase.mk connectivity/Library_dbpool2.mk connectivity/Library_dbtools.mk connectivity/Library_evoab.mk connectivity/Library_file.mk connectivity/Library_firebird_sdbc.mk connectivity/Library_flat.mk connectivity/Library_hsqldb.mk connectivity/Library_jdbc.mk connectivity/Library_macab1.mk connectivity/Library_mysqlc.mk connectivity/Library_mysql_jdbc.mk connectivity/Library_odbc.mk connectivity/Library_postgresql-sdbc-impl.mk connectivity/ Library_sdbc2.mk connectivity/Library_writer.mk connectivity/Module_connectivity.mk connectivity/Package_postgresql-sdbc.mk connectivity/qa connectivity/README connectivity/registry connectivity/source connectivity/workben cppcanvas/inc cppcanvas/IwyuFilter_cppcanvas.yaml cppcanvas/Library_cppcanvas.mk cppcanvas/qa cppcanvas/source cppu/CppunitTest_cppu_typelib.mk cppuhelper/inc cppuhelper/IwyuFilter_cppuhelper.yaml cppuhelper/Library_cppuhelper.mk cppuhelper/qa cppuhelper/source cppu/IwyuFilter_cppu.yaml cppu/Module_cppu.mk cppu/qa cppu/source cpputools/Executable_uno.mk cpputools/source cui/CppunitTest_cui_dialogs_test.mk cui/inc cui/IwyuFilter_cui.yaml cui/Library_cui.mk cui/Module_cui.mk cui/Package_cui.mk cui/qa cui/source cui/uiconfig cui/UIConfig_cui.mk cui/util dbaccess/CppunitTest_dbaccess_hsqlbinary_import.mk dbaccess/CppunitTest_dbaccess_RowSetClones.mk dbaccess/CppunitTest_dbaccess_tdf119625.mk dbaccess/CppunitTest_dbaccess_tdf126268.mk dbaccess/Executable_odbcconfig.mk dbaccess/inc dbaccess/IwyuFilter_dbaccess.yaml dbaccess/JunitTest_dbaccess_complex.mk dbaccess/Library_dbahsql.mk dbaccess/Library_dba.mk dbaccess/Library_dbaxml.mk dbaccess/Library_dbmm.mk dbaccess/Library_dbu.mk dbaccess/Library_sdbt.mk dbaccess/Module_dbaccess.mk dbaccess/qa dbaccess/README dbaccess/source dbaccess/uiconfig dbaccess/UIConfig_dbaccess.mk dbaccess/util dbaccess/win32 desktop/CppunitTest_desktop_app.mk desktop/CppunitTest_desktop_lib.mk desktop/CppunitTest_desktop_lokinit.mk desktop/CustomTarget_soffice.mk desktop/Executable_minidump_upload.mk desktop/Executable_quickstart.mk desktop/Executable_sbase.mk desktop/Executable_scalc.mk desktop/Executable_sdraw.mk desktop/Executable_simpress.mk desktop/Executable_smath.mk desktop/Executable_soffice_bin.mk desktop/Executable_soffice_com.mk desktop/Executable_soffice_exe.mk desktop/Executable_soffice.mk desktop/Executable_soffice_safe.mk desktop/Executable_sweb.mk desktop/Executable_swriter.mk desktop/Executable_unoinfo.mk desktop/Executable_unopkg_bin.mk desktop/Executable_unopkg_com.mk desktop/Executable_unopkg.mk desktop/inc desktop/IwyuFilter_desktop.yaml desktop/Jar_active_java.mk desktop/Jar_passive_java.mk desktop/Library_crashreport.mk desktop/Library_deploymentgui.mk desktop/Library_deploymentmisc.mk desktop/Library_deployment.mk desktop/Library_migrationoo2.mk desktop/Library_migrationoo3.mk desktop/Library_offacc.mk desktop/Library_sofficeapp.mk desktop/Library_spl.mk desktop/Module_desktop.mk desktop/Package_scripts.mk desktop/Pagein_common.mk desktop/qa desktop/README desktop/scripts desktop/source desktop/StaticLibrary_winlauncher.mk desktop/StaticLibrary_winloader.mk desktop/test desktop/uiconfig desktop/UIConfig_deployment.mk desktop/unx desktop/util desktop/win32 desktop/WinResTarget_sbase.mk desktop/WinResTarget_scalc.mk desktop/WinResTarget_sdraw.mk desktop/WinResTarget_simpress.mk desktop/WinResTarget_smath.mk desktop/WinResTarget_sofficebin.mk desktop/WinResTarget_soffice.mk deskt op/WinResTarget_sweb.mk desktop/WinResTarget_swriter.mk dictionaries distro-configs/CPAndroidAarch64.conf distro-configs/CPAndroidBranding.conf distro-configs/CPAndroid.conf distro-configs/CPAndroidX86_64.conf distro-configs/CPAndroidX86.conf distro-configs/CPLinux.conf distro-configs/CPLinux-LOKit.conf distro-configs/CPOSX.conf distro-configs/CPWin32.conf distro-configs/CPWin64.conf distro-configs/Jenkins distro-configs/LibreOfficeAndroidAarch64.conf distro-configs/LibreOfficeAndroid.conf distro-configs/LibreOfficeAndroidX86_64.conf distro-configs/LibreOfficeAndroidX86.conf distro-configs/LibreOfficeCoverity.conf distro-configs/LibreOfficeFlatpak.conf distro-configs/LibreOfficeiOS.conf distro-configs/LibreOfficeiOS_Sim.conf distro-configs/LibreOfficeLinux.conf distro-configs/LibreOfficeMacOSX.conf distro-configs/LibreOfficeOnline.conf distro-configs/LibreOfficeOpenBSD.conf distro-configs/LibreOfficeOssFuzz.conf distro-configs/LibreOfficeVanillaMacAppStore.conf distro-configs/LibreO fficeWin32.conf distro-configs/LibreOfficeWin64.conf distro-configs/LibreOfficeWinArm64.conf download.lst drawinglayer/drawinglayer.component drawinglayer/inc drawinglayer/IwyuFilter_drawinglayer.yaml drawinglayer/Library_drawinglayer.mk drawinglayer/qa drawinglayer/source dtrans/Library_dnd.mk dtrans/Library_dtrans.mk dtrans/Library_ftransl.mk dtrans/Library_mcnttype.mk dtrans/Library_sysdtrans.mk dtrans/Makefile dtrans/Module_dtrans.mk dtrans/README dtrans/source dtrans/StaticLibrary_dtobj.mk dtrans/test dtrans/util editeng/CustomTarget_generated.mk editeng/inc editeng/IwyuFilter_editeng.yaml editeng/Library_editeng.mk editeng/qa editeng/README editeng/source editeng/uiconfig embeddedobj/CppunitTest_embeddedobj_general.mk embeddedobj/IwyuFilter_embeddedobj.yaml embeddedobj/Library_embobj.mk embeddedobj/Library_emboleobj.mk embeddedobj/Module_embeddedobj.mk embeddedobj/qa embeddedobj/source embeddedobj/test embeddedobj/util embedserv/Library_emser.mk embedserv/Module_embedserv.mk e mbedserv/source embedserv/util emfio/CppunitTest_emfio_emf.mk emfio/CppunitTest_emfio_emf_test.mk emfio/CppunitTest_emfio_wmf.mk emfio/CppunitTest_emfio_wmf_test.mk emfio/emfio.component emfio/inc emfio/IwyuFilter_emfio.yaml emfio/Library_emfio.mk emfio/Module_emfio.mk emfio/qa emfio/source eventattacher/IwyuFilter_eventattacher.yaml eventattacher/source extensions/CppunitTest_extensions_test_update.mk extensions/CustomTarget_automationtest.mk extensions/CustomTarget_so_activex_idl.mk extensions/CustomTarget_so_activex_x64.mk extensions/Executable_twain32shim.mk extensions/inc extensions/IwyuFilter_extensions.yaml extensions/Library_dbp.mk extensions/Library_ldapbe2.mk extensions/Library_oleautobridge.mk extensions/Library_pcr.mk extensions/Library_scn.mk extensions/Library_so_activex_x64.mk extensions/Library_updchk.mk extensions/Library_WinUserInfoBe.mk extensions/Module_extensions.mk extensions/qa extensions/README extensions/source extensions/test extensions/uiconfig extensions/ UIConfig_sbibliography.mk extensions/UIConfig_spropctrlr.mk external/apache-commons external/apr external/beanshell external/bluez_bluetooth external/boost external/box2d external/breakpad external/bzip2 external/cairo external/clucene external/coinmp external/cppunit external/ct2n external/curl external/dtoa external/epm external/epoxy external/expat external/firebird external/fontconfig external/freetype external/glm external/gpgmepp external/graphite external/harfbuzz external/hsqldb external/hunspell external/hyphen external/icu external/jfreereport external/languagetool external/lcms2 external/libabw external/libassuan external/libatomic_ops external/libcdr external/libcmis external/libebook external/libeot external/libepubgen external/libetonyek external/libexttextcat external/libffi external/libfreehand external/libgpg-error external/libjpeg-turbo external/liblangtag external/libmspub external/libmwaw external/libnumbertext external/libodfgen external/liborcus external/libpag emaker external/libpng external/libqxp external/librevenge external/libstaroffice external/libtommath external/libvisio external/libwpd external/libwpg external/libwps external/libxml2 external/libxslt external/libzmf external/lpsolve external/lxml external/mariadb-connector-c external/mdds external/mdnsresponder external/Module_external.mk external/more_fonts external/mythes external/neon external/noto_font external/nss external/openldap external/openssl external/owncloud-android-lib external/pdfium external/poppler external/postgresql external/python3 external/qrcodegen external/redland external/rhino external/serf external/skia external/twain_dsm external/ucpp external/xmlsec external/zlib extras/AllLangPackage_autotextshare.mk extras/CustomTarget_autocorr.mk extras/CustomTarget_autotextshare.mk extras/CustomTarget_autotextuser.mk extras/CustomTarget_gallsystem.mk extras/CustomTarget_glade.mk extras/CustomTarget_opensymbol.mk extras/CustomTarget_tpldraw.mk extras/CustomTarget_tpl officorr.mk extras/CustomTarget_tploffimisc.mk extras/CustomTarget_tplpersonal.mk extras/CustomTarget_tplpresnt.mk extras/CustomTarget_tpl_styles.mk extras/Gallery_arrows.mk extras/Gallery_backgrounds.mk extras/Gallery_computers.mk extras/Gallery_diagrams.mk extras/Gallery_education.mk extras/Gallery_environment.mk extras/Gallery_finance.mk extras/Gallery_people.mk extras/Gallery_symbols.mk extras/Gallery_transportation.mk extras/Gallery_txtshapes.mk extras/Module_extras.mk extras/Package_autocorr.mk extras/Package_gallhtmlexpo.mk extras/Package_gallsystem.mk extras/Package_gallsystemstr.mk extras/Package_gallwwwgraf.mk extras/Package_palettes.mk extras/Package_resource_fonts.mk extras/Package_tpldraw.mk extras/Package_tpl_styles.mk extras/Package_tplwizbitmap.mk extras/README extras/source filter/Configuration_filter.mk filter/CppunitTest_filter_msfilter.mk filter/CppunitTest_filter_priority.mk filter/CppunitTest_filter_svg.mk filter/CppunitTest_filter_textfilterdetect.mk filter/Cu stomTarget_svg.mk filter/inc filter/IwyuFilter_filter.yaml filter/Library_filterconfig.mk filter/Library_flash.mk filter/Library_gie.mk filter/Library_graphicfilter.mk filter/Library_icg.mk filter/Library_msfilter.mk filter/Library_pdffilter.mk filter/Library_storagefd.mk filter/Library_t602filter.mk filter/Library_textfd.mk filter/Library_xmlfa.mk filter/Library_xmlfd.mk filter/Module_filter.mk filter/qa filter/README filter/source filter/uiconfig filter/UIConfig_filter.mk forms/inc forms/IwyuFilter_forms.yaml forms/Library_frm.mk forms/qa forms/source formula/inc formula/IwyuFilter_formula.yaml formula/Library_for.mk formula/qa formula/source formula/uiconfig formula/util fpicker/inc fpicker/IwyuFilter_fpicker.yaml fpicker/Library_fps_aqua.mk fpicker/Library_fps.mk fpicker/Library_fps_office.mk fpicker/Module_fpicker.mk fpicker/qa fpicker/README fpicker/source fpicker/test fpicker/uiconfig fpicker/UIConfig_fps.mk fpicker/WinResTarget_fps.mk framework/CppunitTest_framework_loadenv. mk framework/CppunitTest_framework_services.mk framework/dtd framework/inc framework/IwyuFilter_framework.yaml framework/JunitTest_framework_complex.mk framework/Library_fwe.mk framework/Library_fwi.mk framework/Library_fwk.mk framework/Library_fwl.mk framework/Library_fwm.mk framework/Module_framework.mk framework/qa framework/source framework/uiconfig framework/UIConfig_startmodule.mk framework/util .git-blame-ignore-revs .git-hooks/commit-msg .git-hooks/pre-commit .git-hooks/README .github/FUNDING.yml .gitignore .gitmodules .gitpod.dockerfile .gitpod.yml .gitreview hardened_runtime.xcent.in helpcompiler/inc helpcompiler/IwyuFilter_helpcompiler.yaml helpcompiler/source helpcontent2 hwpfilter/inc hwpfilter/Library_hwp.mk hwpfilter/source i18nlangtag/IwyuFilter_i18nlangtag.yaml i18nlangtag/qa i18nlangtag/source i18npool/CppunitTest_i18npool_defaultnumberingprovider.mk i18npool/CustomTarget_breakiterator.mk i18npool/CustomTarget_collator.mk i18npool/CustomTarget_indexentry.mk i18npoo l/CustomTarget_localedata.mk i18npool/CustomTarget_textconversion.mk i18npool/Executable_gendict.mk i18npool/inc i18npool/IwyuFilter_i18npool.yaml i18npool/Library_localedata_en.mk i18npool/Library_localedata_euro.mk i18npool/Library_localedata_others.mk i18npool/Module_i18npool.mk i18npool/qa i18npool/source i18npool/util i18nutil/IwyuFilter_i18nutil.yaml i18nutil/source icon-themes/breeze icon-themes/breeze_dark icon-themes/breeze_dark_svg icon-themes/breeze_svg icon-themes/colibre icon-themes/colibre_svg icon-themes/elementary icon-themes/elementary_svg icon-themes/galaxy icon-themes/karasa_jaga icon-themes/karasa_jaga_svg icon-themes/README icon-themes/sifr icon-themes/sifr_dark icon-themes/sifr_dark_svg icon-themes/sifr_svg icon-themes/sukapura icon-themes/sukapura_svg icon-themes/tango icon-themes/tango_svg idlc/CustomTarget_parser_test.mk idlc/Executable_idlc.mk idlc/inc idlc/source idlc/test idl/Executable_svidl.mk idl/inc idl/source include/android include/animations includ e/apple_remote include/avmedia include/basegfx include/basic include/canvas include/codemaker include/com include/comphelper include/connectivity include/cppcanvas include/cppu include/cppuhelper include/cui include/dbaccess include/default.rc include/desktop include/drawinglayer include/editeng include/filter include/formula include/framework include/i18nlangtag include/i18npool include/i18nutil include/ios include/IwyuFilter_include.yaml include/jvmaccess include/jvmfwk include/LibreOfficeKit include/linguistic include/o3tl include/onlineupdate include/oox include/opencl include/osl include/package include/postwin.h include/prewin.h include/registry include/rtl include/sal include/salhelper include/sax include/sfx2 include/sot include/store include/svl include/svtools include/svx include/systools include/test include/toolkit include/tools include/typelib include/ucbhelper include/uno include/unoidl include/unotest include/unotools include/vbahelper include/vcl include/xmloff inclu de/xmlreader include/xmlscript install-sh instsetoo_native/CustomTarget_install.mk instsetoo_native/CustomTarget_setup.mk instsetoo_native/inc_common instsetoo_native/inc_ooohelppack instsetoo_native/inc_openoffice instsetoo_native/inc_sdkoo instsetoo_native/ooenv instsetoo_native/util io/IwyuFilter_io.yaml io/Library_io.mk io/qa ios/CustomTarget_iOS_link.mk ios/CustomTarget_iOS_setup.mk ios/LibreOfficeLight ios/Module_ios.mk io/source ios/README ios/source ios/StaticLibrary_ios.mk ios/UnitTest io/test javaunohelper/BUCK javaunohelper/com javaunohelper/IwyuFilter_javaunohelper.yaml javaunohelper/Jar_juh.mk javaunohelper/JunitTest_juh.mk javaunohelper/Library_juhx.mk javaunohelper/pom.juh.xml javaunohelper/source javaunohelper/test javaunohelper/util jurt/BUCK jurt/com jurt/CustomTarget_test_urp.mk jurt/InternalUnoApi_test_urp.mk jurt/Jar_jurt.mk jurt/JunitTest_bridgefactory.mk jurt/JunitTest_connections.mk jurt/JunitTest_java.mk jurt/JunitTest_java_remote.mk jurt/JunitTest_remote.mk jurt/JunitTest_uno.mk jurt/JunitTest_urp.mk jurt/JunitTest_util.mk jurt/Library_jpipe.mk jurt/Module_jurt.mk jurt/pom.jurt.xml jurt/source jurt/test jurt/util jvmaccess/IwyuFilter_jvmaccess.yaml jvmaccess/source jvmaccess/workbench jvmfwk/CustomTarget_jreproperties.mk jvmfwk/CustomTarget_jvmfwk_jvmfwk3_ini.mk jvmfwk/distributions jvmfwk/inc jvmfwk/IwyuFilter_jvmfwk.yaml jvmfwk/plugins jvmfwk/README jvmfwk/source l10ntools/inc l10ntools/source leak-suppress.txt librelogo/CustomTarget_librelogo.mk librelogo/Package_librelogo.mk librelogo/source libreofficekit/CppunitTest_libreofficekit_tiledrendering.mk libreofficekit/Executable_gtktiledviewer.mk libreofficekit/Executable_tilebench.mk libreofficekit/IwyuFilter_libreofficekit.yaml libreofficekit/Library_libreofficekitgtk.mk libreofficekit/qa libreofficekit/source lingucomponent/Library_MacOSXSpell.mk lingucomponent/Module_lingucomponent.mk lingucomponent/source linguistic/inc linguistic/IwyuFilter_linguistic.yaml linguistic/JunitTest_ linguistic_complex.mk linguistic/Library_lng.mk linguistic/source linguistic/workben logerrit lotuswordpro/CppunitTest_lotuswordpro_import_test.mk lotuswordpro/inc lotuswordpro/IwyuFilter_lotuswordpro.yaml lotuswordpro/Library_lwpft.mk lotuswordpro/Module_lotuswordpro.mk lotuswordpro/qa lotuswordpro/source lo.xcent lo.xcent.in m4/l_atomic.m4 Makefile.fetch Makefile.in nlpsolver/Jar_nlpsolver.mk nlpsolver/README nlpsolver/src nlpsolver/ThirdParty o3tl/CompilerTest_o3tl_unsafe_downcast.mk o3tl/CppunitTest_o3tl_tests.mk o3tl/Module_o3tl.mk o3tl/qa odk/build-examples_common.mk odk/config odk/CustomTarget_allheaders.mk odk/CustomTarget_check.mk odk/CustomTarget_doxygen.mk odk/CustomTarget_html.mk odk/CustomTarget_javadoc.mk odk/CustomTarget_unowinreg.mk odk/docs odk/examples odk/index.html odk/index_online.html odk/Module_odk.mk odk/Package_odk_headers.mk odk/Package_share_readme.mk odk/qa odk/README odk/settings odk/source odk/util offapi/com offapi/README offapi/type_reference offapi/U noApi_offapi.mk offapi/util officecfg/Configuration_officecfg.mk officecfg/CustomTarget_registry.mk officecfg/files.mk officecfg/registry officecfg/util onlineupdate/Executable_mar.mk onlineupdate/Executable_mbsdiff.mk onlineupdate/Executable_test_updater_dialog.mk onlineupdate/Executable_updater.mk onlineupdate/Executable_update_service.mk onlineupdate/inc onlineupdate/source onlineupdate/StaticLibrary_libmar.mk onlineupdate/StaticLibrary_libmarverify.mk onlineupdate/StaticLibrary_updatehelper.mk oovbaapi/ooo oox/AllLangMoTarget_oox.mk oox/CppunitTest_oox_drawingml.mk oox/CppunitTest_oox_export.mk oox/CppunitTest_oox_mathml.mk oox/CppunitTest_oox_shape.mk oox/CppunitTest_oox_vml.mk oox/CustomTarget_generated.mk oox/documentation oox/inc oox/IwyuFilter_oox.yaml oox/Library_oox.mk oox/Module_oox.mk oox/qa oox/README oox/source oox/util opencl/Executable_opencltest.mk opencl/inc opencl/IwyuFilter_opencl.yaml opencl/Module_opencl.mk opencl/opencltest opencl/source osx/README osx/soffic e.xcodeproj package/inc package/Library_package2.mk package/Library_xstor.mk package/qa package/source package/util pch/inc pch/Makefile pch/Module_pch.mk pch/README pch/StaticLibrary_precompiled_system.mk pch/system_empty.cxx postprocess/CppunitTest_services.mk postprocess/CustomTarget_check_dynamic_objects.mk postprocess/CustomTarget_images.mk postprocess/CustomTarget_registry.mk postprocess/CustomTarget_signing.mk postprocess/Module_postprocess.mk postprocess/packimages postprocess/qa postprocess/Rdb_services.mk postprocess/signing pyuno/CustomTarget_python_shell.mk pyuno/CustomTarget_pyuno_pythonloader_ini.mk pyuno/demo pyuno/Executable_python.mk pyuno/inc pyuno/IwyuFilter_pyuno.yaml pyuno/Module_pyuno.mk pyuno/PythonTest_pyuno_pytests_ssl.mk pyuno/PythonTest_pyuno_pytests_testcollections.mk pyuno/PythonTest_pyuno_pytests_testssl.mk pyuno/qa pyuno/source qadevOOo/.classpath qadevOOo/Jar_OOoRunner.mk qadevOOo/objdsc qadevOOo/qa qadevOOo/runner qadevOOo/tests readlicense_oo/Custom Target_license.mk readlicense_oo/CustomTarget_readme.mk readlicense_oo/docs readlicense_oo/license readlicense_oo/Module_readlicense_oo.mk readlicense_oo/Package_files.mk readlicense_oo/Package_license.mk readlicense_oo/README README.cross README.md registry/Executable_regmerge.mk registry/Executable_regview.mk registry/inc registry/IwyuFilter_registry.yaml registry/source registry/test registry/tools remotebridges/source reportbuilder/Jar_reportbuilder.mk reportbuilder/java reportdesign/inc reportdesign/IwyuFilter_reportdesign.yaml reportdesign/Library_rpt.mk reportdesign/Library_rptui.mk reportdesign/Library_rptxml.mk reportdesign/qa reportdesign/source reportdesign/uiconfig reportdesign/UIConfig_dbreport.mk reportdesign/util RepositoryExternal.mk RepositoryFixes.mk Repository.mk RepositoryModule_build.mk RepositoryModule_host.mk ridljar/BUCK ridljar/com ridljar/CustomTarget_javamaker.mk ridljar/CustomTarget_test_urp.mk ridljar/InternalUnoApi_test_urp.mk ridljar/Jar_libreoffice.mk ridljar/Jar_ridl.mk ridljar/Jar_unoloader.mk ridljar/JunitTest_bridgefactory.mk ridljar/JunitTest_connections.mk ridljar/JunitTest_java.mk ridljar/JunitTest_java_remote.mk ridljar/JunitTest_remote.mk ridljar/JunitTest_typedesc.mk ridljar/JunitTest_uno.mk ridljar/JunitTest_urp.mk ridljar/JunitTest_util.mk ridljar/Module_ridljar.mk ridljar/pom.libreoffice.xml ridljar/pom.ridl.xml ridljar/source ridljar/test ridljar/util sal/android sal/CompilerTest_sal_rtl_oustring.mk sal/cppunittester sal/CppunitTest_sal_comtools.mk sal/CppunitTest_sal_osl.mk sal/CppunitTest_sal_retry_if_failed.mk sal/CppunitTest_sal_rtl.mk sal/Executable_cppunittester.mk salhelper/IwyuFilter_salhelper.yaml salhelper/qa salhelper/source salhelper/test sal/inc sal/Library_sal.mk sal/Module_sal.mk sal/osl sal/qa sal/rtl sal/test sal/textenc sal/util sanitize-ubsan-blacklist sanitize-ubsan-excludelist sax/CppunitTest_sax_attributes.mk sax/CppunitTest_sax.mk sax/CppunitTest_sax_parser.mk sax/CppunitTest_sax_xmlimport.mk sax/inc sax/IwyuFilter_sax.yaml sax/Library_expwrap.mk sax/Library_sax.mk sax/qa sax/source sax/test scaddins/inc scaddins/IwyuFilter_scaddins.yaml scaddins/Library_analysis.mk scaddins/Library_date.mk scaddins/Library_pricing.mk scaddins/source sccomp/IwyuFilter_sccomp.yaml sccomp/qa sccomp/source sc/CppunitTest_sc_addin_functions_test.mk sc/CppunitTest_sc_anchor_test.mk sc/CppunitTest_sc_annotationobj.mk sc/CppunitTest_sc_annotationshapeobj.mk sc/CppunitTest_sc_annotationsobj.mk sc/CppunitTest_sc_arealinkobj.mk sc/CppunitTest_sc_arealinksobj.mk sc/CppunitTest_sc_array_functions_test.mk sc/CppunitTest_sc_autoformatobj.mk sc/CppunitTest_sc_autoformatsobj.mk sc/CppunitTest_sc_bugfix_test.mk sc/CppunitTest_sc_cache_test.mk sc/CppunitTest_sc_cellcursorobj.mk sc/CppunitTest_sc_cellfieldsobj.mk sc/CppunitTest_sc_cellformatsenumeration.mk sc/CppunitTest_sc_cellformatsobj.mk sc/CppunitTest_sc_cellobj.mk sc/CppunitTest_sc_cellrangeobj.mk sc/CppunitTest_sc_cellrangesobj.mk sc/CppunitTest_sc _cellsearchobj.mk sc/CppunitTest_sc_cellsenumeration.mk sc/CppunitTest_sc_cellsobj.mk sc/CppunitTest_sc_chart2dataprovider.mk sc/CppunitTest_sc_chartobj.mk sc/CppunitTest_sc_chart_regression_test.mk sc/CppunitTest_sc_chartsobj.mk sc/CppunitTest_sc_check_data_pilot_field.mk sc/CppunitTest_sc_check_data_pilot_table.mk sc/CppunitTest_sc_check_xcell_ranges_query.mk sc/CppunitTest_sc_cond_format_merge.mk sc/CppunitTest_sc_consolidationdescriptorobj.mk sc/CppunitTest_sc_copypaste.mk sc/CppunitTest_sc_core.mk sc/CppunitTest_sc_database_functions_test.mk sc/CppunitTest_sc_databaserangeobj.mk sc/CppunitTest_sc_databaserangesobj.mk sc/CppunitTest_sc_datapilotfieldgroupitemobj.mk sc/CppunitTest_sc_datapilotfieldgroupobj.mk sc/CppunitTest_sc_datapilotfieldgroupsobj.mk sc/CppunitTest_sc_datapilotfieldobj.mk sc/CppunitTest_sc_datapilotfieldsobj.mk sc/CppunitTest_sc_datapilotitemobj.mk sc/CppunitTest_sc_datapilotitemsobj.mk sc/CppunitTest_sc_datapilottableobj.mk sc/CppunitTest_sc_datapilottablesob j.mk sc/CppunitTest_sc_dataprovider.mk sc/CppunitTest_sc_datatransformation.mk sc/CppunitTest_sc_datetime_functions_test.mk sc/CppunitTest_sc_ddelinkobj.mk sc/CppunitTest_sc_ddelinksobj.mk sc/CppunitTest_sc_documentconfigurationobj.mk sc/CppunitTest_sc_drawpageobj.mk sc/CppunitTest_sc_drawpagesobj.mk sc/CppunitTest_sc_editfieldobj_cell.mk sc/CppunitTest_sc_editfieldobj_header.mk sc/CppunitTest_sc_filterdescriptorbase.mk sc/CppunitTest_sc_filterdescriptorbaseobj.mk sc/CppunitTest_sc_filters_test.mk sc/CppunitTest_sc_financial_functions_test.mk sc/CppunitTest_sc_functiondescriptionobj.mk sc/CppunitTest_sc_functionlistobj.mk sc/CppunitTest_sc_functions_test_old.mk sc/CppunitTest_sc_headerfieldsobj.mk sc/CppunitTest_sc_headerfootercontentobj.mk sc/CppunitTest_sc_html_export_test.mk sc/CppunitTest_sc_importdescriptorbaseobj.mk sc/CppunitTest_sc_indexenumeration_cellannotationsenumeration.mk sc/CppunitTest_sc_indexenumeration_cellarealinksenumeration.mk sc/CppunitTest_sc_indexenumeration_ databaserangesenumeration.mk sc/CppunitTest_sc_indexenumeration_datapilotfieldsenumeration.mk sc/CppunitTest_sc_indexenumeration_datapilotitemsenumeration.mk sc/CppunitTest_sc_indexenumeration_datapilottablesenumeration.mk sc/CppunitTest_sc_indexenumeration_ddelinksenumeration.mk sc/CppunitTest_sc_indexenumeration_functiondescriptionenumeration.mk sc/CppunitTest_sc_indexenumeration_labelrangesenumeration.mk sc/CppunitTest_sc_indexenumeration_namedrangesenumeration.mk sc/CppunitTest_sc_indexenumeration_scenariosenumeration.mk sc/CppunitTest_sc_indexenumeration_sheetcellrangesenumeration.mk sc/CppunitTest_sc_indexenumeration_sheetlinksenumeration.mk sc/CppunitTest_sc_indexenumeration_spreadsheetsenumeration.mk sc/CppunitTest_sc_indexenumeration_spreadsheetviewpanesenumeration.mk sc/CppunitTest_sc_indexenumeration_subtotalfieldsenumeration.mk sc/CppunitTest_sc_indexenumeration_tableautoformatenumeration.mk sc/CppunitTest_sc_indexenumeration_tablechartsenumeration.mk sc/CppunitTest_sc_i ndexenumeration_tablecolumnsenumeration.mk sc/CppunitTest_sc_indexenumeration_tableconditionalentryenumeration.mk sc/CppunitTest_sc_indexenumeration_tablerowsenumeration.mk sc/CppunitTest_sc_indexenumeration_textfieldenumeration.mk sc/CppunitTest_sc_information_functions_test.mk sc/CppunitTest_sc_jumbosheets_test.mk sc/CppunitTest_sc_labelrangeobj.mk sc/CppunitTest_sc_labelrangesobj.mk sc/CppunitTest_sc_logical_functions_test.mk sc/CppunitTest_sc_macros_test.mk sc/CppunitTest_sc_mark_test.mk sc/CppunitTest_sc_mathematical_functions_test.mk sc/CppunitTest_sc_modelobj.mk sc/CppunitTest_sc_namedrangeobj.mk sc/CppunitTest_sc_namedrangesobj.mk sc/CppunitTest_sc_new_cond_format_api.mk sc/CppunitTest_sc_opencl_test.mk sc/CppunitTest_sc_outlineobj.mk sc/CppunitTest_sc_parallelism.mk sc/CppunitTest_sc_pdf_export.mk sc/CppunitTest_sc_perfobj.mk sc/CppunitTest_sc_pivottable_filters_test.mk sc/CppunitTest_sc_rangelst_test.mk sc/CppunitTest_sc_range_test.mk sc/CppunitTest_sc_recentfunctionsobj.m k sc/CppunitTest_sc_recordchanges.mk sc/CppunitTest_sc_scenariosobj.mk sc/CppunitTest_sc_screenshots.mk sc/CppunitTest_sc_shapeobj.mk sc/CppunitTest_sc_shapetest.mk sc/CppunitTest_sc_sheetlinkobj.mk sc/CppunitTest_sc_sheetlinksobj.mk sc/CppunitTest_sc_sortdescriptorbaseobj.mk sc/CppunitTest_sc_spreadsheet_functions_test.mk sc/CppunitTest_sc_spreadsheetsettings.mk sc/CppunitTest_sc_spreadsheetsettingsobj.mk sc/CppunitTest_sc_statistical_functions_test.mk sc/CppunitTest_sc_stylefamiliesobj.mk sc/CppunitTest_sc_stylefamilyobj.mk sc/CppunitTest_sc_styleloaderobj.mk sc/CppunitTest_sc_styleobj.mk sc/CppunitTest_sc_subsequent_export_test.mk sc/CppunitTest_sc_subsequent_filters_test.mk sc/CppunitTest_sc_subtotaldescriptorbase.mk sc/CppunitTest_sc_subtotaldescriptorbaseobj.mk sc/CppunitTest_sc_subtotalfieldobj.mk sc/CppunitTest_sc_tablecolumnobj.mk sc/CppunitTest_sc_tablecolumnsobj.mk sc/CppunitTest_sc_tableconditionalentryobj.mk sc/CppunitTest_sc_tableconditionalformat.mk sc/CppunitTest_sc_ tableconditionalformatobj.mk sc/CppunitTest_sc_tablerowobj.mk sc/CppunitTest_sc_tablerowsobj.mk sc/CppunitTest_sc_tablesheetobj.mk sc/CppunitTest_sc_tablesheetsobj.mk sc/CppunitTest_sc_tablevalidationobj.mk sc/CppunitTest_sc_tabviewobj.mk sc/CppunitTest_sc_text_functions_test.mk sc/CppunitTest_sc_tiledrendering.mk sc/CppunitTest_sc_ucalc.mk sc/CppunitTest_sc_uicalc.mk sc/CppunitTest_sc_uniquecellformatsenumeration.mk sc/CppunitTest_sc_uniquecellformatsobj.mk sc/CppunitTest_sc_viewpaneobj.mk schema/libreoffice schema/mathml2 schema/odf1.3 sc/inc sc/IwyuFilter_sc.yaml sc/JunitTest_sc_unoapi_5.mk sc/Library_scd.mk sc/Library_scfilt.mk sc/Library_sc.mk sc/Library_scqahelper.mk sc/Library_scui.mk sc/Library_vbaobj.mk sc/Module_sc.mk scp2/AutoInstall.mk scp2/inc scp2/InstallModule_spsupp.mk scp2/InstallScript_setup_osl.mk scp2/macros scp2/Module_scp2.mk scp2/source sc/qa sc/README sc/res scripting/examples scripting/IwyuFilter_scripting.yaml scripting/Jar_HelloWorld.mk scripting/Jar_Highl ight.mk scripting/Jar_MemoryUsage.mk scripting/Jar_ScriptFramework.mk scripting/Jar_ScriptProviderForBeanShell.mk scripting/Jar_ScriptProviderForJava.mk scripting/Jar_ScriptProviderForJavaScript.mk scripting/java scripting/Library_protocolhandler.mk scripting/Package_ScriptsPython.mk scripting/README scripting/source scripting/util sc/sdi sc/source sc/uiconfig sc/UIConfig_scalc.mk sc/UITest_autofilter.mk sc/UITest_calc_dialogs.mk sc/UITest_calc_tests2.mk sc/UITest_calc_tests3.mk sc/UITest_calc_tests4.mk sc/UITest_calc_tests6.mk sc/UITest_calc_tests7.mk sc/UITest_calc_tests8.mk sc/UITest_calc_tests9.mk sc/UITest_calc_tests.mk sc/UITest_chart.mk sc/UITest_conditional_format.mk sc/UITest_function_wizard.mk sc/UITest_goalSeek.mk sc/UITest_hideShowSheet.mk sc/UITest_inputLine.mk sc/UITest_key_f4.mk sc/UITest_manual_tests.mk sc/UITest_options.mk sc/UITest_pageFormat.mk sc/UITest_protect.mk sc/UITest_range_name.mk sc/UITest_sc_options.mk sc/UITest_search_replace.mk sc/UITest_signatureLine. mk sc/UITest_solver.mk sc/UITest_sort.mk sc/UITest_statistics.mk sc/UITest_textCase.mk sc/UITest_validity.mk sc/util sd/CppunitTest_sd_activex_controls_tests.mk sd/CppunitTest_sd_dialogs_test.mk sd/CppunitTest_sd_export_ooxml1.mk sd/CppunitTest_sd_export_ooxml2.mk sd/CppunitTest_sd_export_tests.mk sd/CppunitTest_sd_filter_eppt.mk sd/CppunitTest_sd_filters_test.mk sd/CppunitTest_sd_html_export_tests.mk sd/CppunitTest_sd_import_tests.mk sd/CppunitTest_sd_import_tests_smartart.mk sd/CppunitTest_sd_layout_tests.mk sd/CppunitTest_sd_misc_tests.mk sd/CppunitTest_sd_pdf_import_test.mk sd/CppunitTest_sd_svg_export_tests.mk sd/CppunitTest_sd_tiledrendering.mk sd/CppunitTest_sd_uiimpress.mk sd/CppunitTest_sd_uimpress.mk sdext/CustomTarget_pdfimport.mk sdext/Executable_xpdfimport.mk sdext/inc sdext/IwyuFilter_sdext.yaml sdext/Library_pdfimport.mk sdext/Library_PresentationMinimizer.mk sdext/Library_PresenterScreen.mk sdext/Module_sdext.mk sdext/source sd/inc sd/IwyuFilter_sd.yaml sd/Library_sd d.mk sd/Library_sdfilt.mk sd/Library_sd.mk sd/Library_sdui.mk sd/Module_sd.mk sd/Package_web.mk sd/qa sd/res sd/sdi sd/source sd/uiconfig sd/UIConfig_sdraw.mk sd/UIConfig_simpress.mk sd/UITest_sd_findReplace.mk sd/util sd/workben sd/xml setup_native/Library_reg4allmsdoc.mk setup_native/Library_reg_dlls.mk setup_native/Library_shlxtmsi.mk setup_native/Module_setup_native.mk setup_native/scripts setup_native/source setup_native/StaticLibrary_quickstarter.mk sfx2/classification sfx2/CppunitTest_sfx2_doc.mk sfx2/CppunitTest_sfx2_view.mk sfx2/inc sfx2/IwyuFilter_sfx2.yaml sfx2/Library_sfx.mk sfx2/Module_sfx2.mk sfx2/qa sfx2/sdi sfx2/source sfx2/uiconfig sfx2/UIConfig_sfx.mk sfx2/UITest_sfx2_doc.mk sfx2/util shell/AllLangMoTarget_shell.mk shell/CustomTarget_shlxthdl_res.mk shell/CustomTarget_spsupp_idl.mk shell/CustomTarget_x64.mk shell/Executable_senddoc.mk shell/Executable_spsupp_helper.mk shell/inc shell/IwyuFilter_shell.yaml shell/Library_cmdmail.mk shell/Library_desktopbe.mk shell/Li brary_kde4be.mk shell/Library_kde5be.mk shell/Library_kf5be.mk shell/Library_localebe.mk shell/Library_losessioninstall.mk shell/Library_macbe.mk shell/Library_ooofilt.mk shell/Library_ooofilt_x64.mk shell/Library_propertyhdl.mk shell/Library_propertyhdl_x64.mk shell/Library_recentfile.mk shell/Library_shlxthdl.mk shell/Library_shlxthdl_x64.mk shell/Library_smplmail.mk shell/Library_spsupp.mk shell/Library_spsupp_x64.mk shell/Library_spsupp_x86.mk shell/Library_syssh.mk shell/Library_wininetbe.mk shell/Module_shell.mk shell/Package_senddoc.mk shell/qa shell/README shell/source shell/StaticLibrary_shlxthandler_common.mk shell/StaticLibrary_shlxthandler_common_x64.mk shell/WinResTarget_spsupp_dlg.mk slideshow/CppunitTest_slideshow.mk slideshow/Executable_demoshow.mk slideshow/inc slideshow/IwyuFilter_slideshow.yaml slideshow/Library_slideshow.mk slideshow/manifest.txt slideshow/Module_slideshow.mk slideshow/opengl slideshow/README slideshow/source slideshow/test slideshow/util smokete st/com smoketest/Executable_libtest.mk smoketest/Jar_smoketest.mk smoketest/Jar_TestExtension.mk smoketest/libtest.cxx smoketest/Module_smoketest.mk smoketest/smoketest.cxx solenv/bin solenv/buck solenv/clang-format solenv/CompilerTest_compilerplugins_clang.mk solenv/doc solenv/flatpak-manifest.in solenv/gbuild solenv/gbuildtojson solenv/gcc-wrappers solenv/gdb solenv/inc solenv/maven solenv/qa solenv/README solenv/sanitizers solenv/vs solenv/wsl soltools/cpp soltools/mkdepend sot/inc sot/IwyuFilter_sot.yaml sot/Library_sot.mk sot/qa sot/source starmath/CppunitTest_starmath_qa_cppunit.mk starmath/inc starmath/IwyuFilter_starmath.yaml starmath/Library_smd.mk starmath/Library_sm.mk starmath/qa starmath/sdi starmath/source starmath/uiconfig starmath/util starmath/visual-editor-todo stoc/CppunitTest_stoc_uriproc.mk stoc/IwyuFilter_stoc.yaml stoc/Library_bootstrap.mk stoc/Library_javaloader.mk stoc/Library_javavm.mk stoc/Module_stoc.mk stoc/source stoc/test store/IwyuFilter_store.yaml st ore/source svgio/CppunitTest_svgio.mk svgio/CppunitTest_svgio_read.mk svgio/inc svgio/IwyuFilter_svgio.yaml svgio/Library_svgio.mk svgio/Module_svgio.mk svgio/qa svgio/source svgio/svgio.component svl/CppunitTest_svl_items.mk svl/CppunitTest_svl_lockfiles.mk svl/CppunitTest_svl_qa_cppunit.mk svl/inc svl/IwyuFilter_svl.yaml svl/JunitTest_svl_complex.mk svl/Library_svl.mk svl/Module_svl.mk svl/qa svl/source svl/unx svtools/CppunitTest_svtools_dialogs_test.mk svtools/inc svtools/IwyuFilter_svtools.yaml svtools/langsupport svtools/Library_svt.mk svtools/Module_svtools.mk svtools/qa svtools/README svtools/source svtools/uiconfig svtools/UIConfig_svt.mk svx/CppunitTest_svx_gallery_test.mk svx/CppunitTest_svx_unit.mk svx/Executable_gengal.mk svx/inc svx/IwyuFilter_svx.yaml svx/Library_svxcore.mk svx/Library_svx.mk svx/Library_textconversiondlgs.mk svx/Module_svx.mk svx/qa svx/sdi svx/source svx/uiconfig svx/UIConfig_svx.mk svx/UITest_svx_table.mk svx/util sw/CppunitTest_sw_accessible_relat ion_set.mk sw/CppunitTest_sw_apiterminate.mk sw/CppunitTest_sw_apitests.mk sw/CppunitTest_sw_core_accessibilitycheck.mk sw/CppunitTest_sw_core_crsr.mk sw/CppunitTest_sw_core_doc.mk sw/CppunitTest_sw_core_docnode.mk sw/CppunitTest_sw_core_draw.mk sw/CppunitTest_sw_core_frmedt.mk sw/CppunitTest_sw_core_layout.mk sw/CppunitTest_sw_core_objectpositioning.mk sw/CppunitTest_sw_core_text.mk sw/CppunitTest_sw_core_txtnode.mk sw/CppunitTest_sw_core_undo.mk sw/CppunitTest_sw_core_unocore.mk sw/CppunitTest_sw_dialogs_test_2.mk sw/CppunitTest_sw_dialogs_test.mk sw/CppunitTest_sw_docbookexport.mk sw/CppunitTest_sw_filters_test2.mk sw/CppunitTest_sw_filters_test.mk sw/CppunitTest_sw_fodfexport.mk sw/CppunitTest_sw_globalfilter.mk sw/CppunitTest_sw_htmlexport.mk sw/CppunitTest_sw_htmlimport.mk sw/CppunitTest_sw_layoutwriter.mk sw/CppunitTest_sw_macros_test.mk sw/CppunitTest_sw_mailmerge.mk sw/CppunitTest_sw_odfexport.mk sw/CppunitTest_sw_odfimport.mk sw/CppunitTest_sw_ooxmlencryption.mk sw/Cppunit Test_sw_ooxmlexport13.mk sw/CppunitTest_sw_ooxmlexport14.mk sw/CppunitTest_sw_ooxmlexport15.mk sw/CppunitTest_sw_ooxmlexport16.mk sw/CppunitTest_sw_ooxmlexport4.mk sw/CppunitTest_sw_ooxmlexport5.mk sw/CppunitTest_sw_ooxmlexport8.mk sw/CppunitTest_sw_ooxmlexport_template.mk sw/CppunitTest_sw_ooxmlfieldexport.mk sw/CppunitTest_sw_ooxmlimport2.mk sw/CppunitTest_sw_ooxmlimport.mk sw/CppunitTest_sw_ooxmllinks.mk sw/CppunitTest_sw_ooxmlw14export.mk sw/CppunitTest_sw_rtfexport2.mk sw/CppunitTest_sw_rtfexport3.mk sw/CppunitTest_sw_rtfexport4.mk sw/CppunitTest_sw_rtfexport5.mk sw/CppunitTest_sw_rtfexport.mk sw/CppunitTest_sw_rtfimport.mk sw/CppunitTest_sw_tiledrendering.mk sw/CppunitTest_sw_txtexport.mk sw/CppunitTest_sw_txtimport.mk sw/CppunitTest_sw_uibase_dochdl.mk sw/CppunitTest_sw_uibase_frmdlg.mk sw/CppunitTest_sw_uibase_shells.mk sw/CppunitTest_sw_uibase_uiview.mk sw/CppunitTest_sw_uibase_unit.mk sw/CppunitTest_sw_uibase_uno.mk sw/CppunitTest_sw_uiwriter.mk sw/CppunitTest_sw_unowriter .mk sw/CppunitTest_sw_uwriter.mk sw/CppunitTest_sw_ww8export2.mk sw/CppunitTest_sw_ww8export3.mk sw/CppunitTest_sw_ww8export.mk sw/CppunitTest_sw_ww8import.mk sw/CppunitTest_sw_xhtmlexport.mk sw/CustomTarget_generated.mk swext/Jar_mediawiki.mk swext/mediawiki sw/inc sw/IwyuFilter_sw.yaml sw/Library_msword.mk sw/Library_swd.mk sw/Library_sw.mk sw/Library_swqahelper.mk sw/Library_swui.mk sw/Library_vbaswobj.mk sw/Module_sw.mk sw/ooxmlexport_setup.mk sw/PythonTest_sw_python.mk sw/qa sw/sdi sw/source sw/uiconfig sw/UIConfig_sglobal.mk sw/UIConfig_swform.mk sw/UIConfig_swreport.mk sw/UIConfig_swriter.mk sw/UIConfig_swxform.mk sw/UITest_chapterNumbering.mk sw/UITest_classification.mk sw/UITest_findReplace.mk sw/UITest_librelogo.mk sw/UITest_sw_findBar.mk sw/UITest_sw_findReplace.mk sw/UITest_sw_findSimilarity.mk sw/UITest_sw_navigator.mk sw/UITest_sw_options.mk sw/UITest_sw_styleInspector.mk sw/UITest_sw_table.mk sw/UITest_sw_ui_fmtui.mk sw/UITest_table.mk sw/UITest_writer_dialogs.mk sw/U ITest_writer_macro_tests.mk sw/UITest_writer_tests2.mk sw/UITest_writer_tests3.mk sw/UITest_writer_tests4.mk sw/UITest_writer_tests5.mk sw/UITest_writer_tests6.mk sw/UITest_writer_tests7.mk sw/UITest_writer_tests.mk sw/util sysui/CustomTarget_deb.mk sysui/CustomTarget_infoplist.mk sysui/CustomTarget_rpm.mk sysui/CustomTarget_share.mk sysui/desktop sysui/Package_infoplist.mk sysui/productlist.mk test/CppunitTest_test_xpath.mk test/IwyuFilter_test.yaml test/Library_subsequenttest.mk test/Library_test.mk test/Module_test.mk test/Package_unittest.mk test/qa test/signing-keys test/source testtools/com testtools/CustomTarget_bridgetest_climaker.mk testtools/CustomTarget_bridgetest_javamaker.mk testtools/CustomTarget_bridgetest.mk testtools/Jar_testComponent.mk testtools/qa testtools/source test/user-template toolkit/CppunitTest_toolkit.mk toolkit/inc toolkit/IwyuFilter_toolkit.yaml toolkit/JunitTest_toolkit_complex.mk toolkit/Library_tk.mk toolkit/qa toolkit/source toolkit/test tools/Cppu nitTest_tools_test.mk tools/CustomTarget_reversemap.mk tools/inc tools/IwyuFilter_tools.yaml tools/Library_tl.mk tools/qa tools/source translations ucbhelper/IwyuFilter_ucbhelper.yaml ucbhelper/Library_ucbhelper.mk ucbhelper/source ucb/IwyuFilter_ucb.yaml ucb/Library_cached1.mk ucb/Library_srtrs1.mk ucb/Library_ucb1.mk ucb/Library_ucpcmis1.mk ucb/Library_ucpdav1.mk ucb/Library_ucpexpand1.mk ucb/Library_ucpext.mk ucb/Library_ucpfile1.mk ucb/Library_ucpftp1.mk ucb/Library_ucphier1.mk ucb/Library_ucppkg1.mk ucb/Library_ucptdoc1.mk ucb/qa ucb/README ucb/source udkapi/com udkapi/type_reference uitest/calc_tests uitest/demo_ui uitest/impress_tests uitest/libreoffice uitest/manual_tests uitest/Module_uitest.mk uitest/packaging uitest/test_main.py uitest/ui_logger_dsl uitest/uitest uitest/UITest_calc_demo.mk uitest/UITest_demo_ui.mk uitest/UITest_manual_tests.mk uitest/UITest_writer_demo.mk uitest/writer_tests UnoControls/inc UnoControls/IwyuFilter_UnoControls.yaml UnoControls/Library_ctl.m k UnoControls/source UnoControls/util unodevtools/inc unodevtools/source unoidl/Executable_unoidl-check.mk unoidl/Executable_unoidl-write.mk unoidl/IwyuFilter_unoidl.yaml unoidl/Module_unoidl.mk unoidl/source unoil/CustomTarget_javamaker.mk unoil/Jar_unoil.mk unoil/Module_unoil.mk unoil/pom.unoil.xml unotest/IwyuFilter_unotest.yaml unotest/Jar_test.mk unotest/Jar_test-tools.mk unotest/Module_unotest.mk unotest/source unotools/inc unotools/IwyuFilter_unotools.yaml unotools/Library_utl.mk unotools/qa unotools/source unotools/util unoxml/CppunitTest_unoxml_domtest.mk unoxml/inc unoxml/IwyuFilter_unoxml.yaml unoxml/Library_unordf.mk unoxml/Library_unoxml.mk unoxml/Module_unoxml.mk unoxml/qa unoxml/source ure/source uui/inc uui/IwyuFilter_uui.yaml uui/Library_uui.mk uui/qa uui/source uui/uiconfig uui/util vbahelper/inc vbahelper/IwyuFilter_vbahelper.yaml vbahelper/Library_msforms.mk vbahelper/Library_vbahelper.mk vbahelper/source vbahelper/util vcl/android vcl/backendtest vcl/commonfuzze r.mk vcl/CppunitTest_vcl_app_test.mk vcl/CppunitTest_vcl_backend_test.mk vcl/CppunitTest_vcl_bitmap_render_test.mk vcl/CppunitTest_vcl_bitmap_test.mk vcl/CppunitTest_vcl_complextext.mk vcl/CppunitTest_vcl_filter_igif.mk vcl/CppunitTest_vcl_filter_ipdf.mk vcl/CppunitTest_vcl_fontmetric.mk vcl/CppunitTest_vcl_gen.mk vcl/CppunitTest_vcl_graphic_test.mk vcl/CppunitTest_vcl_jpeg_read_write_test.mk vcl/CppunitTest_vcl_lifecycle.mk vcl/CppunitTest_vcl_outdev.mk vcl/CppunitTest_vcl_pdfexport.mk vcl/CppunitTest_vcl_pdfium_library_test.mk vcl/CppunitTest_vcl_png_test.mk vcl/CppunitTest_vcl_skia.mk vcl/CppunitTest_vcl_svm_test.mk vcl/CppunitTest_vcl_timer.mk vcl/CppunitTest_vcl_type_serializer_test.mk vcl/CppunitTest_vcl_widget_definition_reader_test.mk vcl/CustomTarget_gtk3_kde5_moc.mk vcl/CustomTarget_kde4_moc.mk vcl/CustomTarget_kde5_moc.mk vcl/CustomTarget_kf5_moc.mk vcl/CustomTarget_qt5_moc.mk vcl/Executable_icontest.mk vcl/Executable_lo_kde5filepicker.mk vcl/Executable_mtfdemo.mk vcl/Exe cutable_outdevgrind.mk vcl/Executable_svpclient.mk vcl/Executable_ui-previewer.mk vcl/Executable_vcldemo.mk vcl/Executable_visualbackendtest.mk vcl/Executable_xid_fullscreen_on_all_monitors.mk vcl/headless vcl/inc vcl/ios vcl/IwyuFilter_vcl.yaml vcl/jsdialog vcl/Library_desktop_detector.mk vcl/Library_vcl.mk vcl/Library_vclplug_gen.mk vcl/Library_vclplug_gtk3_kde5.mk vcl/Library_vclplug_gtk3.mk vcl/Library_vclplug_gtk.mk vcl/Library_vclplug_kde4.mk vcl/Library_vclplug_kde5.mk vcl/Library_vclplug_kf5.mk vcl/Library_vclplug_osx.mk vcl/Library_vclplug_qt5.mk vcl/Library_vclplug_win.mk vcl/Module_vcl.mk vcl/opengl vcl/osx vcl/Package_opengl_blacklist.mk vcl/Package_opengl_denylist.mk vcl/Package_opengl.mk vcl/Package_opengl_shader.mk vcl/Package_osxres.mk vcl/Package_skia_denylist.mk vcl/Package_theme_definitions.mk vcl/Package_tipoftheday.mk vcl/Package_toolbarmode.mk vcl/qa vcl/qt5 vcl/quartz vcl/README vcl/README.lifecycle vcl/README.scheduler vcl/README.vars vcl/skia vcl/source vcl/ StaticLibrary_fuzzerstubs.mk vcl/StaticLibrary_glxtest.mk vcl/uiconfig vcl/UIConfig_vcl.mk vcl/unx vcl/vcl.android.component vcl/vcl.common.component vcl/vcl.headless.component vcl/vcl.ios.component vcl/vcl.macosx.component vcl/vclplug_win.component vcl/vcl.unx.component vcl/vcl.windows.component vcl/win vcl/workben winaccessibility/CustomTarget_ia2_idl.mk winaccessibility/inc winaccessibility/Library_uacccom.mk winaccessibility/Library_winaccessibility.mk winaccessibility/Module_winaccessibility.mk winaccessibility/README winaccessibility/source wizards/com wizards/CustomTarget_share.mk wizards/CustomTarget_wizards.mk wizards/Jar_commonwizards.mk wizards/Jar_form.mk wizards/Jar_query.mk wizards/Jar_reportbuilder.mk wizards/Jar_report.mk wizards/Jar_table.mk wizards/Module_wizards.mk wizards/Package_access2base.mk wizards/Package_scriptforge.mk wizards/Package_sfdatabases.mk wizards/Package_sfdialogs.mk wizards/Package_sfdocuments.mk wizards/source writerfilter/CppunitTest_writerfil ter_dmapper.mk writerfilter/CppunitTest_writerfilter_filters_test.mk writerfilter/CppunitTest_writerfilter_rtftok.mk writerfilter/CustomTarget_source.mk writerfilter/documentation writerfilter/inc writerfilter/IwyuFilter_writerfilter.yaml writerfilter/Library_writerfilter.mk writerfilter/Module_writerfilter.mk writerfilter/qa writerfilter/README writerfilter/source writerperfect/CppunitTest_writerperfect_calc.mk writerperfect/CppunitTest_writerperfect_dialogs_test.mk writerperfect/CppunitTest_writerperfect_draw.mk writerperfect/CppunitTest_writerperfect_import.mk writerperfect/CppunitTest_writerperfect_impress.mk writerperfect/CppunitTest_writerperfect_wpftimport.mk writerperfect/CppunitTest_writerperfect_writer.mk writerperfect/inc writerperfect/IwyuFilter_writerperfect.yaml writerperfect/Library_wpftdraw.mk writerperfect/Library_wpftqahelper.mk writerperfect/Library_wpftwriter.mk writerperfect/Module_writerperfect.mk writerperfect/qa writerperfect/source writerperfect/uiconfig xme rge/Jar_XMergeBridge.mk xmerge/Jar_xmerge.mk xmerge/source xmlhelp/IwyuFilter_xmlhelp.yaml xmlhelp/Library_ucpchelp1.mk xmlhelp/source xmlhelp/util xmloff/CppunitTest_xmloff_draw.mk xmloff/CppunitTest_xmloff_style.mk xmloff/CppunitTest_xmloff_text.mk xmloff/dtd xmloff/inc xmloff/IwyuFilter_xmloff.yaml xmloff/Library_xof.mk xmloff/Library_xo.mk xmloff/Module_xmloff.mk xmloff/qa xmloff/source xmloff/util xmlreader/IwyuFilter_xmlreader.yaml xmlreader/source xmlscript/dtd xmlscript/inc xmlscript/IwyuFilter_xmlscript.yaml xmlscript/Library_xmlscript.mk xmlscript/source xmlscript/util xmlsecurity/CppunitTest_xmlsecurity_pdfsigning.mk xmlsecurity/CppunitTest_xmlsecurity_signing.mk xmlsecurity/inc xmlsecurity/IwyuFilter_xmlsecurity.yaml xmlsecurity/Library_xmlsecurity.mk xmlsecurity/Library_xsec_xmlsec.mk xmlsecurity/qa xmlsecurity/source xmlsecurity/test_docs xmlsecurity/uiconfig xmlsecurity/workben

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Fri May 14 14:34:49 UTC 2021


Rebased ref, commits from common ancestor:
commit 20bef4a032c68eed534e22e45d0687eb87f44f1b
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Mar 4 17:22:14 2021 +0000
Commit:     Szymon KÅ‚os <szymon.klos at collabora.com>
CommitDate: Fri May 14 15:54:58 2021 +0200

    remove intermediate containers in sidebars
    
    tested extension sidebars of:
    a) Wollmux extension sidebars
    b) Analog Clock Extension demo
       https://wiki.openoffice.org/wiki/Sidebar_for_Developers#Example:_Analog_Clock_Extension
    
    Change-Id: If9729e20526681928137989f01a8ae733a9b0cb5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112035
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/chart2/source/controller/sidebar/Chart2PanelFactory.cxx b/chart2/source/controller/sidebar/Chart2PanelFactory.cxx
index 3ae73588075c..b5bde521d031 100644
--- a/chart2/source/controller/sidebar/Chart2PanelFactory.cxx
+++ b/chart2/source/controller/sidebar/Chart2PanelFactory.cxx
@@ -20,12 +20,11 @@
 #include "Chart2PanelFactory.hxx"
 
 #include <sfx2/sidebar/SidebarPanelBase.hxx>
-#include <toolkit/helper/vclunohelper.hxx>
-#include <vcl/window.hxx>
 #include <com/sun/star/lang/WrappedTargetRuntimeException.hpp>
 #include <cppuhelper/exc_hlp.hxx>
 #include <comphelper/namedvaluecollection.hxx>
 #include <cppuhelper/supportsservice.hxx>
+#include <vcl/weldutils.hxx>
 
 #include "ChartElementsPanel.hxx"
 #include "ChartTypePanel.hxx"
@@ -62,8 +61,11 @@ Reference<css::ui::XUIElement> SAL_CALL ChartPanelFactory::createUIElement (
         Reference<css::awt::XWindow> xParentWindow (aArguments.getOrDefault("ParentWindow", Reference<css::awt::XWindow>()));
         Reference<css::frame::XController> xController (aArguments.getOrDefault("Controller", Reference<css::frame::XController>()));
 
-        VclPtr<vcl::Window> pParentWindow = VCLUnoHelper::GetWindow(xParentWindow);
-        if ( ! xParentWindow.is() || pParentWindow==nullptr)
+        weld::Widget* pParent(nullptr);
+        if (weld::TransportAsXWindow* pTunnel = dynamic_cast<weld::TransportAsXWindow*>(xParentWindow.get()))
+            pParent = pTunnel->getWidget();
+
+        if (!pParent)
             throw RuntimeException(
                 "PanelFactory::createUIElement called without ParentWindow",
                 nullptr);
@@ -82,35 +84,27 @@ Reference<css::ui::XUIElement> SAL_CALL ChartPanelFactory::createUIElement (
                 "ChartPanelFactory::createUIElement called without valid ChartController",
                 nullptr);
 
-        VclPtr<vcl::Window> pPanel;
+        std::unique_ptr<PanelLayout> xPanel;
         if (rsResourceURL.endsWith("/ElementsPanel"))
-            pPanel = ChartElementsPanel::Create( pParentWindow, xFrame, pController );
+            xPanel = ChartElementsPanel::Create( pParent, pController );
         else if (rsResourceURL.endsWith("/TypePanel"))
-        {
-            //pPanel = ChartTypePanel::Create( pParentWindow, xFrame, pController );
-            VclPtrInstance<ChartTypePanel> ppPanel(pParentWindow, xFrame, pController);
-            xElement = sfx2::sidebar::SidebarPanelBase::Create(
-                rsResourceURL,
-                xFrame,
-                ppPanel,
-                css::ui::LayoutSize(-1,-1,-1));
-        }
+            xPanel = std::make_unique<ChartTypePanel>(pParent, pController);
         else if (rsResourceURL.endsWith("/SeriesPanel"))
-            pPanel = ChartSeriesPanel::Create(pParentWindow, xFrame, pController);
+            xPanel = ChartSeriesPanel::Create(pParent, pController);
         else if (rsResourceURL.endsWith("/AxisPanel"))
-            pPanel = ChartAxisPanel::Create(pParentWindow, xFrame, pController);
+            xPanel = ChartAxisPanel::Create(pParent, pController);
         else if (rsResourceURL.endsWith("/ErrorBarPanel"))
-            pPanel = ChartErrorBarPanel::Create(pParentWindow, xFrame, pController);
+            xPanel = ChartErrorBarPanel::Create(pParent, pController);
         else if (rsResourceURL.endsWith("/AreaPanel"))
-            pPanel = ChartAreaPanel::Create(pParentWindow, xFrame, pController);
+            xPanel = ChartAreaPanel::Create(pParent, xFrame, pController);
         else if (rsResourceURL.endsWith("/LinePanel"))
-            pPanel = ChartLinePanel::Create(pParentWindow, xFrame, pController);
+            xPanel = ChartLinePanel::Create(pParent, xFrame, pController);
 
-        if (pPanel)
+        if (xPanel)
             xElement = sfx2::sidebar::SidebarPanelBase::Create(
                 rsResourceURL,
                 xFrame,
-                pPanel,
+                std::move(xPanel),
                 css::ui::LayoutSize(-1,-1,-1));
     }
     catch (const css::uno::RuntimeException &)
diff --git a/chart2/source/controller/sidebar/ChartAreaPanel.cxx b/chart2/source/controller/sidebar/ChartAreaPanel.cxx
index e1fdc3299e59..36fd21204b62 100644
--- a/chart2/source/controller/sidebar/ChartAreaPanel.cxx
+++ b/chart2/source/controller/sidebar/ChartAreaPanel.cxx
@@ -256,8 +256,8 @@ private:
 
 }
 
-VclPtr<vcl::Window> ChartAreaPanel::Create(
-        vcl::Window* pParent,
+std::unique_ptr<PanelLayout> ChartAreaPanel::Create(
+        weld::Widget* pParent,
         const css::uno::Reference<css::frame::XFrame>& rxFrame,
         ChartController* pController)
 {
@@ -266,11 +266,10 @@ VclPtr<vcl::Window> ChartAreaPanel::Create(
     if (!rxFrame.is())
         throw css::lang::IllegalArgumentException("no XFrame given to ChartAxisPanel::Create", nullptr, 1);
 
-    return VclPtr<ChartAreaPanel>::Create(
-                        pParent, rxFrame, pController);
+    return std::make_unique<ChartAreaPanel>(pParent, rxFrame, pController);
 }
 
-ChartAreaPanel::ChartAreaPanel(vcl::Window* pParent,
+ChartAreaPanel::ChartAreaPanel(weld::Widget* pParent,
         const css::uno::Reference<css::frame::XFrame>& rxFrame,
         ChartController* pController):
     svx::sidebar::AreaPropertyPanelBase(pParent, rxFrame),
@@ -289,11 +288,6 @@ ChartAreaPanel::ChartAreaPanel(vcl::Window* pParent,
 }
 
 ChartAreaPanel::~ChartAreaPanel()
-{
-    disposeOnce();
-}
-
-void ChartAreaPanel::dispose()
 {
     css::uno::Reference<css::util::XModifyBroadcaster> xBroadcaster(mxModel, css::uno::UNO_QUERY_THROW);
     xBroadcaster->removeModifyListener(mxListener);
@@ -301,8 +295,6 @@ void ChartAreaPanel::dispose()
     css::uno::Reference<css::view::XSelectionSupplier> xSelectionSupplier(mxModel->getCurrentController(), css::uno::UNO_QUERY);
     if (xSelectionSupplier.is())
         xSelectionSupplier->removeSelectionChangeListener(mxSelectionListener.get());
-
-    AreaPropertyPanelBase::dispose();
 }
 
 void ChartAreaPanel::Initialize()
diff --git a/chart2/source/controller/sidebar/ChartAreaPanel.hxx b/chart2/source/controller/sidebar/ChartAreaPanel.hxx
index fb9a80e15342..01fb9077a178 100644
--- a/chart2/source/controller/sidebar/ChartAreaPanel.hxx
+++ b/chart2/source/controller/sidebar/ChartAreaPanel.hxx
@@ -37,14 +37,14 @@ class ChartAreaPanel : public svx::sidebar::AreaPropertyPanelBase,
     public ChartSidebarSelectionListenerParent
 {
 public:
-    static VclPtr<vcl::Window> Create(
-        vcl::Window* pParent,
+    static std::unique_ptr<PanelLayout> Create(
+        weld::Widget* pParent,
         const css::uno::Reference<css::frame::XFrame>& rxFrame,
         ChartController* pController);
 
     // constructor/destructor
     ChartAreaPanel(
-        vcl::Window* pParent,
+        weld::Widget* pParent,
         const css::uno::Reference<css::frame::XFrame>& rxFrame,
         ChartController* pController);
 
@@ -63,8 +63,6 @@ public:
 
     virtual void selectionChanged(bool bCorrectType) override;
 
-    virtual void dispose() override;
-
     virtual void updateModel(css::uno::Reference<css::frame::XModel> xModel) override;
 
 private:
diff --git a/chart2/source/controller/sidebar/ChartAxisPanel.cxx b/chart2/source/controller/sidebar/ChartAxisPanel.cxx
index c1d9a4e62871..0574878b8cb2 100644
--- a/chart2/source/controller/sidebar/ChartAxisPanel.cxx
+++ b/chart2/source/controller/sidebar/ChartAxisPanel.cxx
@@ -204,10 +204,9 @@ double getAxisRotation(const css::uno::Reference<css::frame::XModel>& xModel,
 }
 
 ChartAxisPanel::ChartAxisPanel(
-    vcl::Window* pParent,
-    const css::uno::Reference<css::frame::XFrame>& rxFrame,
+    weld::Widget* pParent,
     ChartController* pController)
-    : PanelLayout(pParent, "ChartAxisPanel", "modules/schart/ui/sidebaraxis.ui", rxFrame)
+    : PanelLayout(pParent, "ChartAxisPanel", "modules/schart/ui/sidebaraxis.ui")
     , mxCBShowLabel(m_xBuilder->weld_check_button("checkbutton_show_label"))
     , mxCBReverse(m_xBuilder->weld_check_button("checkbutton_reverse"))
     , mxLBLabelPos(m_xBuilder->weld_combo_box("comboboxtext_label_position"))
@@ -219,16 +218,9 @@ ChartAxisPanel::ChartAxisPanel(
     , mbModelValid(true)
 {
     Initialize();
-
-    m_pInitialFocusWidget = mxCBShowLabel.get();
 }
 
 ChartAxisPanel::~ChartAxisPanel()
-{
-    disposeOnce();
-}
-
-void ChartAxisPanel::dispose()
 {
     css::uno::Reference<css::util::XModifyBroadcaster> xBroadcaster(mxModel, css::uno::UNO_QUERY_THROW);
     xBroadcaster->removeModifyListener(mxModifyListener);
@@ -244,8 +236,6 @@ void ChartAxisPanel::dispose()
     mxGridLabel.reset();
 
     mxNFRotation.reset();
-
-    PanelLayout::dispose();
 }
 
 void ChartAxisPanel::Initialize()
@@ -288,23 +278,18 @@ void ChartAxisPanel::updateData()
     mxNFRotation->set_value(getAxisRotation(mxModel, aCID), FieldUnit::DEGREE);
 }
 
-VclPtr<vcl::Window> ChartAxisPanel::Create (
-    vcl::Window* pParent,
-    const css::uno::Reference<css::frame::XFrame>& rxFrame,
+std::unique_ptr<PanelLayout> ChartAxisPanel::Create (
+    weld::Widget* pParent,
     ChartController* pController)
 {
     if (pParent == nullptr)
         throw lang::IllegalArgumentException("no parent Window given to ChartAxisPanel::Create", nullptr, 0);
-    if ( ! rxFrame.is())
-        throw lang::IllegalArgumentException("no XFrame given to ChartAxisPanel::Create", nullptr, 1);
-
-    return  VclPtr<ChartAxisPanel>::Create(
-                        pParent, rxFrame, pController);
+    return std::make_unique<ChartAxisPanel>(pParent, pController);
 }
 
-void ChartAxisPanel::DataChanged(
-    const DataChangedEvent& )
+void ChartAxisPanel::DataChanged(const DataChangedEvent& rEvent)
 {
+    PanelLayout::DataChanged(rEvent);
     updateData();
 }
 
diff --git a/chart2/source/controller/sidebar/ChartAxisPanel.hxx b/chart2/source/controller/sidebar/ChartAxisPanel.hxx
index f44192a26e15..ab7d87fedf77 100644
--- a/chart2/source/controller/sidebar/ChartAxisPanel.hxx
+++ b/chart2/source/controller/sidebar/ChartAxisPanel.hxx
@@ -14,7 +14,6 @@
 #include <sfx2/sidebar/IContextChangeReceiver.hxx>
 #include <sfx2/sidebar/SidebarModelUpdate.hxx>
 #include <sfx2/sidebar/PanelLayout.hxx>
-
 #include "ChartSidebarModifyListener.hxx"
 #include "ChartSidebarSelectionListener.hxx"
 
@@ -39,9 +38,8 @@ class ChartAxisPanel : public PanelLayout,
     public ChartSidebarSelectionListenerParent
 {
 public:
-    static VclPtr<vcl::Window> Create(
-        vcl::Window* pParent,
-        const css::uno::Reference<css::frame::XFrame>& rxFrame,
+    static std::unique_ptr<PanelLayout> Create(
+        weld::Widget* pParent,
         ChartController* pController);
 
     virtual void DataChanged(
@@ -61,11 +59,9 @@ public:
 
     // constructor/destructor
     ChartAxisPanel(
-        vcl::Window* pParent,
-        const css::uno::Reference<css::frame::XFrame>& rxFrame,
+        weld::Widget* pParent,
         ChartController* pController);
     virtual ~ChartAxisPanel() override;
-    virtual void dispose() override;
 
     virtual void updateData() override;
     virtual void modelInvalid() override;
diff --git a/chart2/source/controller/sidebar/ChartElementsPanel.cxx b/chart2/source/controller/sidebar/ChartElementsPanel.cxx
index b14705cc8080..26567f037029 100644
--- a/chart2/source/controller/sidebar/ChartElementsPanel.cxx
+++ b/chart2/source/controller/sidebar/ChartElementsPanel.cxx
@@ -298,9 +298,8 @@ void setLegendPos(const css::uno::Reference<css::frame::XModel>& xModel, sal_Int
 }
 
 ChartElementsPanel::ChartElementsPanel(
-    vcl::Window* pParent, const css::uno::Reference<css::frame::XFrame>& rxFrame,
-    ChartController* pController)
-    : PanelLayout(pParent, "ChartElementsPanel", "modules/schart/ui/sidebarelements.ui", rxFrame)
+    weld::Widget* pParent, ChartController* pController)
+    : PanelLayout(pParent, "ChartElementsPanel", "modules/schart/ui/sidebarelements.ui")
     , mxCBTitle(m_xBuilder->weld_check_button("checkbutton_title"))
     , mxEditTitle(m_xBuilder->weld_entry("edit_title"))
     , mxCBSubtitle(m_xBuilder->weld_check_button("checkbutton_subtitle"))
@@ -336,16 +335,9 @@ ChartElementsPanel::ChartElementsPanel(
     maTextSubTitle = mxTextSubTitle->get_label();
 
     Initialize();
-
-    m_pInitialFocusWidget = mxCBTitle.get();
 }
 
 ChartElementsPanel::~ChartElementsPanel()
-{
-    disposeOnce();
-}
-
-void ChartElementsPanel::dispose()
 {
     css::uno::Reference<css::util::XModifyBroadcaster> xBroadcaster(mxModel, css::uno::UNO_QUERY_THROW);
     xBroadcaster->removeModifyListener(mxListener);
@@ -378,8 +370,6 @@ void ChartElementsPanel::dispose()
 
     mxTextTitle.reset();
     mxTextSubTitle.reset();
-
-    PanelLayout::dispose();
 }
 
 void ChartElementsPanel::Initialize()
@@ -540,22 +530,18 @@ void ChartElementsPanel::updateData()
     mxLBLegendPosition->set_active(getLegendPos(mxModel));
 }
 
-VclPtr<vcl::Window> ChartElementsPanel::Create (
-    vcl::Window* pParent,
-    const css::uno::Reference<css::frame::XFrame>& rxFrame,
+std::unique_ptr<PanelLayout> ChartElementsPanel::Create (
+    weld::Widget* pParent,
     ChartController* pController)
 {
     if (pParent == nullptr)
         throw lang::IllegalArgumentException("no parent Window given to ChartElementsPanel::Create", nullptr, 0);
-    if ( ! rxFrame.is())
-        throw lang::IllegalArgumentException("no XFrame given to ChartElementsPanel::Create", nullptr, 1);
-    return  VclPtr<ChartElementsPanel>::Create(
-                        pParent, rxFrame, pController);
+    return std::make_unique<ChartElementsPanel>(pParent, pController);
 }
 
-void ChartElementsPanel::DataChanged(
-    const DataChangedEvent& )
+void ChartElementsPanel::DataChanged(const DataChangedEvent& rEvent)
 {
+    PanelLayout::DataChanged(rEvent);
     updateData();
 }
 
diff --git a/chart2/source/controller/sidebar/ChartElementsPanel.hxx b/chart2/source/controller/sidebar/ChartElementsPanel.hxx
index 059e7c4fe122..801b40efdb72 100644
--- a/chart2/source/controller/sidebar/ChartElementsPanel.hxx
+++ b/chart2/source/controller/sidebar/ChartElementsPanel.hxx
@@ -39,9 +39,8 @@ class ChartElementsPanel : public PanelLayout,
     public ChartSidebarModifyListenerParent
 {
 public:
-    static VclPtr<vcl::Window> Create(
-        vcl::Window* pParent,
-        const css::uno::Reference<css::frame::XFrame>& rxFrame,
+    static std::unique_ptr<PanelLayout> Create(
+        weld::Widget* pParent,
         ChartController* pController);
 
     virtual void DataChanged(
@@ -52,14 +51,11 @@ public:
 
     // constructor/destructor
     ChartElementsPanel(
-        vcl::Window* pParent,
-        const css::uno::Reference<css::frame::XFrame>& rxFrame,
+        weld::Widget* pParent,
         ChartController* pController);
 
     virtual ~ChartElementsPanel() override;
 
-    virtual void dispose() override;
-
     virtual void updateData() override;
     virtual void modelInvalid() override;
 
diff --git a/chart2/source/controller/sidebar/ChartErrorBarPanel.cxx b/chart2/source/controller/sidebar/ChartErrorBarPanel.cxx
index b435520c5968..943abdbdd66c 100644
--- a/chart2/source/controller/sidebar/ChartErrorBarPanel.cxx
+++ b/chart2/source/controller/sidebar/ChartErrorBarPanel.cxx
@@ -234,10 +234,8 @@ OUString getCID(const css::uno::Reference<css::frame::XModel>& xModel)
 
 }
 
-ChartErrorBarPanel::ChartErrorBarPanel(
-    vcl::Window* pParent,
-    const css::uno::Reference<css::frame::XFrame>& rxFrame, ChartController* pController)
-    : PanelLayout(pParent, "ChartErrorBarPanel", "modules/schart/ui/sidebarerrorbar.ui", rxFrame)
+ChartErrorBarPanel::ChartErrorBarPanel(weld::Widget* pParent, ChartController* pController)
+    : PanelLayout(pParent, "ChartErrorBarPanel", "modules/schart/ui/sidebarerrorbar.ui")
     , mxRBPosAndNeg(m_xBuilder->weld_radio_button("radiobutton_positive_negative"))
     , mxRBPos(m_xBuilder->weld_radio_button("radiobutton_positive"))
     , mxRBNeg(m_xBuilder->weld_radio_button("radiobutton_negative"))
@@ -249,16 +247,9 @@ ChartErrorBarPanel::ChartErrorBarPanel(
     , mbModelValid(true)
 {
     Initialize();
-
-    m_pInitialFocusWidget = mxRBPosAndNeg.get();
 }
 
 ChartErrorBarPanel::~ChartErrorBarPanel()
-{
-    disposeOnce();
-}
-
-void ChartErrorBarPanel::dispose()
 {
     css::uno::Reference<css::util::XModifyBroadcaster> xBroadcaster(mxModel, css::uno::UNO_QUERY_THROW);
     xBroadcaster->removeModifyListener(mxListener);
@@ -271,8 +262,6 @@ void ChartErrorBarPanel::dispose()
 
     mxMFPos.reset();
     mxMFNeg.reset();
-
-    PanelLayout::dispose();
 }
 
 void ChartErrorBarPanel::Initialize()
@@ -349,23 +338,18 @@ void ChartErrorBarPanel::updateData()
     }
 }
 
-VclPtr<vcl::Window> ChartErrorBarPanel::Create (
-    vcl::Window* pParent,
-    const css::uno::Reference<css::frame::XFrame>& rxFrame,
+std::unique_ptr<PanelLayout> ChartErrorBarPanel::Create (
+    weld::Widget* pParent,
     ChartController* pController)
 {
     if (pParent == nullptr)
         throw lang::IllegalArgumentException("no parent Window given to ChartErrorBarPanel::Create", nullptr, 0);
-    if ( ! rxFrame.is())
-        throw lang::IllegalArgumentException("no XFrame given to ChartErrorBarPanel::Create", nullptr, 1);
-
-    return  VclPtr<ChartErrorBarPanel>::Create(
-                        pParent, rxFrame, pController);
+    return std::make_unique<ChartErrorBarPanel>(pParent, pController);
 }
 
-void ChartErrorBarPanel::DataChanged(
-    const DataChangedEvent& )
+void ChartErrorBarPanel::DataChanged(const DataChangedEvent& rEvent)
 {
+    PanelLayout::DataChanged(rEvent);
     updateData();
 }
 
diff --git a/chart2/source/controller/sidebar/ChartErrorBarPanel.hxx b/chart2/source/controller/sidebar/ChartErrorBarPanel.hxx
index 7111ce83717c..0b95a565bf01 100644
--- a/chart2/source/controller/sidebar/ChartErrorBarPanel.hxx
+++ b/chart2/source/controller/sidebar/ChartErrorBarPanel.hxx
@@ -14,7 +14,6 @@
 #include <sfx2/sidebar/IContextChangeReceiver.hxx>
 #include <sfx2/sidebar/SidebarModelUpdate.hxx>
 #include <sfx2/sidebar/PanelLayout.hxx>
-
 #include "ChartSidebarModifyListener.hxx"
 
 namespace com::sun::star::util { class XModifyListener; }
@@ -32,9 +31,8 @@ class ChartErrorBarPanel : public PanelLayout,
     public ChartSidebarModifyListenerParent
 {
 public:
-    static VclPtr<vcl::Window> Create(
-        vcl::Window* pParent,
-        const css::uno::Reference<css::frame::XFrame>& rxFrame,
+    static std::unique_ptr<PanelLayout> Create(
+        weld::Widget* pParent,
         ChartController* pController);
 
     virtual void DataChanged(
@@ -54,11 +52,9 @@ public:
 
     // constructor/destructor
     ChartErrorBarPanel(
-        vcl::Window* pParent,
-        const css::uno::Reference<css::frame::XFrame>& rxFrame,
+        weld::Widget* pParent,
         ChartController* pController);
     virtual ~ChartErrorBarPanel() override;
-    virtual void dispose() override;
 
     virtual void updateData() override;
     virtual void modelInvalid() override;
diff --git a/chart2/source/controller/sidebar/ChartLinePanel.cxx b/chart2/source/controller/sidebar/ChartLinePanel.cxx
index 019b022bd1a3..e9603138a341 100644
--- a/chart2/source/controller/sidebar/ChartLinePanel.cxx
+++ b/chart2/source/controller/sidebar/ChartLinePanel.cxx
@@ -107,8 +107,8 @@ private:
 
 }
 
-VclPtr<vcl::Window> ChartLinePanel::Create(
-        vcl::Window* pParent,
+std::unique_ptr<PanelLayout> ChartLinePanel::Create(
+        weld::Widget* pParent,
         const css::uno::Reference<css::frame::XFrame>& rxFrame,
         ChartController* pController)
 {
@@ -117,11 +117,10 @@ VclPtr<vcl::Window> ChartLinePanel::Create(
     if (!rxFrame.is())
         throw css::lang::IllegalArgumentException("no XFrame given to ChartAxisPanel::Create", nullptr, 1);
 
-    return VclPtr<ChartLinePanel>::Create(
-                        pParent, rxFrame, pController);
+    return std::make_unique<ChartLinePanel>(pParent, rxFrame, pController);
 }
 
-ChartLinePanel::ChartLinePanel(vcl::Window* pParent,
+ChartLinePanel::ChartLinePanel(weld::Widget* pParent,
         const css::uno::Reference<css::frame::XFrame>& rxFrame,
         ChartController* pController):
     svx::sidebar::LinePropertyPanelBase(pParent, rxFrame),
@@ -143,11 +142,6 @@ ChartLinePanel::ChartLinePanel(vcl::Window* pParent,
 }
 
 ChartLinePanel::~ChartLinePanel()
-{
-    disposeOnce();
-}
-
-void ChartLinePanel::dispose()
 {
     css::uno::Reference<css::util::XModifyBroadcaster> xBroadcaster(mxModel, css::uno::UNO_QUERY_THROW);
     xBroadcaster->removeModifyListener(mxListener);
@@ -155,8 +149,6 @@ void ChartLinePanel::dispose()
     css::uno::Reference<css::view::XSelectionSupplier> xSelectionSupplier(mxModel->getCurrentController(), css::uno::UNO_QUERY);
     if (xSelectionSupplier.is())
         xSelectionSupplier->removeSelectionChangeListener(mxSelectionListener.get());
-
-    LinePropertyPanelBase::dispose();
 }
 
 void ChartLinePanel::Initialize()
diff --git a/chart2/source/controller/sidebar/ChartLinePanel.hxx b/chart2/source/controller/sidebar/ChartLinePanel.hxx
index ef174a5ee3a9..b46452467fec 100644
--- a/chart2/source/controller/sidebar/ChartLinePanel.hxx
+++ b/chart2/source/controller/sidebar/ChartLinePanel.hxx
@@ -37,14 +37,14 @@ class ChartLinePanel : public svx::sidebar::LinePropertyPanelBase,
     public ChartSidebarSelectionListenerParent
 {
 public:
-    static VclPtr<vcl::Window> Create(
-        vcl::Window* pParent,
+    static std::unique_ptr<PanelLayout> Create(
+        weld::Widget* pParent,
         const css::uno::Reference<css::frame::XFrame>& rxFrame,
         ChartController* pController);
 
     // constructor/destructor
     ChartLinePanel(
-        vcl::Window* pParent,
+        weld::Widget* pParent,
         const css::uno::Reference<css::frame::XFrame>& rxFrame,
         ChartController* pController);
 
@@ -55,8 +55,6 @@ public:
 
     virtual void selectionChanged(bool bCorrectType) override;
 
-    virtual void dispose() override;
-
     virtual void updateModel(css::uno::Reference<css::frame::XModel> xModel) override;
 
     virtual void setLineWidth(const XLineWidthItem& rItem) override;
diff --git a/chart2/source/controller/sidebar/ChartSeriesPanel.cxx b/chart2/source/controller/sidebar/ChartSeriesPanel.cxx
index 727aabbc2458..03e16396daff 100644
--- a/chart2/source/controller/sidebar/ChartSeriesPanel.cxx
+++ b/chart2/source/controller/sidebar/ChartSeriesPanel.cxx
@@ -277,10 +277,9 @@ OUString getCID(const css::uno::Reference<css::frame::XModel>& xModel)
 }
 
 ChartSeriesPanel::ChartSeriesPanel(
-    vcl::Window* pParent,
-    const css::uno::Reference<css::frame::XFrame>& rxFrame,
+    weld::Widget* pParent,
     ChartController* pController)
-    : PanelLayout(pParent, "ChartSeriesPanel", "modules/schart/ui/sidebarseries.ui", rxFrame)
+    : PanelLayout(pParent, "ChartSeriesPanel", "modules/schart/ui/sidebarseries.ui")
     , mxCBLabel(m_xBuilder->weld_check_button("checkbutton_label"))
     , mxCBTrendline(m_xBuilder->weld_check_button("checkbutton_trendline"))
     , mxCBXError(m_xBuilder->weld_check_button("checkbutton_x_error"))
@@ -297,16 +296,9 @@ ChartSeriesPanel::ChartSeriesPanel(
     , mbModelValid(true)
 {
     Initialize();
-
-    m_pInitialFocusWidget = mxCBLabel.get();
 }
 
 ChartSeriesPanel::~ChartSeriesPanel()
-{
-    disposeOnce();
-}
-
-void ChartSeriesPanel::dispose()
 {
     css::uno::Reference<css::util::XModifyBroadcaster> xBroadcaster(mxModel, css::uno::UNO_QUERY_THROW);
     xBroadcaster->removeModifyListener(mxListener);
@@ -327,8 +319,6 @@ void ChartSeriesPanel::dispose()
 
     mxFTSeriesName.reset();
     mxFTSeriesTemplate.reset();
-
-    PanelLayout::dispose();
 }
 
 void ChartSeriesPanel::Initialize()
@@ -385,23 +375,19 @@ void ChartSeriesPanel::updateData()
     mxFTSeriesName->set_label(aFrameLabel);
 }
 
-VclPtr<vcl::Window> ChartSeriesPanel::Create (
-    vcl::Window* pParent,
-    const css::uno::Reference<css::frame::XFrame>& rxFrame,
+std::unique_ptr<PanelLayout> ChartSeriesPanel::Create (
+    weld::Widget* pParent,
     ChartController* pController)
 {
     if (pParent == nullptr)
         throw lang::IllegalArgumentException("no parent Window given to ChartSeriesPanel::Create", nullptr, 0);
-    if ( ! rxFrame.is())
-        throw lang::IllegalArgumentException("no XFrame given to ChartSeriesPanel::Create", nullptr, 1);
 
-    return  VclPtr<ChartSeriesPanel>::Create(
-                        pParent, rxFrame, pController);
+    return std::make_unique<ChartSeriesPanel>(pParent, pController);
 }
 
-void ChartSeriesPanel::DataChanged(
-    const DataChangedEvent& )
+void ChartSeriesPanel::DataChanged(const DataChangedEvent& rEvent)
 {
+    PanelLayout::DataChanged(rEvent);
     updateData();
 }
 
diff --git a/chart2/source/controller/sidebar/ChartSeriesPanel.hxx b/chart2/source/controller/sidebar/ChartSeriesPanel.hxx
index 72be7b208b9b..2844051001fe 100644
--- a/chart2/source/controller/sidebar/ChartSeriesPanel.hxx
+++ b/chart2/source/controller/sidebar/ChartSeriesPanel.hxx
@@ -43,9 +43,8 @@ class ChartSeriesPanel : public PanelLayout,
     public ChartSidebarSelectionListenerParent
 {
 public:
-    static VclPtr<vcl::Window> Create(
-        vcl::Window* pParent,
-        const css::uno::Reference<css::frame::XFrame>& rxFrame,
+    static std::unique_ptr<PanelLayout> Create(
+        weld::Widget* pParent,
         ChartController* pController);
 
     virtual void DataChanged(
@@ -65,11 +64,9 @@ public:
 
     // constructor/destructor
     ChartSeriesPanel(
-        vcl::Window* pParent,
-        const css::uno::Reference<css::frame::XFrame>& rxFrame,
+        weld::Widget* pParent,
         ChartController* pController);
     virtual ~ChartSeriesPanel() override;
-    virtual void dispose() override;
 
     virtual void updateData() override;
     virtual void modelInvalid() override;
diff --git a/chart2/source/controller/sidebar/ChartTypePanel.cxx b/chart2/source/controller/sidebar/ChartTypePanel.cxx
index a0e38bdb393a..66ffaa97c819 100644
--- a/chart2/source/controller/sidebar/ChartTypePanel.cxx
+++ b/chart2/source/controller/sidebar/ChartTypePanel.cxx
@@ -39,10 +39,8 @@ using namespace css::uno;
 
 namespace chart::sidebar
 {
-ChartTypePanel::ChartTypePanel(vcl::Window* pParent,
-                               const css::uno::Reference<css::frame::XFrame>& rxFrame,
-                               ::chart::ChartController* pController)
-    : PanelLayout(pParent, "ChartTypePanel", "modules/schart/ui/sidebartype.ui", rxFrame)
+ChartTypePanel::ChartTypePanel(weld::Widget* pParent, ::chart::ChartController* pController)
+    : PanelLayout(pParent, "ChartTypePanel", "modules/schart/ui/sidebartype.ui")
     , maContext()
     , mxModel(pController->getModel())
     , mxListener(new ChartSidebarModifyListener(this))
@@ -119,13 +117,9 @@ ChartTypePanel::ChartTypePanel(vcl::Window* pParent,
     m_pSortByXValuesResourceGroup->setChangeListener(this);
 
     Initialize();
-
-    m_pInitialFocusWidget = m_xMainTypeList.get();
 }
 
-ChartTypePanel::~ChartTypePanel() { disposeOnce(); }
-
-void ChartTypePanel::dispose()
+ChartTypePanel::~ChartTypePanel()
 {
     css::uno::Reference<css::util::XModifyBroadcaster> xBroadcaster(mxModel,
                                                                     css::uno::UNO_QUERY_THROW);
@@ -146,8 +140,6 @@ void ChartTypePanel::dispose()
     m_xSubTypeListWin.reset();
     m_xSubTypeList.reset();
     m_xMainTypeList.reset();
-
-    PanelLayout::dispose();
 }
 
 IMPL_LINK_NOARG(ChartTypePanel, SelectMainTypeHdl, weld::ComboBox&, void) { selectMainType(); }
@@ -251,7 +243,11 @@ void ChartTypePanel::updateData()
     }
 }
 
-void ChartTypePanel::DataChanged(const DataChangedEvent&) { updateData(); }
+void ChartTypePanel::DataChanged(const DataChangedEvent& rEvent)
+{
+    PanelLayout::DataChanged(rEvent);
+    updateData();
+}
 
 void ChartTypePanel::HandleContextChange(const vcl::EnumContext& rContext)
 {
diff --git a/chart2/source/controller/sidebar/ChartTypePanel.hxx b/chart2/source/controller/sidebar/ChartTypePanel.hxx
index 7c4e27246ca3..6a9036ebaa02 100644
--- a/chart2/source/controller/sidebar/ChartTypePanel.hxx
+++ b/chart2/source/controller/sidebar/ChartTypePanel.hxx
@@ -62,13 +62,10 @@ public:
     virtual void HandleContextChange(const vcl::EnumContext& rContext) override;
 
     // constructor/destructor
-    ChartTypePanel(vcl::Window* pParent, const css::uno::Reference<css::frame::XFrame>& rxFrame,
-                   ::chart::ChartController* pController);
+    ChartTypePanel(weld::Widget* pParent, ::chart::ChartController* pController);
 
     virtual ~ChartTypePanel() override;
 
-    virtual void dispose() override;
-
     virtual void updateData() override;
     virtual void modelInvalid() override;
 
diff --git a/comphelper/source/misc/configuration.cxx b/comphelper/source/misc/configuration.cxx
index a4041de4bb54..b835f4f156e2 100644
--- a/comphelper/source/misc/configuration.cxx
+++ b/comphelper/source/misc/configuration.cxx
@@ -230,6 +230,7 @@ void comphelper::ConfigurationListener::dispose()
         listener->dispose();
     }
     maListeners.clear();
+    mbDisposed = true;
 }
 
 void SAL_CALL comphelper::ConfigurationListener::disposing(css::lang::EventObject const &)
diff --git a/include/comphelper/configurationlistener.hxx b/include/comphelper/configurationlistener.hxx
index 29a2b578b588..bc7994a12c3a 100644
--- a/include/comphelper/configurationlistener.hxx
+++ b/include/comphelper/configurationlistener.hxx
@@ -64,6 +64,7 @@ class COMPHELPER_DLLPUBLIC ConfigurationListener :
 {
     css::uno::Reference< css::beans::XPropertySet > mxConfig;
     std::vector< ConfigurationListenerPropertyBase * > maListeners;
+    bool mbDisposed;
 public:
     /// Public health warning, you -must- dispose this if you use it.
     ConfigurationListener(const OUString &rPath,
@@ -71,6 +72,7 @@ public:
                           const & xContext = comphelper::getProcessComponentContext())
         : mxConfig( ConfigurationHelper::openConfig( xContext, rPath, EConfigurationModes::ReadOnly ),
                     css::uno::UNO_QUERY_THROW )
+        , mbDisposed(false)
     { }
 
     virtual ~ConfigurationListener() override
@@ -93,6 +95,8 @@ public:
     /// Notify of the property change
     virtual void SAL_CALL propertyChange(
         css::beans::PropertyChangeEvent const &rEvt ) override;
+
+    bool isDisposed() const { return mbDisposed; }
 };
 
 template< typename uno_type > ConfigurationListenerProperty< uno_type >::ConfigurationListenerProperty(const rtl::Reference< ConfigurationListener > &xListener, const OUString &rProp )
diff --git a/include/sfx2/navigat.hxx b/include/sfx2/navigat.hxx
index f5fc9acb3fd7..f26321d658c3 100644
--- a/include/sfx2/navigat.hxx
+++ b/include/sfx2/navigat.hxx
@@ -39,8 +39,6 @@ class SFX2_DLLPUBLIC SfxNavigator : public SfxDockingWindow
 public:
     SfxNavigator(SfxBindings* pBindings, SfxChildWindow* pChildWin,
                  vcl::Window* pParent);
-
-    virtual void Resize() override;
 };
 
 #endif
diff --git a/include/sfx2/sidebar/Panel.hxx b/include/sfx2/sidebar/Panel.hxx
index b41d0acc7f03..9835ccd8207a 100644
--- a/include/sfx2/sidebar/Panel.hxx
+++ b/include/sfx2/sidebar/Panel.hxx
@@ -89,6 +89,7 @@ public:
 private:
     const OUString msPanelId;
     const bool mbIsTitleBarOptional;
+    const bool mbWantsAWT;
     css::uno::Reference<css::ui::XUIElement> mxElement;
     css::uno::Reference<css::ui::XSidebarPanel> mxPanelComponent;
     bool mbIsExpanded;
@@ -98,7 +99,7 @@ private:
     const css::uno::Reference<css::frame::XFrame>& mxFrame;
     std::unique_ptr<PanelTitleBar> mxTitleBar;
     std::unique_ptr<weld::Container> mxContents;
-    css::uno::Reference<css::awt::XWindow> mxAwtXWindow;
+    css::uno::Reference<css::awt::XWindow> mxXWindow;
 };
 typedef std::vector<VclPtr<Panel>> SharedPanelContainer;
 
diff --git a/include/sfx2/sidebar/PanelLayout.hxx b/include/sfx2/sidebar/PanelLayout.hxx
index 0e9e56875ff1..b03ebf97bb22 100644
--- a/include/sfx2/sidebar/PanelLayout.hxx
+++ b/include/sfx2/sidebar/PanelLayout.hxx
@@ -10,41 +10,43 @@
 #pragma once
 
 #include <sfx2/dllapi.h>
-
-#include <vcl/ctrl.hxx>
-#include <vcl/timer.hxx>
-#include <vcl/idle.hxx>
 #include <vcl/weld.hxx>
 
-#include <com/sun/star/frame/XFrame.hpp>
+class DataChangedEvent;
+class VclSimpleEvent;
+namespace sfx2 { namespace sidebar { class Panel; } }
+namespace tools { class JsonWriter; }
 
 /// This class is the base for the Widget Layout-based sidebar panels.
-class SFX2_DLLPUBLIC PanelLayout : public Control
+class SFX2_DLLPUBLIC PanelLayout
 {
 protected:
+    VclPtr<sfx2::sidebar::Panel> m_xPanel;
     std::unique_ptr<weld::Builder> m_xBuilder;
-    VclPtr<vcl::Window> m_xVclContentArea;
     std::unique_ptr<weld::Container> m_xContainer;
-    weld::Widget* m_pInitialFocusWidget;
 
-private:
-    Idle m_aPanelLayoutIdle;
-    bool m_bInClose;
-    css::uno::Reference<css::frame::XFrame> mxFrame;
+    virtual void DataChanged(const DataChangedEvent& rEvent);
+    virtual void DumpAsPropertyTree(tools::JsonWriter&);
 
-    DECL_DLLPRIVATE_LINK(ImplHandlePanelLayoutTimerHdl, Timer*, void);
+    virtual weld::Window* GetFrameWeld() const;
+
+private:
+    DECL_LINK(DataChangedEventListener, VclSimpleEvent&, void);
+    DECL_LINK(DumpAsPropertyTreeHdl, tools::JsonWriter&, void);
 
 public:
-    PanelLayout(vcl::Window* pParent, const OString& rID, const OUString& rUIXMLDescription,
-                const css::uno::Reference<css::frame::XFrame> &rFrame);
-    virtual ~PanelLayout() override;
-    virtual void dispose() override;
-
-    virtual Size GetOptimalSize() const override;
-    virtual void GetFocus() override;
-    virtual void setPosSizePixel(tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, PosSizeFlags nFlags = PosSizeFlags::All) override;
-    virtual void queue_resize(StateChangedType eReason = StateChangedType::Layout) override;
-    virtual bool EventNotify(NotifyEvent& rNEvt) override;
+    PanelLayout(weld::Widget* pParent, const OString& rID, const OUString& rUIXMLDescription);
+
+    void SetPanel(sfx2::sidebar::Panel* pPanel);
+
+    virtual ~PanelLayout();
+
+    Size get_preferred_size() const
+    {
+        return m_xContainer->get_preferred_size();
+    }
+
+    void queue_resize();
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/sfx2/sidebar/SidebarPanelBase.hxx b/include/sfx2/sidebar/SidebarPanelBase.hxx
index 015406771c4f..971e286ca74f 100644
--- a/include/sfx2/sidebar/SidebarPanelBase.hxx
+++ b/include/sfx2/sidebar/SidebarPanelBase.hxx
@@ -29,13 +29,12 @@
 #include <com/sun/star/ui/XSidebarPanel.hpp>
 #include <com/sun/star/ui/XUpdateModel.hpp>
 
-#include <vcl/vclptr.hxx>
-
-
-namespace vcl { class Window; }
+class PanelLayout;
 
 namespace sfx2::sidebar {
 
+class Panel;
+
 typedef cppu::WeakComponentImplHelper<css::ui::XContextChangeEventListener,
                                        css::ui::XUIElement,
                                        css::ui::XToolPanel,
@@ -52,7 +51,7 @@ class SFX2_DLLPUBLIC SidebarPanelBase final : private ::cppu::BaseMutex,
 public:
     static css::uno::Reference<css::ui::XUIElement> Create(const OUString& rsResourceURL,
                                                            const css::uno::Reference<css::frame::XFrame>& rxFrame,
-                                                           vcl::Window* pControl,
+                                                           std::unique_ptr<PanelLayout> xControl,
                                                            const css::ui::LayoutSize& rLayoutSize);
 
     // XContextChangeEventListener
@@ -79,9 +78,11 @@ public:
     // XUpdateModel
     virtual void SAL_CALL updateModel(const css::uno::Reference<css::frame::XModel>& xModel) override;
 
+    void SetParentPanel(sfx2::sidebar::Panel* pPanel);
+
 private:
     SidebarPanelBase(const OUString& rsResourceURL, const css::uno::Reference<css::frame::XFrame>& rxFrame,
-                     vcl::Window* pWindow, const css::ui::LayoutSize& rLayoutSize);
+                     std::unique_ptr<PanelLayout> xControl, const css::ui::LayoutSize& rLayoutSize);
     virtual ~SidebarPanelBase() override;
     SidebarPanelBase(const SidebarPanelBase&) = delete;
     SidebarPanelBase& operator=( const SidebarPanelBase& ) = delete;
@@ -89,7 +90,7 @@ private:
     virtual void SAL_CALL disposing() override;
 
     css::uno::Reference<css::frame::XFrame> mxFrame;
-    VclPtr<vcl::Window> mpControl;
+    std::unique_ptr<PanelLayout> mxControl;
     const OUString msResourceURL;
     const css::ui::LayoutSize maLayoutSize;
 };
diff --git a/include/sfx2/templdlg.hxx b/include/sfx2/templdlg.hxx
index 81febcf7f01f..5dd5b8b6b178 100644
--- a/include/sfx2/templdlg.hxx
+++ b/include/sfx2/templdlg.hxx
@@ -31,9 +31,8 @@ class SfxTemplateDialog_Impl;
 class UNLESS_MERGELIBS(SFX2_DLLPUBLIC) SfxTemplatePanelControl final : public PanelLayout
 {
 public:
-    SfxTemplatePanelControl(SfxBindings* pBindings, vcl::Window* pParentWindow);
+    SfxTemplatePanelControl(SfxBindings* pBindings, weld::Widget* pParent);
     virtual ~SfxTemplatePanelControl() override;
-    virtual void dispose() override;
 
     weld::Builder* get_builder() { return m_xBuilder.get(); }
     weld::Container* get_container() { return m_xContainer.get(); }
diff --git a/include/svx/sidebar/AreaPropertyPanelBase.hxx b/include/svx/sidebar/AreaPropertyPanelBase.hxx
index a3103b6c04c2..434a6397d4e2 100644
--- a/include/svx/sidebar/AreaPropertyPanelBase.hxx
+++ b/include/svx/sidebar/AreaPropertyPanelBase.hxx
@@ -51,11 +51,6 @@ class SVX_DLLPUBLIC AreaPropertyPanelBase
 {
 public:
 
-    virtual void dispose() override;
-
-    virtual void DataChanged(
-        const DataChangedEvent& rEvent) override;
-
     virtual void NotifyItemUpdate(
         const sal_uInt16 nSId,
         const SfxItemState eState,
@@ -78,7 +73,7 @@ public:
 
     // constructor/destructor
     AreaPropertyPanelBase(
-        vcl::Window* pParent,
+        weld::Widget* pParent,
         const css::uno::Reference<css::frame::XFrame>& rxFrame);
 
     virtual ~AreaPropertyPanelBase() override;
@@ -148,8 +143,6 @@ protected:
     OUString maImgSquare;
     OUString  maImgLinear;
 
-    VclPtr<sfx2::sidebar::Panel>                    mpPanel;
-
     std::unique_ptr< XFillFloatTransparenceItem >   mpFloatTransparenceItem;
     std::unique_ptr< SfxUInt16Item >                mpTransparanceItem;
 
diff --git a/include/svx/sidebar/InspectorTextPanel.hxx b/include/svx/sidebar/InspectorTextPanel.hxx
index 10ddf932fe06..ce4eecf8ad64 100644
--- a/include/svx/sidebar/InspectorTextPanel.hxx
+++ b/include/svx/sidebar/InspectorTextPanel.hxx
@@ -45,13 +45,10 @@ class SVX_DLLPUBLIC InspectorTextPanel : public PanelLayout
 {
 public:
     virtual ~InspectorTextPanel() override;
-    virtual void dispose() override;
 
-    static VclPtr<vcl::Window> Create(vcl::Window* pParent,
-                                      const css::uno::Reference<css::frame::XFrame>& rxFrame);
+    static std::unique_ptr<PanelLayout> Create(weld::Widget* pParent);
 
-    InspectorTextPanel(vcl::Window* pParent,
-                       const css::uno::Reference<css::frame::XFrame>& rxFrame);
+    InspectorTextPanel(weld::Widget* pParent);
 
     void updateEntries(const std::vector<TreeNode>& rStore);
 
diff --git a/include/svx/sidebar/LinePropertyPanelBase.hxx b/include/svx/sidebar/LinePropertyPanelBase.hxx
index 52411be57d2c..34668f486061 100644
--- a/include/svx/sidebar/LinePropertyPanelBase.hxx
+++ b/include/svx/sidebar/LinePropertyPanelBase.hxx
@@ -25,6 +25,7 @@
 #include <sfx2/sidebar/PanelLayout.hxx>
 #include <svx/sidebar/LineWidthPopup.hxx>
 #include <svx/svxdllapi.h>
+#include <com/sun/star/frame/XFrame.hpp>
 
 class ToolbarUnoDispatcher;
 class XLineStyleItem;
@@ -46,7 +47,6 @@ class SVX_DLLPUBLIC LinePropertyPanelBase : public PanelLayout
 {
 public:
     virtual ~LinePropertyPanelBase() override;
-    virtual void dispose() override;
 
     void SetWidth(tools::Long nWidth);
     void SetWidthIcon(int n);
@@ -55,7 +55,7 @@ public:
     void EndLineWidthPopup();
 
     // constructor/destructor
-    LinePropertyPanelBase(vcl::Window* pParent,
+    LinePropertyPanelBase(weld::Widget* pParent,
                           const css::uno::Reference<css::frame::XFrame>& rxFrame);
 
     virtual void setLineWidth(const XLineWidthItem& rItem) = 0;
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
index a9874f256608..f95ea703a464 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
@@ -348,6 +348,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="TextPropertyPanel" oor:op="replace">
@@ -393,6 +396,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>120</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="InspectorTextPanel" oor:op="replace">
@@ -419,6 +425,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="MediaPlaybackPanel" oor:op="replace">
@@ -442,6 +451,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="PageStylesPanel" oor:op="replace">
@@ -468,6 +480,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>200</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="PageFormatPanel" oor:op="replace">
@@ -494,6 +509,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="PageHeaderPanel" oor:op="replace">
@@ -520,6 +538,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>400</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="PageFooterPanel" oor:op="replace">
@@ -546,6 +567,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>500</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="AreaPropertyPanel" oor:op="replace">
@@ -585,6 +609,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>300</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="EffectPropertyPanel" oor:op="replace">
@@ -611,6 +638,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>300</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="ShadowPropertyPanel" oor:op="replace">
@@ -645,6 +675,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>300</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="LinePropertyPanel" oor:op="replace">
@@ -684,6 +717,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>400</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="GalleryPanel" oor:op="replace">
@@ -710,6 +746,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="PosSizePropertyPanel" oor:op="replace">
@@ -760,6 +799,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>500</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="FontworkPropertyPanel" oor:op="replace">
@@ -810,6 +852,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>300</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="DefaultShapesPanel" oor:op="replace">
@@ -833,6 +878,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="SlideBackgroundPanel" oor:op="replace">
@@ -864,7 +912,11 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
+
       <node oor:name="SdLayoutsPanel" oor:op="replace">
         <prop oor:name="Title" oor:type="xs:string">
           <value xml:lang="en-US">Layouts</value>
@@ -893,7 +945,11 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>200</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
+
       <node oor:name="SdUsedMasterPagesPanel" oor:op="replace">
         <prop oor:name="Title" oor:type="xs:string">
           <value xml:lang="en-US">Used in This Presentation</value>
@@ -918,6 +974,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="SdRecentMasterPagesPanel" oor:op="replace">
@@ -944,6 +1003,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>200</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="SdAllMasterPagesPanel" oor:op="replace">
@@ -970,6 +1032,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>300</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="SdCustomAnimationPanel" oor:op="replace">
@@ -996,6 +1061,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="SdSlideTransitionPanel" oor:op="replace">
@@ -1022,6 +1090,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="SdTableDesignPanel" oor:op="replace">
@@ -1048,6 +1119,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>300</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="EmptyPanel" oor:op="replace">
@@ -1074,6 +1148,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="ScAlignmentPropertyPanel" oor:op="replace">
@@ -1104,6 +1181,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>200</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="ScCellAppearancePropertyPanel" oor:op="replace">
@@ -1134,6 +1214,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>300</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="ScNumberFormatPropertyPanel" oor:op="replace">
@@ -1164,6 +1247,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>150</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="ParaPropertyPanel" oor:op="replace">
@@ -1204,6 +1290,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>200</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="ListsPropertyPanel" oor:op="replace">
@@ -1232,6 +1321,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>120</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="SwWrapPropertyPanel" oor:op="replace">
@@ -1264,6 +1356,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>500</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="SwNavigatorPanel" oor:op="replace">
@@ -1293,6 +1388,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="ScNavigatorPanel" oor:op="replace">
@@ -1322,6 +1420,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="SdNavigatorPanel" oor:op="replace">
@@ -1351,6 +1452,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="SwManageChangesPanel" oor:op="replace">
@@ -1380,6 +1484,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="StyleListPanel" oor:op="replace">
@@ -1406,6 +1513,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="ScFunctionsPanel" oor:op="replace">
@@ -1432,7 +1542,11 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
+
       <node oor:name="SwStylePresetsPanel" oor:op="replace">
         <prop oor:name="Title" oor:type="xs:string">
           <value xml:lang="en-US">Style Presets</value>
@@ -1457,6 +1571,9 @@
         <prop oor:name="IsExperimental" oor:type="xs:boolean">
           <value>true</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="SwThemePanel" oor:op="replace">
@@ -1483,6 +1600,9 @@
         <prop oor:name="IsExperimental" oor:type="xs:boolean">
           <value>true</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="ChartElementsPanel" oor:op="replace">
@@ -1506,6 +1626,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>1</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="ChartSeriesPanel" oor:op="replace">
@@ -1532,6 +1655,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>2</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="ChartTrendlinePanel" oor:op="replace">
@@ -1581,6 +1707,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>4</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="ChartAxisPanel" oor:op="replace">
@@ -1607,6 +1736,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>5</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="ChartAreaPanel" oor:op="replace">
@@ -1634,6 +1766,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>6</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="ChartLinePanel" oor:op="replace">
@@ -1665,6 +1800,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>7</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="TableEditPanel" oor:op="replace">
@@ -1694,6 +1832,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>300</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
 
       <node oor:name="ChartTypePanel" oor:op="replace">
@@ -1717,7 +1858,11 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>0</value>
         </prop>
+        <prop oor:name="WantsAWT" oor:type="xs:boolean">
+          <value>false</value>
+        </prop>
       </node>
+
     </node>
   </node>
 </oor:component-data>
diff --git a/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs b/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
index 6ed1d79d80cf..9fbb0fbbcbee 100644
--- a/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
@@ -228,6 +228,14 @@
         </info>
         <value>false</value>
       </prop>
+      <prop oor:name="WantsAWT" oor:type="xs:boolean">
+        <info>
+          <desc>This flag controls whether the panel requires a awt::XWindow parent. This option cannot be false if WantsCanvas
+          is also true. The default of true is suitable for third party sidebar panels, false is only useful for built-in
+          internal panels.</desc>
+        </info>
+        <value>true</value>
+      </prop>
     </group>
   </templates>
   <component>
diff --git a/sc/qa/uitest/calc_tests8/navigator.py b/sc/qa/uitest/calc_tests8/navigator.py
index 32a1bd3da4c0..d679211eb7de 100644
--- a/sc/qa/uitest/calc_tests8/navigator.py
+++ b/sc/qa/uitest/calc_tests8/navigator.py
@@ -23,7 +23,7 @@ class navigator(UITestCase):
         xGridWin.executeAction("SIDEBAR", mkPropertyValues({"PANEL": "ScNavigatorPanel"}))
 
         xCalcDoc = self.xUITest.getTopFocusWindow()
-        xNavigatorPanel = xCalcDoc.getChild("NavigatorPanelParent")
+        xNavigatorPanel = xCalcDoc.getChild("NavigatorPanel")
         xContentBox = xNavigatorPanel.getChild('contentbox')
         xSheets = xContentBox.getChild("0")
         self.assertEqual(get_state_as_dict(xSheets)['Text'], 'Sheets')
@@ -50,7 +50,7 @@ class navigator(UITestCase):
         self.ui_test.close_dialog_through_button(xOKBtn)
 
         xCalcDoc = self.xUITest.getTopFocusWindow()
-        xNavigatorPanel = xCalcDoc.getChild("NavigatorPanelParent")
+        xNavigatorPanel = xCalcDoc.getChild("NavigatorPanel")
         xContentBox = xNavigatorPanel.getChild('contentbox')
         xSheets = xContentBox.getChild("0")
         self.assertEqual(get_state_as_dict(xSheets)['Text'], 'Sheets')
@@ -66,7 +66,7 @@ class navigator(UITestCase):
         self.xUITest.executeCommand(".uno:Undo")
 
         xCalcDoc = self.xUITest.getTopFocusWindow()
-        xNavigatorPanel = xCalcDoc.getChild("NavigatorPanelParent")
+        xNavigatorPanel = xCalcDoc.getChild("NavigatorPanel")
         xContentBox = xNavigatorPanel.getChild('contentbox')
         xSheets = xContentBox.getChild("0")
         self.assertEqual(get_state_as_dict(xSheets)['Text'], 'Sheets')
@@ -95,7 +95,7 @@ class navigator(UITestCase):
         xGridWin.executeAction("SIDEBAR", mkPropertyValues({"PANEL": "ScNavigatorPanel"}))
 
         xCalcDoc = self.xUITest.getTopFocusWindow()
-        xNavigatorPanel = xCalcDoc.getChild("NavigatorPanelParent")
+        xNavigatorPanel = xCalcDoc.getChild("NavigatorPanel")
         xToolBar = xNavigatorPanel.getChild("toolbox2")
         xToolBar.executeAction("CLICK", mkPropertyValues({"POS": "0"})) # 'toggle' button
 
@@ -129,7 +129,7 @@ class navigator(UITestCase):
         xGridWin.executeAction("SIDEBAR", mkPropertyValues({"PANEL": "ScNavigatorPanel"}))
 
         xCalcDoc = self.xUITest.getTopFocusWindow()
-        xNavigatorPanel = xCalcDoc.getChild("NavigatorPanelParent")
+        xNavigatorPanel = xCalcDoc.getChild("NavigatorPanel")
         xToolBar = xNavigatorPanel.getChild("toolbox2")
         xToolBar.executeAction("CLICK", mkPropertyValues({"POS": "0"})) # 'toggle' button
 
diff --git a/sc/source/ui/formdlg/dwfunctr.cxx b/sc/source/ui/formdlg/dwfunctr.cxx
index e5adb6859be2..68aacb9275ba 100644
--- a/sc/source/ui/formdlg/dwfunctr.cxx
+++ b/sc/source/ui/formdlg/dwfunctr.cxx
@@ -44,8 +44,8 @@
 #*
 #************************************************************************/
 
-ScFunctionWin::ScFunctionWin(vcl::Window* pParent, const css::uno::Reference<css::frame::XFrame> &rFrame)
-    : PanelLayout(pParent, "FunctionPanel", "modules/scalc/ui/functionpanel.ui", rFrame)
+ScFunctionWin::ScFunctionWin(weld::Widget* pParent)
+    : PanelLayout(pParent, "FunctionPanel", "modules/scalc/ui/functionpanel.ui")
     , xCatBox(m_xBuilder->weld_combo_box("category"))
     , xFuncList(m_xBuilder->weld_tree_view("funclist"))
     , xInsertButton(m_xBuilder->weld_button("insert"))
@@ -70,8 +70,6 @@ ScFunctionWin::ScFunctionWin(vcl::Window* pParent, const css::uno::Reference<css
     xCatBox->set_active(0);
 
     SelComboHdl(*xCatBox);
-
-    m_pInitialFocusWidget = xCatBox.get();
 }
 
 /*************************************************************************
@@ -90,22 +88,14 @@ ScFunctionWin::ScFunctionWin(vcl::Window* pParent, const css::uno::Reference<css
 
 ScFunctionWin::~ScFunctionWin()
 {
-    disposeOnce();
-}
+    xConfigChange.reset();
+    xConfigListener->dispose();
+    xConfigListener.clear();
 
-void ScFunctionWin::dispose()
-{
-    if (xConfigChange)
-    {
-        xConfigChange.reset();
-        xConfigListener->dispose();
-        xConfigListener.clear();
-    }
     xCatBox.reset();
     xFuncList.reset();
     xInsertButton.reset();
     xFiFuncDesc.reset();
-    PanelLayout::dispose();
 }
 
 /*************************************************************************
@@ -277,9 +267,10 @@ void ScFunctionWin::DoEnter()
         ScInputHandler* pHdl = pScMod->GetInputHdl( pViewSh );
         if(!pScMod->IsEditMode())
         {
+            rtl::Reference<comphelper::ConfigurationListener> xDetectDisposed(xConfigListener);
             pScMod->SetInputMode(SC_INPUT_TABLE);
             // the above call can result in us being disposed
-            if (OutputDevice::isDisposed())
+            if (xDetectDisposed->isDisposed())
                 return;
             aString = "=" + xFuncList->get_selected_text();
             if (pHdl)
@@ -412,8 +403,8 @@ IMPL_LINK_NOARG( ScFunctionWin, SetRowActivatedHdl, weld::TreeView&, bool )
 void EnglishFunctionNameChange::setProperty(const css::uno::Any &rProperty)
 {
     ConfigurationListenerProperty::setProperty(rProperty);
-    m_xFunctionWin->InitLRUList();
-    m_xFunctionWin->UpdateFunctionList();
+    m_pFunctionWin->InitLRUList();
+    m_pFunctionWin->UpdateFunctionList();
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/inc/content.hxx b/sc/source/ui/inc/content.hxx
index 78ae31ae0c5a..cd5a91b911a6 100644
--- a/sc/source/ui/inc/content.hxx
+++ b/sc/source/ui/inc/content.hxx
@@ -45,7 +45,7 @@ class ScContentTree
     std::unique_ptr<weld::TreeView> m_xTreeView;
     std::unique_ptr<weld::TreeIter> m_xScratchIter;
     rtl::Reference<ScLinkTransferObj> m_xTransferObj;
-    VclPtr<ScNavigatorDlg>  pParentWindow;
+    ScNavigatorDlg*  pParentWindow;
     o3tl::enumarray<ScContentId, std::unique_ptr<weld::TreeIter>> m_aRootNodes;
     ScContentId             nRootType;          // set as Root
     OUString                aManualDoc;         // Switched in Navigator (Title)
diff --git a/sc/source/ui/inc/dwfunctr.hxx b/sc/source/ui/inc/dwfunctr.hxx
index e9dc66132fa0..742d15c30a5d 100644
--- a/sc/source/ui/inc/dwfunctr.hxx
+++ b/sc/source/ui/inc/dwfunctr.hxx
@@ -29,13 +29,13 @@ class ScFunctionWin;
 
 class EnglishFunctionNameChange : public comphelper::ConfigurationListenerProperty<bool>
 {
-    VclPtr<ScFunctionWin> m_xFunctionWin;
+    ScFunctionWin* m_pFunctionWin;
 protected:
     virtual void setProperty(const css::uno::Any &rProperty) override;
 public:
     EnglishFunctionNameChange(const rtl::Reference<comphelper::ConfigurationListener> &rListener, ScFunctionWin* pFunctionWin)
         : ConfigurationListenerProperty(rListener, "EnglishFunctionName")
-        , m_xFunctionWin(pFunctionWin)
+        , m_pFunctionWin(pFunctionWin)
     {
     }
 };
@@ -66,10 +66,9 @@ private:
                     DECL_LINK( SelTreeHdl, weld::TreeView&, void );
 
 public:
-    ScFunctionWin(vcl::Window* pParent, const css::uno::Reference<css::frame::XFrame> &rFrame);
+    ScFunctionWin(weld::Widget* pParent);
 
     virtual ~ScFunctionWin() override;
-    virtual void    dispose() override;
 
     void            InitLRUList();
     void            UpdateFunctionList();
diff --git a/sc/source/ui/inc/navipi.hxx b/sc/source/ui/inc/navipi.hxx
index 9db870bb1bd5..aba163f153c8 100644
--- a/sc/source/ui/inc/navipi.hxx
+++ b/sc/source/ui/inc/navipi.hxx
@@ -105,6 +105,8 @@ private:
     std::unique_ptr<weld::ComboBox> m_xLbDocuments;
     std::unique_ptr<weld::Menu> m_xDragModeMenu;
 
+    VclPtr<SfxNavigator> m_xNavigatorDlg;
+
     Size            aExpandedSize;
     Idle            aContentIdle;
 
@@ -169,16 +171,17 @@ private:
     void    StartOfDataArea ();
     void    EndOfDataArea   ();
 
+    void    UpdateInitShow();
+
     static void ReleaseFocus();
 
 public:
-    ScNavigatorDlg(SfxBindings* pB, vcl::Window* pParent);
+    ScNavigatorDlg(SfxBindings* pB, weld::Widget* pParent, SfxNavigator* pNavigatorDlg);
+    virtual weld::Window* GetFrameWeld() const override;
     virtual ~ScNavigatorDlg() override;
-    virtual void dispose() override;
 
     virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) override;
 
-    virtual void StateChanged(StateChangedType nStateChange) override;
 };
 
 class ScNavigatorWrapper final : public SfxNavigatorWrapper
diff --git a/sc/source/ui/navipi/content.cxx b/sc/source/ui/navipi/content.cxx
index 44cc140b34ca..9c3ab3772c8a 100644
--- a/sc/source/ui/navipi/content.cxx
+++ b/sc/source/ui/navipi/content.cxx
@@ -161,7 +161,6 @@ ScContentTree::~ScContentTree()
         Application::RemoveUserEvent(m_nAsyncMouseReleaseId);
         m_nAsyncMouseReleaseId = nullptr;
     }
-    pParentWindow.clear();
 }
 
 static const char* SCSTR_CONTENT_ARY[] =
diff --git a/sc/source/ui/navipi/navipi.cxx b/sc/source/ui/navipi/navipi.cxx
index 117798383754..8854672c6fe2 100644
--- a/sc/source/ui/navipi/navipi.cxx
+++ b/sc/source/ui/navipi/navipi.cxx
@@ -312,12 +312,13 @@ ScNavigatorSettings::ScNavigatorSettings()
 class ScNavigatorWin : public SfxNavigator
 {
 private:
-    VclPtr<ScNavigatorDlg> pNavigator;
+    std::unique_ptr<ScNavigatorDlg> m_xNavigator;
 public:
     ScNavigatorWin(SfxBindings* _pBindings, SfxChildWindow* pMgr, vcl::Window* pParent);
+    virtual void StateChanged(StateChangedType nStateChange) override;
     virtual void dispose() override
     {
-        pNavigator.disposeAndClear();
+        m_xNavigator.reset();
         SfxNavigator::dispose();
     }
     virtual ~ScNavigatorWin() override
@@ -329,13 +330,12 @@ public:
 ScNavigatorWin::ScNavigatorWin(SfxBindings* _pBindings, SfxChildWindow* _pMgr, vcl::Window* _pParent)
     : SfxNavigator(_pBindings, _pMgr, _pParent)
 {
-    pNavigator = VclPtr<ScNavigatorDlg>::Create(_pBindings, this);
-    pNavigator->Show();
-    SetMinOutputSizePixel(pNavigator->GetOptimalSize());
+    m_xNavigator = std::make_unique<ScNavigatorDlg>(_pBindings, m_xContainer.get(), this);
+    SetMinOutputSizePixel(GetOptimalSize());
 }
 
-ScNavigatorDlg::ScNavigatorDlg(SfxBindings* pB, vcl::Window* pParent)
-    : PanelLayout(pParent, "NavigatorPanel", "modules/scalc/ui/navigatorpanel.ui", nullptr)
+ScNavigatorDlg::ScNavigatorDlg(SfxBindings* pB, weld::Widget* pParent, SfxNavigator* pNavigatorDlg)
+    : PanelLayout(pParent, "NavigatorPanel", "modules/scalc/ui/navigatorpanel.ui")
     , rBindings(*pB)
     , m_xEdCol(m_xBuilder->weld_spin_button("column"))
     , m_xEdRow(m_xBuilder->weld_spin_button("row"))
@@ -347,6 +347,7 @@ ScNavigatorDlg::ScNavigatorDlg(SfxBindings* pB, vcl::Window* pParent)
         ScResId(SCSTR_QHLP_SCEN_LISTBOX), ScResId(SCSTR_QHLP_SCEN_COMMENT)))
     , m_xLbDocuments(m_xBuilder->weld_combo_box("documents"))
     , m_xDragModeMenu(m_xBuilder->weld_menu("dragmodemenu"))
+    , m_xNavigatorDlg(pNavigatorDlg)
     , aStrActiveWin(ScResId(SCSTR_ACTIVEWIN))
     , pViewData(nullptr )
     , eListMode(NAV_LMODE_NONE)
@@ -355,7 +356,7 @@ ScNavigatorDlg::ScNavigatorDlg(SfxBindings* pB, vcl::Window* pParent)
     , nCurRow(0)
     , nCurTab(0)
 {
-    set_id("NavigatorPanelParent"); // for uitests
+    UpdateInitShow();
 
     UpdateSheetLimits();
     m_xEdRow->set_width_chars(5);
@@ -422,10 +423,13 @@ ScNavigatorDlg::ScNavigatorDlg(SfxBindings* pB, vcl::Window* pParent)
     else
         eNavMode = NAV_LMODE_AREAS;
     SetListMode(eNavMode);
+}
 
-    aExpandedSize = GetOptimalSize();
-
-    m_pInitialFocusWidget = m_xEdCol.get();
+weld::Window* ScNavigatorDlg::GetFrameWeld() const
+{
+    if (m_xNavigatorDlg)
+        return m_xNavigatorDlg->GetFrameWeld();
+    return PanelLayout::GetFrameWeld();
 }
 
 void ScNavigatorDlg::UpdateSheetLimits()
@@ -439,24 +443,22 @@ void ScNavigatorDlg::UpdateSheetLimits()
     }
 }
 
-void ScNavigatorDlg::StateChanged(StateChangedType nStateChange)
+void ScNavigatorDlg::UpdateInitShow()
 {
-    PanelLayout::StateChanged(nStateChange);
-    if (nStateChange == StateChangedType::InitShow)
-    {
-        // When the navigator is displayed in the sidebar, or is otherwise
-        // docked, it has the whole deck to fill. Therefore hide the button that
-        // hides all controls below the top two rows of buttons.
-        m_xTbxCmd1->set_item_visible("contents", ParentIsFloatingWindow(GetParent()));
-    }
+    // When the navigator is displayed in the sidebar, or is otherwise
+    // docked, it has the whole deck to fill. Therefore hide the button that
+    // hides all controls below the top two rows of buttons.
+    m_xTbxCmd1->set_item_visible("contents", ParentIsFloatingWindow(m_xNavigatorDlg));
 }
 
-ScNavigatorDlg::~ScNavigatorDlg()
+void ScNavigatorWin::StateChanged(StateChangedType nStateChange)
 {
-    disposeOnce();
+    SfxNavigator::StateChanged(nStateChange);
+    if (nStateChange == StateChangedType::InitShow)
+        m_xNavigator->UpdateInitShow();
 }
 
-void ScNavigatorDlg::dispose()
+ScNavigatorDlg::~ScNavigatorDlg()
 {
     aContentIdle.Stop();
 
@@ -476,7 +478,6 @@ void ScNavigatorDlg::dispose()
     m_xWndScenarios.reset();
     m_xScenarioBox.reset();
     m_xLbDocuments.reset();
-    PanelLayout::dispose();
 }
 
 void ScNavigatorDlg::Notify( SfxBroadcaster&, const SfxHint& rHint )
@@ -770,11 +771,11 @@ void ScNavigatorDlg::SetListMode(NavListMode eMode)
 {
     if (eMode != eListMode)
     {
-        bool bForceParentResize = ParentIsFloatingWindow(GetParent()) &&
+        bool bForceParentResize = ParentIsFloatingWindow(m_xNavigatorDlg) &&
                                   (eMode == NAV_LMODE_NONE || eListMode == NAV_LMODE_NONE);
-        SfxNavigator* pNav = bForceParentResize ? dynamic_cast<SfxNavigator*>(GetParent()) : nullptr;
+        SfxNavigator* pNav = bForceParentResize ? m_xNavigatorDlg.get() : nullptr;
         if (pNav && eMode == NAV_LMODE_NONE) //save last normal size on minimizing
-            aExpandedSize = GetSizePixel();
+            aExpandedSize = pNav->GetSizePixel();
 
         eListMode = eMode;
 
@@ -802,7 +803,8 @@ void ScNavigatorDlg::SetListMode(NavListMode eMode)
 
         if (pNav)
         {
-            Size aOptimalSize(GetOptimalSize());
+            pNav->InvalidateChildSizeCache();
+            Size aOptimalSize(pNav->GetOptimalSize());
             Size aNewSize(pNav->GetOutputSizePixel());
             aNewSize.setHeight( eMode == NAV_LMODE_NONE ? aOptimalSize.Height() : aExpandedSize.Height() );
             pNav->SetMinOutputSizePixel(aOptimalSize);
diff --git a/sc/source/ui/sidebar/AlignmentPropertyPanel.cxx b/sc/source/ui/sidebar/AlignmentPropertyPanel.cxx
index c5714959b958..b8c4176b4eb0 100644
--- a/sc/source/ui/sidebar/AlignmentPropertyPanel.cxx
+++ b/sc/source/ui/sidebar/AlignmentPropertyPanel.cxx
@@ -42,10 +42,10 @@ using namespace css::uno;
 namespace sc::sidebar {
 
 AlignmentPropertyPanel::AlignmentPropertyPanel(
-    vcl::Window* pParent,
+    weld::Widget* pParent,
     const css::uno::Reference<css::frame::XFrame>& rxFrame,
     SfxBindings* pBindings)
-    : PanelLayout(pParent, "AlignmentPropertyPanel", "modules/scalc/ui/sidebaralignment.ui", rxFrame)
+    : PanelLayout(pParent, "AlignmentPropertyPanel", "modules/scalc/ui/sidebaralignment.ui")
     , mxFTLeftIndent(m_xBuilder->weld_label("leftindentlabel"))
     , mxMFLeftIndent(m_xBuilder->weld_metric_spin_button("leftindent", FieldUnit::POINT))
     , mxCBXWrapText(m_xBuilder->weld_check_button("wraptext"))
@@ -78,15 +78,9 @@ AlignmentPropertyPanel::AlignmentPropertyPanel(
     , mpBindings(pBindings)
 {
     Initialize();
-    m_pInitialFocusWidget = &mxMFLeftIndent->get_widget();
 }
 
 AlignmentPropertyPanel::~AlignmentPropertyPanel()
-{
-    disposeOnce();
-}
-
-void AlignmentPropertyPanel::dispose()
 {
     mxIndentButtonsDispatch.reset();
     mxIndentButtons.reset();
@@ -116,8 +110,6 @@ void AlignmentPropertyPanel::dispose()
     maAngleControl.dispose();
     maVrtStackControl.dispose();
     maRefEdgeControl.dispose();
-
-    PanelLayout::dispose();
 }
 
 void AlignmentPropertyPanel::Initialize()
@@ -204,8 +196,8 @@ IMPL_LINK_NOARG(AlignmentPropertyPanel, CBOXWrapTextClkHdl, weld::ToggleButton&,
             SfxCallMode::RECORD, { &aItem });
 }
 
-VclPtr<vcl::Window> AlignmentPropertyPanel::Create (
-    vcl::Window* pParent,
+std::unique_ptr<PanelLayout> AlignmentPropertyPanel::Create (
+    weld::Widget* pParent,
     const css::uno::Reference<css::frame::XFrame>& rxFrame,
     SfxBindings* pBindings)
 {
@@ -216,14 +208,9 @@ VclPtr<vcl::Window> AlignmentPropertyPanel::Create (
     if (pBindings == nullptr)
         throw lang::IllegalArgumentException("no SfxBindings given to AlignmentPropertyPanel::Create", nullptr, 2);
 
-    return  VclPtr<AlignmentPropertyPanel>::Create(
-                        pParent, rxFrame, pBindings);
+    return std::make_unique<AlignmentPropertyPanel>(pParent, rxFrame, pBindings);
 }
 
-void AlignmentPropertyPanel::DataChanged(
-    const DataChangedEvent&)
-{}
-
 void AlignmentPropertyPanel::HandleContextChange(
     const vcl::EnumContext& rContext)
 {
diff --git a/sc/source/ui/sidebar/AlignmentPropertyPanel.hxx b/sc/source/ui/sidebar/AlignmentPropertyPanel.hxx
index 3a1b8eb8201b..c849a7e9e3f3 100644
--- a/sc/source/ui/sidebar/AlignmentPropertyPanel.hxx
+++ b/sc/source/ui/sidebar/AlignmentPropertyPanel.hxx
@@ -33,14 +33,11 @@ class AlignmentPropertyPanel
     public ::sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface
 {
 public:
-    static VclPtr<vcl::Window> Create(
-        vcl::Window* pParent,
+    static std::unique_ptr<PanelLayout> Create(
+        weld::Widget* pParent,
         const css::uno::Reference<css::frame::XFrame>& rxFrame,
         SfxBindings* pBindings);
 
-    virtual void DataChanged(
-        const DataChangedEvent& rEvent) override;
-
     virtual void HandleContextChange(
         const vcl::EnumContext& rContext) override;
 
@@ -57,11 +54,10 @@ public:
 
     // constructor/destructor
     AlignmentPropertyPanel(
-        vcl::Window* pParent,
+        weld::Widget* pParent,
         const css::uno::Reference<css::frame::XFrame>& rxFrame,
         SfxBindings* pBindings);
     virtual ~AlignmentPropertyPanel() override;
-    virtual void dispose() override;
 
 private:
     //ui controls
diff --git a/sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx b/sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx
index 43bc3b857346..59abf60e7e0b 100644
--- a/sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx
+++ b/sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx
@@ -44,10 +44,10 @@ const char LINESTYLE[] = "LineStyle";
 namespace sc::sidebar {
 
 CellAppearancePropertyPanel::CellAppearancePropertyPanel(
-    vcl::Window* pParent,
+    weld::Widget* pParent,
     const css::uno::Reference<css::frame::XFrame>& rxFrame,
     SfxBindings* pBindings)
-:   PanelLayout(pParent, "CellAppearancePropertyPanel", "modules/scalc/ui/sidebarcellappearance.ui", rxFrame),
+:   PanelLayout(pParent, "CellAppearancePropertyPanel", "modules/scalc/ui/sidebarcellappearance.ui"),
 
     mxTBCellBorder(m_xBuilder->weld_toolbar("cellbordertype")),
     mxTBCellBackground(m_xBuilder->weld_toolbar("cellbackgroundcolor")),
@@ -105,11 +105,6 @@ CellAppearancePropertyPanel::CellAppearancePropertyPanel(
 }
 
 CellAppearancePropertyPanel::~CellAppearancePropertyPanel()
-{
-    disposeOnce();
-}
-
-void CellAppearancePropertyPanel::dispose()
 {
     mxCellBorderPopoverContainer.reset();
     mxTBCellBorder.reset();
@@ -126,8 +121,6 @@ void CellAppearancePropertyPanel::dispose()
     maGridShowControl.dispose();
     maBorderTLBRControl.dispose();
     maBorderBLTRControl.dispose();
-
-    PanelLayout::dispose();
 }
 
 void CellAppearancePropertyPanel::Initialize()
@@ -184,8 +177,8 @@ IMPL_LINK_NOARG(CellAppearancePropertyPanel, TbxLineStyleMenuHdl, const OString&
     pPopup->GrabFocus();
 }
 
-VclPtr<vcl::Window> CellAppearancePropertyPanel::Create (
-    vcl::Window* pParent,
+std::unique_ptr<PanelLayout> CellAppearancePropertyPanel::Create (
+    weld::Widget* pParent,
     const css::uno::Reference<css::frame::XFrame>& rxFrame,
     SfxBindings* pBindings)
 {
@@ -196,14 +189,9 @@ VclPtr<vcl::Window> CellAppearancePropertyPanel::Create (
     if (pBindings == nullptr)
         throw lang::IllegalArgumentException("no SfxBindings given to CellAppearancePropertyPanel::Create", nullptr, 2);
 
-    return VclPtr<CellAppearancePropertyPanel>::Create(
-                        pParent, rxFrame, pBindings);
+    return std::make_unique<CellAppearancePropertyPanel>(pParent, rxFrame, pBindings);
 }
 
-void CellAppearancePropertyPanel::DataChanged(
-    const DataChangedEvent&)
-{}
-
 void CellAppearancePropertyPanel::HandleContextChange(const vcl::EnumContext& rContext)
 {
     if (maContext == rContext)
diff --git a/sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx b/sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx
index 1747e9f0a37d..a0249a7249c2 100644
--- a/sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx
+++ b/sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx
@@ -22,8 +22,9 @@
 #include <sfx2/sidebar/ControllerItem.hxx>
 #include <sfx2/sidebar/IContextChangeReceiver.hxx>
 #include <sfx2/sidebar/PanelLayout.hxx>
-#include "CellBorderStyleControl.hxx"
-#include "CellLineStyleControl.hxx"
+#include <vcl/EnumContext.hxx>
+#include <vcl/image.hxx>
+#include <com/sun/star/frame/XFrame.hpp>
 
 class ToolbarUnoDispatcher;
 class ToolbarPopupContainer;
@@ -40,14 +41,11 @@ private:
     friend class CellBorderStylePopup;
 
 public:
-    static VclPtr<vcl::Window> Create(
-        vcl::Window* pParent,
+    static std::unique_ptr<PanelLayout> Create(
+        weld::Widget* pParent,
         const css::uno::Reference<css::frame::XFrame>& rxFrame,
         SfxBindings* pBindings);
 
-    virtual void DataChanged(
-        const DataChangedEvent& rEvent) override;
-
     virtual void HandleContextChange(
         const vcl::EnumContext& rContext) override;
 
@@ -64,11 +62,10 @@ public:
 
     // constructor/destructor
     CellAppearancePropertyPanel(
-        vcl::Window* pParent,
+        weld::Widget* pParent,
         const css::uno::Reference<css::frame::XFrame>& rxFrame,
         SfxBindings* pBindings);
     virtual ~CellAppearancePropertyPanel() override;
-    virtual void dispose() override;
 
 private:
     //ui controls
diff --git a/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx b/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx
index bd7069e34d26..93dd19da0c98 100644
--- a/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx
+++ b/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx
@@ -31,10 +31,10 @@ using namespace css::uno;
 namespace sc::sidebar {
 
 NumberFormatPropertyPanel::NumberFormatPropertyPanel(
-    vcl::Window* pParent,
+    weld::Widget* pParent,
     const css::uno::Reference<css::frame::XFrame>& rxFrame,
     SfxBindings* pBindings)
-    : PanelLayout(pParent,"NumberFormatPropertyPanel", "modules/scalc/ui/sidebarnumberformat.ui", rxFrame)
+    : PanelLayout(pParent,"NumberFormatPropertyPanel", "modules/scalc/ui/sidebarnumberformat.ui")
     , mxLbCategory(m_xBuilder->weld_combo_box("numberformatcombobox"))
     , mxTBCategory(m_xBuilder->weld_toolbar("numberformat"))
     , mxCategoryDispatch(new ToolbarUnoDispatcher(*mxTBCategory, *m_xBuilder, rxFrame))
@@ -54,15 +54,9 @@ NumberFormatPropertyPanel::NumberFormatPropertyPanel(
     , mpBindings(pBindings)
 {
     Initialize();
-    m_pInitialFocusWidget = mxLbCategory.get();
 }
 
 NumberFormatPropertyPanel::~NumberFormatPropertyPanel()
-{
-    disposeOnce();
-}
-
-void NumberFormatPropertyPanel::dispose()
 {
     mxLbCategory.reset();
     mxCategoryDispatch.reset();
@@ -79,8 +73,6 @@ void NumberFormatPropertyPanel::dispose()
 
     maNumFormatControl.dispose();
     maFormatControl.dispose();
-
-    PanelLayout::dispose();
 }
 
 void NumberFormatPropertyPanel::Initialize()
@@ -151,8 +143,8 @@ IMPL_LINK_NOARG( NumberFormatPropertyPanel, NumFormatValueHdl, weld::SpinButton&
             SfxCallMode::RECORD, { &aItem });
 }
 
-VclPtr<vcl::Window> NumberFormatPropertyPanel::Create (
-    vcl::Window* pParent,
+std::unique_ptr<PanelLayout> NumberFormatPropertyPanel::Create (
+    weld::Widget* pParent,
     const css::uno::Reference<css::frame::XFrame>& rxFrame,
     SfxBindings* pBindings)
 {
@@ -163,14 +155,9 @@ VclPtr<vcl::Window> NumberFormatPropertyPanel::Create (
     if (pBindings == nullptr)
         throw lang::IllegalArgumentException("no SfxBindings given to NumberFormatPropertyPanel::Create", nullptr, 2);
 
-    return  VclPtr<NumberFormatPropertyPanel>::Create(
-                        pParent, rxFrame, pBindings);
+    return std::make_unique<NumberFormatPropertyPanel>(pParent, rxFrame, pBindings);
 }
 
-void NumberFormatPropertyPanel::DataChanged(
-    const DataChangedEvent&)
-{}
-
 void NumberFormatPropertyPanel::HandleContextChange(
     const vcl::EnumContext& rContext)
 {
diff --git a/sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx b/sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx
index 685a02ac23d2..8505829c5a89 100644
--- a/sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx
+++ b/sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx
@@ -34,14 +34,11 @@ class NumberFormatPropertyPanel
 {
 public:
 public:
-    static VclPtr<vcl::Window> Create(
-        vcl::Window* pParent,
+    static std::unique_ptr<PanelLayout> Create(
+        weld::Widget* pParent,
         const css::uno::Reference<css::frame::XFrame>& rxFrame,
         SfxBindings* pBindings);
 
-    virtual void DataChanged(
-        const DataChangedEvent& rEvent) override;
-
     virtual void HandleContextChange(
         const vcl::EnumContext& rContext) override;
 
@@ -58,11 +55,10 @@ public:
 
     // constructor/destructor
     NumberFormatPropertyPanel(
-        vcl::Window* pParent,
+        weld::Widget* pParent,
         const css::uno::Reference<css::frame::XFrame>& rxFrame,
         SfxBindings* pBindings);
     virtual ~NumberFormatPropertyPanel() override;
-    virtual void dispose() override;
 private:
     //ui controls
     std::unique_ptr<weld::ComboBox> mxLbCategory;
diff --git a/sc/source/ui/sidebar/ScPanelFactory.cxx b/sc/source/ui/sidebar/ScPanelFactory.cxx
index 9bd54bf774bf..67c949475023 100644
--- a/sc/source/ui/sidebar/ScPanelFactory.cxx
+++ b/sc/source/ui/sidebar/ScPanelFactory.cxx
@@ -26,8 +26,7 @@
 #include <dwfunctr.hxx>
 
 #include <sfx2/sidebar/SidebarPanelBase.hxx>
-#include <toolkit/helper/vclunohelper.hxx>
-#include <vcl/window.hxx>
+#include <vcl/weldutils.hxx>
 #include <com/sun/star/lang/WrappedTargetRuntimeException.hpp>
 #include <comphelper/namedvaluecollection.hxx>
 #include <cppuhelper/exc_hlp.hxx>
@@ -61,8 +60,11 @@ Reference<ui::XUIElement> SAL_CALL ScPanelFactory::createUIElement (
         const sal_uInt64 nBindingsValue (aArguments.getOrDefault("SfxBindings", sal_uInt64(0)));
         SfxBindings* pBindings = reinterpret_cast<SfxBindings*>(nBindingsValue);
 
-        VclPtr<vcl::Window> pParentWindow = VCLUnoHelper::GetWindow(xParentWindow);
-        if ( ! xParentWindow.is() || pParentWindow==nullptr)
+        weld::Widget* pParent(nullptr);
+        if (weld::TransportAsXWindow* pTunnel = dynamic_cast<weld::TransportAsXWindow*>(xParentWindow.get()))
+            pParent = pTunnel->getWidget();
+
+        if (!pParent)
             throw RuntimeException(
                 "PanelFactory::createUIElement called without ParentWindow",
                 nullptr);
@@ -76,29 +78,29 @@ Reference<ui::XUIElement> SAL_CALL ScPanelFactory::createUIElement (
                 nullptr);
 
         sal_Int32 nMinimumSize = -1;
-        VclPtr<vcl::Window> pPanel;
+        std::unique_ptr<PanelLayout> xPanel;
         if (rsResourceURL.endsWith("/AlignmentPropertyPanel"))
-            pPanel = AlignmentPropertyPanel::Create( pParentWindow, xFrame, pBindings );
+            xPanel = AlignmentPropertyPanel::Create( pParent, xFrame, pBindings );
         else if (rsResourceURL.endsWith("/CellAppearancePropertyPanel"))
-            pPanel = CellAppearancePropertyPanel::Create( pParentWindow, xFrame, pBindings );
+            xPanel = CellAppearancePropertyPanel::Create( pParent, xFrame, pBindings );
         else if (rsResourceURL.endsWith("/NumberFormatPropertyPanel"))
-            pPanel = NumberFormatPropertyPanel::Create( pParentWindow, xFrame, pBindings );
+            xPanel = NumberFormatPropertyPanel::Create( pParent, xFrame, pBindings );
         else if (rsResourceURL.endsWith("/NavigatorPanel"))
         {
-            pPanel = VclPtr<ScNavigatorDlg>::Create(pBindings, pParentWindow);
+            xPanel = std::make_unique<ScNavigatorDlg>(pBindings, pParent, nullptr);
             nMinimumSize = 0;
         }
         else if (rsResourceURL.endsWith("/FunctionsPanel"))
         {
-            pPanel = VclPtr<ScFunctionWin>::Create(pParentWindow, xFrame);
+            xPanel = std::make_unique<ScFunctionWin>(pParent);
             nMinimumSize = 0;
         }
 
-        if (pPanel)
+        if (xPanel)
             xElement = sfx2::sidebar::SidebarPanelBase::Create(
                 rsResourceURL,
                 xFrame,
-                pPanel,
+                std::move(xPanel),
                 ui::LayoutSize(nMinimumSize,-1,-1));
     }
     catch (const uno::RuntimeException &)
diff --git a/sd/qa/unit/tiledrendering/tiledrendering.cxx b/sd/qa/unit/tiledrendering/tiledrendering.cxx
index 21a67f89a4ec..e243fde1c05b 100644
--- a/sd/qa/unit/tiledrendering/tiledrendering.cxx
+++ b/sd/qa/unit/tiledrendering/tiledrendering.cxx
@@ -2377,11 +2377,10 @@ void SdTiledRenderingTest::testTdf115873()
     SfxViewShell* pViewShell = SfxViewShell::Current();
     CPPUNIT_ASSERT(pViewShell);
     SfxBindings& rBindings = pViewShell->GetViewFrame()->GetBindings();
-    ScopedVclPtrInstance<SdNavigatorWin> pNavigator(nullptr, &rBindings);
-    pNavigator->InitTreeLB(pXImpressDocument->GetDoc());
-    pNavigator->Show();
-    SdPageObjsTLV& rObjects = pNavigator->GetObjects();
-    rObjects.SelectEntry("Slide 1");
+    auto xNavigator = std::make_unique<SdNavigatorWin>(nullptr, &rBindings, nullptr);
+    xNavigator->InitTreeLB(pXImpressDocument->GetDoc());
+    SdPageObjsTLV& rObjects = xNavigator->GetObjects();
+    rObjects.SelectEntry(u"Slide 1");
     rObjects.Select();
     sd::ViewShell* pSdViewShell = pXImpressDocument->GetDocShell()->GetViewShell();
     SdrView* pSdrView = pSdViewShell->GetView();
@@ -2411,9 +2410,9 @@ void SdTiledRenderingTest::testTdf115873Group()
     SfxViewShell* pViewShell = SfxViewShell::Current();
     CPPUNIT_ASSERT(pViewShell);
     SfxBindings& rBindings = pViewShell->GetViewFrame()->GetBindings();
-    ScopedVclPtrInstance<SdNavigatorWin> pNavigator(nullptr, &rBindings);
-    pNavigator->InitTreeLB(pXImpressDocument->GetDoc());
-    SdPageObjsTLV& rObjects = pNavigator->GetObjects();
+    auto xNavigator = std::make_unique<SdNavigatorWin>(nullptr, &rBindings, nullptr);
+    xNavigator->InitTreeLB(pXImpressDocument->GetDoc());
+    SdPageObjsTLV& rObjects = xNavigator->GetObjects();
     // This failed, Fill() and IsEqualToDoc() were out of sync for group
     // shapes.
     CPPUNIT_ASSERT(rObjects.IsEqualToDoc(pXImpressDocument->GetDoc()));
diff --git a/sd/source/ui/animations/CustomAnimationPane.cxx b/sd/source/ui/animations/CustomAnimationPane.cxx
index 2edc197f26d4..1144e120bf73 100644
--- a/sd/source/ui/animations/CustomAnimationPane.cxx
+++ b/sd/source/ui/animations/CustomAnimationPane.cxx
@@ -54,6 +54,7 @@
 
 #include <svx/unoapi.hxx>
 #include <svx/svxids.hrc>
+#include <svx/colorwindow.hxx>
 #include <DrawDocShell.hxx>
 #include <ViewShellBase.hxx>
 #include <DrawViewShell.hxx>
@@ -117,9 +118,8 @@ void fillRepeatComboBox(weld::ComboBox& rBox)
     rBox.append_text(aEndOfSlide);
 }
 
-CustomAnimationPane::CustomAnimationPane( Window* pParent, ViewShellBase& rBase,
-                                          const css::uno::Reference<css::frame::XFrame>& rxFrame )
-    : PanelLayout(pParent, "CustomAnimationsPanel", "modules/simpress/ui/customanimationspanel.ui", rxFrame)
+CustomAnimationPane::CustomAnimationPane( weld::Widget* pParent, ViewShellBase& rBase )
+    : PanelLayout(pParent, "CustomAnimationsPanel", "modules/simpress/ui/customanimationspanel.ui")
     , mrBase(rBase)
     // load resources
     , mxFTAnimation(m_xBuilder->weld_label("effectlabel"))
@@ -154,7 +154,6 @@ CustomAnimationPane::CustomAnimationPane( Window* pParent, ViewShellBase& rBase,
     , maLateInitTimer()
 {
     initialize();
-    m_pInitialFocusWidget = &mxCustomAnimationList->get_widget();
 }
 
 css::ui::LayoutSize CustomAnimationPane::GetHeightForWidth(const sal_Int32 /*nWidth*/)
@@ -212,15 +211,9 @@ void CustomAnimationPane::initialize()
     maLateInitTimer.SetTimeout(100);
     maLateInitTimer.SetInvokeHandler(LINK(this, CustomAnimationPane, lateInitCallback));
     maLateInitTimer.Start();
-    UpdateLook();
 }
 
 CustomAnimationPane::~CustomAnimationPane()
-{
-    disposeOnce();
-}
-
-void CustomAnimationPane::dispose()
 {
     maLateInitTimer.Stop();
 
@@ -253,8 +246,6 @@ void CustomAnimationPane::dispose()
     mxLBCategory.reset();
     mxFTAnimation.reset();
     mxLBAnimation.reset();
-
-    PanelLayout::dispose();
 }
 
 void CustomAnimationPane::addUndo()
@@ -866,19 +857,6 @@ void CustomAnimationPane::onContextMenu(const OString &rIdent)
     updateControls();
 }
 
-void CustomAnimationPane::DataChanged (const DataChangedEvent&)
-{
-    UpdateLook();
-}
-
-void CustomAnimationPane::UpdateLook()
-{
-    Color aBackground (
-        ::sfx2::sidebar::Theme::GetColor(
-            ::sfx2::sidebar::Theme::Color_PanelBackground));
-    SetBackground(aBackground);
-}
-
 static void addValue( const std::unique_ptr<STLPropertySet>& pSet, sal_Int32 nHandle, const Any& rValue )
 {
     switch( pSet->getPropertyState( nHandle ) )
diff --git a/sd/source/ui/animations/SlideTransitionPane.cxx b/sd/source/ui/animations/SlideTransitionPane.cxx
index 908f78df3f70..2075ef37351a 100644
--- a/sd/source/ui/animations/SlideTransitionPane.cxx
+++ b/sd/source/ui/animations/SlideTransitionPane.cxx
@@ -36,6 +36,7 @@
 #include <sal/log.hxx>
 #include <tools/debug.hxx>
 #include <svx/gallery.hxx>
+#include <svx/colorwindow.hxx>
 #include <vcl/stdtext.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/weld.hxx>
@@ -390,10 +391,9 @@ public:
 
 // SlideTransitionPane
 SlideTransitionPane::SlideTransitionPane(
-    Window * pParent,
-    ViewShellBase & rBase,
-    const css::uno::Reference<css::frame::XFrame>& rxFrame ) :
-        PanelLayout( pParent, "SlideTransitionsPanel", "modules/simpress/ui/slidetransitionspanel.ui", rxFrame ),
+    weld::Widget* pParent,
+    ViewShellBase & rBase) :
+        PanelLayout( pParent, "SlideTransitionsPanel", "modules/simpress/ui/slidetransitionspanel.ui" ),
 
         mrBase( rBase ),
         mpDrawDoc( rBase.GetDocShell() ? rBase.GetDocShell()->GetDoc() : nullptr ),
@@ -478,16 +478,9 @@ void SlideTransitionPane::Initialize(SdDrawDocument* pDoc)
     maLateInitTimer.SetTimeout(200);
     maLateInitTimer.SetInvokeHandler(LINK(this, SlideTransitionPane, LateInitCallback));
     maLateInitTimer.Start();
-
-    UpdateLook();
 }
 
 SlideTransitionPane::~SlideTransitionPane()
-{
-    disposeOnce();
-}
-
-void SlideTransitionPane::dispose()
 {
     maLateInitTimer.Stop();
     removeListener();
@@ -506,17 +499,6 @@ void SlideTransitionPane::dispose()
     mxPB_APPLY_TO_ALL.reset();
     mxPB_PLAY.reset();
     mxCB_AUTO_PREVIEW.reset();
-    PanelLayout::dispose();
-}
-
-void SlideTransitionPane::DataChanged (const DataChangedEvent&)
-{
-    UpdateLook();
-}
-
-void SlideTransitionPane::UpdateLook()
-{
-    SetBackground(::sfx2::sidebar::Theme::GetColor(::sfx2::sidebar::Theme::Color_PanelBackground));
 }
 
 void SlideTransitionPane::onSelectionChanged()
@@ -889,7 +871,7 @@ void SlideTransitionPane::applyToSelectedPages(bool bPreview = true)
     if(  mbUpdatingControls )
         return;
 
-    Window *pFocusWindow = Application::GetFocusWindow();
+    vcl::Window *pFocusWindow = Application::GetFocusWindow();
 
     ::sd::slidesorter::SharedPageSelection pSelectedPages( getSelectedPages());
     impl::TransitionEffect aEffect = getTransitionEffectFromControls();
diff --git a/sd/source/ui/dlg/NavigatorChildWindow.cxx b/sd/source/ui/dlg/NavigatorChildWindow.cxx
index 804a7ccad262..ba5d6a6154a9 100644
--- a/sd/source/ui/dlg/NavigatorChildWindow.cxx
+++ b/sd/source/ui/dlg/NavigatorChildWindow.cxx
@@ -42,29 +42,27 @@ static void RequestNavigatorUpdate (SfxBindings const * pBindings)
 
 SdNavigatorFloat::SdNavigatorFloat(SfxBindings* _pBindings, SfxChildWindow* _pMgr, vcl::Window* _pParent)
     : SfxNavigator(_pBindings, _pMgr, _pParent)
+    , m_xNavWin(std::make_unique<SdNavigatorWin>(m_xContainer.get(), _pBindings, this))
 {
-    pNavWin = VclPtr<SdNavigatorWin>::Create(this, _pBindings);
-    pNavWin->Show();
-
-    pNavWin->SetUpdateRequestFunctor(
+    m_xNavWin->SetUpdateRequestFunctor(
         [_pBindings] () { return RequestNavigatorUpdate(_pBindings); });
 
-    SetMinOutputSizePixel(pNavWin->GetOptimalSize());
+    SetMinOutputSizePixel(GetOptimalSize());
 }
 
 void SdNavigatorFloat::InitTreeLB(const SdDrawDocument* pDoc)
 {
-    pNavWin->InitTreeLB(pDoc);
+    m_xNavWin->InitTreeLB(pDoc);
 }
 
 void SdNavigatorFloat::FreshTree(const SdDrawDocument* pDoc)
 {
-    pNavWin->FreshTree(pDoc);
+    m_xNavWin->FreshTree(pDoc);
 }
 
 void SdNavigatorFloat::dispose()
 {
-    pNavWin.disposeAndClear();
+    m_xNavWin.reset();
     SfxNavigator::dispose();
 }
 
diff --git a/sd/source/ui/dlg/navigatr.cxx b/sd/source/ui/dlg/navigatr.cxx
index bee5a2190f9c..f3f336ae1377 100644
--- a/sd/source/ui/dlg/navigatr.cxx
+++ b/sd/source/ui/dlg/navigatr.cxx
@@ -52,13 +52,14 @@
 /**
  * SdNavigatorWin - FloatingWindow
  */
-SdNavigatorWin::SdNavigatorWin(vcl::Window* pParent, SfxBindings* pInBindings)
-    : PanelLayout(pParent, "NavigatorPanel", "modules/simpress/ui/navigatorpanel.ui", nullptr)
+SdNavigatorWin::SdNavigatorWin(weld::Widget* pParent, SfxBindings* pInBindings, SfxNavigator* pNavigatorDlg)
+    : PanelLayout(pParent, "NavigatorPanel", "modules/simpress/ui/navigatorpanel.ui")
     , mxToolbox(m_xBuilder->weld_toolbar("toolbox"))
     , mxTlbObjects(new SdPageObjsTLV(m_xBuilder->weld_tree_view("tree")))
     , mxLbDocs(m_xBuilder->weld_combo_box("documents"))
     , mxDragModeMenu(m_xBuilder->weld_menu("dragmodemenu"))
     , mxShapeMenu(m_xBuilder->weld_menu("shapemenu"))
+    , mxNavigatorDlg(pNavigatorDlg)
     , mbDocImported ( false )
       // On changes of the DragType: adjust SelectionMode of TLB!
     , meDragType ( NAVIGATOR_DRAGTYPE_EMBEDDED )
@@ -93,8 +94,13 @@ SdNavigatorWin::SdNavigatorWin(vcl::Window* pParent, SfxBindings* pInBindings)
     mxToolbox->connect_key_press(LINK(this, SdNavigatorWin, KeyInputHdl));
     mxTlbObjects->connect_key_press(LINK(this, SdNavigatorWin, KeyInputHdl));
     mxLbDocs->connect_key_press(LINK(this, SdNavigatorWin, KeyInputHdl));
+}
 
-    m_pInitialFocusWidget = mxToolbox.get();
+weld::Window* SdNavigatorWin::GetFrameWeld() const
+{
+    if (mxNavigatorDlg)
+        return mxNavigatorDlg->GetFrameWeld();
+    return PanelLayout::GetFrameWeld();
 }
 
 void SdNavigatorWin::SetUpdateRequestFunctor(const UpdateRequestFunctor& rUpdateRequest)
@@ -108,11 +114,6 @@ void SdNavigatorWin::SetUpdateRequestFunctor(const UpdateRequestFunctor& rUpdate
 }
 
 SdNavigatorWin::~SdNavigatorWin()
-{
-    disposeOnce();
-}
-
-void SdNavigatorWin::dispose()
 {
     mpNavigatorCtrlItem.reset();
     mpPageNameCtrlItem.reset();
@@ -121,7 +122,6 @@ void SdNavigatorWin::dispose()
     mxToolbox.reset();
     mxTlbObjects.reset();
     mxLbDocs.reset();
-    PanelLayout::dispose();
 }
 
 //when object is marked , fresh the corresponding entry tree .
diff --git a/sd/source/ui/dlg/sdtreelb.cxx b/sd/source/ui/dlg/sdtreelb.cxx
index c8917c827688..361ae670e159 100644
--- a/sd/source/ui/dlg/sdtreelb.cxx
+++ b/sd/source/ui/dlg/sdtreelb.cxx
@@ -389,7 +389,7 @@ bool SdPageObjsTLV::StartDrag()
  */
 bool SdPageObjsTLV::DoDrag()
 {
-    if (!m_xNavigator)
+    if (!m_pNavigator)
         return true;
 
     if (!m_xHelper)
@@ -706,7 +706,7 @@ void SdPageObjsTLV::Select()
     if (m_bSelectionHandlerNavigates)
         m_aRowActivatedHdl.Call(*m_xTreeView);
 
-    if (!m_xNavigator)
+    if (!m_pNavigator)
     {
         m_xHelper.clear();
         return;
@@ -714,7 +714,7 @@ void SdPageObjsTLV::Select()
 
     ::sd::DrawDocShell* pDocShell = m_pDoc->GetDocSh();
     OUString aURL = INetURLObject(pDocShell->GetMedium()->GetPhysicalName(), INetProtocol::File).GetMainURL(INetURLObject::DecodeMechanism::NONE);
-    NavigatorDragType eDragType = m_xNavigator->GetNavigatorDragType();
+    NavigatorDragType eDragType = m_pNavigator->GetNavigatorDragType();
 
     OUString sSelectedEntry = m_xTreeView->get_selected_text();
     aURL += "#" + sSelectedEntry;
@@ -923,7 +923,7 @@ IMPL_LINK(SdPageObjsTLV, RequestingChildrenHdl, const weld::TreeIter&, rFileEntr
 
 void SdPageObjsTLV::SetSdNavigator(SdNavigatorWin* pNavigator)
 {
-    m_xNavigator = pNavigator;
+    m_pNavigator = pNavigator;
 }
 
 void SdPageObjsTLV::SetViewFrame(const SfxViewFrame* pViewFrame)
diff --git a/sd/source/ui/inc/CustomAnimationPane.hxx b/sd/source/ui/inc/CustomAnimationPane.hxx
index 1d795b20ce68..edb1a0b634dc 100644
--- a/sd/source/ui/inc/CustomAnimationPane.hxx
+++ b/sd/source/ui/inc/CustomAnimationPane.hxx
@@ -22,6 +22,7 @@
 
 #include <sfx2/sidebar/ILayoutableWindow.hxx>
 #include <sfx2/sidebar/PanelLayout.hxx>
+#include <vcl/idle.hxx>
 #include "CustomAnimationList.hxx"
 #include <misc/scopelock.hxx>
 
@@ -50,9 +51,8 @@ class CustomAnimationPane : public PanelLayout
 {
     friend class MotionPathTag;
 public:
-    CustomAnimationPane( vcl::Window* pParent, ViewShellBase& rBase, const css::uno::Reference<css::frame::XFrame>& rxFrame );
+    CustomAnimationPane(weld::Widget* pParent, ViewShellBase& rBase);
     virtual ~CustomAnimationPane() override;
-    virtual void dispose() override;
 
     // ILayoutableWindow
     virtual css::ui::LayoutSize GetHeightForWidth (const sal_Int32 nWidth) override;
@@ -76,9 +76,6 @@ public:
     virtual void onContextMenu(const OString& rIdent) override;
     virtual void onDragNDropComplete( std::vector< CustomAnimationEffectPtr > pEffectsDragged, CustomAnimationEffectPtr pEffectInsertBefore ) override;
 
-    // Window
-    virtual void DataChanged (const DataChangedEvent& rEvent) override;
-
     void addUndo();
 
     double getDuration() const;
@@ -100,7 +97,6 @@ private:
 
     static css::uno::Any getProperty1Value( sal_Int32 nType, const CustomAnimationEffectPtr& pEffect );

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list