[Libreoffice-commits] core.git: include/svx

Noel Grandin (via logerrit) logerrit at kemper.freedesktop.org
Wed Oct 30 06:33:52 UTC 2019


 include/svx/AffineMatrixItem.hxx                          |    2 
 include/svx/ClassificationDialog.hxx                      |    2 
 include/svx/ClassificationEditView.hxx                    |    4 -
 include/svx/ClassificationField.hxx                       |    2 
 include/svx/CommonStyleManager.hxx                        |    2 
 include/svx/CommonStylePreviewRenderer.hxx                |    2 
 include/svx/ImageMapInfo.hxx                              |    2 
 include/svx/ParaLineSpacingPopup.hxx                      |    2 
 include/svx/ParaSpacingControl.hxx                        |   10 +--
 include/svx/ParseContext.hxx                              |    2 
 include/svx/SmartTagItem.hxx                              |    2 
 include/svx/SvxColorChildWindow.hxx                       |    2 
 include/svx/SvxPresetListBox.hxx                          |    2 
 include/svx/TextCharacterSpacingPopup.hxx                 |    2 
 include/svx/TextUnderlinePopup.hxx                        |    2 
 include/svx/algitem.hxx                                   |    4 -
 include/svx/bmpmask.hxx                                   |    6 --
 include/svx/chrtitem.hxx                                  |   10 +--
 include/svx/clipboardctl.hxx                              |    2 
 include/svx/clipfmtitem.hxx                               |    3 -
 include/svx/colorwindow.hxx                               |    4 -
 include/svx/colrctrl.hxx                                  |    3 -
 include/svx/compressgraphicdialog.hxx                     |    2 
 include/svx/connctrl.hxx                                  |    2 
 include/svx/contdlg.hxx                                   |    4 -
 include/svx/ctredlin.hxx                                  |    2 
 include/svx/dialcontrol.hxx                               |    5 -
 include/svx/dlgctl3d.hxx                                  |    4 -
 include/svx/dlgctrl.hxx                                   |    6 +-
 include/svx/drawitem.hxx                                  |   14 ++--
 include/svx/e3ditem.hxx                                   |    2 
 include/svx/e3dundo.hxx                                   |    4 -
 include/svx/extedit.hxx                                   |    2 
 include/svx/extrusionbar.hxx                              |    2 
 include/svx/f3dchild.hxx                                  |    2 
 include/svx/fillctrl.hxx                                  |    2 
 include/svx/float3d.hxx                                   |    3 -
 include/svx/fmgridif.hxx                                  |   10 +--
 include/svx/fmshell.hxx                                   |    6 +-
 include/svx/fmsrcimp.hxx                                  |    8 +-
 include/svx/fntctrl.hxx                                   |    2 
 include/svx/fontwork.hxx                                  |    5 -
 include/svx/fontworkbar.hxx                               |    2 
 include/svx/fontworkgallery.hxx                           |    4 -
 include/svx/formatpaintbrushctrl.hxx                      |    2 
 include/svx/frmsel.hxx                                    |    5 -
 include/svx/galctrl.hxx                                   |    8 +-
 include/svx/gallery1.hxx                                  |    2 
 include/svx/galleryitem.hxx                               |    2 
 include/svx/galmisc.hxx                                   |    4 -
 include/svx/grafctrl.hxx                                  |   16 ++---
 include/svx/graphctl.hxx                                  |    2 
 include/svx/gridctrl.hxx                                  |    7 +-
 include/svx/hdft.hxx                                      |    8 +-
 include/svx/hyperdlg.hxx                                  |    2 
 include/svx/imapdlg.hxx                                   |    7 --
 include/svx/insctrl.hxx                                   |    2 
 include/svx/itemwin.hxx                                   |   15 ++---
 include/svx/layctrl.hxx                                   |    4 -
 include/svx/lboxctrl.hxx                                  |    2 
 include/svx/linectrl.hxx                                  |    4 -
 include/svx/linkwarn.hxx                                  |    2 
 include/svx/measctrl.hxx                                  |    2 
 include/svx/modctrl.hxx                                   |    2 
 include/svx/nbdtmg.hxx                                    |    2 
 include/svx/numinf.hxx                                    |    2 
 include/svx/numvset.hxx                                   |    2 
 include/svx/ofaitem.hxx                                   |    4 -
 include/svx/pageitem.hxx                                  |    4 -
 include/svx/pagenumberlistbox.hxx                         |    2 
 include/svx/papersizelistbox.hxx                          |    2 
 include/svx/passwd.hxx                                    |    2 
 include/svx/polygn3d.hxx                                  |    1 
 include/svx/postattr.hxx                                  |    8 +-
 include/svx/pszctrl.hxx                                   |    2 
 include/svx/relfld.hxx                                    |    2 
 include/svx/rotmodit.hxx                                  |    2 
 include/svx/rubydialog.hxx                                |    2 
 include/svx/rulritem.hxx                                  |   18 +-----
 include/svx/samecontentlistbox.hxx                        |    2 
 include/svx/scene3d.hxx                                   |    2 
 include/svx/sdr/animation/objectanimator.hxx              |    2 
 include/svx/sdr/contact/viewcontactofpageobj.hxx          |    3 -
 include/svx/sdr/contact/viewobjectcontactofpageobj.hxx    |    3 -
 include/svx/sdr/overlay/overlayobjectcell.hxx             |    2 
 include/svx/sdr/primitive2d/sdrframeborderprimitive2d.hxx |    3 -
 include/svx/sdrmasterpagedescriptor.hxx                   |    2 
 include/svx/sdtaaitm.hxx                                  |    2 
 include/svx/sdtacitm.hxx                                  |    2 
 include/svx/sdtaiitm.hxx                                  |    4 -
 include/svx/sdtayitm.hxx                                  |    2 
 include/svx/sdtfchim.hxx                                  |    2 
 include/svx/searchcharmap.hxx                             |    2 
 include/svx/selctrl.hxx                                   |    2 
 include/svx/sidebar/AreaTransparencyGradientPopup.hxx     |    2 
 include/svx/sidebar/LineWidthPopup.hxx                    |    2 
 include/svx/sidebar/SelectionChangeHandler.hxx            |    2 
 include/svx/sidebar/SidebarDialControl.hxx                |    4 -
 include/svx/sidebar/ValueSetWithTextControl.hxx           |    2 
 include/svx/spacinglistbox.hxx                            |    2 
 include/svx/srchdlg.hxx                                   |    2 
 include/svx/svddrgmt.hxx                                  |    8 +-
 include/svx/svdhdl.hxx                                    |   14 ++--
 include/svx/svdmodel.hxx                                  |    2 
 include/svx/svdoashp.hxx                                  |    2 
 include/svx/svdocapt.hxx                                  |    9 +--
 include/svx/svdocirc.hxx                                  |    2 
 include/svx/svdoedge.hxx                                  |    2 
 include/svx/svdograf.hxx                                  |    2 
 include/svx/svdomeas.hxx                                  |    2 
 include/svx/svdoole2.hxx                                  |    2 
 include/svx/svdopage.hxx                                  |    3 -
 include/svx/svdopath.hxx                                  |    2 
 include/svx/svdotable.hxx                                 |    7 --
 include/svx/svdotext.hxx                                  |    2 
 include/svx/svdpntv.hxx                                   |    2 
 include/svx/svdpool.hxx                                   |    4 -
 include/svx/svdundo.hxx                                   |   12 ++--
 include/svx/svx3ditems.hxx                                |    4 -
 include/svx/svxdlg.hxx                                    |    4 -
 include/svx/svxerr.hxx                                    |    2 
 include/svx/svxgrahicitem.hxx                             |    2 
 include/svx/swframeexample.hxx                            |    2 
 include/svx/sxcaitm.hxx                                   |    2 
 include/svx/sxcgitm.hxx                                   |    2 
 include/svx/sxmtritm.hxx                                  |    2 
 include/svx/tbcontrl.hxx                                  |   13 ++--
 include/svx/tbxctl.hxx                                    |    2 
 include/svx/unoshape.hxx                                  |   42 ++++++--------
 include/svx/unoshtxt.hxx                                  |    2 
 include/svx/verttexttbxctrl.hxx                           |    4 -
 include/svx/viewlayoutitem.hxx                            |    2 
 include/svx/xfillit0.hxx                                  |    2 
 include/svx/xflasit.hxx                                   |    2 
 include/svx/xflbckit.hxx                                  |    2 
 include/svx/xflbmpit.hxx                                  |    2 
 include/svx/xflbmsli.hxx                                  |    2 
 include/svx/xflbmsxy.hxx                                  |    4 -
 include/svx/xflbmtit.hxx                                  |    2 
 include/svx/xflboxy.hxx                                   |    4 -
 include/svx/xflbstit.hxx                                  |    2 
 include/svx/xflbtoxy.hxx                                  |    4 -
 include/svx/xflclit.hxx                                   |    2 
 include/svx/xfltrit.hxx                                   |    2 
 include/svx/xftadit.hxx                                   |    2 
 include/svx/xftdiit.hxx                                   |    2 
 include/svx/xftmrit.hxx                                   |    2 
 include/svx/xftouit.hxx                                   |    2 
 include/svx/xftshcit.hxx                                  |    2 
 include/svx/xftshit.hxx                                   |    2 
 include/svx/xftshtit.hxx                                  |    2 
 include/svx/xftshxy.hxx                                   |    4 -
 include/svx/xftstit.hxx                                   |    2 
 include/svx/xgrscit.hxx                                   |    2 
 include/svx/xlineit0.hxx                                  |    2 
 include/svx/xlinjoit.hxx                                  |    2 
 include/svx/xlnasit.hxx                                   |    2 
 include/svx/xlncapit.hxx                                  |    2 
 include/svx/xlnclit.hxx                                   |    2 
 include/svx/xlnedit.hxx                                   |    2 
 include/svx/xlnedwit.hxx                                  |    2 
 include/svx/xlnstit.hxx                                   |    2 
 include/svx/xlnstwit.hxx                                  |    2 
 include/svx/xlntrit.hxx                                   |    2 
 include/svx/xlnwtit.hxx                                   |    2 
 include/svx/xmlsecctrl.hxx                                |    2 
 include/svx/xsflclit.hxx                                  |    2 
 include/svx/xtable.hxx                                    |   12 ++--
 include/svx/xtextit0.hxx                                  |    4 -
 include/svx/zoomctrl.hxx                                  |    2 
 include/svx/zoomsliderctrl.hxx                            |    2 
 include/svx/zoomslideritem.hxx                            |    2 
 172 files changed, 294 insertions(+), 337 deletions(-)

New commits:
commit fa79e8df02a082cd4967bf7a1c61aa925dc7b101
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Tue Oct 29 16:32:26 2019 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Wed Oct 30 07:32:40 2019 +0100

    loplugin:finalclasses svx
    
    Change-Id: If55e51b8627083ba3ece2b3270adb47668b25e9d
    Reviewed-on: https://gerrit.libreoffice.org/81705
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/include/svx/AffineMatrixItem.hxx b/include/svx/AffineMatrixItem.hxx
index 59d4442b7a61..b9559147c58e 100644
--- a/include/svx/AffineMatrixItem.hxx
+++ b/include/svx/AffineMatrixItem.hxx
@@ -26,7 +26,7 @@
 
 class SfxItemPool;
 
