[Libreoffice-commits] core.git: 2 commits - basctl/source cui/inc cui/source dbaccess/source extensions/inc extensions/source extensions/uiconfig extensions/UIConfig_spropctrlr.mk include/sfx2 include/svtools include/svx include/vcl reportdesign/source sc/source sd/source sfx2/inc sfx2/source solenv/sanitizers svtools/source svx/inc svx/source svx/uiconfig svx/UIConfig_svx.mk sw/inc sw/source toolkit/source vcl/source vcl/unx

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Mon Dec 9 12:29:42 UTC 2019


 basctl/source/dlged/propbrw.cxx                       |   52 -
 basctl/source/inc/propbrw.hxx                         |    5 
 cui/inc/pch/precompiled_cui.hxx                       |    4 
 cui/source/dialogs/cuicharmap.cxx                     |    1 
 cui/source/inc/acccfg.hxx                             |    1 
 cui/source/options/optgdlg.cxx                        |    1 
 cui/source/tabpages/align.cxx                         |    1 
 cui/source/tabpages/numfmt.cxx                        |    1 
 cui/source/tabpages/tpbitmap.cxx                      |    1 
 dbaccess/source/ui/dlg/adminpages.cxx                 |    1 
 dbaccess/source/ui/dlg/dbwiz.cxx                      |    1 
 extensions/UIConfig_spropctrlr.mk                     |   16 
 extensions/inc/strings.hrc                            |    1 
 extensions/source/propctrlr/browserline.cxx           |  345 ++-----
 extensions/source/propctrlr/browserline.hxx           |   64 -
 extensions/source/propctrlr/browserlistbox.cxx        |  594 ++----------
 extensions/source/propctrlr/browserlistbox.hxx        |   45 
 extensions/source/propctrlr/browserpage.cxx           |   53 -
 extensions/source/propctrlr/browserpage.hxx           |   48 -
 extensions/source/propctrlr/browserview.cxx           |   78 -
 extensions/source/propctrlr/browserview.hxx           |   29 
 extensions/source/propctrlr/commoncontrol.cxx         |   49 -
 extensions/source/propctrlr/commoncontrol.hxx         |  137 +-
 extensions/source/propctrlr/eformspropertyhandler.cxx |    2 
 extensions/source/propctrlr/fontdialog.cxx            |    2 
 extensions/source/propctrlr/formcomponenthandler.cxx  |   95 +
 extensions/source/propctrlr/handlerhelper.cxx         |   66 -
 extensions/source/propctrlr/handlerhelper.hxx         |   12 
 extensions/source/propctrlr/inspectorhelpwindow.cxx   |   95 -
 extensions/source/propctrlr/inspectorhelpwindow.hxx   |   29 
 extensions/source/propctrlr/linedescriptor.hxx        |    6 
 extensions/source/propctrlr/propcontroller.cxx        |  219 ++--
 extensions/source/propctrlr/propcontroller.hxx        |   18 
 extensions/source/propctrlr/propertyeditor.cxx        |  428 +++-----
 extensions/source/propctrlr/propertyeditor.hxx        |   61 -
 extensions/source/propctrlr/propertyhandler.cxx       |    5 
 extensions/source/propctrlr/propertyhandler.hxx       |    1 
 extensions/source/propctrlr/standardcontrol.cxx       |  857 +++---------------
 extensions/source/propctrlr/standardcontrol.hxx       |  298 +++---
 extensions/source/propctrlr/usercontrol.cxx           |  176 +--
 extensions/source/propctrlr/usercontrol.hxx           |  106 --
 extensions/uiconfig/spropctrlr/ui/browserline.ui      |   50 +
 extensions/uiconfig/spropctrlr/ui/browserpage.ui      |   99 ++
 extensions/uiconfig/spropctrlr/ui/colorlistbox.ui     |   17 
 extensions/uiconfig/spropctrlr/ui/combobox.ui         |   16 
 extensions/uiconfig/spropctrlr/ui/datefield.ui        |   16 
 extensions/uiconfig/spropctrlr/ui/datetimefield.ui    |   47 
 extensions/uiconfig/spropctrlr/ui/formattedcontrol.ui |   20 
 extensions/uiconfig/spropctrlr/ui/formattedsample.ui  |   44 
 extensions/uiconfig/spropctrlr/ui/formproperties.ui   |   40 
 extensions/uiconfig/spropctrlr/ui/hyperlinkfield.ui   |   37 
 extensions/uiconfig/spropctrlr/ui/listbox.ui          |   10 
 extensions/uiconfig/spropctrlr/ui/multiline.ui        |   85 +
 extensions/uiconfig/spropctrlr/ui/numericfield.ui     |   16 
 extensions/uiconfig/spropctrlr/ui/textfield.ui        |   10 
 extensions/uiconfig/spropctrlr/ui/timefield.ui        |   16 
 extensions/uiconfig/spropctrlr/ui/urlcontrol.ui       |   16 
 include/sfx2/basedlgs.hxx                             |   38 
 include/sfx2/childwin.hxx                             |    8 
 include/sfx2/tabdlg.hxx                               |    1 
 include/svtools/ctrlbox.hxx                           |    5 
 include/svtools/inettbc.hxx                           |    8 
 include/svx/colorbox.hxx                              |    1 
 include/vcl/builderpage.hxx                           |    1 
 include/vcl/ivctrl.hxx                                |    2 
 include/vcl/weld.hxx                                  |   19 
 reportdesign/source/ui/inc/propbrw.hxx                |    6 
 reportdesign/source/ui/misc/UITools.cxx               |    3 
 reportdesign/source/ui/report/propbrw.cxx             |   71 -
 sc/source/ui/Accessibility/AccessibleEditObject.cxx   |    1 
 sc/source/ui/inc/olinewin.hxx                         |    1 
 sc/source/ui/inc/tpsort.hxx                           |    3 
 sc/source/ui/view/viewutil.cxx                        |    1 
 sd/source/ui/docshell/docshel4.cxx                    |    1 
 sfx2/inc/pch/precompiled_sfx.hxx                      |    7 
 sfx2/source/appl/workwin.cxx                          |    2 
 sfx2/source/control/bindings.cxx                      |    1 
 sfx2/source/dialog/basedlgs.cxx                       |  199 ----
 sfx2/source/dialog/dockwin.cxx                        |    2 
 sfx2/source/dialog/recfloat.cxx                       |    1 
 solenv/sanitizers/ui/modules/spropctrlr.suppr         |   10 
 svtools/source/control/ctrlbox.cxx                    |    1 
 svtools/source/control/inettbc.cxx                    |    2 
 svx/UIConfig_svx.mk                                   |    1 
 svx/inc/pch/precompiled_svx.hxx                       |    5 
 svx/inc/pch/precompiled_svxcore.hxx                   |    3 
 svx/source/fmcomp/fmgridcl.cxx                        |    1 
 svx/source/form/fmPropBrw.cxx                         |  162 ---
 svx/source/form/fmtextcontrolshell.cxx                |    1 
 svx/source/gallery2/galbrws1.cxx                      |    1 
 svx/source/inc/fmPropBrw.hxx                          |   23 
 svx/uiconfig/ui/formpropertydialog.ui                 |   76 +
 sw/inc/pch/precompiled_sw.hxx                         |    7 
 sw/source/ui/dbui/createaddresslistdialog.cxx         |    1 
 sw/source/ui/inc/mmresultdialogs.hxx                  |    1 
 sw/source/uibase/envelp/syncbtn.cxx                   |    1 
 sw/source/uibase/uiview/pview.cxx                     |    3 
 toolkit/source/awt/vclxtoolkit.cxx                    |    3 
 vcl/source/app/salvtables.cxx                         |   23 
 vcl/source/control/ivctrl.cxx                         |   15 
 vcl/unx/gtk3/gtk3gtkinst.cxx                          |   33 
 101 files changed, 2158 insertions(+), 3140 deletions(-)

New commits:
commit f08b066f3c6a80fe3daa430f9099aae8b0850e80
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Dec 4 09:14:58 2019 +0000
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Mon Dec 9 13:28:46 2019 +0100

    drop newly unused SfxFloatingWindow
    
    Change-Id: I8ac3957579c76a89b9692bdb50cbe7a56e1693e3
    Reviewed-on: https://gerrit.libreoffice.org/84444
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/cui/inc/pch/precompiled_cui.hxx b/cui/inc/pch/precompiled_cui.hxx
index 729c5b85c7bd..447fde2a37aa 100644
--- a/cui/inc/pch/precompiled_cui.hxx
+++ b/cui/inc/pch/precompiled_cui.hxx
@@ -13,7 +13,7 @@
  manual changes will be rewritten by the next run of update_pch.sh (which presumably
  also fixes all possible problems, so it's usually better to use it).
 
- Generated on 2019-12-03 09:19:08 using:
+ Generated on 2019-12-04 09:30:37 using:
  ./bin/update_pch cui cui --cutoff=8 --exclude:system --include:module --exclude:local
 
  If after updating build fails, use the following command to locate conflicting headers:
@@ -116,7 +116,6 @@
 #include <vcl/edit.hxx>
 #include <vcl/errcode.hxx>
 #include <vcl/event.hxx>
-#include <vcl/floatwin.hxx>
 #include <vcl/fntstyle.hxx>
 #include <vcl/font.hxx>
 #include <vcl/gfxlink.hxx>
@@ -136,7 +135,6 @@
 #include <vcl/scopedbitmapaccess.hxx>
 #include <vcl/settings.hxx>
 #include <vcl/svapp.hxx>
-#include <vcl/syswin.hxx>
 #include <vcl/task.hxx>
 #include <vcl/textfilter.hxx>
 #include <vcl/timer.hxx>
diff --git a/cui/source/dialogs/cuicharmap.cxx b/cui/source/dialogs/cuicharmap.cxx
index dba595d5dd21..62dd835bb0e1 100644
--- a/cui/source/dialogs/cuicharmap.cxx
+++ b/cui/source/dialogs/cuicharmap.cxx
@@ -31,6 +31,7 @@
 #include <vcl/virdev.hxx>
 #include <svl/stritem.hxx>
 #include <officecfg/Office/Common.hxx>
+#include <com/sun/star/beans/PropertyValue.hpp>
 #include <comphelper/processfactory.hxx>
 #include <comphelper/dispatchcommand.hxx>
 
diff --git a/cui/source/inc/acccfg.hxx b/cui/source/inc/acccfg.hxx
index 41df1d05896f..dc754a5edfb7 100644
--- a/cui/source/inc/acccfg.hxx
+++ b/cui/source/inc/acccfg.hxx
@@ -26,6 +26,7 @@
 #include <com/sun/star/frame/XFrame.hpp>
 
 #include <sfx2/tabdlg.hxx>
+#include <vcl/idle.hxx>
 #include <i18nutil/searchopt.hxx>
 #include "cfgutil.hxx"
 
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index cb6b53a08176..ae9cf9961ad8 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -71,6 +71,7 @@
 #include <vcl/vclenum.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/settings.hxx>
+#include <vcl/window.hxx>
 #include <vcl/IconThemeInfo.hxx>
 #if HAVE_FEATURE_OPENGL
 #include <vcl/opengl/OpenGLWrapper.hxx>
diff --git a/cui/source/tabpages/align.cxx b/cui/source/tabpages/align.cxx
index e79a39607d73..c39c0b4bef2e 100644
--- a/cui/source/tabpages/align.cxx
+++ b/cui/source/tabpages/align.cxx
@@ -32,6 +32,7 @@
 #include <svl/intitem.hxx>
 #include <vcl/settings.hxx>
 #include <vcl/event.hxx>
+#include <vcl/image.hxx>
 
 #define IID_BOTTOMLOCK 1
 #define IID_TOPLOCK    2
diff --git a/cui/source/tabpages/numfmt.cxx b/cui/source/tabpages/numfmt.cxx
index a666ce2a508f..a4b4169a793c 100644
--- a/cui/source/tabpages/numfmt.cxx
+++ b/cui/source/tabpages/numfmt.cxx
@@ -20,6 +20,7 @@
 #include <svl/eitem.hxx>
 #include <svl/intitem.hxx>
 #include <sfx2/objsh.hxx>
+#include <vcl/outdev.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/settings.hxx>
 #include <i18nlangtag/lang.h>
diff --git a/cui/source/tabpages/tpbitmap.cxx b/cui/source/tabpages/tpbitmap.cxx
index aea68537a5fa..945d92315c94 100644
--- a/cui/source/tabpages/tpbitmap.cxx
+++ b/cui/source/tabpages/tpbitmap.cxx
@@ -37,6 +37,7 @@
 #include <svx/dlgutil.hxx>
 #include <svl/intitem.hxx>
 #include <sfx2/opengrf.hxx>
+#include <vcl/image.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/weld.hxx>
 #include <svx/svxdlg.hxx>
diff --git a/dbaccess/source/ui/dlg/adminpages.cxx b/dbaccess/source/ui/dlg/adminpages.cxx
index d4d358338fbc..e4d75d15bcb4 100644
--- a/dbaccess/source/ui/dlg/adminpages.cxx
+++ b/dbaccess/source/ui/dlg/adminpages.cxx
@@ -48,7 +48,6 @@ namespace dbaui
     using namespace ::com::sun::star::beans;
     using namespace ::com::sun::star::lang;
     using namespace ::dbtools;
-    using namespace ::svt;
 
     ISaveValueWrapper::~ISaveValueWrapper()
     {
diff --git a/dbaccess/source/ui/dlg/dbwiz.cxx b/dbaccess/source/ui/dlg/dbwiz.cxx
index b136744ed975..35a61c62a39a 100644
--- a/dbaccess/source/ui/dlg/dbwiz.cxx
+++ b/dbaccess/source/ui/dlg/dbwiz.cxx
@@ -39,7 +39,6 @@
 
 namespace dbaui
 {
-using namespace svt;
 using namespace com::sun::star::uno;
 using namespace com::sun::star::sdbc;
 using namespace com::sun::star::lang;
diff --git a/include/sfx2/basedlgs.hxx b/include/sfx2/basedlgs.hxx
index fedaa598109c..92da31ed12af 100644
--- a/include/sfx2/basedlgs.hxx
+++ b/include/sfx2/basedlgs.hxx
@@ -23,7 +23,6 @@
 #include <sal/config.h>
 #include <sfx2/dllapi.h>
 #include <sal/types.h>
-#include <vcl/floatwin.hxx>
 #include <vcl/weld.hxx>
 
 class SfxTabPage;
@@ -83,43 +82,6 @@ public:
     SfxBindings&            GetBindings() const { return *m_pBindings; }
 };
 
-// class SfxFloatingWindow --------------------------------------------------
-class SfxFloatingWindow_Impl;
-class SFX2_DLLPUBLIC SfxFloatingWindow: public FloatingWindow
-{
-    SfxBindings*            pBindings;
-    Size                    aSize;
-    std::unique_ptr< SfxFloatingWindow_Impl > pImpl;
-
-    SfxFloatingWindow(SfxFloatingWindow const &) = delete;
-    SfxFloatingWindow& operator =(SfxFloatingWindow const &) = delete;
-
-protected:
-                            SfxFloatingWindow( SfxBindings *pBindings,
-                                              SfxChildWindow *pCW,
-                                              vcl::Window* pParent,
-                                              WinBits nWinBits);
-                            virtual ~SfxFloatingWindow() override;
-    virtual void            dispose() override;
-
-    virtual void            StateChanged( StateChangedType nStateChange ) override;
-    virtual bool            Close() override;
-    virtual void            Resize() override;
-    virtual void            Move() override;
-    virtual bool            EventNotify( NotifyEvent& rNEvt ) override;
-    SfxBindings&            GetBindings()
-                            { return *pBindings; }
-
-public:
-    virtual void            FillInfo(SfxChildWinInfo&) const;
-    void                    Initialize (SfxChildWinInfo const * pInfo);
-
-    DECL_LINK(TimerHdl, Timer *, void);
-
-};
-
-// class SfxNoLayoutSingleTabDialog --------------------------------------------------
-
 typedef const sal_uInt16* (*GetTabPageRanges)(); // provides international Which values
 
 class SFX2_DLLPUBLIC SfxOkDialogController : public SfxDialogController
diff --git a/include/sfx2/childwin.hxx b/include/sfx2/childwin.hxx
index f5e64fdfedf3..68279262d11d 100644
--- a/include/sfx2/childwin.hxx
+++ b/include/sfx2/childwin.hxx
@@ -272,14 +272,6 @@ public:
         sal_uInt16 Class::GetChildWindowId () \
                 { return MyID; } \
 
-#define SFX_IMPL_FLOATINGWINDOW(Class, MyID)    \
-        SFX_IMPL_CHILDWINDOW(Class, MyID)       \
-        SfxChildWinInfo Class::GetInfo() const \
-        {                                       \
-            SfxChildWinInfo aInfo = SfxChildWindow::GetInfo();     \
-            static_cast<SfxFloatingWindow*>(GetWindow())->FillInfo( aInfo );  \
-            return aInfo; }
-
 #define SFX_IMPL_MODELESSDIALOGCONTOLLER(Class, MyID)    \
         SFX_IMPL_CHILDWINDOW(Class, MyID)       \
         SfxChildWinInfo Class::GetInfo() const \
diff --git a/include/sfx2/tabdlg.hxx b/include/sfx2/tabdlg.hxx
index 325bfb8b4b4b..b8229ca338a0 100644
--- a/include/sfx2/tabdlg.hxx
+++ b/include/sfx2/tabdlg.hxx
@@ -24,6 +24,7 @@
 #include <sfx2/dllapi.h>
 #include <sfx2/basedlgs.hxx>
 #include <sal/types.h>
+#include <vcl/bitmapex.hxx>
 #include <vcl/builderpage.hxx>
 #include <svl/itempool.hxx>
 #include <svl/itemset.hxx>
diff --git a/reportdesign/source/ui/misc/UITools.cxx b/reportdesign/source/ui/misc/UITools.cxx
index 21d6e3c8af7a..dca6d9210768 100644
--- a/reportdesign/source/ui/misc/UITools.cxx
+++ b/reportdesign/source/ui/misc/UITools.cxx
@@ -29,10 +29,11 @@
 
 #include <tools/diagnose_ex.h>
 
+#include <vcl/settings.hxx>
+#include <vcl/syswin.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/unohelp.hxx>
 #include <vcl/window.hxx>
-#include <vcl/settings.hxx>
 
 #include <com/sun/star/lang/NullPointerException.hpp>
 #include <com/sun/star/beans/NamedValue.hpp>
diff --git a/sc/source/ui/Accessibility/AccessibleEditObject.cxx b/sc/source/ui/Accessibility/AccessibleEditObject.cxx
index a846e8f9016d..6c40b685dc6f 100644
--- a/sc/source/ui/Accessibility/AccessibleEditObject.cxx
+++ b/sc/source/ui/Accessibility/AccessibleEditObject.cxx
@@ -39,6 +39,7 @@
 #include <editeng/editeng.hxx>
 #include <svx/svdmodel.hxx>
 #include <vcl/svapp.hxx>
+#include <vcl/window.hxx>
 #include <sfx2/objsh.hxx>
 #include <cppuhelper/queryinterface.hxx>
 
diff --git a/sc/source/ui/inc/olinewin.hxx b/sc/source/ui/inc/olinewin.hxx
index daf40d437532..b601417b4cc4 100644
--- a/sc/source/ui/inc/olinewin.hxx
+++ b/sc/source/ui/inc/olinewin.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_SC_SOURCE_UI_INC_OLINEWIN_HXX
 #define INCLUDED_SC_SOURCE_UI_INC_OLINEWIN_HXX
 
+#include <vcl/window.hxx>
 #include "viewdata.hxx"
 
 class ScOutlineEntry;
diff --git a/sc/source/ui/inc/tpsort.hxx b/sc/source/ui/inc/tpsort.hxx
index 35be32afa3b2..1da61965b4b0 100644
--- a/sc/source/ui/inc/tpsort.hxx
+++ b/sc/source/ui/inc/tpsort.hxx
@@ -23,9 +23,10 @@
 #include <vector>
 
 #include <sfx2/tabdlg.hxx>
+#include <svtools/collatorres.hxx>
 #include <svx/langbox.hxx>
 #include <unotools/collatorwrapper.hxx>
-#include <svtools/collatorres.hxx>
+#include <vcl/idle.hxx>
 
 #include "sortkeydlg.hxx"
 
diff --git a/sc/source/ui/view/viewutil.cxx b/sc/source/ui/view/viewutil.cxx
index b4cf5faac6c1..8368cbee7c89 100644
--- a/sc/source/ui/view/viewutil.cxx
+++ b/sc/source/ui/view/viewutil.cxx
@@ -30,6 +30,7 @@
 #include <svl/ctloptions.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/settings.hxx>
+#include <vcl/window.hxx>
 #include <sfx2/objsh.hxx>
 #include <sfx2/viewfrm.hxx>
 #include <svl/eitem.hxx>
diff --git a/sd/source/ui/docshell/docshel4.cxx b/sd/source/ui/docshell/docshel4.cxx
index e9e68c8ee706..b2a7bc8cc18c 100644
--- a/sd/source/ui/docshell/docshel4.cxx
+++ b/sd/source/ui/docshell/docshel4.cxx
@@ -43,6 +43,7 @@
 #include <comphelper/classids.hxx>
 #include <sot/formats.hxx>
 #include <sfx2/viewfrm.hxx>
+#include <vcl/syswin.hxx>
 #include <com/sun/star/drawing/XDrawPage.hpp>
 #include <com/sun/star/drawing/XDrawView.hpp>
 
diff --git a/sfx2/inc/pch/precompiled_sfx.hxx b/sfx2/inc/pch/precompiled_sfx.hxx
index 9495764d9d38..b107c99c11ae 100644
--- a/sfx2/inc/pch/precompiled_sfx.hxx
+++ b/sfx2/inc/pch/precompiled_sfx.hxx
@@ -13,7 +13,7 @@
  manual changes will be rewritten by the next run of update_pch.sh (which presumably
  also fixes all possible problems, so it's usually better to use it).
 
- Generated on 2019-12-03 09:21:34 using:
+ Generated on 2019-12-04 09:32:44 using:
  ./bin/update_pch sfx2 sfx --cutoff=3 --exclude:system --exclude:module --exclude:local
 
  If after updating build fails, use the following command to locate conflicting headers:
@@ -88,8 +88,6 @@
 #include <sal/saldllapi.h>
 #include <sal/types.h>
 #include <vcl/EnumContext.hxx>
-#include <vcl/Scanline.hxx>
-#include <vcl/alpha.hxx>
 #include <vcl/bitmapex.hxx>
 #include <vcl/builder.hxx>
 #include <vcl/builderfactory.hxx>
@@ -103,7 +101,6 @@
 #include <vcl/errcode.hxx>
 #include <vcl/event.hxx>
 #include <vcl/fixed.hxx>
-#include <vcl/floatwin.hxx>
 #include <vcl/font.hxx>
 #include <vcl/gdimtf.hxx>
 #include <vcl/gradient.hxx>
@@ -126,8 +123,10 @@
 #include <vcl/stdtext.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/syswin.hxx>
+#include <vcl/taskpanelist.hxx>
 #include <vcl/timer.hxx>
 #include <vcl/toolbox.hxx>
+#include <vcl/vclenum.hxx>
 #include <vcl/vclptr.hxx>
 #include <vcl/virdev.hxx>
 #include <vcl/weld.hxx>
diff --git a/sfx2/source/control/bindings.cxx b/sfx2/source/control/bindings.cxx
index 1180050d6cc7..13d511fddec3 100644
--- a/sfx2/source/control/bindings.cxx
+++ b/sfx2/source/control/bindings.cxx
@@ -30,6 +30,7 @@
 #include <svl/stritem.hxx>
 #include <svl/visitem.hxx>
 #include <vcl/svapp.hxx>
+#include <vcl/timer.hxx>
 #include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
diff --git a/sfx2/source/dialog/basedlgs.cxx b/sfx2/source/dialog/basedlgs.cxx
index 905d27fd3a3e..330109b7ce94 100644
--- a/sfx2/source/dialog/basedlgs.cxx
+++ b/sfx2/source/dialog/basedlgs.cxx
@@ -62,24 +62,6 @@ void SfxModelessDialog_Impl::Notify( SfxBroadcaster&, const SfxHint& rHint )
     }
 }
 
-class SfxFloatingWindow_Impl : public SfxListener
-{
-public:
-    OString aWinState;
-    SfxChildWindow* pMgr;
-    bool            bConstructed;
-    Idle            aMoveIdle;
-
-    void            Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) override;
-};
-
-void SfxFloatingWindow_Impl::Notify( SfxBroadcaster&, const SfxHint& rHint )
-{
-    if( rHint.GetId() == SfxHintId::Dying) {
-        pMgr->Destroy();
-    }
-}
-
 void SfxModelessDialogController::Initialize(SfxChildWinInfo const *pInfo)
 
 /*  [Description]
@@ -226,187 +208,6 @@ void SfxModelessDialogController::Close()
         SfxCallMode::RECORD|SfxCallMode::SYNCHRON, { &aValue } );
 }
 
-bool SfxFloatingWindow::EventNotify( NotifyEvent& rEvt )
-
-/*  [Description]
-
-    If a ModelessDialog is enabled, its ViewFrame will be activated.
-    This necessary for the PluginInFrames.
-*/
-
-{
-    if ( pImpl )
-    {
-        if ( rEvt.GetType() == MouseNotifyEvent::GETFOCUS )
-        {
-            pBindings->SetActiveFrame( pImpl->pMgr->GetFrame() );
-            pImpl->pMgr->Activate_Impl();
-        }
-        else if ( rEvt.GetType() == MouseNotifyEvent::LOSEFOCUS )
-        {
-            if ( !HasChildPathFocus() )
-            {
-                pBindings->SetActiveFrame( nullptr );
-            }
-        }
-        else if( rEvt.GetType() == MouseNotifyEvent::KEYINPUT )
-        {
-            // First, allow KeyInput for Dialog functions
-            if (!FloatingWindow::EventNotify(rEvt) && SfxViewShell::Current())
-            {
-                // then also for valid global accelerators.
-                return SfxViewShell::Current()->GlobalKeyInput_Impl( *rEvt.GetKeyEvent() );
-            }
-            return true;
-        }
-    }
-
-    return FloatingWindow::EventNotify( rEvt );
-}
-
-SfxFloatingWindow::SfxFloatingWindow( SfxBindings *pBindinx,
-                        SfxChildWindow *pCW,
-                        vcl::Window* pParent, WinBits nWinBits) :
-    FloatingWindow (pParent, nWinBits),
-    pBindings(pBindinx),
-    pImpl( new SfxFloatingWindow_Impl )
-{
-    pImpl->pMgr = pCW;
-    pImpl->bConstructed = false;
-    if ( pBindinx )
-        pImpl->StartListening( *pBindinx );
-    pImpl->aMoveIdle.SetPriority(TaskPriority::RESIZE);
-    pImpl->aMoveIdle.SetInvokeHandler(LINK(this,SfxFloatingWindow,TimerHdl));
-}
-
-bool SfxFloatingWindow::Close()
-
-/*  [Description]
-
-    The window is closed when the ChildWindow is destroyed by running the
-    ChildWindow-slots. If this is method is overridden by a derived class
-    method, then the SfxModelessDialogWindow: Close) must be called afterwards
-    if the Close() was not cancelled with "return sal_False".
-*/
-
-{
-    // Execute with Parameters, since Toggle is ignored by some ChildWindows.
-    SfxBoolItem aValue( pImpl->pMgr->GetType(), false);
-    pBindings->GetDispatcher_Impl()->ExecuteList(
-            pImpl->pMgr->GetType(),
-            SfxCallMode::RECORD|SfxCallMode::SYNCHRON, { &aValue });
-
-    return true;
-}
-
-
-SfxFloatingWindow::~SfxFloatingWindow()
-{
-    disposeOnce();
-}
-
-void SfxFloatingWindow::dispose()
-{
-    if ( pImpl && pImpl->pMgr->GetFrame() == pBindings->GetActiveFrame() )
-        pBindings->SetActiveFrame( nullptr );
-    pImpl.reset();
-    FloatingWindow::dispose();
-}
-
-void SfxFloatingWindow::Resize()
-
-/*  [Description]
-
-    This virtual method of the class FloatingWindow keeps track if a change
-    in size has been made. When this method is overridden by a derived class,
-    then the SfxFloatingWindow: Resize() must also be called.
-*/
-
-{
-    FloatingWindow::Resize();
-    if ( pImpl->bConstructed && pImpl->pMgr )
-    {
-        // start timer for saving window status information
-        pImpl->aMoveIdle.Start();
-    }
-}
-
-void SfxFloatingWindow::Move()
-{
-    FloatingWindow::Move();
-    if ( pImpl->bConstructed && pImpl->pMgr )
-    {
-        // start timer for saving window status information
-        pImpl->aMoveIdle.Start();
-    }
-}
-
-/*
-    Implements a timer event that is triggered by a move or resize of the window
-    This will save config information to Views.xcu with a small delay
-*/
-IMPL_LINK_NOARG(SfxFloatingWindow, TimerHdl, Timer *, void)
-{
-    pImpl->aMoveIdle.Stop();
-    if ( pImpl->bConstructed && pImpl->pMgr )
-    {
-        if ( !IsRollUp() )
-            aSize = GetSizePixel();
-        WindowStateMask nMask = WindowStateMask::Pos | WindowStateMask::State;
-        if ( GetStyle() & WB_SIZEABLE )
-            nMask |= WindowStateMask::Width | WindowStateMask::Height;
-        pImpl->aWinState = GetWindowState( nMask );
-        GetBindings().GetWorkWindow_Impl()->ConfigChild_Impl( SfxChildIdentifier::DOCKINGWINDOW, SfxDockingConfig::ALIGNDOCKINGWINDOW, pImpl->pMgr->GetType() );
-    }
-}
-
-
-void SfxFloatingWindow::StateChanged( StateChangedType nStateChange )
-{
-    if ( nStateChange == StateChangedType::InitShow )
-    {
-        // FloatingWindows are not centered by default
-        if ( !pImpl->aWinState.isEmpty() )
-            SetWindowState( pImpl->aWinState );
-        pImpl->bConstructed = true;
-    }
-
-    FloatingWindow::StateChanged( nStateChange );
-}
-
-
-void SfxFloatingWindow::Initialize(SfxChildWinInfo const *pInfo)
-
-/*  [Description]
-
-    Initialization of a class SfxFloatingWindow through a SfxChildWinInfo.
-    The initialization is done only in a 2nd step after the constructor and
-    should be called by the constructor of the derived class or from the
-    SfxChildWindows.
-*/
-{
-    if (pInfo)
-        pImpl->aWinState = pInfo->aWinState;
-}
-
-
-void SfxFloatingWindow::FillInfo(SfxChildWinInfo& rInfo) const
-
-/*  [Description]
-
-    Fills a SfxChildWinInfo with specific data from SfxFloatingWindow,
-    so that it can be written in the INI file. It is assumed that rinfo
-    receives all other possible relevant data in the ChildWindow class.
-    Insertions are marked with size and the ZoomIn flag.
-    If this method is overridden, the base implementation must be called first.
-*/
-
-{
-    rInfo.aSize  = aSize;
-    if ( IsRollUp() )
-        rInfo.nFlags |= SfxChildWindowFlags::ZOOMIN;
-}
-
 SfxDialogController::SfxDialogController(weld::Widget* pParent, const OUString& rUIFile,
                                          const OString& rDialogId)
     : GenericDialogController(pParent, rUIFile, rDialogId)