-class SVX_DLLPUBLIC AffineMatrixItem : public SfxPoolItem
+class SVX_DLLPUBLIC AffineMatrixItem final : public SfxPoolItem
 {
 private:
     css::geometry::AffineMatrix2D        maMatrix;
diff --git a/include/svx/ClassificationDialog.hxx b/include/svx/ClassificationDialog.hxx
index b9ca3f36d403..3d9dace58d0b 100644
--- a/include/svx/ClassificationDialog.hxx
+++ b/include/svx/ClassificationDialog.hxx
@@ -22,7 +22,7 @@ namespace weld { class CustomWeld; }
 
 namespace svx {
 
-class SVX_DLLPUBLIC ClassificationDialog : public weld::GenericDialogController
+class SVX_DLLPUBLIC ClassificationDialog final : public weld::GenericDialogController
 {
 private:
     SfxClassificationHelper maHelper;
diff --git a/include/svx/ClassificationEditView.hxx b/include/svx/ClassificationEditView.hxx
index 1123c0fae21a..614b1d2b6a09 100644
--- a/include/svx/ClassificationEditView.hxx
+++ b/include/svx/ClassificationEditView.hxx
@@ -19,7 +19,7 @@
 
 namespace svx {
 
-class ClassificationEditEngine : public EditEngine
+class ClassificationEditEngine final : public EditEngine
 {
 public:
     ClassificationEditEngine(SfxItemPool* pItemPool);
@@ -27,7 +27,7 @@ public:
     virtual OUString CalcFieldValue(const SvxFieldItem& rField, sal_Int32 nPara, sal_Int32 nPos, boost::optional<Color>& rTxtColor, boost::optional<Color>& rFldColor) override;
 };
 
-class SVX_DLLPUBLIC ClassificationEditView : public WeldEditView
+class SVX_DLLPUBLIC ClassificationEditView final : public WeldEditView
 {
 public:
     ClassificationEditView();
diff --git a/include/svx/ClassificationField.hxx b/include/svx/ClassificationField.hxx
index d1303164b265..f742e5dda4ed 100644
--- a/include/svx/ClassificationField.hxx
+++ b/include/svx/ClassificationField.hxx
@@ -58,7 +58,7 @@ public:
     }
 };
 
-class SVX_DLLPUBLIC ClassificationField : public SvxFieldData
+class SVX_DLLPUBLIC ClassificationField final : public SvxFieldData
 {
 public:
     ClassificationType const meType;
diff --git a/include/svx/CommonStyleManager.hxx b/include/svx/CommonStyleManager.hxx
index 6d87dd8f45de..78d2b787ebb0 100644
--- a/include/svx/CommonStyleManager.hxx
+++ b/include/svx/CommonStyleManager.hxx
@@ -22,7 +22,7 @@ class SfxStyleSheetBase;
 namespace svx
 {
 
-class SVX_DLLPUBLIC CommonStyleManager : public sfx2::StyleManager
+class SVX_DLLPUBLIC CommonStyleManager final : public sfx2::StyleManager
 {
 public:
     CommonStyleManager(SfxObjectShell& rShell)
diff --git a/include/svx/CommonStylePreviewRenderer.hxx b/include/svx/CommonStylePreviewRenderer.hxx
index 7d298c1be445..0ba2108c88ef 100644
--- a/include/svx/CommonStylePreviewRenderer.hxx
+++ b/include/svx/CommonStylePreviewRenderer.hxx
@@ -26,7 +26,7 @@ class SvxFont;
 namespace svx
 {
 
-class SVX_DLLPUBLIC CommonStylePreviewRenderer : public sfx2::StylePreviewRenderer
+class SVX_DLLPUBLIC CommonStylePreviewRenderer final : public sfx2::StylePreviewRenderer
 {
     std::unique_ptr<SvxFont> m_pFont;
     Color maFontColor;
diff --git a/include/svx/ImageMapInfo.hxx b/include/svx/ImageMapInfo.hxx
index cedb1cf0512c..2bc4ea8cf21f 100644
--- a/include/svx/ImageMapInfo.hxx
+++ b/include/svx/ImageMapInfo.hxx
@@ -25,7 +25,7 @@
 
 #define SVX_IMAPINFO_ID 2
 
-class SVX_DLLPUBLIC SvxIMapInfo : public SdrObjUserData, public SfxListener
+class SVX_DLLPUBLIC SvxIMapInfo final : public SdrObjUserData, public SfxListener
 {
     ImageMap aImageMap;
 
diff --git a/include/svx/ParaLineSpacingPopup.hxx b/include/svx/ParaLineSpacingPopup.hxx
index b6666286da24..0cacabdf072e 100644
--- a/include/svx/ParaLineSpacingPopup.hxx
+++ b/include/svx/ParaLineSpacingPopup.hxx
@@ -24,7 +24,7 @@
 
 namespace svx {
 
-class SVX_DLLPUBLIC ParaLineSpacingPopup : public SfxToolBoxControl
+class SVX_DLLPUBLIC ParaLineSpacingPopup final : public SfxToolBoxControl
 {
 public:
     SFX_DECL_TOOLBOX_CONTROL();
diff --git a/include/svx/ParaSpacingControl.hxx b/include/svx/ParaSpacingControl.hxx
index 382c0e48bded..4bb79ff6de92 100644
--- a/include/svx/ParaSpacingControl.hxx
+++ b/include/svx/ParaSpacingControl.hxx
@@ -42,7 +42,7 @@ public:
     virtual VclPtr<vcl::Window> CreateItemWindow(vcl::Window* pParent) override = 0;
 };
 
-class SVX_DLLPUBLIC ParaAboveSpacingControl : public ParaULSpacingControl
+class SVX_DLLPUBLIC ParaAboveSpacingControl final : public ParaULSpacingControl
 {
 public:
     SFX_DECL_TOOLBOX_CONTROL();
@@ -51,7 +51,7 @@ public:
     virtual VclPtr<vcl::Window> CreateItemWindow(vcl::Window* pParent) override;
 };
 
-class SVX_DLLPUBLIC ParaBelowSpacingControl : public ParaULSpacingControl
+class SVX_DLLPUBLIC ParaBelowSpacingControl final : public ParaULSpacingControl
 {
 public:
     SFX_DECL_TOOLBOX_CONTROL();
@@ -90,7 +90,7 @@ private:
     css::uno::Reference<css::ui::XContextChangeEventMultiplexer> m_xMultiplexer;
 };
 
-class SVX_DLLPUBLIC ParaLeftSpacingControl : public ParaLRSpacingControl
+class SVX_DLLPUBLIC ParaLeftSpacingControl final : public ParaLRSpacingControl
 {
 public:
     SFX_DECL_TOOLBOX_CONTROL();
@@ -99,7 +99,7 @@ public:
     virtual VclPtr<vcl::Window> CreateItemWindow(vcl::Window* pParent) override;
 };
 
-class SVX_DLLPUBLIC ParaRightSpacingControl : public ParaLRSpacingControl
+class SVX_DLLPUBLIC ParaRightSpacingControl final : public ParaLRSpacingControl
 {
 public:
     SFX_DECL_TOOLBOX_CONTROL();
@@ -108,7 +108,7 @@ public:
     virtual VclPtr<vcl::Window> CreateItemWindow(vcl::Window* pParent) override;
 };
 
-class SVX_DLLPUBLIC ParaFirstLineSpacingControl : public ParaLRSpacingControl
+class SVX_DLLPUBLIC ParaFirstLineSpacingControl final : public ParaLRSpacingControl
 {
 public:
     SFX_DECL_TOOLBOX_CONTROL();
diff --git a/include/svx/ParseContext.hxx b/include/svx/ParseContext.hxx
index 2f6b274ee205..130ed8ccaaf3 100644
--- a/include/svx/ParseContext.hxx
+++ b/include/svx/ParseContext.hxx
@@ -31,7 +31,7 @@ namespace svxform
 
     //= OSystemParseContext
 
-    class SVX_DLLPUBLIC OSystemParseContext : public ::connectivity::IParseContext
+    class SVX_DLLPUBLIC OSystemParseContext final : public ::connectivity::IParseContext
     {
     private:
 
diff --git a/include/svx/SmartTagItem.hxx b/include/svx/SmartTagItem.hxx
index 058cca339fa2..00f52f7883dc 100644
--- a/include/svx/SmartTagItem.hxx
+++ b/include/svx/SmartTagItem.hxx
@@ -37,7 +37,7 @@ namespace com { namespace sun { namespace star { namespace frame {
     class XController;
 } } } }
 
-class SVX_DLLPUBLIC SvxSmartTagItem : public SfxPoolItem
+class SVX_DLLPUBLIC SvxSmartTagItem final : public SfxPoolItem
 {
     const css::uno::Sequence < css::uno::Sequence< css::uno::Reference< css::smarttags::XSmartTagAction > > > maActionComponentsSequence;
     const css::uno::Sequence < css::uno::Sequence< sal_Int32 > > maActionIndicesSequence;
diff --git a/include/svx/SvxColorChildWindow.hxx b/include/svx/SvxColorChildWindow.hxx
index 1cceb372878d..07b44a08fa2f 100644
--- a/include/svx/SvxColorChildWindow.hxx
+++ b/include/svx/SvxColorChildWindow.hxx
@@ -25,7 +25,7 @@
 /**
  * Child of SfxChildWindow as a "container" for Controller
  */
-class SVX_DLLPUBLIC SvxColorChildWindow : public SfxChildWindow
+class SVX_DLLPUBLIC SvxColorChildWindow final : public SfxChildWindow
 {
  public:
     SvxColorChildWindow( vcl::Window*, sal_uInt16, SfxBindings*,
diff --git a/include/svx/SvxPresetListBox.hxx b/include/svx/SvxPresetListBox.hxx
index 9ba47b655853..24715b08edb9 100644
--- a/include/svx/SvxPresetListBox.hxx
+++ b/include/svx/SvxPresetListBox.hxx
@@ -24,7 +24,7 @@
 #include <svx/xtable.hxx>
 #include <tools/gen.hxx>
 
-class SVX_DLLPUBLIC SvxPresetListBox : public SvtValueSet
+class SVX_DLLPUBLIC SvxPresetListBox final : public SvtValueSet
 {
 private:
     static constexpr sal_uInt32  nColCount = 3;
diff --git a/include/svx/TextCharacterSpacingPopup.hxx b/include/svx/TextCharacterSpacingPopup.hxx
index 82c18986cd06..d698cfa82bf4 100644
--- a/include/svx/TextCharacterSpacingPopup.hxx
+++ b/include/svx/TextCharacterSpacingPopup.hxx
@@ -24,7 +24,7 @@
 
 namespace svx {
 
-class SVX_DLLPUBLIC TextCharacterSpacingPopup : public SfxToolBoxControl
+class SVX_DLLPUBLIC TextCharacterSpacingPopup final : public SfxToolBoxControl
 {
 public:
     SFX_DECL_TOOLBOX_CONTROL();
diff --git a/include/svx/TextUnderlinePopup.hxx b/include/svx/TextUnderlinePopup.hxx
index 7a2a12fdd927..994664a621d4 100644
--- a/include/svx/TextUnderlinePopup.hxx
+++ b/include/svx/TextUnderlinePopup.hxx
@@ -24,7 +24,7 @@
 
 namespace svx {
 
-class SVX_DLLPUBLIC TextUnderlinePopup : public SfxToolBoxControl
+class SVX_DLLPUBLIC TextUnderlinePopup final : public SfxToolBoxControl
 {
 public:
     SFX_DECL_TOOLBOX_CONTROL();
diff --git a/include/svx/algitem.hxx b/include/svx/algitem.hxx
index 5ba94bcea2a1..67837566c81e 100644
--- a/include/svx/algitem.hxx
+++ b/include/svx/algitem.hxx
@@ -29,7 +29,7 @@
 class IntlWrapper;
 class SfxItemPool;
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxOrientationItem: public SfxEnumItem<SvxCellOrientation>
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxOrientationItem final : public SfxEnumItem<SvxCellOrientation>
 {
 public:
     SvxOrientationItem(
@@ -58,7 +58,7 @@ public:
     sal_Int32               GetRotation( sal_Int32 nStdAngle ) const;
 };
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxMarginItem: public SfxPoolItem
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxMarginItem final : public SfxPoolItem
 {
     sal_Int16       nLeftMargin;
     sal_Int16       nTopMargin;
diff --git a/include/svx/bmpmask.hxx b/include/svx/bmpmask.hxx
index 12f7e3f60640..92f2fb25b13d 100644
--- a/include/svx/bmpmask.hxx
+++ b/include/svx/bmpmask.hxx
@@ -49,12 +49,10 @@ class ToolBox;
 \************************************************************************/
 class SvxBmpMask;
 
-class SvxBmpMaskSelectItem : public SfxControllerItem
+class SvxBmpMaskSelectItem final : public SfxControllerItem
 {
-private:
     SvxBmpMask  &rBmpMask;
 
-protected:
     virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState,
                                const SfxPoolItem* pState ) override;
 
@@ -69,7 +67,7 @@ public:
 |*
 \************************************************************************/
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxBmpMaskChildWindow : public SfxChildWindow
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxBmpMaskChildWindow final : public SfxChildWindow
 {
  public:
                             SvxBmpMaskChildWindow( vcl::Window*,
diff --git a/include/svx/chrtitem.hxx b/include/svx/chrtitem.hxx
index 344508e37581..a1e4f8d8edbc 100644
--- a/include/svx/chrtitem.hxx
+++ b/include/svx/chrtitem.hxx
@@ -77,7 +77,7 @@ enum class SvxChartRegress
 
 #define CHREGRESS_COUNT (sal_uInt16(SvxChartRegress::Unknown) + 1)
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxChartRegressItem : public SfxEnumItem<SvxChartRegress>
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxChartRegressItem final : public SfxEnumItem<SvxChartRegress>
 {
 public:
     SvxChartRegressItem(SvxChartRegress eRegress /*= SvxChartRegress::Linear*/,
@@ -88,7 +88,7 @@ public:
     sal_uInt16 GetValueCount() const override { return CHREGRESS_COUNT; }
 };
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxChartTextOrderItem : public SfxEnumItem<SvxChartTextOrder>
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxChartTextOrderItem final : public SfxEnumItem<SvxChartTextOrder>
 {
 public:
     SvxChartTextOrderItem(SvxChartTextOrder eOrder /*= SvxChartTextOrder::SideBySide*/,
@@ -102,7 +102,7 @@ public:
     sal_uInt16 GetValueCount() const override { return CHTXTORDER_COUNT; }
 };
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxChartKindErrorItem : public SfxEnumItem<SvxChartKindError>
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxChartKindErrorItem final : public SfxEnumItem<SvxChartKindError>
 {
 public:
     SvxChartKindErrorItem(SvxChartKindError /*eOrient = SvxChartKindError::NONE*/,
@@ -113,7 +113,7 @@ public:
     sal_uInt16 GetValueCount() const override { return CHERROR_COUNT; }
 };
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxChartIndicateItem : public SfxEnumItem<SvxChartIndicate>
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxChartIndicateItem final : public SfxEnumItem<SvxChartIndicate>
 {
 public:
     SvxChartIndicateItem(SvxChartIndicate eOrient /*= SvxChartIndicate::NONE*/,
@@ -124,7 +124,7 @@ public:
     sal_uInt16 GetValueCount() const override { return CHINDICATE_COUNT; }
 };
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxDoubleItem : public SfxPoolItem
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxDoubleItem final : public SfxPoolItem
 {
     double fVal;
 
diff --git a/include/svx/clipboardctl.hxx b/include/svx/clipboardctl.hxx
index e825035cd34d..76182554f19a 100644
--- a/include/svx/clipboardctl.hxx
+++ b/include/svx/clipboardctl.hxx
@@ -31,7 +31,7 @@ class PopupMenu;
 class SfxModule;
 class ToolBox;
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxClipBoardControl : public SfxToolBoxControl
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxClipBoardControl final : public SfxToolBoxControl
 {
     std::unique_ptr<SfxPoolItem>
                             pClipboardFmtItem;
diff --git a/include/svx/clipfmtitem.hxx b/include/svx/clipfmtitem.hxx
index 795c1fbf8cfa..3ea11ca0ead4 100644
--- a/include/svx/clipfmtitem.hxx
+++ b/include/svx/clipfmtitem.hxx
@@ -31,9 +31,8 @@
 class SfxItemPool;
 struct SvxClipboardFormatItem_Impl;
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxClipboardFormatItem : public SfxPoolItem
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxClipboardFormatItem final : public SfxPoolItem
 {
-protected:
     virtual bool             operator==( const SfxPoolItem& ) const override;
     virtual SfxPoolItem*     Clone( SfxItemPool *pPool = nullptr ) const override;
 
diff --git a/include/svx/colorwindow.hxx b/include/svx/colorwindow.hxx
index 8b1cc35e7565..45a5a8b30343 100644
--- a/include/svx/colorwindow.hxx
+++ b/include/svx/colorwindow.hxx
@@ -50,7 +50,7 @@ typedef std::function<void(const OUString&, const NamedColor&)> ColorSelectFunct
 
 #define COL_NONE_COLOR    ::Color(0x80, 0xFF, 0xFF, 0xFF)
 
-class SVX_DLLPUBLIC SvxColorWindow : public svtools::ToolbarPopup
+class SVX_DLLPUBLIC SvxColorWindow final : public svtools::ToolbarPopup
 {
 private:
     const sal_uInt16    theSlotId;
@@ -127,7 +127,7 @@ public:
     weld::Widget* get_widget() const;
 };
 
-class SVX_DLLPUBLIC ColorWindow : public svtools::ToolbarPopupBase
+class SVX_DLLPUBLIC ColorWindow final : public svtools::ToolbarPopupBase
 {
 private:
     std::unique_ptr<weld::Builder> m_xBuilder;
diff --git a/include/svx/colrctrl.hxx b/include/svx/colrctrl.hxx
index e7ff30f3bb4f..d99e6c0ea0f8 100644
--- a/include/svx/colrctrl.hxx
+++ b/include/svx/colrctrl.hxx
@@ -72,7 +72,7 @@ public:
 |*
 \************************************************************************/
 
-class SAL_WARN_UNUSED SvxColorDockingWindow : public SfxDockingWindow, public SfxListener
+class SAL_WARN_UNUSED SvxColorDockingWindow final : public SfxDockingWindow, public SfxListener
 {
 friend class SvxColorChildWindow;
 
@@ -94,7 +94,6 @@ private:
     */
     virtual void GetFocus() override;
 
-protected:
     virtual bool    Close() override;
     virtual void    Resize() override;
     virtual void    Resizing( Size& rSize ) override;
diff --git a/include/svx/compressgraphicdialog.hxx b/include/svx/compressgraphicdialog.hxx
index 59fe0dd2c59b..9a0969f8f547 100644
--- a/include/svx/compressgraphicdialog.hxx
+++ b/include/svx/compressgraphicdialog.hxx
@@ -30,7 +30,7 @@ class SdrGrafObj;
 class SfxBindings;
 class SvStream;
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC CompressGraphicsDialog : public weld::GenericDialogController
+class SAL_WARN_UNUSED SVX_DLLPUBLIC CompressGraphicsDialog final : public weld::GenericDialogController
 {
 private:
     std::unique_ptr<weld::Label>        m_xLabelGraphicType;
diff --git a/include/svx/connctrl.hxx b/include/svx/connctrl.hxx
index 320b6db69421..024fba8edd45 100644
--- a/include/svx/connctrl.hxx
+++ b/include/svx/connctrl.hxx
@@ -35,7 +35,7 @@ class SdrPage;
 |* SvxXConnectionPreview
 |*
 \************************************************************************/
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxXConnectionPreview : public weld::CustomWidgetController
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxXConnectionPreview final : public weld::CustomWidgetController
 {
  friend class SvxConnectionPage;
 
diff --git a/include/svx/contdlg.hxx b/include/svx/contdlg.hxx
index 3ffb1797e71e..4ad26c70816d 100644
--- a/include/svx/contdlg.hxx
+++ b/include/svx/contdlg.hxx
@@ -39,7 +39,7 @@ class SfxModule;
 
 class Graphic;
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxContourDlgChildWindow : public SfxChildWindow
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxContourDlgChildWindow final : public SfxChildWindow
 {
 public:
     SvxContourDlgChildWindow( vcl::Window*, sal_uInt16, SfxBindings*, SfxChildWinInfo const * );
@@ -49,7 +49,7 @@ public:
 
 class SvxSuperContourDlg;
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxContourDlg : public SfxModelessDialogController
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxContourDlg final : public SfxModelessDialogController
 {
     std::unique_ptr<SvxSuperContourDlg> m_xImpl;
 
diff --git a/include/svx/ctredlin.hxx b/include/svx/ctredlin.hxx
index 7d6f858de247..884ce5aeb50c 100644
--- a/include/svx/ctredlin.hxx
+++ b/include/svx/ctredlin.hxx
@@ -229,7 +229,7 @@ public:
 };
 
 /// Tabpage with the redlining entries.
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxTPView : public SvxTPage
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxTPView final : public SvxTPage
 {
 private:
 
diff --git a/include/svx/dialcontrol.hxx b/include/svx/dialcontrol.hxx
index 9920a5a5f2b2..6d2350b9298c 100644
--- a/include/svx/dialcontrol.hxx
+++ b/include/svx/dialcontrol.hxx
@@ -139,7 +139,7 @@ private:
     void LinkedFieldModifyHdl();
 };
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxDialControl : public weld::CustomWidgetController
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxDialControl final : public weld::CustomWidgetController
 {
 public:
     virtual void        SetDrawingArea(weld::DrawingArea* pDrawingArea) override;
@@ -182,7 +182,7 @@ public:
     const OUString&     GetText() const { return mpImpl->maText; }
     void                SetText(const OUString& rText) { mpImpl->maText = rText; }
 
-protected:
+private:
     struct DialControl_Impl
     {
         ScopedVclPtr<DialControlBmp> mxBmpEnabled;
@@ -212,7 +212,6 @@ protected:
     void                Init( const Size& rWinSize, const vcl::Font& rWinFont );
     void                Init( const Size& rWinSize );
 
-private:
     void                InvalidateControl();
 
     DECL_LINK(LinkedFieldModifyHdl, weld::SpinButton&, void);
diff --git a/include/svx/dlgctl3d.hxx b/include/svx/dlgctl3d.hxx
index 4840363ea850..ed057cf20978 100644
--- a/include/svx/dlgctl3d.hxx
+++ b/include/svx/dlgctl3d.hxx
@@ -94,7 +94,7 @@ public:
 };
 
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC Svx3DLightControl : public Svx3DPreviewControl
+class SAL_WARN_UNUSED SVX_DLLPUBLIC Svx3DLightControl final : public Svx3DPreviewControl
 {
     // Callback for interactive changes
     Link<Svx3DLightControl*,void>  maChangeCallback;
@@ -164,7 +164,7 @@ public:
     basegfx::B3DVector GetLightDirection(sal_uInt32 nNum) const;
 };
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC LightControl3D : public PreviewControl3D
+class SAL_WARN_UNUSED SVX_DLLPUBLIC LightControl3D final : public PreviewControl3D
 {
     // Callback for interactive changes
     Link<LightControl3D*,void>  maChangeCallback;
diff --git a/include/svx/dlgctrl.hxx b/include/svx/dlgctrl.hxx
index 08e2f0eeb64b..e68f881f8bce 100644
--- a/include/svx/dlgctrl.hxx
+++ b/include/svx/dlgctrl.hxx
@@ -344,7 +344,7 @@ public:
 |*
 \************************************************************************/
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxXLinePreview : public SvxPreviewBase
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxXLinePreview final : public SvxPreviewBase
 {
 private:
     SdrPathObj*                                     mpLineObjA;
@@ -370,7 +370,7 @@ public:
     virtual void Resize() override;
 };
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxXRectPreview : public SvxPreviewBase
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxXRectPreview final : public SvxPreviewBase
 {
 private:
     SdrObject* mpRectangleObject;
@@ -392,7 +392,7 @@ public:
 |*
 \************************************************************************/
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxXShadowPreview : public SvxPreviewBase
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxXShadowPreview final : public SvxPreviewBase
 {
 private:
     Point maShadowOffset;
diff --git a/include/svx/drawitem.hxx b/include/svx/drawitem.hxx
index b65b07366e62..f49c0833a252 100644
--- a/include/svx/drawitem.hxx
+++ b/include/svx/drawitem.hxx
@@ -23,7 +23,7 @@
 #include <svx/xtable.hxx>
 #include <svx/svxdllapi.h>
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxColorListItem: public SfxPoolItem
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxColorListItem final : public SfxPoolItem
 {
     XColorListRef     pColorList;
 
@@ -48,7 +48,7 @@ public:
     const XColorListRef&     GetColorList() const { return pColorList; }
 };
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxGradientListItem : public SfxPoolItem
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxGradientListItem final : public SfxPoolItem
 {
     XGradientListRef  pGradientList;
 
@@ -73,7 +73,7 @@ public:
     const XGradientListRef& GetGradientList() const { return pGradientList; }
 };
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxHatchListItem : public SfxPoolItem
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxHatchListItem final : public SfxPoolItem
 {
     XHatchListRef     pHatchList;
 
@@ -97,7 +97,7 @@ public:
     const XHatchListRef&    GetHatchList() const { return pHatchList; }
 };
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxBitmapListItem : public SfxPoolItem
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxBitmapListItem final : public SfxPoolItem
 {
     XBitmapListRef    pBitmapList;
 
@@ -122,7 +122,7 @@ public:
     const XBitmapListRef&   GetBitmapList() const { return pBitmapList; }
 };
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxPatternListItem : public SfxPoolItem
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxPatternListItem final : public SfxPoolItem
 {
     XPatternListRef    pPatternList;
 
@@ -146,7 +146,7 @@ public:
     const XPatternListRef&  GetPatternList() const { return pPatternList; }
 };
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxDashListItem : public SfxPoolItem
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxDashListItem final : public SfxPoolItem
 {
     XDashListRef      pDashList;
 
@@ -171,7 +171,7 @@ public:
     const XDashListRef&     GetDashList() const { return pDashList; }
 };
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxLineEndListItem : public SfxPoolItem
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxLineEndListItem final : public SfxPoolItem
 {
     XLineEndListRef   pLineEndList;
 
diff --git a/include/svx/e3ditem.hxx b/include/svx/e3ditem.hxx
index ed9f1759791d..20e030980e62 100644
--- a/include/svx/e3ditem.hxx
+++ b/include/svx/e3ditem.hxx
@@ -24,7 +24,7 @@
 #include <basegfx/vector/b3dvector.hxx>
 #include <svx/svxdllapi.h>
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxB3DVectorItem : public SfxPoolItem
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxB3DVectorItem final : public SfxPoolItem
 {
     basegfx::B3DVector  aVal;
 
diff --git a/include/svx/e3dundo.hxx b/include/svx/e3dundo.hxx
index 1c65b64a1909..c5eadb10dcf9 100644
--- a/include/svx/e3dundo.hxx
+++ b/include/svx/e3dundo.hxx
@@ -52,7 +52,7 @@ class SAL_WARN_UNUSED E3dUndoAction : public SdrUndoAction
 |* Undo for 3D rotation through the rotation matrices
 |*
 \************************************************************************/
-class SAL_WARN_UNUSED E3dRotateUndoAction : public E3dUndoAction
+class SAL_WARN_UNUSED E3dRotateUndoAction final : public E3dUndoAction
 {
 private:
     basegfx::B3DHomMatrix const   maMyOldRotation;
@@ -80,7 +80,7 @@ public:
 |* Undo for 3D attributes (implemented using Set3DAttributes())
 |*
 \************************************************************************/
-class SAL_WARN_UNUSED SVX_DLLPUBLIC E3dAttributesUndoAction : public SdrUndoAction
+class SAL_WARN_UNUSED SVX_DLLPUBLIC E3dAttributesUndoAction final : public SdrUndoAction
 {
 private:
     using SdrUndoAction::Repeat;
diff --git a/include/svx/extedit.hxx b/include/svx/extedit.hxx
index 82afea29c83f..f5994a96de80 100644
--- a/include/svx/extedit.hxx
+++ b/include/svx/extedit.hxx
@@ -42,7 +42,7 @@ public:
 class FmFormView;
 class SdrObject;
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SdrExternalToolEdit
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SdrExternalToolEdit final
 :   public ExternalToolEdit
     ,public SfxListener
 {
diff --git a/include/svx/extrusionbar.hxx b/include/svx/extrusionbar.hxx
index 383b72dcd337..bd83a9938951 100644
--- a/include/svx/extrusionbar.hxx
+++ b/include/svx/extrusionbar.hxx
@@ -34,7 +34,7 @@ namespace svx
 
 SVX_DLLPUBLIC bool checkForSelectedCustomShapes( SdrView const * pSdrView, bool bOnlyExtruded );
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC ExtrusionBar : public SfxShell
+class SAL_WARN_UNUSED SVX_DLLPUBLIC ExtrusionBar final : public SfxShell
 {
 public:
     SFX_DECL_INTERFACE(SVX_INTERFACE_EXTRUSION_BAR)
diff --git a/include/svx/f3dchild.hxx b/include/svx/f3dchild.hxx
index 87d4062e5fea..c43f74304dfc 100644
--- a/include/svx/f3dchild.hxx
+++ b/include/svx/f3dchild.hxx
@@ -31,7 +31,7 @@
 |*
 \************************************************************************/
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC Svx3DChildWindow : public SfxChildWindow
+class SAL_WARN_UNUSED SVX_DLLPUBLIC Svx3DChildWindow final : public SfxChildWindow
 {
  public:
     Svx3DChildWindow( vcl::Window*, sal_uInt16, SfxBindings*, SfxChildWinInfo* );
diff --git a/include/svx/fillctrl.hxx b/include/svx/fillctrl.hxx
index 4d4980992b85..5278fc31e718 100644
--- a/include/svx/fillctrl.hxx
+++ b/include/svx/fillctrl.hxx
@@ -41,7 +41,7 @@ class ListBox;
 |*
 \************************************************************************/
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxFillToolBoxControl : public SfxToolBoxControl
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxFillToolBoxControl final : public SfxToolBoxControl
 {
 private:
     std::unique_ptr< XFillStyleItem >    mpStyleItem;
diff --git a/include/svx/float3d.hxx b/include/svx/float3d.hxx
index 20cfd338642f..2390633c9a18 100644
--- a/include/svx/float3d.hxx
+++ b/include/svx/float3d.hxx
@@ -48,7 +48,7 @@ class SvxColorListBox;
 
 struct Svx3DWinImpl;
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC Svx3DWin : public SfxDockingWindow
+class SAL_WARN_UNUSED SVX_DLLPUBLIC Svx3DWin final : public SfxDockingWindow
 {
     friend class        Svx3DChildWindow;
     friend class        Svx3DCtrlItem;
@@ -202,7 +202,6 @@ private:
     SVX_DLLPRIVATE bool         GetUILightState( const PushButton& rBtn ) const;
     SVX_DLLPRIVATE void         SetUILightState( PushButton& aBtn, bool bState );
 
-protected:
     virtual void    Resize() override;
 
 public:
diff --git a/include/svx/fmgridif.hxx b/include/svx/fmgridif.hxx
index 541dee399e64..8b2cdb5e4e29 100644
--- a/include/svx/fmgridif.hxx
+++ b/include/svx/fmgridif.hxx
@@ -71,7 +71,7 @@ public:
 
 // FmXModifyMultiplexer
 
-class SAL_WARN_UNUSED FmXModifyMultiplexer  :public OWeakSubObject
+class SAL_WARN_UNUSED FmXModifyMultiplexer final : public OWeakSubObject
                             ,public ::comphelper::OInterfaceContainerHelper2
                             ,public css::util::XModifyListener
 {
@@ -94,7 +94,7 @@ public:
 
 // FmXUpdateMultiplexer
 
-class SAL_WARN_UNUSED FmXUpdateMultiplexer : public OWeakSubObject,
+class SAL_WARN_UNUSED FmXUpdateMultiplexer final : public OWeakSubObject,
                              public ::comphelper::OInterfaceContainerHelper2,
                              public css::form::XUpdateListener
 {
@@ -119,7 +119,7 @@ public:
 
 // FmXSelectionMultiplexer
 
-class SAL_WARN_UNUSED FmXSelectionMultiplexer   :public OWeakSubObject
+class SAL_WARN_UNUSED FmXSelectionMultiplexer final : public OWeakSubObject
                                 ,public ::comphelper::OInterfaceContainerHelper2
                                 ,public css::view::XSelectionChangeListener
 {
@@ -143,7 +143,7 @@ public:
 
 // FmXGridControlMultiplexer
 
-class SAL_WARN_UNUSED FmXGridControlMultiplexer :public OWeakSubObject
+class SAL_WARN_UNUSED FmXGridControlMultiplexer final : public OWeakSubObject
                                 ,public ::comphelper::OInterfaceContainerHelper2
                                 ,public css::form::XGridControlListener
 {
@@ -167,7 +167,7 @@ public:
 
 // FmXContainerMultiplexer
 
-class SAL_WARN_UNUSED FmXContainerMultiplexer : public OWeakSubObject,
+class SAL_WARN_UNUSED FmXContainerMultiplexer final : public OWeakSubObject,
                                 public ::comphelper::OInterfaceContainerHelper2,
                                 public css::container::XContainerListener
 {
diff --git a/include/svx/fmshell.hxx b/include/svx/fmshell.hxx
index 8a2db08b267e..cb57d5fad893 100644
--- a/include/svx/fmshell.hxx
+++ b/include/svx/fmshell.hxx
@@ -59,7 +59,7 @@ namespace svx
 }
 
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC FmDesignModeChangedHint : public SfxHint
+class SAL_WARN_UNUSED SVX_DLLPUBLIC FmDesignModeChangedHint final : public SfxHint
 {
     bool const m_bDesignMode;
 
@@ -70,7 +70,7 @@ public:
     bool GetDesignMode() const { return m_bDesignMode; }
 };
 
-class SVX_DLLPUBLIC FmFormShell : public SfxShell
+class SVX_DLLPUBLIC FmFormShell final : public SfxShell
 {
     friend class FmFormView;
     friend class FmXFormShell;
@@ -158,7 +158,7 @@ public:
     virtual bool IsDesignMode() const override { return m_bDesignMode; }
     void         SetDesignMode( bool _bDesignMode );
 
-protected:
+private:
     void GetFormState(SfxItemSet &rSet, sal_uInt16 nWhich);
 
     // is there a form on the current page?
diff --git a/include/svx/fmsrcimp.hxx b/include/svx/fmsrcimp.hxx
index 6b14e4119d49..d5fa188ed50f 100644
--- a/include/svx/fmsrcimp.hxx
+++ b/include/svx/fmsrcimp.hxx
@@ -68,7 +68,7 @@ struct FmSearchProgress
  * class FmRecordCountListener - utility class for FmSearchEngine, listens at a certain cursor and provides
  *                               the differences in RecordCount
  */
-class SAL_WARN_UNUSED FmRecordCountListener : public cppu::WeakImplHelper< css::beans::XPropertyChangeListener >
+class SAL_WARN_UNUSED FmRecordCountListener final : public cppu::WeakImplHelper< css::beans::XPropertyChangeListener >
 {
 // attribute
     Link<sal_Int32,void>     m_lnkWhoWantsToKnow;
@@ -121,7 +121,7 @@ namespace svxform {
         virtual OUString getCurrentText() const = 0;
     };
 
-    class SAL_WARN_UNUSED SimpleTextWrapper : public ControlTextWrapper
+    class SAL_WARN_UNUSED SimpleTextWrapper final : public ControlTextWrapper
     {
         css::uno::Reference< css::awt::XTextComponent >  m_xText;
     public:
@@ -129,7 +129,7 @@ namespace svxform {
         virtual OUString getCurrentText() const override;
     };
 
-    class SAL_WARN_UNUSED ListBoxWrapper : public ControlTextWrapper
+    class SAL_WARN_UNUSED ListBoxWrapper final : public ControlTextWrapper
     {
         css::uno::Reference< css::awt::XListBox >  m_xBox;
     public:
@@ -137,7 +137,7 @@ namespace svxform {
         virtual OUString getCurrentText() const override;
     };
 
-    class SAL_WARN_UNUSED CheckBoxWrapper : public ControlTextWrapper
+    class SAL_WARN_UNUSED CheckBoxWrapper final : public ControlTextWrapper
     {
         css::uno::Reference< css::awt::XCheckBox >  m_xBox;
     public:
diff --git a/include/svx/fntctrl.hxx b/include/svx/fntctrl.hxx
index af085725dc3d..c84289ac9017 100644
--- a/include/svx/fntctrl.hxx
+++ b/include/svx/fntctrl.hxx
@@ -28,7 +28,7 @@
 class SfxItemSet;
 class FontPrevWin_Impl;
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxFontPrevWindow : public weld::CustomWidgetController
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxFontPrevWindow final : public weld::CustomWidgetController
 {
 private:
     std::unique_ptr<FontPrevWin_Impl> pImpl;
diff --git a/include/svx/fontwork.hxx b/include/svx/fontwork.hxx
index 3ceea23e37b4..dd5cdfce6514 100644
--- a/include/svx/fontwork.hxx
+++ b/include/svx/fontwork.hxx
@@ -47,11 +47,10 @@ class XFormTextShadowYValItem;
 
 class SvxFontWorkDialog;
 
-class SvxFontWorkControllerItem : public SfxControllerItem
+class SvxFontWorkControllerItem final : public SfxControllerItem
 {
     SvxFontWorkDialog  &rFontWorkDlg;
 
-protected:
     virtual void StateChanged(sal_uInt16 nSID, SfxItemState eState,
                               const SfxPoolItem* pState) override;
 
@@ -62,7 +61,7 @@ public:
 /** Derived from SfxChildWindow as "container" for fontwork dialog
  */
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxFontWorkChildWindow : public SfxChildWindow
+class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxFontWorkChildWindow final : public SfxChildWindow
 {
  public:
     SvxFontWorkChildWindow(vcl::Window*, sal_uInt16, SfxBindings*, SfxChildWinInfo*);
diff --git a/include/svx/fontworkbar.hxx b/include/svx/fontworkbar.hxx
index a30a49661aeb..224aae1dbb1e 100644
--- a/include/svx/fontworkbar.hxx
+++ b/include/svx/fontworkbar.hxx
@@ -34,7 +34,7 @@ namespace svx
 
 bool SVX_DLLPUBLIC checkForSelectedFontWork( SdrView const * pSdrView, sal_uInt32& nCheckStatus );
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC FontworkBar : public SfxShell
+class SAL_WARN_UNUSED SVX_DLLPUBLIC FontworkBar final : public SfxShell
 {
 public:
     SFX_DECL_INTERFACE(SVX_INTERFACE_FONTWORK_BAR)
diff --git a/include/svx/fontworkgallery.hxx b/include/svx/fontworkgallery.hxx
index 0a6bac625e94..af27c1eb0a5b 100644
--- a/include/svx/fontworkgallery.hxx
+++ b/include/svx/fontworkgallery.hxx
@@ -33,7 +33,7 @@ class SdrModel;
 namespace svx
 {
 
-class SAL_WARN_UNUSED FontworkCharacterSpacingDialog : public weld::GenericDialogController
+class SAL_WARN_UNUSED FontworkCharacterSpacingDialog final : public weld::GenericDialogController
 {
     std::unique_ptr<weld::MetricSpinButton> m_xMtrScale;
 
@@ -44,7 +44,7 @@ public:
     sal_Int32 getScale() const;
 };
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC FontWorkGalleryDialog : public weld::GenericDialogController
+class SAL_WARN_UNUSED SVX_DLLPUBLIC FontWorkGalleryDialog final : public weld::GenericDialogController
 {
     sal_uInt16          mnThemeId;
     SdrView&            mrSdrView;
diff --git a/include/svx/formatpaintbrushctrl.hxx b/include/svx/formatpaintbrushctrl.hxx
index 1d531b169191..826344064051 100644
--- a/include/svx/formatpaintbrushctrl.hxx
+++ b/include/svx/formatpaintbrushctrl.hxx
@@ -29,7 +29,7 @@ namespace svx
 {
 
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC FormatPaintBrushToolBoxControl : public SfxToolBoxControl
+class SAL_WARN_UNUSED SVX_DLLPUBLIC FormatPaintBrushToolBoxControl final : public SfxToolBoxControl
 {
 public:
     SFX_DECL_TOOLBOX_CONTROL();
diff --git a/include/svx/frmsel.hxx b/include/svx/frmsel.hxx
index 13cb3a9573f2..f9a6195258eb 100644
--- a/include/svx/frmsel.hxx
+++ b/include/svx/frmsel.hxx
@@ -79,7 +79,7 @@ namespace a11y
     class AccFrameSelector;
 }
 
-class SAL_WARN_UNUSED SVX_DLLPUBLIC FrameSelector : public weld::CustomWidgetController
+class SAL_WARN_UNUSED SVX_DLLPUBLIC FrameSelector final : public weld::CustomWidgetController
 {
 public:
     FrameSelector();
@@ -172,7 +172,7 @@ public:
     /** Returns the bounding rectangle of the specified frame border (if enabled). */
     tools::Rectangle           GetClickBoundRect( FrameBorderType eBorder ) const;
 
-protected:
+private:
     virtual void        Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
     virtual bool        MouseButtonDown( const MouseEvent& rMEvt ) override;
     virtual bool        KeyInput( const KeyEvent& rKEvt ) override;
@@ -181,7 +181,6 @@ protected:
     virtual void        StyleUpdated() override;
     virtual void        Resize() override;
 
-private:
     rtl::Reference<a11y::AccFrameSelector> mxAccess;   /// Pointer to accessibility object of the control.
     std::unique_ptr< FrameSelectorImpl > mxImpl;
 };
diff --git a/include/svx/galctrl.hxx b/include/svx/galctrl.hxx
index a565cb087548..e43453c5b2de 100644
--- a/include/svx/galctrl.hxx
+++ b/include/svx/galctrl.hxx
@@ -32,7 +32,7 @@ class GalleryTheme;
 class GalleryBrowser2;
 class INetURLObject;
 
-class SVX_DLLPUBLIC GalleryPreview : public vcl::Window, public DropTargetHelper, public DragSourceHelper
+class SVX_DLLPUBLIC GalleryPreview final : public vcl::Window, public DropTargetHelper, public DragSourceHelper
 {
 private:
 
@@ -69,7 +69,7 @@ public:
     static void         PreviewMedia( const INetURLObject& rURL );
 };
 
-class SVX_DLLPUBLIC SvxGalleryPreview : public weld::CustomWidgetController
+class SVX_DLLPUBLIC SvxGalleryPreview final : public weld::CustomWidgetController
 {
 private:
     GraphicObject aGraphicObj;
@@ -88,7 +88,7 @@ public:
     bool                SetGraphic( const INetURLObject& );
 };
 
-class GalleryIconView : public ValueSet, public DropTargetHelper, public DragSourceHelper
+class GalleryIconView final : public ValueSet, public DropTargetHelper, public DragSourceHelper
 {
     using ValueSet::StartDrag;
 
@@ -119,7 +119,7 @@ public:
                         GalleryIconView( GalleryBrowser2* pParent, GalleryTheme* pTheme );
 };
 
-class GalleryListView : public BrowseBox
+class GalleryListView final : public BrowseBox
 {
     using BrowseBox::AcceptDrop;
     using BrowseBox::ExecuteDrop;
diff --git a/include/svx/gallery1.hxx b/include/svx/gallery1.hxx
index a5cd3c04b374..e0f4c4511bf6 100644
--- a/include/svx/gallery1.hxx
+++ b/include/svx/gallery1.hxx
@@ -82,7 +82,7 @@ class GalleryTheme;
 class GalleryThemeCacheEntry;
 
 
-class SVX_DLLPUBLIC Gallery : public SfxBroadcaster
+class SVX_DLLPUBLIC Gallery final : public SfxBroadcaster
 {
     typedef std::vector<GalleryThemeCacheEntry*> GalleryCacheThemeList;
 
diff --git a/include/svx/galleryitem.hxx b/include/svx/galleryitem.hxx
index 881fd88917df..ed8b635ced66 100644
--- a/include/svx/galleryitem.hxx
+++ b/include/svx/galleryitem.hxx
@@ -37,7 +37,7 @@ namespace com::sun::star::lang { class XComponent; }
 #define SVXGALLERYITEM_PARAMS   5
 #define SVXGALLERYITEM_ARGNAME  "GalleryItem"
 
-class SVX_DLLPUBLIC SvxGalleryItem : public SfxPoolItem
+class SVX_DLLPUBLIC SvxGalleryItem final : public SfxPoolItem
 {
     sal_Int8 m_nType;
     OUString m_aURL;
diff --git a/include/svx/galmisc.hxx b/include/svx/galmisc.hxx
index 8f9d6ad7ad17..b3236cf9c37b 100644
--- a/include/svx/galmisc.hxx
+++ b/include/svx/galmisc.hxx
@@ -93,7 +93,7 @@ bool                CopyFile(  const INetURLObject& rSrcURL, const INetURLObject
 bool                KillFile( const INetURLObject& rURL );
 BitmapEx            GalleryResGetBitmapEx(const OUString& rId);
 
-class SgaIMapInfo : public SdrObjUserData, public SfxListener
+class SgaIMapInfo final : public SdrObjUserData, public SfxListener
 {
     ImageMap                aImageMap;
 
@@ -168,7 +168,7 @@ enum class GalleryHintType
     CLOSE_OBJECT
 };
 
-class GalleryHint : public SfxHint
+class GalleryHint final : public SfxHint
 {
 private:
 
diff --git a/include/svx/grafctrl.hxx b/include/svx/grafctrl.hxx
index a999a676a976..f89a129ecd4e 100644
--- a/include/svx/grafctrl.hxx
+++ b/include/svx/grafctrl.hxx
@@ -36,7 +36,7 @@ public:
 };
 
 
-class SVX_DLLPUBLIC SvxGrafRedToolBoxControl : public SvxGrafToolBoxControl
+class SVX_DLLPUBLIC SvxGrafRedToolBoxControl final : public SvxGrafToolBoxControl
 {
 public:
                         SFX_DECL_TOOLBOX_CONTROL();
@@ -44,7 +44,7 @@ public:
 };
 
 
-class SVX_DLLPUBLIC SvxGrafGreenToolBoxControl : public SvxGrafToolBoxControl
+class SVX_DLLPUBLIC SvxGrafGreenToolBoxControl final : public SvxGrafToolBoxControl
 {
 public:
                         SFX_DECL_TOOLBOX_CONTROL();
@@ -52,7 +52,7 @@ public:
 };
 
 
-class SVX_DLLPUBLIC SvxGrafBlueToolBoxControl : public SvxGrafToolBoxControl
+class SVX_DLLPUBLIC SvxGrafBlueToolBoxControl final : public SvxGrafToolBoxControl
 {
 public:
                         SFX_DECL_TOOLBOX_CONTROL();
@@ -60,7 +60,7 @@ public:
 };
 
 
-class SVX_DLLPUBLIC SvxGrafLuminanceToolBoxControl : public SvxGrafToolBoxControl
+class SVX_DLLPUBLIC SvxGrafLuminanceToolBoxControl final : public SvxGrafToolBoxControl
 {
 public:
                         SFX_DECL_TOOLBOX_CONTROL();
@@ -68,7 +68,7 @@ public:
 };
 
 
-class SVX_DLLPUBLIC SvxGrafContrastToolBoxControl : public SvxGrafToolBoxControl
+class SVX_DLLPUBLIC SvxGrafContrastToolBoxControl final : public SvxGrafToolBoxControl
 {
 public:
                         SFX_DECL_TOOLBOX_CONTROL();
@@ -76,7 +76,7 @@ public:
 };
 
 
-class SVX_DLLPUBLIC SvxGrafGammaToolBoxControl : public SvxGrafToolBoxControl
+class SVX_DLLPUBLIC SvxGrafGammaToolBoxControl final : public SvxGrafToolBoxControl
 {
 public:
                         SFX_DECL_TOOLBOX_CONTROL();
@@ -84,7 +84,7 @@ public:
 };
 
 
-class SVX_DLLPUBLIC SvxGrafTransparenceToolBoxControl : public SvxGrafToolBoxControl
+class SVX_DLLPUBLIC SvxGrafTransparenceToolBoxControl final : public SvxGrafToolBoxControl
 {
 public:
                         SFX_DECL_TOOLBOX_CONTROL();
@@ -92,7 +92,7 @@ public:
 };
 
 
-class SVX_DLLPUBLIC SvxGrafModeToolBoxControl : public SfxToolBoxControl, public SfxListener
+class SVX_DLLPUBLIC SvxGrafModeToolBoxControl final : public SfxToolBoxControl, public SfxListener
 {
 public:
                         SFX_DECL_TOOLBOX_CONTROL();
diff --git a/include/svx/graphctl.hxx b/include/svx/graphctl.hxx
index 1a7432394ee4..91b8babb2614 100644
--- a/include/svx/graphctl.hxx
+++ b/include/svx/graphctl.hxx
@@ -28,7 +28,7 @@
 
 class GraphCtrl;
 
-class GraphCtrlUserCall : public SdrObjUserCall
+class GraphCtrlUserCall final : public SdrObjUserCall
 {
     GraphCtrl& rWin;
 
diff --git a/include/svx/gridctrl.hxx b/include/svx/gridctrl.hxx
index 0331e7b5de56..a3e8c4163307 100644
--- a/include/svx/gridctrl.hxx
+++ b/include/svx/gridctrl.hxx
@@ -61,7 +61,7 @@ enum class GridRowStatus
 // DbGridRow, description of rows
 
 
-class SAL_DLLPUBLIC_RTTI DbGridRow : public SvRefBase
+class SAL_DLLPUBLIC_RTTI DbGridRow final : public SvRefBase
 {
     css::uno::Any  m_aBookmark;        // Bookmark of the row, can be set
     ::std::vector< std::unique_ptr<::svxform::DataColumn> >
@@ -170,7 +170,7 @@ public:
 
     // NavigationBar
 
-    class NavigationBar: public Control
+    class NavigationBar final : public Control
     {
         class AbsolutePos : public NumericField
         {
@@ -210,12 +210,11 @@ public:
         bool GetState(DbGridControlNavigationBarState nWhich) const;
         sal_uInt16 ArrangeControls();
 
-    protected:
+    private:
         virtual void Resize() override;
         virtual void Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect) override;
         virtual void StateChanged( StateChangedType nType ) override;
 
-    private:
         DECL_LINK(OnClick, Button*, void);
 
         void PositionDataSource(sal_Int32 nRecord);
diff --git a/include/svx/hdft.hxx b/include/svx/hdft.hxx
index 5f343dcf3766..63ebdedb50f2 100644
--- a/include/svx/hdft.hxx
+++ b/include/svx/hdft.hxx
@@ -92,7 +92,7 @@ private:
     SVX_DLLPRIVATE void         ResetBackground_Impl( const SfxItemSet& rSet );
 };
 
-class SVX_DLLPUBLIC SvxHeaderPage : public SvxHFPage
+class SVX_DLLPUBLIC SvxHeaderPage final : public SvxHFPage
 {
 public:
     static std::unique_ptr<SfxTabPage> Create( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rSet );
@@ -101,7 +101,7 @@ public:
     SVX_DLLPRIVATE SvxHeaderPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet);
 };
 
-class SVX_DLLPUBLIC SvxFooterPage : public SvxHFPage
+class SVX_DLLPUBLIC SvxFooterPage final : public SvxHFPage
 {
 public:
     static std::unique_ptr<SfxTabPage> Create( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rSet );
@@ -109,7 +109,7 @@ public:
     SVX_DLLPRIVATE SvxFooterPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet);
 };
 
-class SVX_DLLPUBLIC DeleteHeaderDialog : public weld::MessageDialogController
+class SVX_DLLPUBLIC DeleteHeaderDialog final : public weld::MessageDialogController
 {
 public:
     DeleteHeaderDialog(weld::Widget* pParent)
@@ -119,7 +119,7 @@ public:
     }
 };
 
-class SVX_DLLPUBLIC DeleteFooterDialog : public weld::MessageDialogController
+class SVX_DLLPUBLIC DeleteFooterDialog final : public weld::MessageDialogController
 {
 public:
     DeleteFooterDialog(weld::Widget* pParent)
diff --git a/include/svx/hyperdlg.hxx b/include/svx/hyperdlg.hxx
index 2671a34b4857..d86a65d226fb 100644
--- a/include/svx/hyperdlg.hxx
+++ b/include/svx/hyperdlg.hxx
@@ -31,7 +31,7 @@
 
 class AbstractSvxHpLinkDlg;
 
-class SVX_DLLPUBLIC SvxHlinkDlgWrapper : public SfxChildWindow
+class SVX_DLLPUBLIC SvxHlinkDlgWrapper final : public SfxChildWindow
 {
 private:
     VclPtr<AbstractSvxHpLinkDlg>   mpDlg;
diff --git a/include/svx/imapdlg.hxx b/include/svx/imapdlg.hxx
index a1f38ac87268..20370b6a9443 100644
--- a/include/svx/imapdlg.hxx
+++ b/include/svx/imapdlg.hxx
@@ -49,7 +49,7 @@ class URLBox;
 class Graphic;
 typedef ::std::vector< OUString > TargetList;
 
-class SVX_DLLPUBLIC SvxIMapDlgChildWindow : public SfxChildWindow
+class SVX_DLLPUBLIC SvxIMapDlgChildWindow final : public SfxChildWindow
 {
  public:
 
@@ -64,13 +64,10 @@ class SVX_DLLPUBLIC SvxIMapDlgChildWindow : public SfxChildWindow
 
 class SvxIMapDlg;
 
-class SvxIMapDlgItem : public SfxControllerItem
+class SvxIMapDlgItem final : public SfxControllerItem
 {
     SvxIMapDlg& rIMap;
 
-
-protected:
-
     virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState,
                                const SfxPoolItem* pState ) override;
 
diff --git a/include/svx/insctrl.hxx b/include/svx/insctrl.hxx
index 38384e345e6f..e25090f66820 100644
--- a/include/svx/insctrl.hxx
+++ b/include/svx/insctrl.hxx
@@ -23,7 +23,7 @@
 #include <sfx2/stbitem.hxx>
 #include <svx/svxdllapi.h>
 
-class SVX_DLLPUBLIC SvxInsertStatusBarControl : public SfxStatusBarControl
+class SVX_DLLPUBLIC SvxInsertStatusBarControl final : public SfxStatusBarControl
 {
 public:
     virtual void    StateChanged( sal_uInt16 nSID, SfxItemState eState,
diff --git a/include/svx/itemwin.hxx b/include/svx/itemwin.hxx
index 19660d21a8ea..dc8b8682a98c 100644
--- a/include/svx/itemwin.hxx
+++ b/include/svx/itemwin.hxx
@@ -27,7 +27,7 @@
 class XLineWidthItem;
 class SfxObjectShell;
 
-class SvxLineBox : public ListBox
+class SvxLineBox final : public ListBox
 {
     sal_uInt16      nCurPos;
     Timer           aDelayTimer;
@@ -48,7 +48,7 @@ public:
 
     void Fill(const XDashListRef &pList);
 
-protected:
+private:
     virtual void    Select() override;
     virtual bool    PreNotify( NotifyEvent& rNEvt ) override;
     virtual bool    EventNotify( NotifyEvent& rNEvt ) override;
@@ -84,25 +84,24 @@ public:
     void            RefreshDlgUnit();
 };
 
-class SVX_DLLPUBLIC SvxFillTypeBox : public FillTypeLB
+class SVX_DLLPUBLIC SvxFillTypeBox final : public FillTypeLB
 {
 public:
     SvxFillTypeBox( vcl::Window* pParent );
 
     void            Selected() { bSelect = true; }
 
-protected:
+private:
     virtual bool    PreNotify( NotifyEvent& rNEvt ) override;
     virtual bool    EventNotify( NotifyEvent& rNEvt ) override;
 
-private:
     sal_uInt16      nCurPos;
     bool            bSelect;
 
     static void     ReleaseFocus_Impl();
 };
 
-class SVX_DLLPUBLIC SvxFillAttrBox : public ListBox
+class SVX_DLLPUBLIC SvxFillAttrBox final : public ListBox
 {
 public:
     SvxFillAttrBox( vcl::Window* pParent );
@@ -111,11 +110,11 @@ public:
     void Fill( const XGradientListRef &pList );
     void Fill( const XBitmapListRef   &pList );
     void Fill( const XPatternListRef  &pList );
-protected:
+
+private:
     virtual bool    PreNotify( NotifyEvent& rNEvt ) override;
     virtual bool    EventNotify( NotifyEvent& rNEvt ) override;
 
-private:
     sal_uInt16      nCurPos;
     BitmapEx        maBitmapEx;
 
diff --git a/include/svx/layctrl.hxx b/include/svx/layctrl.hxx
index ea5eb4000922..cdc99c3c3f8a 100644
--- a/include/svx/layctrl.hxx
+++ b/include/svx/layctrl.hxx
@@ -22,7 +22,7 @@
 #include <sfx2/tbxctrl.hxx>
 #include <svx/svxdllapi.h>
 
-class SVX_DLLPUBLIC SvxTableToolBoxControl : public SfxToolBoxControl
+class SVX_DLLPUBLIC SvxTableToolBoxControl final : public SfxToolBoxControl
 {
 private:
     bool    bEnabled;
@@ -39,7 +39,7 @@ public:
     virtual ~SvxTableToolBoxControl() override;
 };
 
-class SVX_DLLPUBLIC SvxColumnsToolBoxControl : public SfxToolBoxControl
+class SVX_DLLPUBLIC SvxColumnsToolBoxControl final : public SfxToolBoxControl
 {
     bool    bEnabled;
 public:
diff --git a/include/svx/lboxctrl.hxx b/include/svx/lboxctrl.hxx
index eaa9a2f215f1..928b81080feb 100644
--- a/include/svx/lboxctrl.hxx
+++ b/include/svx/lboxctrl.hxx
@@ -29,7 +29,7 @@ class ToolBox;
 class SvxPopupWindowListBox;
 
 
-class SVX_DLLPUBLIC SvxUndoRedoControl : public SfxToolBoxControl
+class SVX_DLLPUBLIC SvxUndoRedoControl final : public SfxToolBoxControl
 {
     OUString                aActionStr;
     VclPtr<SvxPopupWindowListBox> pPopupWin;
diff --git a/include/svx/linectrl.hxx b/include/svx/linectrl.hxx
index c1b341060f41..68f92e9a64fa 100644
--- a/include/svx/linectrl.hxx
+++ b/include/svx/linectrl.hxx
@@ -31,7 +31,7 @@ class XLineDashItem;
 // SvxLineStyleController:
 
 
-class SVX_DLLPUBLIC SvxLineStyleToolBoxControl : public SfxToolBoxControl
+class SVX_DLLPUBLIC SvxLineStyleToolBoxControl final : public SfxToolBoxControl
 {
 private:
     std::unique_ptr<XLineStyleItem>  pStyleItem;
@@ -55,7 +55,7 @@ public:
 // SvxLineWidthController:
 
 
-class SVX_DLLPUBLIC SvxLineWidthToolBoxControl : public SfxToolBoxControl
+class SVX_DLLPUBLIC SvxLineWidthToolBoxControl final : public SfxToolBoxControl
 {
 public:
     SFX_DECL_TOOLBOX_CONTROL();
diff --git a/include/svx/linkwarn.hxx b/include/svx/linkwarn.hxx
index 30598ffaf5f3..c72f7f85e00a 100644
--- a/include/svx/linkwarn.hxx
+++ b/include/svx/linkwarn.hxx
@@ -23,7 +23,7 @@
 #include <vcl/weld.hxx>
 #include <svx/svxdllapi.h>
 
-class SVX_DLLPUBLIC SvxLinkWarningDialog : public weld::MessageDialogController
+class SVX_DLLPUBLIC SvxLinkWarningDialog final : public weld::MessageDialogController
 {
 private:
     std::unique_ptr<weld::CheckButton> m_xWarningOnBox;
diff --git a/include/svx/measctrl.hxx b/include/svx/measctrl.hxx
index 62b201eafaa2..362ac85aeae1 100644
--- a/include/svx/measctrl.hxx
+++ b/include/svx/measctrl.hxx
@@ -28,7 +28,7 @@ class SfxItemSet;
 class SdrMeasureObj;
 class SdrModel;
 
-class SVX_DLLPUBLIC SvxXMeasurePreview : public weld::CustomWidgetController
+class SVX_DLLPUBLIC SvxXMeasurePreview final : public weld::CustomWidgetController
 {
  friend class SvxMeasurePage;
 
diff --git a/include/svx/modctrl.hxx b/include/svx/modctrl.hxx
index ab8c405426f5..6ce84931bc35 100644
--- a/include/svx/modctrl.hxx
+++ b/include/svx/modctrl.hxx
@@ -27,7 +27,7 @@
 
 class Timer;
 
-class SVX_DLLPUBLIC SvxModifyControl : public SfxStatusBarControl
+class SVX_DLLPUBLIC SvxModifyControl final : public SfxStatusBarControl
 {
 public:
     virtual void    StateChanged( sal_uInt16 nSID, SfxItemState eState,
diff --git a/include/svx/nbdtmg.hxx b/include/svx/nbdtmg.hxx
index 251fb9dceace..5322a39f2f36 100644
--- a/include/svx/nbdtmg.hxx
+++ b/include/svx/nbdtmg.hxx
@@ -146,7 +146,7 @@ class SVX_DLLPUBLIC NBOTypeMgrBase
 };
 
 
-class SVX_DLLPUBLIC BulletsTypeMgr: public NBOTypeMgrBase
+class SVX_DLLPUBLIC BulletsTypeMgr final : public NBOTypeMgrBase
 {
     friend class OutlineTypeMgr;
     friend class NumberingTypeMgr;
diff --git a/include/svx/numinf.hxx b/include/svx/numinf.hxx
index b5bf135b1be2..b10a2e144e09 100644
--- a/include/svx/numinf.hxx
+++ b/include/svx/numinf.hxx
@@ -26,7 +26,7 @@
 /** This item is used as a transport medium for a number formatter
  */
 
-class SVX_DLLPUBLIC SvxNumberInfoItem : public SfxPoolItem
+class SVX_DLLPUBLIC SvxNumberInfoItem final : public SfxPoolItem
 {
 public:
 
diff --git a/include/svx/numvset.hxx b/include/svx/numvset.hxx
index 6f0c144397db..b73243bdc38f 100644
--- a/include/svx/numvset.hxx
+++ b/include/svx/numvset.hxx
@@ -46,7 +46,7 @@ enum class NumberingPageType
     BITMAP
 };
 
-class SVX_DLLPUBLIC SvxNumValueSet : public ValueSet
+class SVX_DLLPUBLIC SvxNumValueSet final : public ValueSet
 {
     NumberingPageType ePageType;
     tools::Rectangle       aOrgRect;
diff --git a/include/svx/ofaitem.hxx b/include/svx/ofaitem.hxx
index aa3cf2b98297..f36c3d904ff1 100644
--- a/include/svx/ofaitem.hxx
+++ b/include/svx/ofaitem.hxx
@@ -23,7 +23,7 @@
 #include <rtl/ref.hxx>
 #include <svx/svxdllapi.h>
 
-class SVX_DLLPUBLIC OfaPtrItem : public SfxPoolItem
+class SVX_DLLPUBLIC OfaPtrItem final : public SfxPoolItem
 {
 private:
     void* const pPtr;
@@ -38,7 +38,7 @@ public:
 };
 
 template <class reference_type>
-class OfaRefItem : public SfxPoolItem
+class OfaRefItem final : public SfxPoolItem
 {
  private:
     rtl::Reference<reference_type> mxRef;
diff --git a/include/svx/pageitem.hxx b/include/svx/pageitem.hxx
index 32633d5b247e..f47bcdf463c5 100644
--- a/include/svx/pageitem.hxx
+++ b/include/svx/pageitem.hxx
@@ -49,7 +49,7 @@ This item describes a page attribute (name of the template, enumeration,
 portrait or landscape, layout)
 */
 
-class SVX_DLLPUBLIC SvxPageItem: public SfxPoolItem
+class SVX_DLLPUBLIC SvxPageItem final : public SfxPoolItem
 {
 private:
     OUString            aDescName;          // name of the template
@@ -96,7 +96,7 @@ public:
   container for header/footer attributes
  --------------------------------------------------------------------*/
 
-class SVX_DLLPUBLIC SvxSetItem: public SfxSetItem
+class SVX_DLLPUBLIC SvxSetItem final : public SfxSetItem
 {
 public:
     SvxSetItem( const sal_uInt16 nId, const SfxItemSet& rSet );
diff --git a/include/svx/pagenumberlistbox.hxx b/include/svx/pagenumberlistbox.hxx
index c469f4e9ced9..16307c03e0a9 100644
--- a/include/svx/pagenumberlistbox.hxx
+++ b/include/svx/pagenumberlistbox.hxx
@@ -24,7 +24,7 @@
 #include <vcl/lstbox.hxx>
 #include <vcl/weld.hxx>
 
-class SVX_DLLPUBLIC PageNumberListBox : public ListBox
+class SVX_DLLPUBLIC PageNumberListBox final : public ListBox
 {
 public:
     PageNumberListBox( vcl::Window* pParent );
diff --git a/include/svx/papersizelistbox.hxx b/include/svx/papersizelistbox.hxx
index e8a393fc0063..34892a8d1ea7 100644
--- a/include/svx/papersizelistbox.hxx
+++ b/include/svx/papersizelistbox.hxx
@@ -31,7 +31,7 @@ enum class PaperSizeApp
     Draw
 };
 
-class SVX_DLLPUBLIC PaperSizeListBox : public ListBox
+class SVX_DLLPUBLIC PaperSizeListBox final : public ListBox
 {
 public:
     PaperSizeListBox( vcl::Window* pParent );
diff --git a/include/svx/passwd.hxx b/include/svx/passwd.hxx
index bbc89cf80197..273f203439b9 100644
--- a/include/svx/passwd.hxx
+++ b/include/svx/passwd.hxx
@@ -22,7 +22,7 @@
 #include <sfx2/basedlgs.hxx>
 #include <svx/svxdllapi.h>
 
-class SVX_DLLPUBLIC SvxPasswordDialog : public SfxDialogController
+class SVX_DLLPUBLIC SvxPasswordDialog final : public SfxDialogController
 {
 private:
     OUString const m_aOldPasswdErrStr;
diff --git a/include/svx/polygn3d.hxx b/include/svx/polygn3d.hxx
index 1a1cd1b6b982..f01bd18a692e 100644
--- a/include/svx/polygn3d.hxx
+++ b/include/svx/polygn3d.hxx
@@ -25,7 +25,6 @@
 
 class SVX_DLLPUBLIC E3dPolygonObj : public E3dCompoundObject
 {
-private:
     // parameters
     basegfx::B3DPolyPolygon aPolyPoly3D;
     basegfx::B3DPolyPolygon aPolyNormals3D;
diff --git a/include/svx/postattr.hxx b/include/svx/postattr.hxx
index c0b47586917b..b175c208cb63 100644
--- a/include/svx/postattr.hxx
+++ b/include/svx/postattr.hxx
@@ -25,7 +25,7 @@
 /** The author shorthand symbol of a note
  */
 
-class SVX_DLLPUBLIC SvxPostItAuthorItem: public SfxStringItem
+class SVX_DLLPUBLIC SvxPostItAuthorItem final : public SfxStringItem
 {
 public:
     static SfxPoolItem* CreateDefault();
@@ -45,7 +45,7 @@ public:
 /** The date of a note
  */
 
-class SVX_DLLPUBLIC SvxPostItDateItem: public SfxStringItem
+class SVX_DLLPUBLIC SvxPostItDateItem final : public SfxStringItem
 {
 public:
     static SfxPoolItem* CreateDefault();
@@ -64,7 +64,7 @@ public:
 /** The text of a note
  */
 
-class SVX_DLLPUBLIC SvxPostItTextItem: public SfxStringItem
+class SVX_DLLPUBLIC SvxPostItTextItem final : public SfxStringItem
 {
 public:
     static SfxPoolItem* CreateDefault();
@@ -85,7 +85,7 @@ public:
 /** The internal id of a note
  */
 
-class SVX_DLLPUBLIC SvxPostItIdItem: public SfxStringItem
+class SVX_DLLPUBLIC SvxPostItIdItem final : public SfxStringItem
 {
 public:
     static SfxPoolItem* CreateDefault();
diff --git a/include/svx/pszctrl.hxx b/include/svx/pszctrl.hxx
index faf8923d94cc..b63950292daf 100644
--- a/include/svx/pszctrl.hxx
+++ b/include/svx/pszctrl.hxx
@@ -25,7 +25,7 @@
 
 struct SvxPosSizeStatusBarControl_Impl;
 
-class SVX_DLLPUBLIC SvxPosSizeStatusBarControl : public SfxStatusBarControl
+class SVX_DLLPUBLIC SvxPosSizeStatusBarControl final : public SfxStatusBarControl
 {
 private:
     std::unique_ptr<SvxPosSizeStatusBarControl_Impl>    pImpl;
diff --git a/include/svx/relfld.hxx b/include/svx/relfld.hxx
index 00b8ade7dc3e..d9fb5fc51f37 100644
--- a/include/svx/relfld.hxx
+++ b/include/svx/relfld.hxx
@@ -25,7 +25,7 @@
 #include <vcl/weld.hxx>
 #include <svx/svxdllapi.h>
 
-class SVX_DLLPUBLIC SvxRelativeField : public MetricField
+class SVX_DLLPUBLIC SvxRelativeField final : public MetricField
 {
 public:
     SvxRelativeField(vcl::Window* pParent, WinBits nBits, FieldUnit eUnit);
diff --git a/include/svx/rotmodit.hxx b/include/svx/rotmodit.hxx
index aa190a19dfa1..c76b569a903f 100644
--- a/include/svx/rotmodit.hxx
+++ b/include/svx/rotmodit.hxx
@@ -34,7 +34,7 @@ enum SvxRotateMode
     SVX_ROTATE_MODE_BOTTOM
 };
 
-class SVX_DLLPUBLIC SvxRotateModeItem: public SfxEnumItem<SvxRotateMode>
+class SVX_DLLPUBLIC SvxRotateModeItem final : public SfxEnumItem<SvxRotateMode>
 {
 public:
                 static SfxPoolItem* CreateDefault();
diff --git a/include/svx/rubydialog.hxx b/include/svx/rubydialog.hxx
index ad7ba732dddb..1df1f51ae5ff 100644
--- a/include/svx/rubydialog.hxx
+++ b/include/svx/rubydialog.hxx
@@ -43,7 +43,7 @@ public:
     virtual void SetDrawingArea(weld::DrawingArea* pDrawingArea) override;
 };
 
-class SVX_DLLPUBLIC SvxRubyChildWindow : public SfxChildWindow
+class SVX_DLLPUBLIC SvxRubyChildWindow final : public SfxChildWindow
 {
 public:
     SvxRubyChildWindow( vcl::Window*, sal_uInt16, SfxBindings*, SfxChildWinInfo const * );
diff --git a/include/svx/rulritem.hxx b/include/svx/rulritem.hxx
index 1441d3055734..25e1ce88be92 100644
--- a/include/svx/rulritem.hxx
+++ b/include/svx/rulritem.hxx
@@ -24,13 +24,11 @@
 #include <svx/svxdllapi.h>
 #include <vector>
 
-class SVX_DLLPUBLIC SvxLongLRSpaceItem : public SfxPoolItem
+class SVX_DLLPUBLIC SvxLongLRSpaceItem final : public SfxPoolItem
 {
     long    mlLeft;         // nLeft or the negative first-line indentation
     long    mlRight;        // the unproblematic right edge
 
-  protected:
-
     virtual bool             operator==( const SfxPoolItem& ) const override;
     virtual bool             QueryValue( css::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const override;
     virtual bool             PutValue( const css::uno::Any& rVal, sal_uInt8 nMemberId ) override;
@@ -42,7 +40,6 @@ class SVX_DLLPUBLIC SvxLongLRSpaceItem : public SfxPoolItem
 
     virtual SfxPoolItem*     Clone( SfxItemPool *pPool = nullptr ) const override;
 
-private:
     const SvxLongLRSpaceItem& operator=(const SvxLongLRSpaceItem &) = delete;
 
 public:
@@ -56,13 +53,11 @@ public:
     void SetRight(long lArgRight);
 };
 
-class SVX_DLLPUBLIC SvxLongULSpaceItem : public SfxPoolItem
+class SVX_DLLPUBLIC SvxLongULSpaceItem final : public SfxPoolItem
 {
     long    mlLeft;         // nLeft or the negative first-line indentation
     long    mlRight;        // the unproblematic right edge
 
-  protected:
-
     virtual bool             operator==( const SfxPoolItem& ) const override;
     virtual bool             QueryValue( css::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const override;
     virtual bool             PutValue( const css::uno::Any& rVal, sal_uInt8 nMemberId ) override;
@@ -74,7 +69,6 @@ class SVX_DLLPUBLIC SvxLongULSpaceItem : public SfxPoolItem
 
     virtual SfxPoolItem*     Clone( SfxItemPool *pPool = nullptr ) const override;
 
-private:
     const SvxLongULSpaceItem& operator=(const SvxLongULSpaceItem &) = delete;
 
 public:
@@ -146,7 +140,7 @@ inline std::basic_ostream<charT, traits> & operator <<(
 }
 
 
-class SVX_DLLPUBLIC SvxColumnItem : public SfxPoolItem
+class SVX_DLLPUBLIC SvxColumnItem final : public SfxPoolItem
 {
     std::vector<SvxColumnDescription>  aColumns; // Column array
 
@@ -157,7 +151,6 @@ class SVX_DLLPUBLIC SvxColumnItem : public SfxPoolItem
     bool       bTable;      // table?
     bool       bOrtho;      // evenly spread columns
 
-protected:
     virtual bool operator==( const SfxPoolItem& ) const override;
 
     virtual bool GetPresentation( SfxItemPresentation ePres,
@@ -197,16 +190,14 @@ public:
     bool        IsConsistent() const;
 };
 
-class SVX_DLLPUBLIC SvxObjectItem : public SfxPoolItem
+class SVX_DLLPUBLIC SvxObjectItem final : public SfxPoolItem
 {
-private:
     long nStartX;   /* Start in x direction */
     long nEndX;     /* End in x direction */
     long nStartY;   /* Start in y direction */
     long nEndY;     /* End in y direction */
     bool bLimits;   /* boundary limit control by the application */
 
-protected:
     virtual bool             operator==( const SfxPoolItem& ) const override;
 
     virtual bool GetPresentation( SfxItemPresentation ePres,
@@ -218,7 +209,6 @@ protected:
     virtual bool             QueryValue( css::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const override;
     virtual bool             PutValue( const css::uno::Any& rVal, sal_uInt8 nMemberId ) override;
 
-private:
     const SvxObjectItem &operator=(const SvxObjectItem &) = delete;
 
 public:
diff --git a/include/svx/samecontentlistbox.hxx b/include/svx/samecontentlistbox.hxx
index 1996d757b2be..842063125d2e 100644
--- a/include/svx/samecontentlistbox.hxx
+++ b/include/svx/samecontentlistbox.hxx
@@ -24,7 +24,7 @@
 #include <vcl/lstbox.hxx>
 
 /// Custom Widget ListBox to hold entries for SameContent setting of Header/Footer
-class SVX_DLLPUBLIC SameContentListBox : public ListBox
+class SVX_DLLPUBLIC SameContentListBox final : public ListBox
 {
 public:
     SameContentListBox( vcl::Window* pParent );
diff --git a/include/svx/scene3d.hxx b/include/svx/scene3d.hxx
index 0f897f7edf40..ac41ca082191 100644
--- a/include/svx/scene3d.hxx
+++ b/include/svx/scene3d.hxx
@@ -38,7 +38,7 @@ namespace sdr { namespace properties {
 |*
 \************************************************************************/
 
-class E3DSceneGeoData : public E3DObjGeoData
+class E3DSceneGeoData final : public E3DObjGeoData
 {
 public:
     Camera3D                    aCamera;
diff --git a/include/svx/sdr/animation/objectanimator.hxx b/include/svx/sdr/animation/objectanimator.hxx
index f8cb8ce8c5b1..aaa0e99c72d5 100644
--- a/include/svx/sdr/animation/objectanimator.hxx
+++ b/include/svx/sdr/animation/objectanimator.hxx
@@ -27,7 +27,7 @@ namespace sdr
 {
     namespace animation
     {
-        class primitiveAnimator : public Scheduler
+        class primitiveAnimator final : public Scheduler
         {
         public:
             // basic constructor and destructor
diff --git a/include/svx/sdr/contact/viewcontactofpageobj.hxx b/include/svx/sdr/contact/viewcontactofpageobj.hxx
index 6750d8f5a4fa..bb87ae187007 100644
--- a/include/svx/sdr/contact/viewcontactofpageobj.hxx
+++ b/include/svx/sdr/contact/viewcontactofpageobj.hxx
@@ -28,9 +28,8 @@ class SdrPage;
 
 namespace sdr { namespace contact {
 
-class SVX_DLLPUBLIC ViewContactOfPageObj : public ViewContactOfSdrObj
+class SVX_DLLPUBLIC ViewContactOfPageObj final : public ViewContactOfSdrObj
 {
-protected:
     // Create an Object-Specific ViewObjectContact, set ViewContact and
     // ObjectContact. Always needs to return something.
     virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
diff --git a/include/svx/sdr/contact/viewobjectcontactofpageobj.hxx b/include/svx/sdr/contact/viewobjectcontactofpageobj.hxx
index ace62f1941c0..68559a1e2b8e 100644
--- a/include/svx/sdr/contact/viewobjectcontactofpageobj.hxx
+++ b/include/svx/sdr/contact/viewobjectcontactofpageobj.hxx
@@ -29,13 +29,12 @@ namespace sdr { namespace contact {
 
 class PagePrimitiveExtractor;
 
-class SVX_DLLPUBLIC ViewObjectContactOfPageObj : public ViewObjectContactOfSdrObj
+class SVX_DLLPUBLIC ViewObjectContactOfPageObj final : public ViewObjectContactOfSdrObj
 {
 private:
     // the page painter helper
     std::unique_ptr<PagePrimitiveExtractor> mpExtractor;
 
-protected:
     // This method is responsible for creating the graphical visualisation data which is
     // stored/cached in the local primitive.
     // This method will not handle included hierarchies and not check geometric visibility.
diff --git a/include/svx/sdr/overlay/overlayobjectcell.hxx b/include/svx/sdr/overlay/overlayobjectcell.hxx
index 751b67bdf43f..711cc8bcfabc 100644
--- a/include/svx/sdr/overlay/overlayobjectcell.hxx
+++ b/include/svx/sdr/overlay/overlayobjectcell.hxx
@@ -31,7 +31,7 @@ namespace sdr
     {
         // OverlayObjectCell - used for cell cursor, selection and AutoFill handle
 
-        class SVX_DLLPUBLIC OverlayObjectCell : public OverlayObject
+        class SVX_DLLPUBLIC OverlayObjectCell final : public OverlayObject
         {
         public:
             typedef ::std::vector< basegfx::B2DRange > RangeVector;
diff --git a/include/svx/sdr/primitive2d/sdrframeborderprimitive2d.hxx b/include/svx/sdr/primitive2d/sdrframeborderprimitive2d.hxx
index 58f3b94cfd01..c7355a296b72 100644
--- a/include/svx/sdr/primitive2d/sdrframeborderprimitive2d.hxx
+++ b/include/svx/sdr/primitive2d/sdrframeborderprimitive2d.hxx
@@ -88,7 +88,7 @@ namespace drawinglayer
 {
     namespace primitive2d
     {
-        class SVX_DLLPUBLIC SdrFrameBorderPrimitive2D : public BufferedDecompositionPrimitive2D
+        class SVX_DLLPUBLIC SdrFrameBorderPrimitive2D final : public BufferedDecompositionPrimitive2D
         {
         private:
             std::shared_ptr<SdrFrameBorderDataVector>   maFrameBorders;
@@ -97,7 +97,6 @@ namespace drawinglayer
             bool                                        mbMergeResult;
             bool                                        mbForceToSingleDiscreteUnit;
 
-        protected:
             // local decomposition.
             virtual void create2DDecomposition(
                 Primitive2DContainer& rContainer,
diff --git a/include/svx/sdrmasterpagedescriptor.hxx b/include/svx/sdrmasterpagedescriptor.hxx
index 1ef9aedd277e..3b5375871660 100644
--- a/include/svx/sdrmasterpagedescriptor.hxx
+++ b/include/svx/sdrmasterpagedescriptor.hxx
@@ -36,7 +36,7 @@ namespace sdr
 
 namespace sdr
 {
-    class MasterPageDescriptor : public sdr::PageUser
+    class MasterPageDescriptor final : public sdr::PageUser
     {
     private:
         SdrPage&                                        maOwnerPage;
diff --git a/include/svx/sdtaaitm.hxx b/include/svx/sdtaaitm.hxx
index a6a99044b69d..6d4c313a8514 100644
--- a/include/svx/sdtaaitm.hxx
+++ b/include/svx/sdtaaitm.hxx
@@ -23,7 +23,7 @@
 #include <svx/svddef.hxx>
 #include <svx/svxdllapi.h>
 
-class SVX_DLLPUBLIC SdrTextAniAmountItem: public SfxInt16Item {
+class SVX_DLLPUBLIC SdrTextAniAmountItem final : public SfxInt16Item {
 public:
     SdrTextAniAmountItem(sal_Int16 nVal=0): SfxInt16Item(SDRATTR_TEXT_ANIAMOUNT,nVal) {}
     virtual SfxPoolItem* Clone(SfxItemPool* pPool=nullptr) const override;
diff --git a/include/svx/sdtacitm.hxx b/include/svx/sdtacitm.hxx
index 43efa53c1826..bf145c8b6b6c 100644
--- a/include/svx/sdtacitm.hxx
+++ b/include/svx/sdtacitm.hxx
@@ -23,7 +23,7 @@
 #include <svx/svddef.hxx>
 
 // Number of loops. 0=infinite.
-class SdrTextAniCountItem: public SfxUInt16Item {
+class SdrTextAniCountItem final : public SfxUInt16Item {
 public:
     SdrTextAniCountItem(sal_uInt16 nVal=0): SfxUInt16Item(SDRATTR_TEXT_ANICOUNT,nVal) {}
 
diff --git a/include/svx/sdtaiitm.hxx b/include/svx/sdtaiitm.hxx
index eabeba9b3215..c998393720eb 100644
--- a/include/svx/sdtaiitm.hxx
+++ b/include/svx/sdtaiitm.hxx
@@ -22,7 +22,7 @@
 #include <svx/sdynitm.hxx>
 #include <svx/svddef.hxx>
 
-class SVX_DLLPUBLIC SdrTextAniStartInsideItem: public SdrYesNoItem {
+class SVX_DLLPUBLIC SdrTextAniStartInsideItem final : public SdrYesNoItem {
 public:
     SdrTextAniStartInsideItem(bool bOn=false): SdrYesNoItem(SDRATTR_TEXT_ANISTARTINSIDE,bOn) {}
     virtual ~SdrTextAniStartInsideItem() override;
@@ -34,7 +34,7 @@ public:
     SdrTextAniStartInsideItem & operator =(SdrTextAniStartInsideItem &&) = delete; // due to SdrYesNoItem
 };
 
-class SVX_DLLPUBLIC SdrTextAniStopInsideItem: public SdrYesNoItem {
+class SVX_DLLPUBLIC SdrTextAniStopInsideItem final : public SdrYesNoItem {
 public:
     SdrTextAniStopInsideItem(bool bOn=false): SdrYesNoItem(SDRATTR_TEXT_ANISTOPINSIDE,bOn) {}
     virtual ~SdrTextAniStopInsideItem() override;
diff --git a/include/svx/sdtayitm.hxx b/include/svx/sdtayitm.hxx
index ad339bd5fc3b..774a1ef135e8 100644
--- a/include/svx/sdtayitm.hxx
+++ b/include/svx/sdtayitm.hxx
@@ -23,7 +23,7 @@
 #include <svx/svddef.hxx>
 #include <svx/svxdllapi.h>
 
-class SVX_DLLPUBLIC SdrTextAniDelayItem: public SfxUInt16Item {
+class SVX_DLLPUBLIC SdrTextAniDelayItem final : public SfxUInt16Item {
 public:
     SdrTextAniDelayItem(sal_uInt16 nVal=0): SfxUInt16Item(SDRATTR_TEXT_ANIDELAY,nVal) {}
     virtual SfxPoolItem* Clone(SfxItemPool* pPool=nullptr) const override;
diff --git a/include/svx/sdtfchim.hxx b/include/svx/sdtfchim.hxx
index 01543290a786..3120647c7726 100644
--- a/include/svx/sdtfchim.hxx
+++ b/include/svx/sdtfchim.hxx
@@ -22,7 +22,7 @@
 #include <svl/eitem.hxx>
 #include <svx/svxdllapi.h>
 
-class SVX_DLLPUBLIC SdrTextFixedCellHeightItem : public SfxBoolItem
+class SVX_DLLPUBLIC SdrTextFixedCellHeightItem final : public SfxBoolItem
 {
 public:
 
diff --git a/include/svx/searchcharmap.hxx b/include/svx/searchcharmap.hxx
index f968da5b6cea..c5ca0f81f779 100644
--- a/include/svx/searchcharmap.hxx
+++ b/include/svx/searchcharmap.hxx
@@ -37,7 +37,7 @@ namespace weld { class ScrolledWindow; }
 
 class Subset;
 
-class SVX_DLLPUBLIC SvxSearchCharSet : public SvxShowCharSet
+class SVX_DLLPUBLIC SvxSearchCharSet final : public SvxShowCharSet
 {
 public:
     SvxSearchCharSet(std::unique_ptr<weld::ScrolledWindow> pScrolledWindow, const VclPtr<VirtualDevice> &rDevice);
diff --git a/include/svx/selctrl.hxx b/include/svx/selctrl.hxx
index 6322282805b7..f186365af829 100644
--- a/include/svx/selctrl.hxx
+++ b/include/svx/selctrl.hxx
@@ -24,7 +24,7 @@
 #include <svx/svxdllapi.h>
 
 /// Status bar control that indicates or changes the selection mode (standard / block / etc.)
-class SVX_DLLPUBLIC SvxSelectionModeControl : public SfxStatusBarControl
+class SVX_DLLPUBLIC SvxSelectionModeControl final : public SfxStatusBarControl
 {
 public:
     SFX_DECL_STATUSBAR_CONTROL();
diff --git a/include/svx/sidebar/AreaTransparencyGradientPopup.hxx b/include/svx/sidebar/AreaTransparencyGradientPopup.hxx
index 4004a0041267..cbdc5e9a114e 100644
--- a/include/svx/sidebar/AreaTransparencyGradientPopup.hxx
+++ b/include/svx/sidebar/AreaTransparencyGradientPopup.hxx
@@ -32,7 +32,7 @@ namespace svx { namespace sidebar {
 class AreaTransparencyGradientControl;
 class AreaPropertyPanelBase;
 
-class AreaTransparencyGradientPopup : public FloatingWindow
+class AreaTransparencyGradientPopup final : public FloatingWindow
 {
 private:
     AreaPropertyPanelBase& mrAreaPropertyPanel;
diff --git a/include/svx/sidebar/LineWidthPopup.hxx b/include/svx/sidebar/LineWidthPopup.hxx
index a5595abdd23a..fd36e5ea92a6 100644
--- a/include/svx/sidebar/LineWidthPopup.hxx
+++ b/include/svx/sidebar/LineWidthPopup.hxx
@@ -32,7 +32,7 @@ namespace svx { namespace sidebar {
 class LinePropertyPanelBase;
 class LineWidthValueSet;
 
-class LineWidthPopup : public FloatingWindow
+class LineWidthPopup final : public FloatingWindow
 {
 public:
     LineWidthPopup(LinePropertyPanelBase& rParent);
diff --git a/include/svx/sidebar/SelectionChangeHandler.hxx b/include/svx/sidebar/SelectionChangeHandler.hxx
index 778a742e6c13..0a6b8f637b94 100644
--- a/include/svx/sidebar/SelectionChangeHandler.hxx
+++ b/include/svx/sidebar/SelectionChangeHandler.hxx
@@ -38,7 +38,7 @@ typedef cppu::WeakComponentImplHelper<
     css::view::XSelectionChangeListener
     > SelectionChangeHandlerInterfaceBase;
 
-class SVX_DLLPUBLIC SelectionChangeHandler
+class SVX_DLLPUBLIC SelectionChangeHandler final
     : private ::cppu::BaseMutex,
       public SelectionChangeHandlerInterfaceBase
 {
diff --git a/include/svx/sidebar/SidebarDialControl.hxx b/include/svx/sidebar/SidebarDialControl.hxx
index 0b2d8bce1b7d..4362076236ed 100644
--- a/include/svx/sidebar/SidebarDialControl.hxx
+++ b/include/svx/sidebar/SidebarDialControl.hxx
@@ -25,7 +25,7 @@ namespace svx { namespace sidebar {
 
 /** Provide some improvements over the standard DialControl.
 */
-class SVX_DLLPUBLIC SidebarDialControl : public svx::DialControl
+class SVX_DLLPUBLIC SidebarDialControl final : public svx::DialControl
 {
 public:
     SidebarDialControl (vcl::Window* pParent, WinBits nBits);
@@ -33,7 +33,7 @@ public:
     virtual Size GetOptimalSize() const override;
     virtual void MouseButtonDown (const MouseEvent& rMEvt) override;
 
-protected:
+private:
     virtual void HandleMouseEvent (const Point& rPos, bool bInitial) override;
 };
 
diff --git a/include/svx/sidebar/ValueSetWithTextControl.hxx b/include/svx/sidebar/ValueSetWithTextControl.hxx
index 834aa75ab83c..a7c6641f519b 100644
--- a/include/svx/sidebar/ValueSetWithTextControl.hxx
+++ b/include/svx/sidebar/ValueSetWithTextControl.hxx
@@ -33,7 +33,7 @@ namespace svx { namespace sidebar {
 
     Especially, used for sidebar related controls.
 */
-class SVX_DLLPUBLIC ValueSetWithTextControl : public ValueSet
+class SVX_DLLPUBLIC ValueSetWithTextControl final : public ValueSet
 {
 public:
     ValueSetWithTextControl(Window* pParent, WinBits nBits);
diff --git a/include/svx/spacinglistbox.hxx b/include/svx/spacinglistbox.hxx
index 59ece06a10a9..91e7fa18d777 100644
--- a/include/svx/spacinglistbox.hxx
+++ b/include/svx/spacinglistbox.hxx
@@ -26,7 +26,7 @@
 enum class SpacingType { SPACING_INCH, MARGINS_INCH, SPACING_CM, MARGINS_CM };
 
 /// Custom Widget ListBox to hold entries for Spacing & Margin settings of Header/Footer
-class SVX_DLLPUBLIC SpacingListBox : public ListBox
+class SVX_DLLPUBLIC SpacingListBox final : public ListBox
 {
 public:
     SpacingListBox( vcl::Window* pParent );
diff --git a/include/svx/srchdlg.hxx b/include/svx/srchdlg.hxx
index 1a613f913554..9a0bf9ea381d 100644
--- a/include/svx/srchdlg.hxx
+++ b/include/svx/srchdlg.hxx
@@ -81,7 +81,7 @@ enum class SearchLabel
 };
 
 class SvxSearchDialog;
-class SVX_DLLPUBLIC SvxSearchDialogWrapper : public SfxChildWindow
+class SVX_DLLPUBLIC SvxSearchDialogWrapper final : public SfxChildWindow
 {
     std::shared_ptr<SvxSearchDialog> dialog;
 public:
diff --git a/include/svx/svddrgmt.hxx b/include/svx/svddrgmt.hxx
index 10be51127053..dbf77d78c530 100644
--- a/include/svx/svddrgmt.hxx
+++ b/include/svx/svddrgmt.hxx
@@ -48,7 +48,7 @@ public:
 };
 
 
-class SVX_DLLPUBLIC SdrDragEntryPolyPolygon : public SdrDragEntry
+class SVX_DLLPUBLIC SdrDragEntryPolyPolygon final : public SdrDragEntry
 {
 private:
     basegfx::B2DPolyPolygon const        maOriginalPolyPolygon;
@@ -61,7 +61,7 @@ public:
 };
 
 
-class SdrDragEntrySdrObject : public SdrDragEntry
+class SdrDragEntrySdrObject final : public SdrDragEntry
 {
 private:
     const SdrObject&                                maOriginal;
@@ -84,7 +84,7 @@ public:
 };
 
 
-class SdrDragEntryPrimitive2DSequence : public SdrDragEntry
+class SdrDragEntryPrimitive2DSequence final : public SdrDragEntry
 {
 private:
     drawinglayer::primitive2d::Primitive2DContainer const  maPrimitive2DSequence;
@@ -98,7 +98,7 @@ public:
 };
 
 
-class SdrDragEntryPointGlueDrag : public SdrDragEntry
+class SdrDragEntryPointGlueDrag final : public SdrDragEntry
 {
 private:
     std::vector< basegfx::B2DPoint > const                maPositions;
diff --git a/include/svx/svdhdl.hxx b/include/svx/svdhdl.hxx
index 29d72620ada9..446497b83922 100644
--- a/include/svx/svdhdl.hxx
+++ b/include/svx/svdhdl.hxx
@@ -252,7 +252,7 @@ public:
 #define SDR_HANDLE_COLOR_SIZE_NORMAL            Size(13, 13)
 #define SDR_HANDLE_COLOR_SIZE_SELECTED          Size(17, 17)
 
-class SVX_DLLPUBLIC SdrHdlColor : public SdrHdl
+class SVX_DLLPUBLIC SdrHdlColor final : public SdrHdl
 {
     // size of colr markers
     Size                        aMarkerSize;
@@ -288,7 +288,7 @@ public:
 };
 
 
-class SdrHdlGradient : public SdrHdl
+class SdrHdlGradient final : public SdrHdl
 {
 private:
     // pointer to used color handles
@@ -370,7 +370,7 @@ private:
 };
 
 
-class E3dVolumeMarker : public SdrHdl
+class E3dVolumeMarker final : public SdrHdl
 {
     basegfx::B2DPolyPolygon             aWireframePoly;
 
@@ -400,7 +400,7 @@ public:
 };
 
 
-class ImpMeasureHdl: public SdrHdl
+class ImpMeasureHdl final : public SdrHdl
 {
     // create marker for this kind
     virtual void CreateB2dIAObject() override;
@@ -413,7 +413,7 @@ public:
 };
 
 
-class ImpTextframeHdl: public SdrHdl
+class ImpTextframeHdl final : public SdrHdl
 {
     const tools::Rectangle maRect;
 
@@ -507,7 +507,7 @@ private:
 };
 
 
-class SVX_DLLPUBLIC SdrCropViewHdl : public SdrHdl
+class SVX_DLLPUBLIC SdrCropViewHdl final : public SdrHdl
 {
 private:
     basegfx::B2DHomMatrix const       maObjectTransform;
@@ -526,7 +526,7 @@ public:
         double fCropRight,
         double fCropBottom);
 
-protected:
+private:
     // create marker for this kind
     virtual void CreateB2dIAObject() override;
 };
diff --git a/include/svx/svdmodel.hxx b/include/svx/svdmodel.hxx
index 8153e4f915cc..b7b723c0d256 100644
--- a/include/svx/svdmodel.hxx
+++ b/include/svx/svdmodel.hxx
@@ -106,7 +106,7 @@ enum class SdrHintKind
     EndEdit                // Is called after the object has left text edit mode
 };
 
-class SVX_DLLPUBLIC SdrHint: public SfxHint
+class SVX_DLLPUBLIC SdrHint final : public SfxHint
 {
 private:
     SdrHintKind const                       meHint;
diff --git a/include/svx/svdoashp.hxx b/include/svx/svdoashp.hxx
index b2c1988f1df8..02b957de95a0 100644
--- a/include/svx/svdoashp.hxx
+++ b/include/svx/svdoashp.hxx
@@ -38,7 +38,7 @@ namespace sdr
     }
 }
 
-class SdrAShapeObjGeoData : public SdrTextObjGeoData
+class SdrAShapeObjGeoData final : public SdrTextObjGeoData
 {
 public:
     bool        bMirroredX;
diff --git a/include/svx/svdocapt.hxx b/include/svx/svdocapt.hxx
index c6d31fd0682f..99db12d8e39e 100644
--- a/include/svx/svdocapt.hxx
+++ b/include/svx/svdocapt.hxx
@@ -32,14 +32,14 @@ namespace sdr { namespace properties {
 }}
 
 //   Helper Class SdrCaptObjGeoData
-class SdrCaptObjGeoData : public SdrTextObjGeoData
+class SdrCaptObjGeoData final : public SdrTextObjGeoData
 {
 public:
     tools::Polygon aTailPoly;
 };
 
 //   SdrCaptionObj
-class SVX_DLLPUBLIC SdrCaptionObj : public SdrRectObj
+class SVX_DLLPUBLIC SdrCaptionObj final : public SdrRectObj
 {
 private:
     // to allow sdr::properties::CaptionProperties access to ImpRecalcTail()
@@ -53,11 +53,9 @@ private:
         mbSuppressGetBitmap = bNew;
     }
 
-protected:
     virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;
     virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
 
-private:
     tools::Polygon  aTailPoly;              // the whole tail polygon
     bool            mbSpecialTextBoxShadow; // for calc special shadow, default FALSE
     bool            mbFixedTail;            // for calc note box fixed tail, default FALSE
@@ -71,7 +69,6 @@ private:
     SVX_DLLPRIVATE static void ImpCalcTail (const ImpCaptParams& rPara, tools::Polygon& rPoly, tools::Rectangle const & rRect);
     SVX_DLLPRIVATE void ImpRecalcTail();
 
-protected:
     // protected destructor
     virtual ~SdrCaptionObj() override;
 
@@ -134,7 +131,7 @@ public:
     virtual sal_uInt32 GetSnapPointCount() const override;
     virtual Point GetSnapPoint(sal_uInt32 i) const override;
 
-protected:
+private:
     virtual SdrObjGeoData* NewGeoData() const override;
     virtual void SaveGeoData(SdrObjGeoData& rGeo) const override;
     virtual void RestGeoData(const SdrObjGeoData& rGeo) override;
diff --git a/include/svx/svdocirc.hxx b/include/svx/svdocirc.hxx
index 7d26ba9bca75..76500486b47f 100644
--- a/include/svx/svdocirc.hxx
+++ b/include/svx/svdocirc.hxx
@@ -29,7 +29,7 @@ namespace sdr { namespace properties {
 
 // Helper class SdrCircObjGeoData
 
-class SdrCircObjGeoData : public SdrTextObjGeoData
+class SdrCircObjGeoData final : public SdrTextObjGeoData
 {
 public:
     long                        nStartAngle;
diff --git a/include/svx/svdoedge.hxx b/include/svx/svdoedge.hxx
index c78648d65019..e6399da73bda 100644
--- a/include/svx/svdoedge.hxx
+++ b/include/svx/svdoedge.hxx
@@ -108,7 +108,7 @@ public:
 
 
 /// Utility class SdrEdgeObjGeoData
-class SdrEdgeObjGeoData : public SdrTextObjGeoData
+class SdrEdgeObjGeoData final : public SdrTextObjGeoData
 {
 public:
     SdrObjConnection            aCon1;  // connection status of the beginning of the line
diff --git a/include/svx/svdograf.hxx b/include/svx/svdograf.hxx
index 2ea564bdbbb9..478eabb18dcf 100644
--- a/include/svx/svdograf.hxx
+++ b/include/svx/svdograf.hxx
@@ -59,7 +59,7 @@ namespace o3tl
     template<> struct typed_flags<SdrGrafObjTransformsAttrs> : is_typed_flags<SdrGrafObjTransformsAttrs, 0x03> {};
 }
 
-class SdrGrafObjGeoData : public SdrTextObjGeoData
+class SdrGrafObjGeoData final : public SdrTextObjGeoData
 {
 public:
     bool                    bMirrored;
diff --git a/include/svx/svdomeas.hxx b/include/svx/svdomeas.hxx
index faf69212f32f..cce1df59819a 100644
--- a/include/svx/svdomeas.hxx
+++ b/include/svx/svdomeas.hxx
@@ -32,7 +32,7 @@ namespace sdr { namespace properties {
     class MeasureProperties;
 }}
 
-class SdrMeasureObjGeoData : public SdrTextObjGeoData
+class SdrMeasureObjGeoData final : public SdrTextObjGeoData
 {
 public:
     Point                       aPt1;
diff --git a/include/svx/svdoole2.hxx b/include/svx/svdoole2.hxx
index d62f989f9fe5..b192a438bc19 100644
--- a/include/svx/svdoole2.hxx
+++ b/include/svx/svdoole2.hxx
@@ -185,7 +185,7 @@ public:
     virtual SdrObjectUniquePtr DoConvertToPolyObj(bool bBezier, bool bAddText) const override;
 };
 
-class SVX_DLLPUBLIC SdrEmbedObjectLink : public sfx2::SvBaseLink
+class SVX_DLLPUBLIC SdrEmbedObjectLink final : public sfx2::SvBaseLink
 {
     SdrOle2Obj*         pObj;
 
diff --git a/include/svx/svdopage.hxx b/include/svx/svdopage.hxx
index 0cbf0e14a6ee..fa6e17994c75 100644
--- a/include/svx/svdopage.hxx
+++ b/include/svx/svdopage.hxx
@@ -24,7 +24,7 @@
 #include <svx/sdrpageuser.hxx>
 #include <svx/svxdllapi.h>
 
-class SVX_DLLPUBLIC SdrPageObj : public SdrObject, public sdr::PageUser
+class SVX_DLLPUBLIC SdrPageObj final : public SdrObject, public sdr::PageUser
 {
 public:
     // this method is called from the destructor of the referenced page.
@@ -36,7 +36,6 @@ private:
     // To make things more safe, remember the page, not a number
     SdrPage*                                mpShownPage;
 
-protected:
     virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
     virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;
 
diff --git a/include/svx/svdopath.hxx b/include/svx/svdopath.hxx
index 027996240359..f6a51898158d 100644
--- a/include/svx/svdopath.hxx
+++ b/include/svx/svdopath.hxx
@@ -29,7 +29,7 @@ class ImpPathForDragAndCreate;
 // Helper class SdrPathObjGeoData
 // used for undo/redo
 
-class SdrPathObjGeoData : public SdrTextObjGeoData
+class SdrPathObjGeoData final : public SdrTextObjGeoData
 {
 public:
     basegfx::B2DPolyPolygon maPathPolygon;
diff --git a/include/svx/svdotable.hxx b/include/svx/svdotable.hxx
index a940cd7ab024..62d1cb4ad860 100644
--- a/include/svx/svdotable.hxx
+++ b/include/svx/svdotable.hxx
@@ -91,12 +91,11 @@ struct SVX_DLLPUBLIC TableStyleSettings
 /// SdrTableObj
 class SdrTableObjImpl;
 
-class SVX_DLLPUBLIC SdrTableObj : public ::SdrTextObj
+class SVX_DLLPUBLIC SdrTableObj final : public ::SdrTextObj
 {
     friend class Cell;
     friend class SdrTableObjImpl;
 
-protected:
     // protected destructor
     virtual ~SdrTableObj() override;
 
@@ -268,7 +267,6 @@ public:
 private:
     void init( sal_Int32 nColumns, sal_Int32 nRows );
 
-protected:
     virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;
     virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
 
@@ -276,17 +274,14 @@ protected:
     virtual void SaveGeoData(SdrObjGeoData& rGeo) const override;
     virtual void RestGeoData(const SdrObjGeoData& rGeo) override;
 
-private:
     SdrOutliner* GetCellTextEditOutliner( const sdr::table::Cell& rCell ) const;
 
-private:
     // For the ViewContactOfTableObj to build the primitive representation, it is necessary to access the
     // TableLayouter for position and attribute information
     friend class sdr::contact::ViewContactOfTableObj;
     const TableLayouter& getTableLayouter() const;
 
     tools::Rectangle   maLogicRect;
-private:
     rtl::Reference<SdrTableObjImpl>    mpImpl;
 };
 
diff --git a/include/svx/svdotext.hxx b/include/svx/svdotext.hxx
index 6cb3b5377e12..d49f1221dc98 100644
--- a/include/svx/svdotext.hxx
+++ b/include/svx/svdotext.hxx
@@ -102,7 +102,7 @@ public:
 //   helper class ImpSdrObjTextLinkUserData
 
 
-class ImpSdrObjTextLinkUserData : public SdrObjUserData
+class ImpSdrObjTextLinkUserData final : public SdrObjUserData
 {
     friend class                SdrTextObj;
     friend class                ImpSdrObjTextLink;
diff --git a/include/svx/svdpntv.hxx b/include/svx/svdpntv.hxx
index 393a8f607d99..25bd4e98585f 100644
--- a/include/svx/svdpntv.hxx
+++ b/include/svx/svdpntv.hxx
@@ -81,7 +81,7 @@ namespace sdr
 }
 
 
-class SVX_DLLPUBLIC SvxViewChangedHint : public SfxHint
+class SVX_DLLPUBLIC SvxViewChangedHint final : public SfxHint
 {
 public:
     explicit SvxViewChangedHint();
diff --git a/include/svx/svdpool.hxx b/include/svx/svdpool.hxx
index 04bd7c83f2e6..831a02984dbf 100644
--- a/include/svx/svdpool.hxx
+++ b/include/svx/svdpool.hxx
@@ -27,12 +27,12 @@ class XLineAttrSetItem;
 class XFillAttrSetItem;
 
 
-class SVX_DLLPUBLIC SdrItemPool : public XOutdevItemPool
+class SVX_DLLPUBLIC SdrItemPool final : public XOutdevItemPool
 {
 public:
     SdrItemPool(SfxItemPool* pMaster = nullptr);
     SdrItemPool(const SdrItemPool& rPool);
-protected:
+private:
     virtual ~SdrItemPool() override;
 public:
 
diff --git a/include/svx/svdundo.hxx b/include/svx/svdundo.hxx
index 7a33a71297c6..99acdb55660b 100644
--- a/include/svx/svdundo.hxx
+++ b/include/svx/svdundo.hxx
@@ -353,7 +353,7 @@ public:
  * Create Action before inserting into the ObjList.
  */
 
-class SdrUndoCopyObj : public SdrUndoNewObj
+class SdrUndoCopyObj final : public SdrUndoNewObj
 {
 public:
     SdrUndoCopyObj(SdrObject& rNewObj, bool bOrdNumDirect)
@@ -477,7 +477,7 @@ protected:
  * Create Action after Insertion.
  */
 
-class SdrUndoNewLayer : public SdrUndoLayer
+class SdrUndoNewLayer final : public SdrUndoLayer
 {
 public:
     SdrUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel)
@@ -494,7 +494,7 @@ public:
  * Create Action before the Remove.
  */
 
-class SdrUndoDelLayer : public SdrUndoLayer
+class SdrUndoDelLayer final : public SdrUndoLayer
 {
 public:
     SdrUndoDelLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel)
@@ -553,7 +553,7 @@ protected:
  * Create Action before removing from the List.
  */
 
-class SVX_DLLPUBLIC SdrUndoDelPage : public SdrUndoPageList
+class SVX_DLLPUBLIC SdrUndoDelPage final : public SdrUndoPageList
 {
     // When deleting a MasterPage, we remember all relations of the
     // Character Page with the MasterPage in this UndoGroup.
@@ -601,7 +601,7 @@ public:
  * Create Action after inserting into the List.
  */
 
-class SdrUndoCopyPage : public SdrUndoNewPage
+class SdrUndoCopyPage final : public SdrUndoNewPage
 {
 public:
     SdrUndoCopyPage(SdrPage& rNewPg): SdrUndoNewPage(rNewPg) {}
@@ -662,7 +662,7 @@ public:
  * Create Action before removing the MasterPageDescriptor.
  */
 
-class SdrUndoPageRemoveMasterPage : public SdrUndoPageMasterPage
+class SdrUndoPageRemoveMasterPage final : public SdrUndoPageMasterPage
 {
 public:
     SdrUndoPageRemoveMasterPage(SdrPage& rChangedPage);
diff --git a/include/svx/svx3ditems.hxx b/include/svx/svx3ditems.hxx
index 82ea78b09684..7a7d663e77c6 100644
--- a/include/svx/svx3ditems.hxx
+++ b/include/svx/svx3ditems.hxx
@@ -116,7 +116,7 @@ inline SfxUInt16Item makeSvx3DMaterialSpecularIntensityItem(sal_uInt16 nVal) {
     return SfxUInt16Item(SDRATTR_3DOBJ_MAT_SPECULAR_INTENSITY, nVal);
 }
 
-class SVX_DLLPUBLIC Svx3DTextureKindItem : public SfxUInt16Item {
+class SVX_DLLPUBLIC Svx3DTextureKindItem final : public SfxUInt16Item {
 public:
     Svx3DTextureKindItem(sal_uInt16 nVal = 3);
 
@@ -126,7 +126,7 @@ public:
     SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = nullptr) const override;
 };
 
-class SVX_DLLPUBLIC Svx3DTextureModeItem : public SfxUInt16Item {
+class SVX_DLLPUBLIC Svx3DTextureModeItem final : public SfxUInt16Item {
 public:
     Svx3DTextureModeItem(sal_uInt16 nVal = 2);
 
diff --git a/include/svx/svxdlg.hxx b/include/svx/svxdlg.hxx
index fab6290d849e..52282e6bb6e5 100644
--- a/include/svx/svxdlg.hxx
+++ b/include/svx/svxdlg.hxx
@@ -132,7 +132,7 @@ public:
     virtual OUString      GetName() const = 0;
 };
 
-class AbstractSvxHlinkDlgMarkWnd :public VclAbstractDialog
+class AbstractSvxHlinkDlgMarkWnd : public VclAbstractDialog
 {
 protected:
     virtual ~AbstractSvxHlinkDlgMarkWnd() override = default;
@@ -216,7 +216,7 @@ public:
     virtual bool IsSlideScope() = 0;
 };
 
-class AbstractSvxMessDialog :public VclAbstractDialog
+class AbstractSvxMessDialog : public VclAbstractDialog
 {
 protected:
     virtual ~AbstractSvxMessDialog() override = default;
diff --git a/include/svx/svxerr.hxx b/include/svx/svxerr.hxx
index f428a920af61..ecb98cd27419 100644
--- a/include/svx/svxerr.hxx
+++ b/include/svx/svxerr.hxx
@@ -47,7 +47,7 @@
 #define ERRCTX_SVX_BACKGROUND                   5
 #define ERRCTX_SVX_IMPORT_GRAPHIC               6
 
-class SVX_DLLPUBLIC SvxErrorHandler : private SfxErrorHandler
+class SVX_DLLPUBLIC SvxErrorHandler final : private SfxErrorHandler
 {
 public:
     SvxErrorHandler();
diff --git a/include/svx/svxgrahicitem.hxx b/include/svx/svxgrahicitem.hxx
index 88b3bb1ea41a..c946047b440d 100644
--- a/include/svx/svxgrahicitem.hxx
+++ b/include/svx/svxgrahicitem.hxx
@@ -25,7 +25,7 @@
 
 #include <vcl/graph.hxx>
 
-class SVX_DLLPUBLIC SvxGraphicItem: public SfxPoolItem
+class SVX_DLLPUBLIC SvxGraphicItem final : public SfxPoolItem
 {
     Graphic const         aGraphic;
 
diff --git a/include/svx/swframeexample.hxx b/include/svx/swframeexample.hxx
index ab945321a59f..fc64982cee3c 100644
--- a/include/svx/swframeexample.hxx
+++ b/include/svx/swframeexample.hxx
@@ -26,7 +26,7 @@
 #include <vcl/customweld.hxx>
 #include <com/sun/star/text/WrapTextMode.hpp>
 
-class SVX_DLLPUBLIC SwFrameExample : public weld::CustomWidgetController
+class SVX_DLLPUBLIC SwFrameExample final : public weld::CustomWidgetController
 {
     Color       m_aTransColor;      ///< transparency
     Color       m_aBgCol;           ///< background
diff --git a/include/svx/sxcaitm.hxx b/include/svx/sxcaitm.hxx
index adfa16afe517..28b14614d040 100644
--- a/include/svx/sxcaitm.hxx
+++ b/include/svx/sxcaitm.hxx
@@ -32,7 +32,7 @@
 // only if Type2, Type3 and Type4
 // and only if SdrCaptionIsFixedAngleItem=TRUE
 
-class SdrCaptionAngleItem: public SdrAngleItem {
+class SdrCaptionAngleItem final : public SdrAngleItem {
 public:
     SdrCaptionAngleItem(long nAngle=0): SdrAngleItem(SDRATTR_CAPTIONANGLE,nAngle) {}
     virtual SfxPoolItem* Clone(SfxItemPool*) const override
diff --git a/include/svx/sxcgitm.hxx b/include/svx/sxcgitm.hxx
index 387876db614f..af3229c25e85 100644
--- a/include/svx/sxcgitm.hxx
+++ b/include/svx/sxcgitm.hxx
@@ -26,7 +26,7 @@
  * class SdrCaptionGapItem
  * Distance of the line start from the Rect
  */
-class SdrCaptionGapItem: public SdrMetricItem {
+class SdrCaptionGapItem final : public SdrMetricItem {
 public:
     SdrCaptionGapItem(long nGap=0)  : SdrMetricItem(SDRATTR_CAPTIONGAP,nGap) {}
     virtual SfxPoolItem* Clone(SfxItemPool*) const override
diff --git a/include/svx/sxmtritm.hxx b/include/svx/sxmtritm.hxx
index ab517f7ee87e..a54787746223 100644
--- a/include/svx/sxmtritm.hxx
+++ b/include/svx/sxmtritm.hxx
@@ -37,7 +37,7 @@ public:
 
 // Turn the calculated TextRect through 180 deg
 // Text is also switched to the other side of the dimension line, if not Rota90
-class SVX_DLLPUBLIC SdrMeasureTextUpsideDownItem: public SdrYesNoItem {
+class SVX_DLLPUBLIC SdrMeasureTextUpsideDownItem final : public SdrYesNoItem {
 public:
     SdrMeasureTextUpsideDownItem(bool bOn=false): SdrYesNoItem(SDRATTR_MEASURETEXTUPSIDEDOWN,bOn) {}
     virtual ~SdrMeasureTextUpsideDownItem() override;
diff --git a/include/svx/tbcontrl.hxx b/include/svx/tbcontrl.hxx
index 94ee827c3559..9e6c387d2dda 100644
--- a/include/svx/tbcontrl.hxx
+++ b/include/svx/tbcontrl.hxx
@@ -153,7 +153,7 @@ namespace svx
     class ToolboxButtonColorUpdater;
 }
 
-class SVX_DLLPUBLIC SvxStyleToolBoxControl : public SfxToolBoxControl
+class SVX_DLLPUBLIC SvxStyleToolBoxControl final : public SfxToolBoxControl
 {
     struct Impl;
     std::unique_ptr<Impl> pImpl;
@@ -170,7 +170,8 @@ public:
                               const SfxPoolItem* pState) override;
 
     DECL_LINK( VisibilityNotification, SvxStyleBox_Impl&, void );
-protected:
+
+private:
     // XInitialization
     virtual void SAL_CALL initialize(const css::uno::Sequence<css::uno::Any>& aArguments) override;
 
@@ -180,8 +181,6 @@ protected:
     // XComponent
     virtual void SAL_CALL dispose() override;
 
-private:
-
 #define MAX_FAMILIES 5
 
     SfxStyleSheetBasePool* pStyleSheetPool;
@@ -202,7 +201,7 @@ friend class SfxStyleControllerItem_Impl;
 
 typedef std::function<void(const OUString&, const NamedColor&)> ColorSelectFunction;
 
-class SVX_DLLPUBLIC SvxColorToolBoxControl : public cppu::ImplInheritanceHelper< svt::PopupWindowController,
+class SVX_DLLPUBLIC SvxColorToolBoxControl final : public cppu::ImplInheritanceHelper< svt::PopupWindowController,
                                                                                  css::frame::XSubToolbarController >
 {
     std::unique_ptr<svx::ToolboxButtonColorUpdater> m_xBtnUpdater;
@@ -245,7 +244,7 @@ public:
     void EnsurePaletteManager();
 };
 
-class SVX_DLLPUBLIC SvxSimpleUndoRedoController : public SfxToolBoxControl
+class SVX_DLLPUBLIC SvxSimpleUndoRedoController final : public SfxToolBoxControl
 {
 private:
     OUString aDefaultText;
@@ -259,7 +258,7 @@ public:
                               const SfxPoolItem* pState) override;
 };
 
-class SVX_DLLPUBLIC SvxCurrencyToolBoxControl : public svt::PopupWindowController
+class SVX_DLLPUBLIC SvxCurrencyToolBoxControl final : public svt::PopupWindowController
 {
 private:
     OUString     m_aFormatString;
diff --git a/include/svx/tbxctl.hxx b/include/svx/tbxctl.hxx
index 14493c1f1f6d..46b8d6dbbfa0 100644
--- a/include/svx/tbxctl.hxx
+++ b/include/svx/tbxctl.hxx
@@ -28,7 +28,7 @@
 |*
 \************************************************************************/
 
-class SVX_DLLPUBLIC SvxTbxCtlDraw : public SfxToolBoxControl
+class SVX_DLLPUBLIC SvxTbxCtlDraw final : public SfxToolBoxControl
 {
 private:
     OUString     m_sToolboxName;
diff --git a/include/svx/unoshape.hxx b/include/svx/unoshape.hxx
index 062fd5eb6b1b..0b48d1e433d6 100644
--- a/include/svx/unoshape.hxx
+++ b/include/svx/unoshape.hxx
@@ -398,7 +398,7 @@ public:
     virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId(  ) override;
 };
 
-class SvxShapeRect : public SvxShapeText
+class SvxShapeRect final : public SvxShapeText
 {
 public:
     SvxShapeRect(SdrObject* pObj);
@@ -417,7 +417,7 @@ public:
 /***********************************************************************
 *                                                                      *
 ***********************************************************************/
-class SvxShapeGroup : public SvxShape,
+class SvxShapeGroup final : public SvxShape,
                       public css::drawing::XShapeGroup,
                       public css::drawing::XShapes2,
                       public css::drawing::XShapes
@@ -511,7 +511,7 @@ public:
 /***********************************************************************
 *                                                                      *
 ***********************************************************************/
-class SVX_DLLPUBLIC SvxShapeControl : public css::drawing::XControlShape, public SvxShapeText
+class SVX_DLLPUBLIC SvxShapeControl final : public css::drawing::XControlShape, public SvxShapeText
 {
 protected:
     using SvxUnoTextRangeBase::setPropertyValue;
@@ -557,7 +557,7 @@ public:
 /***********************************************************************
 *                                                                      *
 ***********************************************************************/
-class SvxShapeDimensioning : public SvxShapeText
+class SvxShapeDimensioning final : public SvxShapeText
 {
 public:
     SvxShapeDimensioning(SdrObject* pObj);
@@ -567,7 +567,7 @@ public:
 /***********************************************************************
 *                                                                      *
 ***********************************************************************/
-class SvxShapeCircle : public SvxShapeText
+class SvxShapeCircle final : public SvxShapeText
 {
 public:
     SvxShapeCircle(SdrObject* pObj);
@@ -603,9 +603,8 @@ public:
 /***********************************************************************
 *                                                                      *
 ***********************************************************************/
-class SvxShapePolyPolygon : public SvxShapeText
+class SvxShapePolyPolygon final : public SvxShapeText
 {
-protected:
     using SvxUnoTextRangeBase::setPropertyValue;
     using SvxUnoTextRangeBase::getPropertyValue;
 
@@ -632,9 +631,8 @@ public:
 *                                                                      *
 ***********************************************************************/
 
-class SvxGraphicObject : public SvxShapeText

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list