diff --git a/sfx2/source/dialog/dockwin.cxx b/sfx2/source/dialog/dockwin.cxx
index d1ad9148ac4e..5f23221a0020 100644
--- a/sfx2/source/dialog/dockwin.cxx
+++ b/sfx2/source/dialog/dockwin.cxx
@@ -435,7 +435,7 @@ SfxDockingWindow_Impl::SfxDockingWindow_Impl(SfxDockingWindow* pBase)
 
     This virtual method of the class FloatingWindow keeps track of changes in
     FloatingSize. If this method is overridden by a derived class,
-    then the SfxFloatingWindow: Resize() must also be called.
+    then the FloatingWindow: Resize() must also be called.
 */
 void SfxDockingWindow::Resize()
 {
diff --git a/sfx2/source/dialog/recfloat.cxx b/sfx2/source/dialog/recfloat.cxx
index b431cc619298..992136fd0fa1 100644
--- a/sfx2/source/dialog/recfloat.cxx
+++ b/sfx2/source/dialog/recfloat.cxx
@@ -23,6 +23,7 @@
 #include <vcl/svapp.hxx>
 #include <vcl/weld.hxx>
 #include <vcl/weldutils.hxx>
+#include <vcl/windowstate.hxx>
 
 #include <recfloat.hxx>
 #include <sfx2/strings.hrc>
diff --git a/svx/inc/pch/precompiled_svx.hxx b/svx/inc/pch/precompiled_svx.hxx
index a1025a3dde90..55710e3fa399 100644
--- a/svx/inc/pch/precompiled_svx.hxx
+++ b/svx/inc/pch/precompiled_svx.hxx
@@ -13,7 +13,7 @@
  manual changes will be rewritten by the next run of update_pch.sh (which presumably
  also fixes all possible problems, so it's usually better to use it).
 
- Generated on 2019-12-03 09:41:31 using:
+ Generated on 2019-12-04 09:33:31 using:
  ./bin/update_pch svx svx --cutoff=3 --exclude:system --exclude:module --include:local
 
  If after updating build fails, use the following command to locate conflicting headers:
@@ -61,11 +61,8 @@
 #include <rtl/instance.hxx>
 #include <rtl/math.hxx>
 #include <rtl/ref.hxx>
-#include <rtl/strbuf.h>
 #include <rtl/string.h>
 #include <rtl/string.hxx>
-#include <rtl/stringconcat.hxx>
-#include <rtl/stringutils.hxx>
 #include <rtl/tencinfo.h>
 #include <rtl/textenc.h>
 #include <rtl/uri.hxx>
diff --git a/svx/inc/pch/precompiled_svxcore.hxx b/svx/inc/pch/precompiled_svxcore.hxx
index 35f4ea416ed7..eeeb473d20ca 100644
--- a/svx/inc/pch/precompiled_svxcore.hxx
+++ b/svx/inc/pch/precompiled_svxcore.hxx
@@ -13,7 +13,7 @@
  manual changes will be rewritten by the next run of update_pch.sh (which presumably
  also fixes all possible problems, so it's usually better to use it).
 
- Generated on 2019-12-03 09:41:26 using:
+ Generated on 2019-12-04 09:34:08 using:
  ./bin/update_pch svx svxcore --cutoff=7 --exclude:system --include:module --exclude:local
 
  If after updating build fails, use the following command to locate conflicting headers:
@@ -62,6 +62,7 @@
 #include <osl/interlck.h>
 #include <osl/mutex.hxx>
 #include <osl/process.h>
+#include <osl/thread.h>
 #include <osl/time.h>
 #include <rtl/alloc.h>
 #include <rtl/character.hxx>
diff --git a/svx/source/fmcomp/fmgridcl.cxx b/svx/source/fmcomp/fmgridcl.cxx
index a96e8d984a5d..b2c9cd46b0a4 100644
--- a/svx/source/fmcomp/fmgridcl.cxx
+++ b/svx/source/fmcomp/fmgridcl.cxx
@@ -62,6 +62,7 @@
 #include <sfx2/dispatch.hxx>
 #include <sfx2/viewfrm.hxx>
 #include <svl/eitem.hxx>
+#include <vcl/builder.hxx>
 #include <vcl/commandevent.hxx>
 #include <vcl/fmtfield.hxx>
 #include <vcl/svapp.hxx>
diff --git a/svx/source/form/fmtextcontrolshell.cxx b/svx/source/form/fmtextcontrolshell.cxx
index 8815d1a2be99..a828a55c7b82 100644
--- a/svx/source/form/fmtextcontrolshell.cxx
+++ b/svx/source/form/fmtextcontrolshell.cxx
@@ -62,6 +62,7 @@
 #include <sal/log.hxx>
 #include <vcl/outdev.hxx>
 #include <vcl/svapp.hxx>
+#include <vcl/window.hxx>
 
 #include <memory>
 
diff --git a/svx/source/gallery2/galbrws1.cxx b/svx/source/gallery2/galbrws1.cxx
index 6754f8feab42..d7adffee9982 100644
--- a/svx/source/gallery2/galbrws1.cxx
+++ b/svx/source/gallery2/galbrws1.cxx
@@ -22,6 +22,7 @@
 #include <comphelper/processfactory.hxx>
 #include <tools/datetime.hxx>
 #include <unotools/datetime.hxx>
+#include <vcl/builder.hxx>
 #include <vcl/commandevent.hxx>
 #include <vcl/event.hxx>
 #include <vcl/settings.hxx>
diff --git a/sw/inc/pch/precompiled_sw.hxx b/sw/inc/pch/precompiled_sw.hxx
index 0ce7dd018356..b0837ccab492 100644
--- a/sw/inc/pch/precompiled_sw.hxx
+++ b/sw/inc/pch/precompiled_sw.hxx
@@ -13,7 +13,7 @@
  manual changes will be rewritten by the next run of update_pch.sh (which presumably
  also fixes all possible problems, so it's usually better to use it).
 
- Generated on 2019-12-03 09:23:47 using:
+ Generated on 2019-12-04 09:34:32 using:
  ./bin/update_pch sw sw --cutoff=7 --exclude:system --exclude:module --include:local
 
  If after updating build fails, use the following command to locate conflicting headers:
@@ -83,12 +83,10 @@
 #include <sal/types.h>
 #include <sal/typesizes.h>
 #include <vcl/EnumContext.hxx>
-#include <vcl/NotebookBarAddonsMerger.hxx>
 #include <vcl/Scanline.hxx>
 #include <vcl/alpha.hxx>
 #include <vcl/bitmap.hxx>
 #include <vcl/bitmapex.hxx>
-#include <vcl/builder.hxx>
 #include <vcl/button.hxx>
 #include <vcl/commandevent.hxx>
 #include <vcl/ctrl.hxx>
@@ -99,7 +97,6 @@
 #include <vcl/errinf.hxx>
 #include <vcl/event.hxx>
 #include <vcl/fixed.hxx>
-#include <vcl/floatwin.hxx>
 #include <vcl/fntstyle.hxx>
 #include <vcl/font.hxx>
 #include <vcl/graph.hxx>
@@ -115,7 +112,6 @@
 #include <vcl/outdev.hxx>
 #include <vcl/settings.hxx>
 #include <vcl/svapp.hxx>
-#include <vcl/syswin.hxx>
 #include <vcl/textfilter.hxx>
 #include <vcl/vclenum.hxx>
 #include <vcl/vclevent.hxx>
@@ -124,7 +120,6 @@
 #include <vcl/virdev.hxx>
 #include <vcl/weld.hxx>
 #include <vcl/window.hxx>
-#include <vcl/windowstate.hxx>
 #endif // PCH_LEVEL >= 2
 #if PCH_LEVEL >= 3
 #include <basegfx/basegfxdllapi.h>
diff --git a/sw/source/ui/dbui/createaddresslistdialog.cxx b/sw/source/ui/dbui/createaddresslistdialog.cxx
index 0d32e4980b36..5a7cf43d429e 100644
--- a/sw/source/ui/dbui/createaddresslistdialog.cxx
+++ b/sw/source/ui/dbui/createaddresslistdialog.cxx
@@ -44,6 +44,7 @@
 #include <dbui.hrc>
 #include <strings.hrc>
 #include <unomid.h>
+#include <map>
 
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::ui::dialogs;
diff --git a/sw/source/ui/inc/mmresultdialogs.hxx b/sw/source/ui/inc/mmresultdialogs.hxx
index 4cc719c8fc01..6c02488fddff 100644
--- a/sw/source/ui/inc/mmresultdialogs.hxx
+++ b/sw/source/ui/inc/mmresultdialogs.hxx
@@ -21,6 +21,7 @@
 
 #include <vcl/wizardmachine.hxx>
 #include <vcl/weld.hxx>
+#include <vcl/print.hxx>
 #include <sfx2/basedlgs.hxx>
 #include <mailmergehelper.hxx>
 
diff --git a/sw/source/uibase/envelp/syncbtn.cxx b/sw/source/uibase/envelp/syncbtn.cxx
index 3f8a8d633fff..d67b1712a53d 100644
--- a/sw/source/uibase/envelp/syncbtn.cxx
+++ b/sw/source/uibase/envelp/syncbtn.cxx
@@ -19,6 +19,7 @@
 
 #include <sfx2/viewfrm.hxx>
 #include <sfx2/dispatch.hxx>
+#include <vcl/windowstate.hxx>
 
 #include <cmdid.h>
 #include <swmodule.hxx>
diff --git a/sw/source/uibase/uiview/pview.cxx b/sw/source/uibase/uiview/pview.cxx
index c77d65430b12..89014a5841ab 100644
--- a/sw/source/uibase/uiview/pview.cxx
+++ b/sw/source/uibase/uiview/pview.cxx
@@ -18,11 +18,12 @@
  */
 
 #include <sfx2/objface.hxx>
-#include <vcl/timer.hxx>
 #include <vcl/help.hxx>
 #include <vcl/commandevent.hxx>
 #include <vcl/settings.hxx>
 #include <vcl/svapp.hxx>
+#include <vcl/syswin.hxx>
+#include <vcl/timer.hxx>
 #include <vcl/weld.hxx>
 
 #include <svl/whiter.hxx>
commit 1efeb17837c22499f00299c033ae59ba3910f7d7
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Nov 4 13:06:04 2019 +0000
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Mon Dec 9 13:28:35 2019 +0100

    weld Property Browser
    
    Replaced the odd HyperlinkField Edit whose text can be clicked on to activate
    listeners, with an ordinary Edit and a Button beside it which can be clicked
    instead to do that. I couldn't find a real world use of this HyperlinkField in
    the forms or control properties, nor in casual experimentation in the sidebar
    in the basicide dialog editor.
    
    Also replaced the other strange Edit-alike TextView with a real Edit entry and
    a dropdown which can be used to support entry of multi-line labels
    
    Change-Id: Iad5265e404f6de14c8e760d617dbad49cd6ddead
    Reviewed-on: https://gerrit.libreoffice.org/82213
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/basctl/source/dlged/propbrw.cxx b/basctl/source/dlged/propbrw.cxx
index c6565dda2a70..2f7ff78ab52b 100644
--- a/basctl/source/dlged/propbrw.cxx
+++ b/basctl/source/dlged/propbrw.cxx
@@ -85,6 +85,7 @@ const long WIN_BORDER = 2;
 
 PropBrw::PropBrw (DialogWindowLayout& rLayout_):
     DockingWindow(&rLayout_),
+    m_xContentArea(VclPtr<VclVBox>::Create(this)),
     m_bInitialStateChange(true),
     m_xContextDocument(SfxViewShell::Current() ? SfxViewShell::Current()->GetCurrentDocument() : Reference<XModel>()),
     pView(nullptr)
@@ -93,11 +94,18 @@ PropBrw::PropBrw (DialogWindowLayout& rLayout_):
     SetMinOutputSizePixel(Size(STD_MIN_SIZE_X,STD_MIN_SIZE_Y));
     SetOutputSizePixel(aPropWinSize);
 
+    // turn off WB_CLIPCHILDREN otherwise the bg won't extend "under"
+    // transparent children of the widget
+    m_xContentArea->SetControlBackground(m_xContentArea->GetSettings().GetStyleSettings().GetWindowColor());
+    m_xContentArea->SetBackground(m_xContentArea->GetControlBackground());
+    m_xContentArea->SetStyle(m_xContentArea->GetStyle() & ~WB_CLIPCHILDREN);
+    m_xContentArea->Show();
+
     try
     {
         // create a frame wrapper for myself
         m_xMeAsFrame = frame::Frame::create( comphelper::getProcessComponentContext() );
-        m_xMeAsFrame->initialize( VCLUnoHelper::GetInterface ( this ) );
+        m_xMeAsFrame->initialize(VCLUnoHelper::GetInterface(m_xContentArea));
         m_xMeAsFrame->setName( "form property browser" );  // change name!
     }
     catch (const Exception&)
@@ -126,7 +134,7 @@ void PropBrw::ImplReCreateController()
         // a ComponentContext for the
         ::cppu::ContextEntry_Init aHandlerContextInfo[] =
         {
-            ::cppu::ContextEntry_Init( "DialogParentWindow", Any( VCLUnoHelper::GetInterface ( this ) ) ),
+            ::cppu::ContextEntry_Init( "DialogParentWindow", Any(VCLUnoHelper::GetInterface(this))),
             ::cppu::ContextEntry_Init( "ContextDocument", Any( m_xContextDocument ) )
         };
         Reference< XComponentContext > xInspectorContext(
@@ -153,8 +161,6 @@ void PropBrw::ImplReCreateController()
             else
             {
                 xAsXController->attachFrame( Reference<XFrame>(m_xMeAsFrame,UNO_QUERY_THROW) );
-                m_xBrowserComponentWindow = m_xMeAsFrame->getComponentWindow();
-                DBG_ASSERT(m_xBrowserComponentWindow.is(), "PropBrw::PropBrw: attached the controller, but have no component window!");
             }
         }
 
@@ -163,13 +169,8 @@ void PropBrw::ImplReCreateController()
         aPropWinSize.AdjustWidth( -(2*WIN_BORDER) );
         aPropWinSize.AdjustHeight( -(2*WIN_BORDER) );
 
-        if ( m_xBrowserComponentWindow.is() )
-        {
-            m_xBrowserComponentWindow->setPosSize(aPropWinPos.X(), aPropWinPos.Y(), aPropWinSize.Width(), aPropWinSize.Height(),
-                css::awt::PosSize::WIDTH | css::awt::PosSize::HEIGHT |
-                css::awt::PosSize::X | css::awt::PosSize::Y);
-            m_xBrowserComponentWindow->setVisible(true);
-        }
+        VclContainer::setLayoutAllocation(*m_xContentArea, aPropWinPos, aPropWinSize);
+        m_xContentArea->Show();
     }
     catch (const Exception&)
     {
@@ -177,20 +178,16 @@ void PropBrw::ImplReCreateController()
         try
         {
             ::comphelper::disposeComponent(m_xBrowserController);
-            ::comphelper::disposeComponent(m_xBrowserComponentWindow);
         }
         catch(const Exception&)
         {
         }
 
         m_xBrowserController.clear();
-        m_xBrowserComponentWindow.clear();
     }
-
     Resize();
 }
 
-
 PropBrw::~PropBrw()
 {
     disposeOnce();
@@ -200,6 +197,7 @@ void PropBrw::dispose()
 {
     if ( m_xBrowserController.is() )
         ImplDestroyController();
+    m_xContentArea.disposeAndClear();
     DockingWindow::dispose();
 }
 
@@ -227,7 +225,6 @@ void PropBrw::ImplDestroyController()
     m_xBrowserController.clear();
 }
 
-
 bool PropBrw::Close()
 {
     ImplDestroyController();
@@ -238,7 +235,6 @@ bool PropBrw::Close()
     return DockingWindow::Close();
 }
 
-
 Sequence< Reference< XInterface > >
     PropBrw::CreateMultiSelectionSequence( const SdrMarkList& _rMarkList )
 {
@@ -430,25 +426,6 @@ OUString PropBrw::GetHeadlineName( const Reference< XPropertySet >& _rxObject )
     return aName;
 }
 
-
-void PropBrw::Resize()
-{
-    DockingWindow::Resize();
-
-    // adjust size
-    Size aSize_ = GetOutputSizePixel();
-    Size aPropWinSize( aSize_ );
-    aPropWinSize.AdjustWidth( -(2*WIN_BORDER) );
-    aPropWinSize.AdjustHeight( -(2*WIN_BORDER) );
-
-    if (m_xBrowserComponentWindow.is())
-    {
-        m_xBrowserComponentWindow->setPosSize(0, 0, aPropWinSize.Width(), aPropWinSize.Height(),
-            css::awt::PosSize::WIDTH | css::awt::PosSize::HEIGHT);
-    }
-}
-
-
 void PropBrw::ImplUpdate( const Reference< XModel >& _rxContextDocument, SdrView* pNewView )
 {
     Reference< XModel > xContextDocument( _rxContextDocument );
@@ -482,8 +459,7 @@ void PropBrw::ImplUpdate( const Reference< XModel >& _rxContextDocument, SdrView
         // set focus on initialization
         if ( m_bInitialStateChange )
         {
-            if ( m_xBrowserComponentWindow.is() )
-                m_xBrowserComponentWindow->setFocus();
+            m_xContentArea->GrabFocus();
             m_bInitialStateChange = false;
         }
 
diff --git a/basctl/source/inc/propbrw.hxx b/basctl/source/inc/propbrw.hxx
index 123b477bed92..6bc9066527ce 100644
--- a/basctl/source/inc/propbrw.hxx
+++ b/basctl/source/inc/propbrw.hxx
@@ -29,6 +29,7 @@
 #include <svl/lstner.hxx>
 #include <svl/SfxBroadcaster.hxx>
 #include <svx/svdmark.hxx>
+#include <vcl/layout.hxx>
 #include "bastypes.hxx"
 
 class SfxBindings;
@@ -43,19 +44,17 @@ class DialogWindowLayout;
 class PropBrw final : public DockingWindow, public SfxListener, public SfxBroadcaster
 {
 private:
+    VclPtr<VclBox> m_xContentArea;
     bool        m_bInitialStateChange;
 
     css::uno::Reference< css::frame::XFrame2 >
                     m_xMeAsFrame;
     css::uno::Reference< css::beans::XPropertySet >
                     m_xBrowserController;
-    css::uno::Reference< css::awt::XWindow >
-                    m_xBrowserComponentWindow;
     css::uno::Reference< css::frame::XModel >
                     m_xContextDocument;
 
     SdrView*        pView;
-    virtual void Resize() override;
     virtual bool Close() override;
 
     typedef std::vector< css::uno::Reference< css::uno::XInterface> > InterfaceArray;
diff --git a/extensions/UIConfig_spropctrlr.mk b/extensions/UIConfig_spropctrlr.mk
index a0a078e1ebd7..a07d7737d4ba 100644
--- a/extensions/UIConfig_spropctrlr.mk
+++ b/extensions/UIConfig_spropctrlr.mk
@@ -10,12 +10,28 @@
 $(eval $(call gb_UIConfig_UIConfig,modules/spropctrlr))
 
 $(eval $(call gb_UIConfig_add_uifiles,modules/spropctrlr,\
+	extensions/uiconfig/spropctrlr/ui/browserline \
+	extensions/uiconfig/spropctrlr/ui/browserpage \
+	extensions/uiconfig/spropctrlr/ui/colorlistbox \
+	extensions/uiconfig/spropctrlr/ui/combobox \
 	extensions/uiconfig/spropctrlr/ui/controlfontdialog \
+	extensions/uiconfig/spropctrlr/ui/datefield \
 	extensions/uiconfig/spropctrlr/ui/datatypedialog \
+	extensions/uiconfig/spropctrlr/ui/datetimefield \
 	extensions/uiconfig/spropctrlr/ui/formlinksdialog \
+	extensions/uiconfig/spropctrlr/ui/formattedcontrol \
+	extensions/uiconfig/spropctrlr/ui/formattedsample \
+	extensions/uiconfig/spropctrlr/ui/formproperties \
+	extensions/uiconfig/spropctrlr/ui/hyperlinkfield \
 	extensions/uiconfig/spropctrlr/ui/labelselectiondialog \
+	extensions/uiconfig/spropctrlr/ui/listbox \
 	extensions/uiconfig/spropctrlr/ui/listselectdialog \
+	extensions/uiconfig/spropctrlr/ui/multiline \
+	extensions/uiconfig/spropctrlr/ui/numericfield \
 	extensions/uiconfig/spropctrlr/ui/taborder \
+	extensions/uiconfig/spropctrlr/ui/textfield \
+	extensions/uiconfig/spropctrlr/ui/timefield \
+	extensions/uiconfig/spropctrlr/ui/urlcontrol \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/extensions/inc/strings.hrc b/extensions/inc/strings.hrc
index 1bece38c2cba..63dc3ced1b7d 100644
--- a/extensions/inc/strings.hrc
+++ b/extensions/inc/strings.hrc
@@ -257,7 +257,6 @@
 #define RID_STR_STANDARD                        NC_("RID_STR_STANDARD", "Default")
 #define RID_STR_PROPPAGE_DEFAULT                NC_("RID_STR_PROPPAGE_DEFAULT", "General")
 #define RID_STR_PROPPAGE_DATA                   NC_("RID_STR_PROPPAGE_DATA", "Data")
-#define RID_STR_HELP_SECTION_LABEL              NC_("RID_STR_HELP_SECTION_LABEL", "Help")
 #define RID_EMBED_IMAGE_PLACEHOLDER             NC_("RID_EMBED_IMAGE_PLACEHOLDER", "<Embedded-Image>")
 #define RID_STR_TEXT_FORMAT                     NC_("RID_STR_TEXT_FORMAT", "Text")
 
diff --git a/extensions/source/propctrlr/browserline.cxx b/extensions/source/propctrlr/browserline.cxx
index afb01b626153..6dcd483dc941 100644
--- a/extensions/source/propctrlr/browserline.cxx
+++ b/extensions/source/propctrlr/browserline.cxx
@@ -29,9 +29,10 @@
 #include <tools/debug.hxx>
 #include <tools/diagnose_ex.h>
 #include <toolkit/helper/vclunohelper.hxx>
-#include <vcl/svapp.hxx>
 #include <vcl/settings.hxx>
-
+#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
+#include <vcl/weldutils.hxx>
 
 namespace pcr
 {
@@ -51,235 +52,159 @@ namespace pcr
 
     namespace PropertyLineElement = ::com::sun::star::inspection::PropertyLineElement;
 
-    OBrowserLine::OBrowserLine( const OUString& _rEntryName, vcl::Window* pParent )
-            :m_sEntryName( _rEntryName )
-            ,m_aFtTitle(VclPtr<FixedText>::Create(pParent))
-            ,m_pControlWindow( nullptr )
-            ,m_pBrowseButton(nullptr)
-            ,m_pAdditionalBrowseButton( nullptr )
-            ,m_pClickListener( nullptr )
-            ,m_pTheParent(pParent)
-            ,m_nNameWidth(0)
-            ,m_nEnableFlags( 0xFFFF )
-            ,m_bIndentTitle( false )
-            ,m_bReadOnly( false )
+    OBrowserLine::OBrowserLine(const OUString& rEntryName, weld::Container* pParent, weld::SizeGroup* pLabelGroup,
+                               weld::Container* pInitialControlParent, bool bInterimBuilder)
+        : m_sEntryName(rEntryName)
+        , m_xBuilder(bInterimBuilder
+                     ? Application::CreateInterimBuilder(pParent, "modules/spropctrlr/ui/browserline.ui")
+                     : Application::CreateBuilder(pParent, "modules/spropctrlr/ui/browserline.ui"))
+        , m_xContainer(m_xBuilder->weld_container("BrowserLine"))
+        , m_xFtTitle(m_xBuilder->weld_label("label"))
+        , m_xBrowseButton(m_xBuilder->weld_button("browse"))
+        , m_xAdditionalBrowseButton(m_xBuilder->weld_button("morebrowse"))
+        , m_pInitialControlParent(pInitialControlParent) // controls start with this as their parent and need to be moved into m_xContainer
+        , m_pParent(pParent)
+        , m_pControlWindow( nullptr )
+        , m_pBrowseButton(nullptr)
+        , m_pAdditionalBrowseButton( nullptr )
+        , m_pClickListener( nullptr )
+        , m_nNameWidth(0)
+        , m_nEnableFlags( 0xFFFF )
+        , m_bIndentTitle( false )
+        , m_bReadOnly( false )
     {
-        m_aFtTitle->Show();
+        pLabelGroup->add_widget(m_xFtTitle.get());
     }
 
     OBrowserLine::~OBrowserLine()
     {
         implHideBrowseButton(true);
         implHideBrowseButton(false);
-        m_aFtTitle.disposeAndClear();
+        m_pParent->move(m_xContainer.get(), nullptr);
     }
 
-
     void OBrowserLine::IndentTitle( bool _bIndent )
     {
         if ( m_bIndentTitle != _bIndent )
         {
             m_bIndentTitle = _bIndent;
-            impl_layoutComponents();
         }
     }
 
-    void OBrowserLine::SetComponentHelpIds(const OString& _rHelpId)
+    void OBrowserLine::SetComponentHelpIds(const OString& rHelpId)
     {
-        if ( m_pControlWindow )
-            m_pControlWindow->SetHelpId( _rHelpId );
+        if (m_pControlWindow)
+            m_pControlWindow->set_help_id(rHelpId);
 
         if ( m_pBrowseButton )
         {
-            m_pBrowseButton->SetHelpId( _rHelpId );
+            m_pBrowseButton->set_help_id(rHelpId);
 
             if ( m_pAdditionalBrowseButton )
             {
-                m_pAdditionalBrowseButton->SetHelpId( _rHelpId );
+                m_pAdditionalBrowseButton->set_help_id(rHelpId);
             }
         }
     }
 
-    void OBrowserLine::setControl( const Reference< XPropertyControl >& _rxControl )
+    void OBrowserLine::setControl( const Reference< XPropertyControl >& rxControl )
     {
-        m_xControl = _rxControl;
-        m_pControlWindow = m_xControl.is() ? VCLUnoHelper::GetWindow( _rxControl->getControlWindow() ) : VclPtr<vcl::Window>();
+        m_xControl = rxControl;
+        auto xWindow = m_xControl->getControlWindow();
+        if (weld::TransportAsXWindow* pTunnel = dynamic_cast<weld::TransportAsXWindow*>(xWindow.get()))
+            m_pControlWindow = pTunnel->getWidget();
+        else
+            m_pControlWindow = nullptr;
         DBG_ASSERT( m_pControlWindow, "OBrowserLine::setControl: setting NULL controls/windows is not allowed!" );
 
         if ( m_pControlWindow )
         {
-            m_pControlWindow->SetParent( m_pTheParent );
-            m_pControlWindow->Show();
+            m_pInitialControlParent->move(m_pControlWindow, m_xContainer.get());
+            m_pControlWindow->set_grid_left_attach(1);
+            m_xFtTitle->set_mnemonic_widget(m_pControlWindow);
+            m_pControlWindow->show();
         }
-        impl_layoutComponents();
     }
 
-
-    vcl::Window* OBrowserLine::GetRefWindow()
-    {
-        vcl::Window* pRefWindow = m_aFtTitle.get();
-
-        if(m_pBrowseButton)
-        {
-            pRefWindow = m_pBrowseButton;
-        }
-        else if ( m_pControlWindow )
-        {
-            pRefWindow = m_pControlWindow;
-        }
-        return pRefWindow;
-    }
-
-
-    void OBrowserLine::SetTabOrder(vcl::Window* pRefWindow, ZOrderFlags nFlags )
-    {
-        m_aFtTitle->SetZOrder(pRefWindow,nFlags);
-        if ( m_pControlWindow )
-            m_pControlWindow->SetZOrder( m_aFtTitle.get(), ZOrderFlags::Behind );
-
-        if ( m_pBrowseButton && m_pControlWindow )
-            m_pBrowseButton->SetZOrder( m_pControlWindow, ZOrderFlags::Behind );
-
-        if ( m_pAdditionalBrowseButton && m_pBrowseButton )
-            m_pAdditionalBrowseButton->SetZOrder( m_pBrowseButton, ZOrderFlags::Behind );
-    }
-
-
     bool OBrowserLine::GrabFocus()
     {
         bool bRes=false;
 
-        if ( m_pControlWindow && m_pControlWindow->IsEnabled() )
+        if (m_pControlWindow && m_pControlWindow->get_sensitive())
         {
-            m_pControlWindow->GrabFocus();
+            m_pControlWindow->grab_focus();
             bRes = true;
         }
-        else if ( m_pAdditionalBrowseButton && m_pAdditionalBrowseButton->IsEnabled() )
+        else if ( m_pAdditionalBrowseButton && m_pAdditionalBrowseButton->get_sensitive() )
         {
-            m_pAdditionalBrowseButton->GrabFocus();
+            m_pAdditionalBrowseButton->grab_focus();
             bRes = true;
         }
-        else if ( m_pBrowseButton && m_pBrowseButton->IsEnabled() )
+        else if ( m_pBrowseButton && m_pBrowseButton->get_sensitive() )
         {
-            m_pBrowseButton->GrabFocus();
+            m_pBrowseButton->grab_focus();
             bRes = true;
         }
         return bRes;
     }
 
-
-    void OBrowserLine::SetPosSizePixel( Point _rPos, Size _rSize )
-    {
-        m_aLinePos = _rPos;
-        m_aOutputSize = _rSize;
-
-        impl_layoutComponents();
-    }
-
-
     void OBrowserLine::Show(bool bFlag)
     {
-        m_aFtTitle->Show(bFlag);
-        if ( m_pControlWindow )
-            m_pControlWindow->Show( bFlag );
+        m_xFtTitle->set_visible(bFlag);
+        if (m_pControlWindow)
+            m_pControlWindow->set_visible( bFlag );
         if ( m_pBrowseButton )
-            m_pBrowseButton->Show( bFlag );
+            m_pBrowseButton->set_visible( bFlag );
         if ( m_pAdditionalBrowseButton )
-            m_pAdditionalBrowseButton->Show( bFlag );
+            m_pAdditionalBrowseButton->set_visible( bFlag );
     }
 
-
     void OBrowserLine::Hide()
     {
         Show(false);
     }
 
-
     bool OBrowserLine::IsVisible() const
     {
-        return m_aFtTitle->IsVisible();
-    }
-
-
-    void OBrowserLine::impl_layoutComponents()
-    {
-        {
-            Point aTitlePos( m_aLinePos.X(), m_aLinePos.Y() + 8 );
-            Size aTitleSize( m_nNameWidth - 3, m_aOutputSize.Height() );
-
-            if ( m_bIndentTitle )
-            {
-                Size aIndent( m_pTheParent->LogicToPixel(Size(8, 0), MapMode(MapUnit::MapAppFont)) );
-                aTitlePos.AdjustX(aIndent.Width() );
-                aTitleSize.AdjustWidth( -(aIndent.Width()) );
-            }
-            m_aFtTitle->SetPosSizePixel( aTitlePos, aTitleSize );
-        }
-
-        sal_Int32 nBrowseButtonSize = m_aOutputSize.Height() - 4;
-
-        if ( m_pControlWindow )
-        {
-            Point aControlPos( m_aLinePos.X() + m_nNameWidth, m_aLinePos.Y() + 2 );
-            m_pControlWindow->SetPosPixel( aControlPos );
-
-            Size aControlSize( m_aOutputSize.Width() - 4 - m_nNameWidth - nBrowseButtonSize - 4, m_pControlWindow->GetSizePixel().Height() );
-            if ( m_pAdditionalBrowseButton )
-                aControlSize.AdjustWidth( -(nBrowseButtonSize + 4) );
-            m_pControlWindow->SetSizePixel( aControlSize );
-        }
-
-        if ( m_pBrowseButton )
-        {
-            Point aButtonPos( m_aOutputSize.Width() - 4 - nBrowseButtonSize, m_aLinePos.Y() + 2 );
-            Size aButtonSize( nBrowseButtonSize, nBrowseButtonSize );
-            m_pBrowseButton->SetPosSizePixel( aButtonPos, aButtonSize );
-
-            if ( m_pAdditionalBrowseButton )
-            {
-                aButtonPos.AdjustX( -(nBrowseButtonSize + 4) );
-                m_pAdditionalBrowseButton->SetPosSizePixel( aButtonPos, aButtonSize );
-            }
-        }
+        return m_xFtTitle->get_visible();
     }
 
-
-    void OBrowserLine::SetTitle(const OUString& _rNewTitle )
+    void OBrowserLine::SetTitle(const OUString& rNewTitle )
     {
-        if ( GetTitle() == _rNewTitle )
+        if ( GetTitle() == rNewTitle )
             return;
-        m_aFtTitle->SetText( _rNewTitle );
-        if ( m_pControlWindow )
-            m_pControlWindow->SetAccessibleName( _rNewTitle );
+        m_xFtTitle->set_label( rNewTitle );
+        if (m_pControlWindow)
+            m_pControlWindow->set_accessible_name(rNewTitle);
         if ( m_pBrowseButton )
-            m_pBrowseButton->SetAccessibleName( _rNewTitle );
+            m_pBrowseButton->set_accessible_name( rNewTitle );
         FullFillTitleString();
     }
 
     void OBrowserLine::FullFillTitleString()
     {
-        if( m_pTheParent )
-        {
-            OUStringBuffer aText( m_aFtTitle->GetText() );
-
-            while( m_pTheParent->GetTextWidth( aText.toString() ) < m_nNameWidth )
-                        aText.append("...........");
+        OUStringBuffer aText(m_xFtTitle->get_label());
 
-            // for Issue 69452
-            if (AllSettings::GetLayoutRTL())
-            {
-                sal_Unicode const cRTL_mark = 0x200F;
-                aText.append( OUString(cRTL_mark) );
-            }
+        int n10DotsWidth = m_xFtTitle->get_pixel_size("..........").Width();
+        int nTextWidth = m_xFtTitle->get_pixel_size(aText.toString()).Width();
+        int nDiff = m_nNameWidth - nTextWidth;
+        int nExtraChars = (nDiff * 10) / n10DotsWidth;
+        for (int i = 0; i < nExtraChars; ++i)
+            aText.append(".");
 
-            m_aFtTitle->SetText( aText.makeStringAndClear() );
+        // for Issue 69452
+        if (AllSettings::GetLayoutRTL())
+        {
+            sal_Unicode const cRTL_mark = 0x200F;
+            aText.append( OUString(cRTL_mark) );
         }
-    }
 
+        m_xFtTitle->set_label(aText.makeStringAndClear());
+    }
 
     OUString OBrowserLine::GetTitle() const
     {
-        OUString sDisplayName = m_aFtTitle->GetText();
+        OUString sDisplayName = m_xFtTitle->get_label();
 
         // for Issue 69452
         if (AllSettings::GetLayoutRTL())
@@ -293,7 +218,6 @@ namespace pcr
         return sDisplayName;
     }
 
-
     void OBrowserLine::SetReadOnly( bool _bReadOnly )
     {
         if ( m_bReadOnly != _bReadOnly )
@@ -303,37 +227,35 @@ namespace pcr
         }
     }
 
-
     namespace
     {
-        void implSetBitIfAffected( sal_uInt16& _nEnabledBits, sal_Int16 _nAffectedMask, sal_Int16 _nTestBit, bool _bSet )
+        void implSetBitIfAffected(sal_uInt16& nEnabledBits, sal_Int16 _nAffectedMask, sal_Int16 _nTestBit, bool _bSet)
         {
             if ( _nAffectedMask & _nTestBit )
             {
                 if ( _bSet )
-                    _nEnabledBits |= _nTestBit;
+                    nEnabledBits |= _nTestBit;
                 else
-                    _nEnabledBits &= ~_nTestBit;
+                    nEnabledBits &= ~_nTestBit;
             }
         }
 
-        void implEnable( vcl::Window* _pWindow, sal_uInt16 _nEnabledBits, sal_uInt16 _nMatchBits  )
+        void implEnable(weld::Widget* pWindow, sal_uInt16 nEnabledBits, sal_uInt16 nMatchBits)
         {
-            if ( _pWindow )
-                _pWindow->Enable( ( _nEnabledBits & _nMatchBits ) == _nMatchBits );
+            if (pWindow)
+                pWindow->set_sensitive((nEnabledBits & nMatchBits) == nMatchBits);
         }
 
-        void implEnable( vcl::Window* _pWindow, bool _bEnable )
+        void implEnable(weld::Widget* pWindow, bool bEnable)
         {
-            if ( _pWindow )
-                _pWindow->Enable( _bEnable );
+            if (pWindow)
+                pWindow->set_sensitive(bEnable);
         }
     }
 
-
     void OBrowserLine::implUpdateEnabledDisabled()
     {
-        implEnable( m_aFtTitle.get(),           m_nEnableFlags, PropertyLineElement::CompleteLine );
+        implEnable( m_xFtTitle.get(),           m_nEnableFlags, PropertyLineElement::CompleteLine );
         if ( m_pControlWindow )
             implEnable( m_pControlWindow,       m_nEnableFlags, PropertyLineElement::CompleteLine | PropertyLineElement::InputControl );
 
@@ -349,7 +271,6 @@ namespace pcr
         }
     }
 
-
     void OBrowserLine::EnablePropertyLine( bool _bEnable )
     {
         implSetBitIfAffected( m_nEnableFlags, PropertyLineElement::CompleteLine, PropertyLineElement::CompleteLine, _bEnable );
@@ -365,33 +286,35 @@ namespace pcr
         implUpdateEnabledDisabled();
     }
 
-
-    PushButton& OBrowserLine::impl_ensureButton( bool _bPrimary )
+    weld::Button& OBrowserLine::impl_ensureButton(bool bPrimary)
     {
-        VclPtr<PushButton>& rpButton = _bPrimary ? m_pBrowseButton : m_pAdditionalBrowseButton;
+        weld::Button* pButton;
+        if (bPrimary)
+            pButton = m_pBrowseButton;
+        else
+            pButton = m_pAdditionalBrowseButton;
 
-        if ( !rpButton )
+        if (!pButton )
         {
-            rpButton = VclPtr<PushButton>::Create( m_pTheParent, WB_NOPOINTERFOCUS );
-            rpButton->SetGetFocusHdl( LINK( this, OBrowserLine, OnButtonFocus ) );
-            rpButton->SetClickHdl( LINK( this, OBrowserLine, OnButtonClicked ) );
-            rpButton->SetText("...");
+            if (bPrimary)
+                pButton = m_pBrowseButton = m_xBrowseButton.get();
+            else
+                pButton = m_pAdditionalBrowseButton = m_xAdditionalBrowseButton.get();
+            pButton->connect_focus_in(LINK(this, OBrowserLine, OnButtonFocus));
+            pButton->connect_clicked(LINK(this, OBrowserLine, OnButtonClicked));
         }
 
-        rpButton->Show();
+        pButton->show();
 
-        impl_layoutComponents();
-
-        return *rpButton;
+        return *pButton;
     }
 
-
-    void OBrowserLine::ShowBrowseButton( const OUString& _rImageURL, bool _bPrimary )
+    void OBrowserLine::ShowBrowseButton( const OUString& rImageURL, bool bPrimary )
     {
-        PushButton& rButton( impl_ensureButton( _bPrimary ) );
+        weld::Button& rButton( impl_ensureButton( bPrimary ) );
 
-        OSL_PRECOND( !_rImageURL.isEmpty(), "OBrowserLine::ShowBrowseButton: use the other version if you don't have an image!" );
-        Image aImage;
+        OSL_PRECOND( !rImageURL.isEmpty(), "OBrowserLine::ShowBrowseButton: use the other version if you don't have an image!" );
+        Reference<XGraphic> xGraphic;
         try
         {
             Reference< XComponentContext > xContext( ::comphelper::getProcessComponentContext() );
@@ -399,73 +322,74 @@ namespace pcr
 
             Sequence< PropertyValue > aMediaProperties(1);
             aMediaProperties[0].Name = "URL";
-            aMediaProperties[0].Value <<= _rImageURL;
+            aMediaProperties[0].Value <<= rImageURL;
 
-            Reference< XGraphic > xGraphic( xGraphicProvider->queryGraphic( aMediaProperties ), css::uno::UNO_SET_THROW );
-            aImage = Image( xGraphic );
+            xGraphic = Reference<XGraphic>(xGraphicProvider->queryGraphic(aMediaProperties), css::uno::UNO_SET_THROW);
         }
         catch( const Exception& )
         {
             DBG_UNHANDLED_EXCEPTION("extensions.propctrlr");
         }
 
-        rButton.SetModeImage( aImage );
+        rButton.set_image(xGraphic);
     }
 
-    void OBrowserLine::ShowBrowseButton( const Image& _rImage, bool _bPrimary )
+    void OBrowserLine::ShowBrowseButton(const css::uno::Reference<css::graphic::XGraphic>& rGraphic, bool bPrimary)
     {
-        PushButton& rButton( impl_ensureButton( _bPrimary ) );
-        if ( !!_rImage )
-            rButton.SetModeImage( _rImage );
+        weld::Button& rButton( impl_ensureButton( bPrimary ) );
+        rButton.set_image(rGraphic);
     }
 
-    void OBrowserLine::ShowBrowseButton( bool _bPrimary )
+    void OBrowserLine::ShowBrowseButton( bool bPrimary )
     {
-        impl_ensureButton( _bPrimary );
+        impl_ensureButton(bPrimary);
     }
 
-    void OBrowserLine::implHideBrowseButton(bool _bPrimary)
+    void OBrowserLine::implHideBrowseButton(bool bPrimary)
     {
-        VclPtr<PushButton>& rpButton = _bPrimary ? m_pBrowseButton : m_pAdditionalBrowseButton;
-
-        if ( rpButton )
+        if (bPrimary)
+        {
+            if (m_pBrowseButton)
+            {
+                m_pBrowseButton->hide();
+                m_pBrowseButton = nullptr;
+            }
+        }
+        else
         {
-            rpButton->Hide();
-            rpButton.disposeAndClear();
+            if (m_pAdditionalBrowseButton)
+            {
+                m_pAdditionalBrowseButton->hide();
+                m_pAdditionalBrowseButton = nullptr;
+            }
         }
     }
 
-    void OBrowserLine::HideBrowseButton(bool _bPrimary)
+    void OBrowserLine::HideBrowseButton(bool bPrimary)
     {
-        implHideBrowseButton(_bPrimary);
-        impl_layoutComponents();
+        implHideBrowseButton(bPrimary);
     }
 
     void OBrowserLine::SetTitleWidth(sal_uInt16 nWidth)
     {
-        if (m_nNameWidth != nWidth+10)
-        {
-            m_nNameWidth = nWidth+10;
-            impl_layoutComponents();
-        }
+        int nMinDotsWidth = m_xFtTitle->get_pixel_size("...").Width();
+        if (m_nNameWidth != nWidth + nMinDotsWidth)
+            m_nNameWidth = nWidth + nMinDotsWidth;
         FullFillTitleString();
     }
 
-
     void OBrowserLine::SetClickListener( IButtonClickListener* _pListener )
     {
         m_pClickListener = _pListener;
     }
 
-
-    IMPL_LINK( OBrowserLine, OnButtonClicked, Button*, _pButton, void )
+    IMPL_LINK(OBrowserLine, OnButtonClicked, weld::Button&, rButton, void)
     {
         if ( m_pClickListener )
-            m_pClickListener->buttonClicked( this, _pButton == m_pBrowseButton );
+            m_pClickListener->buttonClicked(this, &rButton == m_pBrowseButton);
     }
 
-
-    IMPL_LINK_NOARG( OBrowserLine, OnButtonFocus, Control&, void )
+    IMPL_LINK_NOARG( OBrowserLine, OnButtonFocus, weld::Widget&, void )
     {
         if ( m_xControl.is() )
         {
@@ -483,5 +407,4 @@ namespace pcr
 
 } // namespace pcr
 
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/propctrlr/browserline.hxx b/extensions/source/propctrlr/browserline.hxx
index 45b98a56128e..fb841740ac48 100644
--- a/extensions/source/propctrlr/browserline.hxx
+++ b/extensions/source/propctrlr/browserline.hxx
@@ -23,6 +23,7 @@
 #include <com/sun/star/inspection/XPropertyControl.hpp>
 #include <vcl/fixed.hxx>
 #include <vcl/button.hxx>
+#include <vcl/weld.hxx>
 
 namespace com { namespace sun { namespace star { namespace inspection { namespace PropertyLineElement
 {
@@ -40,7 +41,7 @@ namespace pcr
     class IButtonClickListener
     {
     public:
-        virtual void    buttonClicked( OBrowserLine* _pLine, bool _bPrimary ) = 0;
+        virtual void    buttonClicked( OBrowserLine* pLine, bool bPrimary ) = 0;
 
     protected:
         ~IButtonClickListener() {}
@@ -51,77 +52,76 @@ namespace pcr
     {
     private:
         OUString                m_sEntryName;
-        VclPtr<FixedText>       m_aFtTitle;
-        Size                    m_aOutputSize;
-        Point                   m_aLinePos;
+        std::unique_ptr<weld::Builder> m_xBuilder;
+        std::unique_ptr<weld::Container> m_xContainer;
+        std::unique_ptr<weld::Label> m_xFtTitle;
+        std::unique_ptr<weld::Button> m_xBrowseButton;
+        std::unique_ptr<weld::Button> m_xAdditionalBrowseButton;
         css::uno::Reference< css::inspection::XPropertyControl >
                                 m_xControl;
-        VclPtr<vcl::Window>     m_pControlWindow;
-        VclPtr<PushButton>      m_pBrowseButton;
-        VclPtr<PushButton>      m_pAdditionalBrowseButton;
+        weld::Container*        m_pInitialControlParent;
+        weld::Container*        m_pParent;
+        weld::Widget*           m_pControlWindow;
+        weld::Button*           m_pBrowseButton;
+        weld::Button*           m_pAdditionalBrowseButton;
         IButtonClickListener*   m_pClickListener;
-        VclPtr<vcl::Window>     m_pTheParent;
         sal_uInt16              m_nNameWidth;
         sal_uInt16              m_nEnableFlags;
         bool                    m_bIndentTitle;
         bool                    m_bReadOnly;
 
     public:
-                            OBrowserLine( const OUString& _rEntryName, vcl::Window* pParent);
-                            ~OBrowserLine();
+        OBrowserLine(const OUString& rEntryName, weld::Container* pParent, weld::SizeGroup* pLabelGroup,
+                     weld::Container* pInitialControlParent, bool bInterimBuilder);
+        ~OBrowserLine();
 
-        void setControl( const css::uno::Reference< css::inspection::XPropertyControl >& _rxControl );
+        void setControl( const css::uno::Reference< css::inspection::XPropertyControl >& rxControl );
         const css::uno::Reference< css::inspection::XPropertyControl >& getControl() const
         {
             return m_xControl;
         }
-        vcl::Window* getControlWindow() const
+        weld::Widget* getControlWindow() const
         {
             return m_pControlWindow;
         }
 
         const OUString&     GetEntryName() const { return m_sEntryName; }
 
-        void                SetComponentHelpIds(const OString& _rHelpId);
+        void                SetComponentHelpIds(const OString& rHelpId);
 
         void                SetTitle(const OUString& rString );
         void                FullFillTitleString();
         OUString            GetTitle() const;
         void                SetTitleWidth(sal_uInt16);
 
-        void                SetPosSizePixel(Point aPos,Size aSize);
+        int                 GetRowHeight() const { return m_xContainer->get_preferred_size().Height(); }
         void                Show(bool bFlag=true);
         void                Hide();
         bool                IsVisible() const;
 
-        vcl::Window*        GetRefWindow();
-        void                SetTabOrder(vcl::Window* pRefWindow, ZOrderFlags nFlags );
-
         bool                GrabFocus();
-        void                ShowBrowseButton( const OUString& _rImageURL, bool _bPrimary );
-        void                ShowBrowseButton( const Image& _rImage, bool _bPrimary );
-        void                ShowBrowseButton( bool _bPrimary );
-        void                HideBrowseButton( bool _bPrimary );
+        void                ShowBrowseButton( const OUString& rImageURL, bool bPrimary );
+        void                ShowBrowseButton( const css::uno::Reference<css::graphic::XGraphic>& rGraphic, bool bPrimary );
+        void                ShowBrowseButton( bool bPrimary );
+        void                HideBrowseButton( bool bPrimary );
 
-        void                EnablePropertyControls( sal_Int16 _nControls, bool _bEnable );
-        void                EnablePropertyLine( bool _bEnable );
+        void                EnablePropertyControls( sal_Int16 nControls, bool bEnable );
+        void                EnablePropertyLine( bool bEnable );
 
-        void                SetReadOnly( bool _bReadOnly );
+        void                SetReadOnly( bool bReadOnly );
 
-        void                SetClickListener( IButtonClickListener* _pListener );
+        void                SetClickListener( IButtonClickListener* pListener );
 
-        void                IndentTitle( bool _bIndent );
+        void                IndentTitle( bool bIndent );
 
     private:
-        DECL_LINK( OnButtonClicked, Button*, void );
-        DECL_LINK( OnButtonFocus, Control&, void );
+        DECL_LINK( OnButtonClicked, weld::Button&, void );
+        DECL_LINK( OnButtonFocus, weld::Widget&, void );
 
-        void    implHideBrowseButton(bool _bPrimary);
+        void    implHideBrowseButton(bool bPrimary);
         void    implUpdateEnabledDisabled();
 
-        void    impl_layoutComponents();
-
-        PushButton& impl_ensureButton( bool _bPrimary );
+        weld::Button& impl_ensureButton(bool bPrimary);
     };
 
 
diff --git a/extensions/source/propctrlr/browserlistbox.cxx b/extensions/source/propctrlr/browserlistbox.cxx
index b98f3c1e25c0..11b6ecf178e6 100644
--- a/extensions/source/propctrlr/browserlistbox.cxx
+++ b/extensions/source/propctrlr/browserlistbox.cxx
@@ -41,12 +41,7 @@
 
 namespace pcr
 {
-
-
     #define FRAME_OFFSET 4
-        // TODO: find out what this is really for ... and check if it does make sense in the new
-        // browser environment
-    #define LAYOUT_HELP_WINDOW_DISTANCE_APPFONT 3
 
     using ::com::sun::star::uno::Any;
     using ::com::sun::star::uno::Exception;
@@ -137,8 +132,8 @@ namespace pcr
         };
 
     private:
-        VclPtr<OBrowserListBox>     m_pContext;
-        NotificationMode            m_eMode;
+        OBrowserListBox* m_pContext;
+        NotificationMode m_eMode;
 
     public:
         /** creates an instance
@@ -188,7 +183,7 @@ namespace pcr
 
         /** checks whether the instance is already disposed
         */
-        bool impl_isDisposed_nothrow() const { return m_pContext.get() == nullptr; }
+        bool impl_isDisposed_nothrow() const { return m_pContext == nullptr; }
 
         /** notifies the given event originating from the given control
         @throws DisposedException
@@ -198,21 +193,18 @@ namespace pcr
         void impl_notify_throw( const Reference< XPropertyControl >& _rxControl, ControlEventType _eType );
     };
 
-
     PropertyControlContext_Impl::PropertyControlContext_Impl( OBrowserListBox& _rContextImpl )
-        :m_pContext( &_rContextImpl )
-        ,m_eMode( eAsynchronously )
+        : m_pContext( &_rContextImpl )
+        , m_eMode( eAsynchronously )
     {
     }
 
-
     PropertyControlContext_Impl::~PropertyControlContext_Impl()
     {
         if ( !impl_isDisposed_nothrow() )
             dispose();
     }
 
-
     void PropertyControlContext_Impl::dispose()
     {
         SolarMutexGuard aGuard;
@@ -223,14 +215,12 @@ namespace pcr
         m_pContext = nullptr;
     }
 
-
     void PropertyControlContext_Impl::setNotificationMode( NotificationMode _eMode )
     {
         SolarMutexGuard aGuard;
         m_eMode = _eMode;
     }
 
-
     void PropertyControlContext_Impl::impl_notify_throw( const Reference< XPropertyControl >& _rxControl, ControlEventType _eType )
     {
         ::comphelper::AnyEventRef pEvent;
@@ -251,37 +241,31 @@ namespace pcr
         SharedNotifier::getNotifier()->addEvent( pEvent, this );
     }
 
-
     void SAL_CALL PropertyControlContext_Impl::focusGained( const Reference< XPropertyControl >& Control )
     {
         impl_notify_throw( Control, FOCUS_GAINED );
     }
 
-
     void SAL_CALL PropertyControlContext_Impl::valueChanged( const Reference< XPropertyControl >& Control )
     {
         impl_notify_throw( Control, VALUE_CHANGED );
     }
 
-
     void SAL_CALL PropertyControlContext_Impl::activateNextControl( const Reference< XPropertyControl >& CurrentControl )
     {
         impl_notify_throw( CurrentControl, ACTIVATE_NEXT );
     }
 
-
     void SAL_CALL PropertyControlContext_Impl::acquire() throw()
     {
         PropertyControlContext_Impl_Base::acquire();
     }
 
-
     void SAL_CALL PropertyControlContext_Impl::release() throw()
     {
         PropertyControlContext_Impl_Base::release();
     }
 
-
     void PropertyControlContext_Impl::processEvent( const ::comphelper::AnyEvent& _rEvent )
     {
         SolarMutexGuard aGuard;
@@ -300,7 +284,6 @@ namespace pcr
         }
     }
 
-
     void PropertyControlContext_Impl::impl_processEvent_throw( const ::comphelper::AnyEvent& _rEvent )
     {
         const ControlEvent& rControlEvent = static_cast< const ControlEvent& >( _rEvent );
@@ -318,70 +301,45 @@ namespace pcr
         }
     }
 
-    OBrowserListBox::OBrowserListBox( vcl::Window* pParent)
-            :Control(pParent, WB_DIALOGCONTROL | WB_CLIPCHILDREN)
-            ,m_aLinesPlayground(VclPtr<vcl::Window>::Create(this,WB_DIALOGCONTROL | WB_CLIPCHILDREN))
-            ,m_aVScroll(VclPtr<ScrollBar>::Create(this,WB_VSCROLL|WB_REPEAT|WB_DRAG))
-            ,m_pHelpWindow( VclPtr<InspectorHelpWindow>::Create( this ) )
-            ,m_pLineListener(nullptr)
-            ,m_pControlObserver( nullptr )
-            ,m_nYOffset(0)
-            ,m_nCurrentPreferredHelpHeight(0)
-            ,m_nTheNameSize(0)
-            ,m_bIsActive(false)
-            ,m_bUpdate(true)
-            ,m_pControlContextImpl( new PropertyControlContext_Impl( *this ) )
+    OBrowserListBox::OBrowserListBox(weld::Builder& rBuilder, weld::Container* pContainer, bool bInterimBuilder)
+        : m_xScrolledWindow(rBuilder.weld_scrolled_window("scrolledwindow"))
+        , m_xLinesPlayground(rBuilder.weld_container("playground"))
+        , m_xSizeGroup(rBuilder.create_size_group())
+        , m_xHelpWindow(new InspectorHelpWindow(rBuilder))
+        , m_pInitialControlParent(pContainer)
+        , m_pLineListener(nullptr)
+        , m_pControlObserver( nullptr )
+        , m_nTheNameSize(0)
+        , m_nRowHeight(0)
+        , m_bInterimBuilder(bInterimBuilder)
+        , m_pControlContextImpl( new PropertyControlContext_Impl( *this ) )
     {
-        ScopedVclPtrInstance<ListBox> aListBox(this, WB_DROPDOWN);
-        ScopedVclPtrInstance<Edit> aEditBox(this);
-        m_nRowHeight = std::max(aListBox->get_preferred_size().Height(),
-                                aEditBox->get_preferred_size().Height());
-        m_nRowHeight += 2;
-        SetBackground( pParent->GetBackground() );
-        m_aLinesPlayground->SetBackground( GetBackground() );
-
-        m_aLinesPlayground->SetPosPixel(Point(0,0));
-        m_aLinesPlayground->SetPaintTransparent(true);
-        m_aLinesPlayground->Show();
-        m_aVScroll->Hide();
-        m_aVScroll->SetScrollHdl(LINK(this, OBrowserListBox, ScrollHdl));
+        m_xScrolledWindow->set_size_request(-1, m_xScrolledWindow->get_text_height() * 20);
     }
 
     OBrowserListBox::~OBrowserListBox()
     {
-        disposeOnce();
-    }
-
-    void OBrowserListBox::dispose()
-    {
         OSL_ENSURE( !IsModified(), "OBrowserListBox::~OBrowserListBox: still modified - should have been committed before!" );
-            // doing the commit here, while we, as well as our owner, as well as some other components,
-            // are already "half dead" (means within their dtor) is potentially dangerous.
-            // By definition, CommitModified has to be called (if necessary) before destruction
 
+        // doing the commit here, while we, as well as our owner, as well as some other components,
+        // are already "half dead" (means within their dtor) is potentially dangerous.
+        // By definition, CommitModified has to be called (if necessary) before destruction
         m_pControlContextImpl->dispose();
         m_pControlContextImpl.clear();
 
-        Hide();
         Clear();
-        m_aLinesPlayground.disposeAndClear();
-        m_aVScroll.disposeAndClear();
-        m_pHelpWindow.disposeAndClear();
-        Control::dispose();
     }
 
-
-    bool OBrowserListBox::IsModified( ) const
+    bool OBrowserListBox::IsModified() const
     {
         bool bModified = false;
 
-        if ( m_bIsActive && m_xActiveControl.is() )
+        if (m_xScrolledWindow->get_visible() && m_xActiveControl.is())
             bModified = m_xActiveControl->isModified();
 
         return bModified;
     }
 
-
     void OBrowserListBox::CommitModified( )
     {
         if ( IsModified() && m_xActiveControl.is() )
@@ -401,226 +359,48 @@ namespace pcr
         }
     }
 
-
-    void OBrowserListBox::ActivateListBox(bool _bActive)
-    {
-        m_bIsActive = _bActive;
-        if (m_bIsActive)
-        {
-            // TODO: what's the sense of this?
-            m_aVScroll->SetThumbPos(100);
-            MoveThumbTo(0);
-            Resize();
-        }
-    }
-
-
     long OBrowserListBox::impl_getPrefererredHelpHeight()
     {
-        return HasHelpSection() ? m_pHelpWindow->GetOptimalHeightPixel() : 0;
-    }
-
-
-    void OBrowserListBox::Resize()
-    {
-        tools::Rectangle aPlayground( Point( 0, 0 ), GetOutputSizePixel() );
-        Size aHelpWindowDistance( LogicToPixel(Size(0, LAYOUT_HELP_WINDOW_DISTANCE_APPFONT), MapMode(MapUnit::MapAppFont)) );
-
-        long nHelpWindowHeight = m_nCurrentPreferredHelpHeight = impl_getPrefererredHelpHeight();
-        bool bPositionHelpWindow = ( nHelpWindowHeight != 0 );
-
-        tools::Rectangle aLinesArea( aPlayground );
-        if ( bPositionHelpWindow )
-        {
-            aLinesArea.AdjustBottom( -nHelpWindowHeight );
-            aLinesArea.AdjustBottom( -(aHelpWindowDistance.Height()) );
-        }
-        m_aLinesPlayground->SetPosSizePixel( aLinesArea.TopLeft(), aLinesArea.GetSize() );
-
-        UpdateVScroll();
-
-        bool bNeedScrollbar = m_aLines.size() > static_cast<sal_uInt32>(CalcVisibleLines());
-        if ( !bNeedScrollbar )
-        {
-            if ( m_aVScroll->IsVisible() )
-                m_aVScroll->Hide();
-            // scroll to top
-            m_nYOffset = 0;
-            m_aVScroll->SetThumbPos( 0 );
-        }
-        else
-        {
-            Size aVScrollSize( m_aVScroll->GetSizePixel() );
-
-            // adjust the playground's width
-            aLinesArea.AdjustRight( -(aVScrollSize.Width()) );
-            m_aLinesPlayground->SetPosSizePixel( aLinesArea.TopLeft(), aLinesArea.GetSize() );
-
-            // position the scrollbar
-            aVScrollSize.setHeight( aLinesArea.GetHeight() );
-            Point aVScrollPos( aLinesArea.GetWidth(), 0 );
-            m_aVScroll->SetPosSizePixel( aVScrollPos, aVScrollSize );
-        }
-
-        for ( ListBoxLines::size_type i = 0; i < m_aLines.size(); ++i )
-            m_aOutOfDateLines.insert( i );
-
-        // repaint
-        EnablePaint(false);
-        UpdatePlayGround();
-        EnablePaint(true);
-
-        // show the scrollbar
-        if ( bNeedScrollbar )
-            m_aVScroll->Show();
-
-        // position the help window
-        if ( bPositionHelpWindow )
-        {
-            tools::Rectangle aHelpArea( aPlayground );
-            aHelpArea.SetTop( aLinesArea.Bottom() + aHelpWindowDistance.Height() );
-            m_pHelpWindow->SetPosSizePixel( aHelpArea.TopLeft(), aHelpArea.GetSize() );
-        }
+        return HasHelpSection() ? m_xHelpWindow->GetOptimalHeightPixel() : 0;
     }
 
-
     void OBrowserListBox::SetListener( IPropertyLineListener* _pListener )
     {
         m_pLineListener = _pListener;
     }
 
-
     void OBrowserListBox::SetObserver( IPropertyControlObserver* _pObserver )
     {
         m_pControlObserver = _pObserver;
     }
 
-
     void OBrowserListBox::EnableHelpSection( bool _bEnable )
     {
-        m_pHelpWindow->Show( _bEnable );
-        Resize();
+        m_xHelpWindow->Show( _bEnable );
     }
 
-
     bool OBrowserListBox::HasHelpSection() const
     {
-        return m_pHelpWindow->IsVisible();
+        return m_xHelpWindow->IsVisible();
     }
 
-
     void OBrowserListBox::SetHelpText( const OUString& _rHelpText )
     {
         OSL_ENSURE( HasHelpSection(), "OBrowserListBox::SetHelpText: help section not visible!" );
-        m_pHelpWindow->SetText( _rHelpText );
-        if ( m_nCurrentPreferredHelpHeight != impl_getPrefererredHelpHeight() )
-            Resize();
-    }
-
-
-    void OBrowserListBox::SetHelpLineLimites( sal_Int32 _nMinLines, sal_Int32 _nMaxLines )
-    {
-        m_pHelpWindow->SetLimits( _nMinLines, _nMaxLines );
-    }
-
-
-    sal_uInt16 OBrowserListBox::CalcVisibleLines()
-    {
-        Size aSize(m_aLinesPlayground->GetOutputSizePixel());
-        sal_uInt16 nResult = 0;
-        if (0 != m_nRowHeight)
-            nResult = static_cast<sal_uInt16>(aSize.Height())/m_nRowHeight;
-
-        return nResult;
-    }
-
-
-    void OBrowserListBox::UpdateVScroll()
-    {
-        sal_uInt16 nLines = CalcVisibleLines();
-        m_aVScroll->SetPageSize(nLines-1);
-        m_aVScroll->SetVisibleSize(nLines-1);
-
-        size_t nCount = m_aLines.size();
-        if (nCount>0)
-        {
-            m_aVScroll->SetRange(Range(0,nCount-1));
-            m_nYOffset = -m_aVScroll->GetThumbPos()*m_nRowHeight;
-        }
-        else
-        {
-            m_aVScroll->SetRange(Range(0,0));
-            m_nYOffset = 0;
-        }
-    }
-
-
-    void OBrowserListBox::PositionLine( ListBoxLines::size_type _nIndex )
-    {
-        Size aSize(m_aLinesPlayground->GetOutputSizePixel());
-        Point aPos(0, m_nYOffset);
-
-        aSize.setHeight( m_nRowHeight );
-
-        aPos.AdjustY(_nIndex * m_nRowHeight );
-
-        if ( _nIndex < m_aLines.size() )
-        {
-            BrowserLinePointer pLine = m_aLines[ _nIndex ].pLine;
-
-            pLine->SetPosSizePixel( aPos, aSize );
-            pLine->SetTitleWidth( m_nTheNameSize + 2 * FRAME_OFFSET );
-
-            // show the line if necessary
-            if ( !pLine->IsVisible() )
-                pLine->Show();
-        }
+        m_xHelpWindow->SetText( _rHelpText );
     }
 
-
-    void OBrowserListBox::UpdatePosNSize()
+    void OBrowserListBox::SetHelpLineLimites(sal_Int32 nMinLines, sal_Int32 nMaxLines)
     {
-        for ( auto const & aLoop: m_aOutOfDateLines )
-        {
-            DBG_ASSERT( aLoop < m_aLines.size(), "OBrowserListBox::UpdatePosNSize: invalid line index!" );
-            if ( aLoop < m_aLines.size() )
-                PositionLine( aLoop );
-        }
-        m_aOutOfDateLines.clear();
+        m_xHelpWindow->SetLimits(nMinLines, nMaxLines);
     }
 
-
     void OBrowserListBox::UpdatePlayGround()
     {
-        sal_Int32 nThumbPos = m_aVScroll->GetThumbPos();
-        sal_Int32 nLines = CalcVisibleLines();
-
-        ListBoxLines::size_type nEnd = nThumbPos + nLines;
-        if (nEnd >= m_aLines.size())
-            nEnd = m_aLines.size()-1;
-
-        if ( !m_aLines.empty() )
-        {
-            for ( ListBoxLines::size_type i = nThumbPos; i <= nEnd; ++i )
-                m_aOutOfDateLines.insert( i );
-            UpdatePosNSize();
-        }
-    }
-
-
-    void OBrowserListBox::DisableUpdate()
-    {
-        m_bUpdate = false;
+        for (auto& line : m_aLines)
+            line.pLine->SetTitleWidth(m_nTheNameSize);
     }
 
-
-    void OBrowserListBox::EnableUpdate()
-    {
-        m_bUpdate = true;
-        Resize();
-    }
-
-
     void OBrowserListBox::SetPropertyValue(const OUString& _rEntryName, const Any& _rValue, bool _bUnknownValue )
     {
         ListBoxLines::iterator line = std::find_if(m_aLines.begin(), m_aLines.end(),
@@ -640,7 +420,6 @@ namespace pcr
         }
     }
 
-
     sal_uInt16 OBrowserListBox::GetPropertyPos( const OUString& _rEntryName ) const
     {
         sal_uInt16 nPos = 0;
@@ -656,7 +435,6 @@ namespace pcr
         return EDITOR_LIST_ENTRY_NOTFOUND;
     }
 
-
     bool OBrowserListBox::impl_getBrowserLineForName( const OUString& _rEntryName, BrowserLinePointer& _out_rpLine ) const
     {
         ListBoxLines::const_iterator line = std::find_if(m_aLines.begin(), m_aLines.end(),
@@ -669,7 +447,6 @@ namespace pcr
         return ( nullptr != _out_rpLine.get() );
     }
 
-
     void OBrowserListBox::EnablePropertyControls( const OUString& _rEntryName, sal_Int16 _nControls, bool _bEnable )
     {
         BrowserLinePointer pLine;
@@ -677,7 +454,6 @@ namespace pcr
             pLine->EnablePropertyControls( _nControls, _bEnable );
     }
 
-
     void OBrowserListBox::EnablePropertyLine( const OUString& _rEntryName, bool _bEnable )
     {
         BrowserLinePointer pLine;
@@ -685,7 +461,6 @@ namespace pcr
             pLine->EnablePropertyLine( _bEnable );
     }
 
-
     Reference< XPropertyControl > OBrowserListBox::GetPropertyControl( const OUString& _rEntryName )
     {
         BrowserLinePointer pLine;
@@ -694,23 +469,24 @@ namespace pcr
         return nullptr;
     }
 
-
-    void OBrowserListBox::InsertEntry(const OLineDescriptor& _rPropertyData, sal_uInt16 _nPos)
+    void OBrowserListBox::InsertEntry(const OLineDescriptor& rPropertyData, sal_uInt16 _nPos)
     {
         // create a new line
-        BrowserLinePointer pBrowserLine( new OBrowserLine( _rPropertyData.sName, m_aLinesPlayground.get() ) );
+        BrowserLinePointer pBrowserLine(new OBrowserLine(rPropertyData.sName, m_xLinesPlayground.get(),
+                                                         m_xSizeGroup.get(), m_pInitialControlParent,
+                                                         m_bInterimBuilder));
 
         // check that the name is unique
         for (auto const& line : m_aLines)
         {
-            if (line.aName == _rPropertyData.sName)
+            if (line.aName == rPropertyData.sName)
             {
                 // already have another line for this name!
                 assert(false);
             }
         }
 
-        ListBoxLine aNewLine( _rPropertyData.sName, pBrowserLine, _rPropertyData.xPropertyHandler );
+        ListBoxLine aNewLine( rPropertyData.sName, pBrowserLine, rPropertyData.xPropertyHandler );
         ListBoxLines::size_type nInsertPos = _nPos;
         if ( _nPos >= m_aLines.size() )
         {
@@ -721,29 +497,19 @@ namespace pcr
             m_aLines.insert( m_aLines.begin() + _nPos, aNewLine );
 
         pBrowserLine->SetTitleWidth(m_nTheNameSize);
-        if (m_bUpdate)
-        {
-            UpdateVScroll();
-            Invalidate();
-        }
 
         // initialize the entry
-        ChangeEntry(_rPropertyData, nInsertPos);
+        ChangeEntry(rPropertyData, nInsertPos);
 
-        // update the positions of possibly affected lines
-        ListBoxLines::size_type nUpdatePos = nInsertPos;
-        while ( nUpdatePos < m_aLines.size() )
-            m_aOutOfDateLines.insert( nUpdatePos++ );
-        UpdatePosNSize( );
+        m_nRowHeight = std::max(m_nRowHeight, pBrowserLine->GetRowHeight() + 6); // 6 is spacing of the "playground" in browserpage.ui
+        m_xScrolledWindow->vadjustment_set_step_increment(m_nRowHeight);
     }
 
-
     sal_Int32 OBrowserListBox::GetMinimumWidth() const
     {
         return m_nTheNameSize + 2 * FRAME_OFFSET + (m_nRowHeight - 4) * 8;
     }
 
-
     sal_Int32 OBrowserListBox::GetMinimumHeight()
     {
         // assume that we want to display 5 rows, at least
@@ -751,106 +517,56 @@ namespace pcr
 
         if ( HasHelpSection() )
         {
-            Size aHelpWindowDistance( LogicToPixel(Size(0, LAYOUT_HELP_WINDOW_DISTANCE_APPFONT), MapMode(MapUnit::MapAppFont)) );
-            nMinHeight += aHelpWindowDistance.Height();
-
-            nMinHeight += m_pHelpWindow->GetMinimalHeightPixel();
+            nMinHeight += m_xHelpWindow->GetMinimalHeightPixel();
         }
 
         return nMinHeight;
     }
 
-
-    void OBrowserListBox::ShowEntry(sal_uInt16 _nPos)
+    void OBrowserListBox::ShowEntry(sal_uInt16 nPos)
     {
-        if ( _nPos < m_aLines.size() )
+        if (nPos == 0)
         {
-            sal_Int32 nThumbPos = m_aVScroll->GetThumbPos();
-
-            if (_nPos < nThumbPos)
-                MoveThumbTo(_nPos);
-            else
-            {
-                sal_Int32 nLines = CalcVisibleLines();
-                if (_nPos >= nThumbPos + nLines)
-                    MoveThumbTo(_nPos - nLines + 1);
-            }
+            // special case the simple entry 0 situation
+            m_xScrolledWindow->vadjustment_set_value(0);
+            return;
         }
 
-    }
-
-
-    void OBrowserListBox::MoveThumbTo(sal_Int32 _nNewThumbPos)
-    {
-        // disable painting to prevent flicker
-        m_aLinesPlayground->EnablePaint(false);
-
-        sal_Int32 nDelta = _nNewThumbPos - m_aVScroll->GetThumbPos();
-        // adjust the scrollbar
-        m_aVScroll->SetThumbPos(_nNewThumbPos);
-        sal_Int32 nThumbPos = _nNewThumbPos;
-
-        m_nYOffset = -m_aVScroll->GetThumbPos() * m_nRowHeight;
-
-        sal_Int32 nLines = CalcVisibleLines();
-        ListBoxLines::size_type nEnd = nThumbPos + nLines;
-
-        m_aLinesPlayground->Scroll(0, -nDelta * m_nRowHeight, ScrollFlags::Children);
-
-        if (1 == nDelta)
-        {
-            // TODO: what's the sense of this two PositionLines? Why not just one call?
-            PositionLine(nEnd-1);
-            PositionLine(nEnd);
-        }
-        else if (-1 == nDelta)
+        if (nPos < m_aLines.size())
         {
-            PositionLine(nThumbPos);
-        }
-        else if (0 != nDelta)
-        {
-            UpdatePlayGround();
-        }
+            unsigned const nWinHeight = m_xScrolledWindow->vadjustment_get_page_size();
 
-        m_aLinesPlayground->EnablePaint(true);
-        m_aLinesPlayground->Invalidate(InvalidateFlags::Children);
-    }
-
-
-    IMPL_LINK(OBrowserListBox, ScrollHdl, ScrollBar*, _pScrollBar, void )
-    {
-        DBG_ASSERT(_pScrollBar == m_aVScroll.get(), "OBrowserListBox::ScrollHdl: where does this come from?");
-
-        // disable painting to prevent flicker
-        m_aLinesPlayground->EnablePaint(false);
-
-        sal_Int32 nThumbPos = m_aVScroll->GetThumbPos();
+            auto nThumbPos = m_xScrolledWindow->vadjustment_get_value();
+            int const nWinTop = nThumbPos;
+            int const nWinBottom = nWinTop + nWinHeight;
 
-        sal_Int32 nDelta = m_aVScroll->GetDelta();
-        m_nYOffset = -nThumbPos * m_nRowHeight;
+            auto nCtrlPosY = nPos * m_nRowHeight;
 
-        ListBoxLines::size_type nEnd = nThumbPos + CalcVisibleLines();
+            int const nSelectedItemTop = nCtrlPosY;
+            int const nSelectedItemBottom = nCtrlPosY + m_nRowHeight;
+            bool const shouldScrollDown = nSelectedItemBottom >= nWinBottom;
+            bool const shouldScrollUp = nSelectedItemTop <= nWinTop;
+            bool const isNeedToScroll = shouldScrollDown || shouldScrollUp;
 
-        m_aLinesPlayground->Scroll(0, -nDelta * m_nRowHeight, ScrollFlags::Children);
-
-        if (1 == nDelta)
-        {
-            PositionLine(nEnd-1);
-            PositionLine(nEnd);
-        }
-        else if (nDelta==-1)
-        {
-            PositionLine(nThumbPos);
-        }
-        else if (nDelta!=0 || m_aVScroll->GetType() == ScrollType::DontKnow)
-        {
-            UpdatePlayGround();
+            if (isNeedToScroll)
+            {
+                if (shouldScrollDown)
+                {
+                    int nOffset = nSelectedItemBottom - nWinBottom;
+                    nThumbPos += nOffset;
+                }
+                else
+                {
+                    int nOffset = nWinTop - nSelectedItemTop;
+                    nThumbPos -= nOffset;
+                    if(nThumbPos < 0)
+                        nThumbPos = 0;
+                }
+                m_xScrolledWindow->vadjustment_set_value(nThumbPos);
+            }
         }
-
-        m_aLinesPlayground->EnablePaint(true);
     }
 
-
     void OBrowserListBox::buttonClicked( OBrowserLine* _pLine, bool _bPrimary )
     {
         DBG_ASSERT( _pLine, "OBrowserListBox::buttonClicked: invalid browser line!" );
@@ -860,7 +576,6 @@ namespace pcr
         }
     }
 
-
     void OBrowserListBox::impl_setControlAsPropertyValue( const ListBoxLine& _rLine, const Any& _rPropertyValue )
     {
         Reference< XPropertyControl > xControl( _rLine.pLine->getControl() );
@@ -889,7 +604,6 @@ namespace pcr
         }
     }
 
-
     Any OBrowserListBox::impl_getControlAsPropertyValue( const ListBoxLine& _rLine )
     {
         Reference< XPropertyControl > xControl( _rLine.pLine->getControl() );
@@ -911,7 +625,6 @@ namespace pcr
         return aPropertyValue;
     }
 
-
     sal_uInt16 OBrowserListBox::impl_getControlPos( const Reference< XPropertyControl >& _rxControl ) const
     {
         sal_uInt16 nPos = 0;
@@ -1006,7 +719,6 @@ namespace pcr
         }
     }
 
-
     void OBrowserListBox::Clear()
     {
         for (auto const& line : m_aLines)
@@ -1020,7 +732,6 @@ namespace pcr
         clearContainer( m_aLines );
     }
 
-
     bool OBrowserListBox::RemoveEntry( const OUString& _rName )
     {
         ListBoxLines::iterator it = std::find_if(m_aLines.begin(), m_aLines.end(),
@@ -1029,34 +740,22 @@ namespace pcr
         if ( it == m_aLines.end() )
             return false;
 
-        ListBoxLines::size_type nPos = static_cast<ListBoxLines::size_type>(std::distance(m_aLines.begin(), it));
         m_aLines.erase( it );
-        m_aOutOfDateLines.erase( m_aLines.size() );
-
-        // update the positions of possibly affected lines
-        while ( nPos < m_aLines.size() )
-            m_aOutOfDateLines.insert( nPos++ );
-        UpdatePosNSize( );
 
         return true;
     }
 
-
-    void OBrowserListBox::ChangeEntry( const OLineDescriptor& _rPropertyData, ListBoxLines::size_type nPos )
+    void OBrowserListBox::ChangeEntry( const OLineDescriptor& rPropertyData, ListBoxLines::size_type nPos )
     {
-        OSL_PRECOND( _rPropertyData.Control.is(), "OBrowserListBox::ChangeEntry: invalid control!" );
-        if ( !_rPropertyData.Control.is() )
+        OSL_PRECOND( rPropertyData.Control.is(), "OBrowserListBox::ChangeEntry: invalid control!" );
+        if ( !rPropertyData.Control.is() )
             return;
 
         if ( nPos == EDITOR_LIST_REPLACE_EXISTING )
-            nPos = GetPropertyPos( _rPropertyData.sName );
+            nPos = GetPropertyPos( rPropertyData.sName );
 
         if ( nPos < m_aLines.size() )
         {
-            vcl::Window* pRefWindow = nullptr;
-            if ( nPos > 0 )
-                pRefWindow = m_aLines[nPos-1].pLine->GetRefWindow();
-
             // the current line and control
             ListBoxLine& rLine = m_aLines[nPos];
 
@@ -1067,40 +766,36 @@ namespace pcr
             lcl_implDisposeControl_nothrow( xControl );
 
             // set the new control at the line
-            rLine.pLine->setControl( _rPropertyData.Control );
+            rLine.pLine->setControl( rPropertyData.Control );
             xControl = rLine.pLine->getControl();
 
             if ( xControl.is() )
                 xControl->setControlContext( m_pControlContextImpl.get() );
 
             // the initial property value
-            if ( _rPropertyData.bUnknownValue )
+            if ( rPropertyData.bUnknownValue )
                 xControl->setValue( Any() );
             else
-                impl_setControlAsPropertyValue( rLine, _rPropertyData.aValue );
-
-            rLine.pLine->SetTitle(_rPropertyData.DisplayName);
-            rLine.xHandler = _rPropertyData.xPropertyHandler;
+                impl_setControlAsPropertyValue( rLine, rPropertyData.aValue );
 
-            sal_uInt16 nTextWidth = static_cast<sal_uInt16>(m_aLinesPlayground->GetTextWidth(_rPropertyData.DisplayName));
-            if (m_nTheNameSize< nTextWidth)
-                m_nTheNameSize = nTextWidth;
+            rLine.pLine->SetTitle(rPropertyData.DisplayName);
+            rLine.xHandler = rPropertyData.xPropertyHandler;
 
-            if ( _rPropertyData.HasPrimaryButton )
+            if ( rPropertyData.HasPrimaryButton )
             {
-                if ( !_rPropertyData.PrimaryButtonImageURL.isEmpty() )
-                    rLine.pLine->ShowBrowseButton( _rPropertyData.PrimaryButtonImageURL, true );
-                else if ( _rPropertyData.PrimaryButtonImage.is() )
-                    rLine.pLine->ShowBrowseButton( Image( _rPropertyData.PrimaryButtonImage ), true );
+                if ( !rPropertyData.PrimaryButtonImageURL.isEmpty() )
+                    rLine.pLine->ShowBrowseButton( rPropertyData.PrimaryButtonImageURL, true );
+                else if ( rPropertyData.PrimaryButtonImage.is() )
+                    rLine.pLine->ShowBrowseButton( rPropertyData.PrimaryButtonImage, true );
                 else
                     rLine.pLine->ShowBrowseButton( true );
 
-                if ( _rPropertyData.HasSecondaryButton )
+                if ( rPropertyData.HasSecondaryButton )
                 {
-                    if ( !_rPropertyData.SecondaryButtonImageURL.isEmpty() )
-                        rLine.pLine->ShowBrowseButton( _rPropertyData.SecondaryButtonImageURL, false );
-                    else if ( _rPropertyData.SecondaryButtonImage.is() )
-                        rLine.pLine->ShowBrowseButton( Image( _rPropertyData.SecondaryButtonImage ), false );
+                    if ( !rPropertyData.SecondaryButtonImageURL.isEmpty() )
+                        rLine.pLine->ShowBrowseButton( rPropertyData.SecondaryButtonImageURL, false );
+                    else if ( rPropertyData.SecondaryButtonImage.is() )
+                        rLine.pLine->ShowBrowseButton( rPropertyData.SecondaryButtonImage, false );
                     else
                         rLine.pLine->ShowBrowseButton( false );
                 }
@@ -1115,21 +810,15 @@ namespace pcr
                 rLine.pLine->HideBrowseButton( false );
             }
 
-            DBG_ASSERT( ( _rPropertyData.IndentLevel == 0 ) || ( _rPropertyData.IndentLevel == 1 ),
+            DBG_ASSERT( ( rPropertyData.IndentLevel == 0 ) || ( rPropertyData.IndentLevel == 1 ),
                 "OBrowserListBox::ChangeEntry: unsupported indent level!" );
-            rLine.pLine->IndentTitle( _rPropertyData.IndentLevel > 0 );
-
-            if ( nPos > 0 )
-                rLine.pLine->SetTabOrder( pRefWindow, ZOrderFlags::Behind );
-            else
-                rLine.pLine->SetTabOrder( pRefWindow, ZOrderFlags::First );
+            rLine.pLine->IndentTitle( rPropertyData.IndentLevel > 0 );
 
-            m_aOutOfDateLines.insert( nPos );
             rLine.pLine->SetComponentHelpIds(
-                HelpIdUrl::getHelpId( _rPropertyData.HelpURL )
+                HelpIdUrl::getHelpId( rPropertyData.HelpURL )
             );
 
-            if ( _rPropertyData.bReadOnly )
+            if ( rPropertyData.bReadOnly )
             {
                 rLine.pLine->SetReadOnly( true );
 
@@ -1140,98 +829,23 @@ namespace pcr
                 // So, we manually switch this to read-only.
                 if ( xControl.is() && ( xControl->getControlType() == PropertyControlType::Unknown ) )
                 {
-                    vcl::Window *pWindow = rLine.pLine->getControlWindow();
-                    Edit* pControlWindowAsEdit = dynamic_cast<Edit*>(pWindow);
+                    weld::Widget* pWindow = rLine.pLine->getControlWindow();
+                    weld::Entry* pControlWindowAsEdit = dynamic_cast<weld::Entry*>(pWindow);
                     if (pControlWindowAsEdit)
-                        pControlWindowAsEdit->SetReadOnly();
+                        pControlWindowAsEdit->set_editable(false);
                     else
-                        pWindow->Enable(false);
+                        pWindow->set_sensitive(false);
                 }
             }
-        }
-    }
 
-
-    bool OBrowserListBox::PreNotify( NotifyEvent& _rNEvt )
-    {
-        switch ( _rNEvt.GetType() )
-        {
-            case MouseNotifyEvent::KEYINPUT:
-            {
-                const KeyEvent* pKeyEvent = _rNEvt.GetKeyEvent();
-                if  (   ( pKeyEvent->GetKeyCode().GetModifier() != 0 )
-                    ||  (   ( pKeyEvent->GetKeyCode().GetCode() != KEY_PAGEUP )
-                        &&  ( pKeyEvent->GetKeyCode().GetCode() != KEY_PAGEDOWN )
-                        )
-                    )
-                    break;
-
-                long nScrollOffset = 0;
-                if ( m_aVScroll->IsVisible() )
-                {
-                    if ( pKeyEvent->GetKeyCode().GetCode() == KEY_PAGEUP )
-                        nScrollOffset = -m_aVScroll->GetPageSize();
-                    else if ( pKeyEvent->GetKeyCode().GetCode() == KEY_PAGEDOWN )
-                        nScrollOffset = m_aVScroll->GetPageSize();
-                }
-
-                if ( nScrollOffset )
-                {
-                    long nNewThumbPos = m_aVScroll->GetThumbPos() + nScrollOffset;
-                    nNewThumbPos = std::max( nNewThumbPos, m_aVScroll->GetRangeMin() );
-                    nNewThumbPos = std::min( nNewThumbPos, m_aVScroll->GetRangeMax() );
-                    m_aVScroll->DoScroll( nNewThumbPos );
-                    nNewThumbPos = m_aVScroll->GetThumbPos();
-
-                    sal_uInt16 nFocusControlPos = 0;
-                    sal_uInt16 nActiveControlPos = impl_getControlPos( m_xActiveControl );
-                    if ( nActiveControlPos < nNewThumbPos )
-                        nFocusControlPos = static_cast<sal_uInt16>(nNewThumbPos);
-                    else if ( nActiveControlPos >= nNewThumbPos + CalcVisibleLines() )
-                        nFocusControlPos = static_cast<sal_uInt16>(nNewThumbPos) + CalcVisibleLines() - 1;
-                    if ( nFocusControlPos )
-                    {
-                        if ( nFocusControlPos < m_aLines.size() )
-                        {
-                            m_aLines[ nFocusControlPos ].pLine->GrabFocus();
-                        }
-                        else
-                            OSL_FAIL( "OBrowserListBox::PreNotify: internal error, invalid focus control position!" );
-                    }
-                }
-
-                return true;
-                // handled this. In particular, we also consume PageUp/Down events if we do not use them for scrolling,
-                // otherwise they would be used to scroll the document view, which does not sound like it is desired by
-                // the user.
-            }
-            default:
-                break;
-        }
-        return Control::PreNotify( _rNEvt );
-    }
-
-    bool OBrowserListBox::EventNotify( NotifyEvent& _rNEvt )
-    {
-        if ( _rNEvt.GetType() == MouseNotifyEvent::COMMAND)
-        {
-            const CommandEvent* pCommand = _rNEvt.GetCommandEvent();
-            if  (   ( CommandEventId::Wheel == pCommand->GetCommand() )
-                ||  ( CommandEventId::StartAutoScroll == pCommand->GetCommand() )
-                ||  ( CommandEventId::AutoScroll == pCommand->GetCommand() )
-                )
+            sal_uInt16 nTextWidth = m_xLinesPlayground->get_pixel_size(rPropertyData.DisplayName).Width();
+            if (m_nTheNameSize< nTextWidth)
             {
-                // interested in scroll events if we have a scrollbar
-                if ( m_aVScroll->IsVisible() )
-                {
-                    HandleScrollCommand( *pCommand, nullptr, m_aVScroll.get() );
-                }
+                m_nTheNameSize = nTextWidth;
+                UpdatePlayGround();
             }
         }
-        return Control::EventNotify(_rNEvt);
     }
-
-
 } // namespace pcr
 
 
diff --git a/extensions/source/propctrlr/browserlistbox.hxx b/extensions/source/propctrlr/browserlistbox.hxx
index c99bf87dd2e8..8ebbee9c573f 100644
--- a/extensions/source/propctrlr/browserlistbox.hxx
+++ b/extensions/source/propctrlr/browserlistbox.hxx
@@ -28,6 +28,7 @@
 #include <com/sun/star/inspection/XPropertyHandler.hpp>
 #include <vcl/scrbar.hxx>
 #include <vcl/button.hxx>
+#include <vcl/weld.hxx>
 #include <tools/link.hxx>
 #include <rtl/ref.hxx>
 
@@ -71,48 +72,30 @@ namespace pcr
     typedef std::vector< ListBoxLine > ListBoxLines;
 
 
-    class OBrowserListBox final : public Control
-                            ,public IButtonClickListener
+    class OBrowserListBox final : public IButtonClickListener
     {
-        VclPtr<Window>              m_aLinesPlayground;
-        VclPtr<ScrollBar>           m_aVScroll;
-        VclPtr<InspectorHelpWindow> m_pHelpWindow;
+        std::unique_ptr<weld::ScrolledWindow> m_xScrolledWindow;
+        std::unique_ptr<weld::Container> m_xLinesPlayground;
+        std::unique_ptr<weld::SizeGroup> m_xSizeGroup;
+        std::unique_ptr<InspectorHelpWindow> m_xHelpWindow;
+        weld::Container*            m_pInitialControlParent;
         ListBoxLines                m_aLines;
         IPropertyLineListener*      m_pLineListener;
         IPropertyControlObserver*   m_pControlObserver;
-        long                        m_nYOffset;
-        long                        m_nCurrentPreferredHelpHeight;
         css::uno::Reference< css::inspection::XPropertyControl >
                                     m_xActiveControl;
         sal_uInt16                  m_nTheNameSize;
-        long                        m_nRowHeight;
-        std::set<ListBoxLines::size_type> m_aOutOfDateLines;
-        bool                    m_bIsActive : 1;
-        bool                    m_bUpdate : 1;
+        int                         m_nRowHeight;
+        bool                        m_bInterimBuilder;
         ::rtl::Reference< PropertyControlContext_Impl >
                                     m_pControlContextImpl;
 
-        void    PositionLine( ListBoxLines::size_type _nIndex );
-        void    UpdatePosNSize();
         void    UpdatePlayGround();
-        void    UpdateVScroll();
         void    ShowEntry(sal_uInt16 nPos);
-        void    MoveThumbTo(sal_Int32 nNewThumbPos);
-        void    Resize() override;
 
     public:
-        explicit                    OBrowserListBox( vcl::Window* pParent );
-
-                                    virtual ~OBrowserListBox() override;
-        virtual void                dispose() override;
-
-        void                        ActivateListBox( bool _bActive );
-
-        sal_uInt16                  CalcVisibleLines();
-        void                        EnableUpdate();
-        void                        DisableUpdate();
-        bool                        EventNotify( NotifyEvent& _rNEvt ) override;
-        virtual bool                PreNotify( NotifyEvent& _rNEvt ) override;

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list