loplugin:finalclasses
improve the plugin to detect more cases.
I only apply the new final changes to classes in /include here.
Which reveals that
RoadmapWizard::getPageController( TabPage* _pCurrentPage )
will always return nullptr
Also needed to sprinkle some
SAL_DLLPUBLIC_TEMPLATE
around to workaround Visual Studio linking problems.
Change-Id: Iadb7d46a9e0e73dabce562375ca013c0fea6690c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117365
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
diff --git a/compilerplugins/clang/finalclasses.cxx b/compilerplugins/clang/finalclasses.cxx
index 4271a0a..ff7b349 100644
--- a/compilerplugins/clang/finalclasses.cxx
+++ b/compilerplugins/clang/finalclasses.cxx
@@ -22,7 +22,7 @@ or
In the case of (a), those members/fields can be made private.
In the case of (b), making the class final means the compiler can devirtualise
some method class.
some method calls
The process goes something like this:
$ make check
@@ -86,7 +86,6 @@ bool FinalClasses::VisitCXXRecordDecl(const CXXRecordDecl* decl)
{
if (ignoreLocation(decl))
return true;
decl = decl->getCanonicalDecl();
if (!decl->hasDefinition())
return true;
@@ -114,6 +113,7 @@ bool FinalClasses::VisitCXXRecordDecl(const CXXRecordDecl* decl)
if ( i->isVirtual() )
bFoundVirtual = true;
}
if (!bFoundProtected)
{
for (auto it = decl->field_begin(); it != decl->field_end(); ++it) {
diff --git a/compilerplugins/clang/finalclasses.py b/compilerplugins/clang/finalclasses.py
index dfaa402..05a1d0c 100755
--- a/compilerplugins/clang/finalclasses.py
+++ b/compilerplugins/clang/finalclasses.py
@@ -1,4 +1,4 @@
#!/usr/bin/python
#!/usr/bin/python3
import re
import sys
diff --git a/include/basic/basmgr.hxx b/include/basic/basmgr.hxx
index b439bae..55f582a 100644
--- a/include/basic/basmgr.hxx
+++ b/include/basic/basmgr.hxx
@@ -104,7 +104,7 @@ struct BasicManagerImpl;
#define LIB_NOTFOUND 0xFFFF
class BASIC_DLLPUBLIC BasicManager : public SfxBroadcaster
class BASIC_DLLPUBLIC BasicManager final : public SfxBroadcaster
{
friend class LibraryContainer_Impl;
friend class StarBasicAccess_Impl;
@@ -121,8 +121,6 @@ private:
std::unique_ptr<BasicManagerImpl> mpImpl;
BASIC_DLLPRIVATE void Init();
protected:
bool ImpLoadLibrary( BasicLibInfo* pLibInfo, SotStorage* pCurStorage );
void ImpCreateStdLib( StarBASIC* pParentFromStdLib );
void ImpMgrNotLoaded( const OUString& rStorageName );
diff --git a/include/basic/sbmeth.hxx b/include/basic/sbmeth.hxx
index 5fa65b7..fefd84a 100644
--- a/include/basic/sbmeth.hxx
+++ b/include/basic/sbmeth.hxx
@@ -67,7 +67,7 @@ public:
typedef tools::SvRef<SbMethod> SbMethodRef;
class SbIfaceMapperMethod : public SbMethod
class SbIfaceMapperMethod final : public SbMethod
{
friend class SbiRuntime;
diff --git a/include/basic/sbmod.hxx b/include/basic/sbmod.hxx
index 3a0ebaa0..3f4d3e6 100644
--- a/include/basic/sbmod.hxx
+++ b/include/basic/sbmod.hxx
@@ -139,7 +139,7 @@ typedef tools::SvRef<SbModule> SbModuleRef;
typedef std::vector<SbModuleRef> SbModules;
// Object class for instances of class modules
class UNLESS_MERGELIBS(BASIC_DLLPUBLIC) SbClassModuleObject : public SbModule
class UNLESS_MERGELIBS(BASIC_DLLPUBLIC) SbClassModuleObject final : public SbModule
{
SbModule* mpClassModule;
bool mbInitializeEventDone;
diff --git a/include/basic/sbstar.hxx b/include/basic/sbstar.hxx
index 9c3d024..08040a4 100644
--- a/include/basic/sbstar.hxx
+++ b/include/basic/sbstar.hxx
@@ -34,7 +34,7 @@ namespace com::sun::star::script { struct ModuleInfo; }
class SbMethod;
class BASIC_DLLPUBLIC StarBASIC : public SbxObject
class BASIC_DLLPUBLIC StarBASIC final : public SbxObject
{
friend class SbiScanner;
friend class SbiExpression; // Access to RTL
@@ -58,17 +58,12 @@ class BASIC_DLLPUBLIC StarBASIC : public SbxObject
SbxObjectRef pVBAGlobals;
BASIC_DLLPRIVATE void implClearDependingVarsOnDelete( StarBASIC* pDeletedBasic );
protected:
bool CError( ErrCode, const OUString&, sal_Int32, sal_Int32, sal_Int32 );
private:
BASIC_DLLPRIVATE bool RTError( ErrCode, const OUString& rMsg, sal_Int32, sal_Int32, sal_Int32 );
BASIC_DLLPRIVATE BasicDebugFlags BreakPoint( sal_Int32 nLine, sal_Int32 nCol1, sal_Int32 nCol2 );
BASIC_DLLPRIVATE BasicDebugFlags StepPoint( sal_Int32 nLine, sal_Int32 nCol1, sal_Int32 nCol2 );
virtual bool LoadData( SvStream&, sal_uInt16 ) override;
virtual bool StoreData( SvStream& ) const override;
protected:
bool ErrorHdl();
BasicDebugFlags BreakHdl();
virtual ~StarBASIC() override;
diff --git a/include/basic/sbx.hxx b/include/basic/sbx.hxx
index c0d3daa..999ba3c 100644
--- a/include/basic/sbx.hxx
+++ b/include/basic/sbx.hxx
@@ -48,7 +48,7 @@ struct SbxParamInfo
typedef std::vector<std::unique_ptr<SbxParamInfo>> SbxParams;
class UNLESS_MERGELIBS(BASIC_DLLPUBLIC) SbxInfo : public SvRefBase
class UNLESS_MERGELIBS(BASIC_DLLPUBLIC) SbxInfo final : public SvRefBase
{
friend class SbxVariable;
friend class SbMethod;
@@ -61,7 +61,6 @@ class UNLESS_MERGELIBS(BASIC_DLLPUBLIC) SbxInfo : public SvRefBase
SbxInfo(SbxInfo const&) = delete;
void operator=(SbxInfo const&) = delete;
protected:
void LoadData( SvStream&, sal_uInt16 );
void StoreData( SvStream& ) const;
virtual ~SbxInfo() override;
diff --git a/include/comphelper/SelectionMultiplex.hxx b/include/comphelper/SelectionMultiplex.hxx
index 46b892c..00ba7f9 100644
--- a/include/comphelper/SelectionMultiplex.hxx
+++ b/include/comphelper/SelectionMultiplex.hxx
@@ -55,7 +55,7 @@ namespace comphelper
//= OSelectionChangeMultiplexer
/// multiplexer for selection changes
class COMPHELPER_DLLPUBLIC OSelectionChangeMultiplexer :public cppu::WeakImplHelper< css::view::XSelectionChangeListener>
class COMPHELPER_DLLPUBLIC OSelectionChangeMultiplexer final : public cppu::WeakImplHelper< css::view::XSelectionChangeListener>
{
friend class OSelectionChangeListener;
css::uno::Reference< css::view::XSelectionSupplier> m_xSet;
@@ -64,7 +64,7 @@ namespace comphelper
OSelectionChangeMultiplexer(const OSelectionChangeMultiplexer&) = delete;
OSelectionChangeMultiplexer& operator=(const OSelectionChangeMultiplexer&) = delete;
protected:
virtual ~OSelectionChangeMultiplexer() override;
public:
OSelectionChangeMultiplexer(OSelectionChangeListener* _pListener, const css::uno::Reference< css::view::XSelectionSupplier>& _rxSet);
diff --git a/include/comphelper/accessiblewrapper.hxx b/include/comphelper/accessiblewrapper.hxx
index ea9a0af..2423f2f 100644
--- a/include/comphelper/accessiblewrapper.hxx
+++ b/include/comphelper/accessiblewrapper.hxx
@@ -324,9 +324,8 @@ namespace comphelper
> OWrappedAccessibleChildrenManager_Base;
/** manages wrapping XAccessible's to XAccessible's
*/
class UNLESS_MERGELIBS(COMPHELPER_DLLPUBLIC) OWrappedAccessibleChildrenManager : public OWrappedAccessibleChildrenManager_Base
class UNLESS_MERGELIBS(COMPHELPER_DLLPUBLIC) OWrappedAccessibleChildrenManager final : public OWrappedAccessibleChildrenManager_Base
{
protected:
css::uno::Reference< css::uno::XComponentContext >
m_xContext;
css::uno::WeakReference< css::accessibility::XAccessible >
@@ -381,17 +380,14 @@ namespace comphelper
css::accessibility::AccessibleEventObject& _rTranslatedEvent
);
protected:
private:
// XEventListener
virtual void SAL_CALL disposing( const css::lang::EventObject& Source ) override;
protected:
void implTranslateChildEventValue( const css::uno::Any& _rInValue, css::uno::Any& _rOutValue );
protected:
virtual ~OWrappedAccessibleChildrenManager( ) override;
private:
OWrappedAccessibleChildrenManager( const OWrappedAccessibleChildrenManager& ) = delete;
OWrappedAccessibleChildrenManager& operator=( const OWrappedAccessibleChildrenManager& ) = delete;
};
diff --git a/include/comphelper/configurationlistener.hxx b/include/comphelper/configurationlistener.hxx
index bc7994a..5534251 100644
--- a/include/comphelper/configurationlistener.hxx
+++ b/include/comphelper/configurationlistener.hxx
@@ -59,8 +59,9 @@ public:
uno_type get() const { return maValue; }
};
class COMPHELPER_DLLPUBLIC ConfigurationListener :
public cppu::WeakImplHelper< css::beans::XPropertyChangeListener >
// workaround for incremental linking bugs in MSVC2019
class SAL_DLLPUBLIC_TEMPLATE ConfigurationListener_Base : public cppu::WeakImplHelper< css::beans::XPropertyChangeListener > {};
class COMPHELPER_DLLPUBLIC ConfigurationListener final : public ConfigurationListener_Base
{
css::uno::Reference< css::beans::XPropertySet > mxConfig;
std::vector< ConfigurationListenerPropertyBase * > maListeners;
diff --git a/include/comphelper/containermultiplexer.hxx b/include/comphelper/containermultiplexer.hxx
index b1c4f9d..5b40b62 100644
--- a/include/comphelper/containermultiplexer.hxx
+++ b/include/comphelper/containermultiplexer.hxx
@@ -69,7 +69,7 @@ namespace comphelper
// workaround for incremental linking bugs in MSVC2015
class SAL_DLLPUBLIC_TEMPLATE OContainerListenerAdapter_Base : public cppu::WeakImplHelper< css::container::XContainerListener > {};
class COMPHELPER_DLLPUBLIC OContainerListenerAdapter : public OContainerListenerAdapter_Base
class COMPHELPER_DLLPUBLIC OContainerListenerAdapter final : public OContainerListenerAdapter_Base
{
friend class OContainerListener;
diff --git a/include/comphelper/propmultiplex.hxx b/include/comphelper/propmultiplex.hxx
index 38a1ee7..41d456d 100644
--- a/include/comphelper/propmultiplex.hxx
+++ b/include/comphelper/propmultiplex.hxx
@@ -72,7 +72,9 @@ namespace comphelper
//= OPropertyChangeMultiplexer
/// multiplexer for property changes
class COMPHELPER_DLLPUBLIC OPropertyChangeMultiplexer :public cppu::WeakImplHelper< css::beans::XPropertyChangeListener>
// workaround for incremental linking bugs in MSVC2019
class SAL_DLLPUBLIC_TEMPLATE OPropertyChangeMultiplexer_Base : public cppu::WeakImplHelper< css::beans::XPropertyChangeListener > {};
class COMPHELPER_DLLPUBLIC OPropertyChangeMultiplexer final : public OPropertyChangeMultiplexer_Base
{
friend class OPropertyChangeListener;
std::vector< OUString > m_aProperties;
diff --git a/include/connectivity/PColumn.hxx b/include/connectivity/PColumn.hxx
index 8cb0893..46ceaa1 100644
--- a/include/connectivity/PColumn.hxx
+++ b/include/connectivity/PColumn.hxx
@@ -40,7 +40,7 @@ namespace connectivity::parse
typedef sdbcx::OColumn OParseColumn_BASE;
typedef ::comphelper::OPropertyArrayUsageHelper<OParseColumn> OParseColumn_PROP;
class OOO_DLLPUBLIC_DBTOOLS OParseColumn :
class OOO_DLLPUBLIC_DBTOOLS OParseColumn final :
public OParseColumn_BASE, public OParseColumn_PROP
{
OUString m_aRealName;
@@ -50,7 +50,6 @@ namespace connectivity::parse
bool m_bAggregateFunction;
bool m_bIsSearchable;
protected:
virtual ::cppu::IPropertyArrayHelper* createArrayHelper() const override;
virtual ::cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper() override;
@@ -112,12 +111,11 @@ namespace connectivity::parse
typedef sdbcx::OColumn OOrderColumn_BASE;
typedef ::comphelper::OPropertyArrayUsageHelper<OOrderColumn> OOrderColumn_PROP;
class OOrderColumn :
class OOrderColumn final :
public OOrderColumn_BASE, public OOrderColumn_PROP
{
const bool m_bAscending;
protected:
virtual ::cppu::IPropertyArrayHelper* createArrayHelper() const override;
virtual ::cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper() override;
diff --git a/include/connectivity/dbcharset.hxx b/include/connectivity/dbcharset.hxx
index 79e8c8e..3ee9932 100644
--- a/include/connectivity/dbcharset.hxx
+++ b/include/connectivity/dbcharset.hxx
@@ -121,7 +121,6 @@ namespace dbtools
// friend sal_Int32 operator-(const CharsetIterator& lhs, const CharsetIterator& rhs);
protected:
const OCharsetMap* m_pContainer;
OCharsetMap::TextEncBag::const_iterator m_aPos;
diff --git a/include/connectivity/sqlscan.hxx b/include/connectivity/sqlscan.hxx
index be6d417..fe463f5 100644
--- a/include/connectivity/sqlscan.hxx
+++ b/include/connectivity/sqlscan.hxx
@@ -39,7 +39,7 @@ namespace connectivity
public:
OSQLScanner();
virtual ~OSQLScanner();
~OSQLScanner();
sal_Int32 SQLyygetc();
void SQLyyerror(char const *fmt);
diff --git a/include/drawinglayer/primitive2d/Primitive2DContainer.hxx b/include/drawinglayer/primitive2d/Primitive2DContainer.hxx
index cca3a0a..c62f960 100644
--- a/include/drawinglayer/primitive2d/Primitive2DContainer.hxx
+++ b/include/drawinglayer/primitive2d/Primitive2DContainer.hxx
@@ -34,7 +34,7 @@ class ViewInformation2D;
namespace drawinglayer::primitive2d
{
class SAL_WARN_UNUSED DRAWINGLAYER_DLLPUBLIC Primitive2DContainer
class SAL_WARN_UNUSED DRAWINGLAYER_DLLPUBLIC Primitive2DContainer final
: public std::deque<Primitive2DReference>,
public Primitive2DDecompositionVisitor
{
diff --git a/include/editeng/colritem.hxx b/include/editeng/colritem.hxx
index 630648a..afb1d9d 100644
--- a/include/editeng/colritem.hxx
+++ b/include/editeng/colritem.hxx
@@ -27,7 +27,7 @@
/** SvxColorItem item describes a color.
*/
class EDITENG_DLLPUBLIC SvxColorItem : public SfxPoolItem
class EDITENG_DLLPUBLIC SvxColorItem final : public SfxPoolItem
{
private:
Color mColor;
diff --git a/include/editeng/unotext.hxx b/include/editeng/unotext.hxx
index 8a029b7..0c09b43 100644
--- a/include/editeng/unotext.hxx
+++ b/include/editeng/unotext.hxx
@@ -579,7 +579,7 @@ public:
};
class SvxUnoTextContentEnumeration : public ::cppu::WeakAggImplHelper1< css::container::XEnumeration >
class SvxUnoTextContentEnumeration final : public ::cppu::WeakAggImplHelper1< css::container::XEnumeration >
{
private:
css::uno::Reference< css::text::XText > mxParentText;
@@ -597,7 +597,7 @@ public:
};
class SvxUnoTextRangeEnumeration : public ::cppu::WeakAggImplHelper1< css::container::XEnumeration >
class SvxUnoTextRangeEnumeration final : public ::cppu::WeakAggImplHelper1< css::container::XEnumeration >
{
private:
std::unique_ptr<SvxEditSource> mpEditSource;
diff --git a/include/filter/msfilter/mstoolbar.hxx b/include/filter/msfilter/mstoolbar.hxx
index dacc21c..7cceb14 100644
--- a/include/filter/msfilter/mstoolbar.hxx
+++ b/include/filter/msfilter/mstoolbar.hxx
@@ -207,7 +207,7 @@ public:
bool Read(SvStream &rS) override;
};
class TBCBSpecific : public TBBase
class TBCBSpecific final : public TBBase
{
sal_uInt8 bFlags;
std::shared_ptr< TBCBitMap > icon; // optional
@@ -245,7 +245,7 @@ public:
0x16 (ActiveX control) controlSpecificInfo MUST NOT exist
*/
class MSFILTER_DLLPUBLIC TBCHeader : public TBBase
class MSFILTER_DLLPUBLIC TBCHeader final : public TBBase
{
sal_Int8 bSignature;
sal_Int8 bVersion;
diff --git a/include/oox/ole/axbinaryreader.hxx b/include/oox/ole/axbinaryreader.hxx
index 4302455..eb185f2 100644
--- a/include/oox/ole/axbinaryreader.hxx
+++ b/include/oox/ole/axbinaryreader.hxx
@@ -168,7 +168,7 @@ private:
};
/** Complex property for a 32-bit value pair, e.g. point or size. */
struct PairProperty : public ComplexProperty
struct PairProperty final : public ComplexProperty
{
AxPairData& mrPairData;
@@ -178,7 +178,7 @@ private:
};
/** Complex property for a string value. */
struct StringProperty : public ComplexProperty
struct StringProperty final : public ComplexProperty
{
OUString& mrValue;
sal_uInt32 mnSize;
@@ -189,7 +189,7 @@ private:
};
/** Complex property for an array of strings. */
struct ArrayStringProperty : public ComplexProperty
struct ArrayStringProperty final : public ComplexProperty
{
AxArrayString& mrArray;
sal_uInt32 mnSize;
@@ -199,7 +199,7 @@ private:
};
/** Complex property for a GUID value. */
struct GuidProperty : public ComplexProperty
struct GuidProperty final : public ComplexProperty
{
OUString& mrGuid;
@@ -209,7 +209,7 @@ private:
};
/** Stream property for a font structure. */
struct FontProperty : public ComplexProperty
struct FontProperty final : public ComplexProperty
{
AxFontData& mrFontData;
@@ -219,7 +219,7 @@ private:
};
/** Stream property for a picture or mouse icon. */
struct PictureProperty : public ComplexProperty
struct PictureProperty final : public ComplexProperty
{
StreamDataSequence& mrPicData;
diff --git a/include/oox/ole/axbinarywriter.hxx b/include/oox/ole/axbinarywriter.hxx
index 89bb4eb..eb370473a 100644
--- a/include/oox/ole/axbinarywriter.hxx
+++ b/include/oox/ole/axbinarywriter.hxx
@@ -116,7 +116,7 @@ private:
};
/** Complex property for a 32-bit value pair, e.g. point or size. */
struct PairProperty : public ComplexProperty
struct PairProperty final : public ComplexProperty
{
AxPairData& mrPairData;
@@ -126,7 +126,7 @@ private:
};
/** Complex property for a string value. */
struct StringProperty : public ComplexProperty
struct StringProperty final : public ComplexProperty
{
OUString& mrValue;
sal_uInt32 mnSize;
@@ -137,7 +137,7 @@ private:
};
/** Stream property for a picture or mouse icon. */
struct PictureProperty : public ComplexProperty
struct PictureProperty final : public ComplexProperty
{
virtual bool writeProperty( AxAlignedOutputStream& rOutStrm ) override;
};
diff --git a/include/registry/registry.hxx b/include/registry/registry.hxx
index 3c81c41..3190b13 100644
--- a/include/registry/registry.hxx
+++ b/include/registry/registry.hxx
@@ -208,7 +208,8 @@ public:
inline sal_uInt32 getLength() const;
friend class RegistryKey;
protected:
private:
/** sets the data of the key array.
@param registry specifies the registry files where the keys are located.
@@ -216,7 +217,7 @@ protected:
@param length specifies the length of the array specified by phKeys.
*/
inline void setKeyHandles(Registry const & registry, RegKeyHandle* phKeys, sal_uInt32 length);
private:
/// stores the number of open subkeys, the number of elements.
sal_uInt32 m_length;
/// stores an array of open subkeys.
@@ -246,7 +247,8 @@ public:
inline sal_uInt32 getLength() const;
friend class RegistryKey;
protected:
private:
/** sets the data of the array.
@param registry specifies the registry files where the keys are located.
@@ -254,7 +256,7 @@ protected:
@param length specifies the length of the array specified by pKeyNames.
*/
inline void setKeyNames(Registry const & registry, rtl_uString** pKeyNames, sal_uInt32 length);
private:
/// stores the number of key names, the number of elements.
sal_uInt32 m_length;
/// stores an array of key names.
@@ -557,7 +559,7 @@ public:
inline RegistryKey(Registry const & registry,
RegKeyHandle hKey);
protected:
private:
/** sets the internal registry on which this key should work.
*/
inline void setRegistry(Registry const & registry);
diff --git a/include/sfx2/bindings.hxx b/include/sfx2/bindings.hxx
index 3eb756e..f4f44bd 100644
--- a/include/sfx2/bindings.hxx
+++ b/include/sfx2/bindings.hxx
@@ -67,7 +67,7 @@ template<> struct typed_flags<SfxCallMode>: is_typed_flags<SfxCallMode, 0x0F>
}
class SFX2_DLLPUBLIC SfxBindings: public SfxBroadcaster
class SFX2_DLLPUBLIC SfxBindings final : public SfxBroadcaster
/* [Description]
diff --git a/include/sfx2/linkmgr.hxx b/include/sfx2/linkmgr.hxx
index b952e99..e4f58a9 100644
--- a/include/sfx2/linkmgr.hxx
+++ b/include/sfx2/linkmgr.hxx
@@ -61,7 +61,7 @@ class SFX2_DLLPUBLIC LinkManager
SvLinkSources aServerTbl;
SfxObjectShell *pPersist; // LinkMgr must be release before SfxObjectShell
protected:
bool InsertLink( SvBaseLink* pLink, SvBaseLinkObjectType nObjType, SfxLinkUpdateMode nUpdateType,
const OUString* pName );
public:
diff --git a/include/sfx2/objsh.hxx b/include/sfx2/objsh.hxx
index dfdd240..725f72b 100644
--- a/include/sfx2/objsh.hxx
+++ b/include/sfx2/objsh.hxx
@@ -814,7 +814,6 @@ typedef tools::SvRef<SfxObjectShell> SfxObjectShellRef;
class SfxObjectShellLock
{
protected:
SfxObjectShell * pObj;
public:
SfxObjectShellLock() { pObj = nullptr; }
diff --git a/include/sfx2/sidebar/SidebarController.hxx b/include/sfx2/sidebar/SidebarController.hxx
index 48d5957..133c1f58 100644
--- a/include/sfx2/sidebar/SidebarController.hxx
+++ b/include/sfx2/sidebar/SidebarController.hxx
@@ -59,7 +59,7 @@ namespace sfx2::sidebar {
class DeckDescriptor;
class SidebarDockingWindow;
class SFX2_DLLPUBLIC SidebarController
class SFX2_DLLPUBLIC SidebarController final
: private ::cppu::BaseMutex,
public SidebarControllerInterfaceBase
{
diff --git a/include/sfx2/viewfrm.hxx b/include/sfx2/viewfrm.hxx
index 4585b72..7dd7f0e 100644
--- a/include/sfx2/viewfrm.hxx
+++ b/include/sfx2/viewfrm.hxx
@@ -46,7 +46,7 @@ class SfxInfoBarWindow;
enum class InfobarType;
class CommandPopupHandler;
class SFX2_DLLPUBLIC SfxViewFrame: public SfxShell, public SfxListener
class SFX2_DLLPUBLIC SfxViewFrame final : public SfxShell, public SfxListener
{
std::unique_ptr<struct SfxViewFrame_Impl> m_pImpl;
@@ -59,12 +59,8 @@ class SFX2_DLLPUBLIC SfxViewFrame: public SfxShell, public SfxListener
std::unique_ptr<CommandPopupHandler> m_pCommandPopupHandler;
private:
SAL_DLLPRIVATE void Construct_Impl( SfxObjectShell *pObjSh );
protected:
virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) override;
DECL_LINK(GetInvolvedHandler, weld::Button&, void);
DECL_LINK(DonationHandler, weld::Button&, void);
DECL_LINK(WhatsNewHandler, weld::Button&, void);
diff --git a/include/sfx2/zoomitem.hxx b/include/sfx2/zoomitem.hxx
index 32285cb..4e7703d 100644
--- a/include/sfx2/zoomitem.hxx
+++ b/include/sfx2/zoomitem.hxx
@@ -52,7 +52,7 @@ namespace o3tl
template<> struct typed_flags<SvxZoomEnableFlags> : is_typed_flags<SvxZoomEnableFlags, 0x701f> {};
}
class SFX2_DLLPUBLIC SvxZoomItem: public SfxUInt16Item
class SFX2_DLLPUBLIC SvxZoomItem final : public SfxUInt16Item
{
SvxZoomEnableFlags nValueSet; // allowed values (see #defines below)
SvxZoomType eType;
diff --git a/include/sot/stg.hxx b/include/sot/stg.hxx
index ce4d28e..1cd16ac 100644
--- a/include/sot/stg.hxx
+++ b/include/sot/stg.hxx
@@ -201,13 +201,12 @@ public:
};
class UCBStorageStream_Impl;
class UCBStorageStream : public BaseStorageStream
class UCBStorageStream final : public BaseStorageStream
{
friend class UCBStorage;
UCBStorageStream_Impl*
pImp;
protected:
virtual ~UCBStorageStream() override;
public:
UCBStorageStream( const OUString& rName, StreamMode nMode, bool bDirect, bool bRepair, css::uno::Reference< css::ucb::XProgressHandler > const & xProgress );
@@ -237,11 +236,10 @@ namespace ucbhelper
class UCBStorage_Impl;
struct UCBStorageElement_Impl;
class SOT_DLLPUBLIC UCBStorage : public BaseStorage
class SOT_DLLPUBLIC UCBStorage final : public BaseStorage
{
UCBStorage_Impl* pImp;
protected:
virtual ~UCBStorage() override;
public:
static bool IsStorageFile( SvStream* );
diff --git a/include/sot/storage.hxx b/include/sot/storage.hxx
index 41b5750..dd44b02 100644
--- a/include/sot/storage.hxx
+++ b/include/sot/storage.hxx
@@ -70,7 +70,7 @@ public:
};
class BaseStorage;
class SOT_DLLPUBLIC SotStorage : virtual public SotObject
class SOT_DLLPUBLIC SotStorage final : virtual public SotObject
{
friend class SotStorageStream;
@@ -83,7 +83,6 @@ friend class SotStorageStream;
OString m_aKey; // aKey.Len != 0 -> encryption
sal_Int32 m_nVersion;
protected:
virtual ~SotStorage() override;
void CreateStorage(bool bUCBStorage, StreamMode);
public:
diff --git a/include/svl/itemset.hxx b/include/svl/itemset.hxx
index e8bc88a..7c85e75 100644
--- a/include/svl/itemset.hxx
+++ b/include/svl/itemset.hxx
@@ -259,7 +259,7 @@ inline void SfxItemSet::SetParent( const SfxItemSet* pNew )
m_pParent = pNew;
}
class SVL_DLLPUBLIC SfxAllItemSet: public SfxItemSet
class SVL_DLLPUBLIC SfxAllItemSet final : public SfxItemSet
// Handles all Ranges. Ranges are automatically modified by putting items.
@@ -271,7 +271,7 @@ public:
virtual std::unique_ptr<SfxItemSet> Clone( bool bItems = true, SfxItemPool *pToPool = nullptr ) const override;
virtual SfxItemSet CloneAsValue( bool bItems = true, SfxItemPool *pToPool = nullptr ) const override;
protected:
private:
virtual const SfxPoolItem* PutImpl( const SfxPoolItem&, sal_uInt16 nWhich, bool bPassingOwnership ) override;
};
diff --git a/include/svtools/brwbox.hxx b/include/svtools/brwbox.hxx
index 004e939..bcebf9a 100644
--- a/include/svtools/brwbox.hxx
+++ b/include/svtools/brwbox.hxx
@@ -140,7 +140,7 @@ class BrowseBox;
class ScrollBarBox;
class BrowserMouseEvent;
class BrowserDataWin
class BrowserDataWin final
:public Control
,public DragSourceHelper
,public DropTargetHelper
@@ -214,7 +214,7 @@ public:
void Invalidate( const tools::Rectangle& rRect, InvalidateFlags nFlags = InvalidateFlags::NONE ) override;
using Control::Invalidate;
protected:
private:
void StartRowDividerDrag( const Point& _rStartPos );
bool ImplRowDividerHitTest( const BrowserMouseEvent& _rEvent );
};
diff --git a/include/svtools/editbrowsebox.hxx b/include/svtools/editbrowsebox.hxx
index 0a9067d..be1ad5f 100644
--- a/include/svtools/editbrowsebox.hxx
+++ b/include/svtools/editbrowsebox.hxx
@@ -231,7 +231,7 @@ namespace svt
std::unique_ptr<weld::Entry> m_xWidget;
};
class SVT_DLLPUBLIC EntryImplementation : public IEditImplementation
class SVT_DLLPUBLIC EntryImplementation final : public IEditImplementation
{
EditControlBase& m_rEdit;
int m_nMaxTextLen;
@@ -377,7 +377,7 @@ namespace svt
virtual bool ProcessKey(const KeyEvent& rKEvt) override;
};
class SVT_DLLPUBLIC MultiLineEditImplementation : public IEditImplementation
class SVT_DLLPUBLIC MultiLineEditImplementation final : public IEditImplementation
{
MultiLineTextCell& m_rEdit;
int m_nMaxTextLen;
@@ -627,7 +627,7 @@ namespace svt
};
//= ComboBoxCellController
class SVT_DLLPUBLIC ComboBoxCellController : public CellController
class SVT_DLLPUBLIC ComboBoxCellController final : public CellController
{
public:
@@ -637,9 +637,8 @@ namespace svt
virtual bool IsValueChangedFromSaved() const override;
virtual void SaveValue() override;
protected:
virtual bool MoveAllowed(const KeyEvent& rEvt) const override;
private:
virtual bool MoveAllowed(const KeyEvent& rEvt) const override;
DECL_LINK(ModifyHdl, LinkParamNone*, void);
};
@@ -725,31 +724,31 @@ namespace svt
void InitFormattedControlBase();
};
class SVT_DLLPUBLIC FormattedControl : public FormattedControlBase
class SVT_DLLPUBLIC FormattedControl final : public FormattedControlBase
{
public:
FormattedControl(BrowserDataWin* pParent, bool bSpinVariant);
};
class SVT_DLLPUBLIC DoubleNumericControl : public FormattedControlBase
class SVT_DLLPUBLIC DoubleNumericControl final : public FormattedControlBase
{
public:
DoubleNumericControl(BrowserDataWin* pParent, bool bSpinVariant);
};
class SVT_DLLPUBLIC LongCurrencyControl : public FormattedControlBase
class SVT_DLLPUBLIC LongCurrencyControl final : public FormattedControlBase
{
public:
LongCurrencyControl(BrowserDataWin* pParent, bool bSpinVariant);
};
class SVT_DLLPUBLIC TimeControl : public FormattedControlBase
class SVT_DLLPUBLIC TimeControl final : public FormattedControlBase
{
public:
TimeControl(BrowserDataWin* pParent, bool bSpinVariant);
};
class SVT_DLLPUBLIC DateControl : public FormattedControlBase
class SVT_DLLPUBLIC DateControl final : public FormattedControlBase
{
public:
DateControl(BrowserDataWin* pParent, bool bDropDown);
diff --git a/include/svx/EnhancedCustomShape2d.hxx b/include/svx/EnhancedCustomShape2d.hxx
index ba0d4a6..18ce214 100644
--- a/include/svx/EnhancedCustomShape2d.hxx
+++ b/include/svx/EnhancedCustomShape2d.hxx
@@ -76,7 +76,7 @@ namespace o3tl
// escher, but we are using it internally in to differentiate
// between X_RANGE and Y_RANGE
class SVXCORE_DLLPUBLIC EnhancedCustomShape2d : public SfxItemSet
class SVXCORE_DLLPUBLIC EnhancedCustomShape2d final : public SfxItemSet
{
SdrObjCustomShape& mrSdrObjCustomShape;
MSO_SPT eSpType;
diff --git a/include/svx/bmpmask.hxx b/include/svx/bmpmask.hxx
index 78dbbbe..1500b8d 100644
--- a/include/svx/bmpmask.hxx
+++ b/include/svx/bmpmask.hxx
@@ -84,7 +84,7 @@ class MaskSet;
class BmpColorWindow;
class ColorListBox;
class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxBmpMask : public SfxDockingWindow
class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxBmpMask final : public SfxDockingWindow
{
friend class MaskData;
friend class MaskSet;
diff --git a/include/svx/float3d.hxx b/include/svx/float3d.hxx
index fbc74e6..fd8ae56 100644
--- a/include/svx/float3d.hxx
+++ b/include/svx/float3d.hxx
@@ -256,9 +256,8 @@ public:
|*
\************************************************************************/
class Svx3DCtrlItem : public SfxControllerItem
class Svx3DCtrlItem final : public SfxControllerItem
{
protected:
virtual void StateChangedAtToolBoxControl( sal_uInt16 nSId, SfxItemState eState,
const SfxPoolItem* pState ) override;
@@ -273,11 +272,10 @@ class Svx3DCtrlItem : public SfxControllerItem
|*
\************************************************************************/
class SvxConvertTo3DItem : public SfxControllerItem
class SvxConvertTo3DItem final : public SfxControllerItem
{
bool bState;
protected:
virtual void StateChangedAtToolBoxControl(sal_uInt16 nSId, SfxItemState eState, const SfxPoolItem* pState) override;
public:
diff --git a/include/svx/fmsrcimp.hxx b/include/svx/fmsrcimp.hxx
index a9b311f..68cd77b 100644
--- a/include/svx/fmsrcimp.hxx
+++ b/include/svx/fmsrcimp.hxx
@@ -69,7 +69,9 @@ struct FmSearchProgress
* class FmRecordCountListener - utility class for FmSearchEngine, listens at a certain cursor and provides
* the differences in RecordCount
*/
class SAL_WARN_UNUSED FmRecordCountListener final : public cppu::WeakImplHelper< css::beans::XPropertyChangeListener >
// workaround for incremental linking bugs in MSVC2019
class SAL_DLLPUBLIC_TEMPLATE FmRecordCountListener_Base : public cppu::WeakImplHelper< css::beans::XPropertyChangeListener > {};
class SAL_WARN_UNUSED FmRecordCountListener final : public FmRecordCountListener_Base
{
// attribute
Link<sal_Int32,void> m_lnkWhoWantsToKnow;
diff --git a/include/svx/fmtools.hxx b/include/svx/fmtools.hxx
index e8c0c7d..1ead906 100644
--- a/include/svx/fmtools.hxx
+++ b/include/svx/fmtools.hxx
@@ -144,7 +144,7 @@ protected:
void setAdapter(FmXDisposeMultiplexer* pAdapter);
};
class SAL_WARN_UNUSED FmXDisposeMultiplexer : public cppu::WeakImplHelper< css::lang::XEventListener >
class SAL_WARN_UNUSED FmXDisposeMultiplexer final : public cppu::WeakImplHelper< css::lang::XEventListener >
{
css::uno::Reference< css::lang::XComponent> m_xObject;
FmXDisposeListener* m_pListener;
diff --git a/include/svx/gallerybinaryengine.hxx b/include/svx/gallerybinaryengine.hxx
index 11747c5..5e89b5d 100644
--- a/include/svx/gallerybinaryengine.hxx
+++ b/include/svx/gallerybinaryengine.hxx
@@ -44,7 +44,7 @@ class FmFormModel;
class GalleryTheme;
class GalleryThemeEntry;
class SVXCORE_DLLPUBLIC GalleryBinaryEngine : public GalleryFileStorage
class SVXCORE_DLLPUBLIC GalleryBinaryEngine final : public GalleryFileStorage
{
private:
tools::SvRef<SotStorage> m_aSvDrawStorageRef;
diff --git a/include/svx/gallerybinaryengineentry.hxx b/include/svx/gallerybinaryengineentry.hxx
index 042119a..48a2711 100644
--- a/include/svx/gallerybinaryengineentry.hxx
+++ b/include/svx/gallerybinaryengineentry.hxx
@@ -29,7 +29,7 @@ class GalleryBinaryStorageLocations;
class GalleryObjectCollection;
class GalleryBinaryEngine;
class GalleryBinaryEngineEntry : public GalleryFileStorageEntry
class GalleryBinaryEngineEntry final : public GalleryFileStorageEntry
{
private:
std::unique_ptr<GalleryBinaryStorageLocations> mpGalleryStorageLocations;
diff --git a/include/svx/gallerybinarystoragelocations.hxx b/include/svx/gallerybinarystoragelocations.hxx
index aefe1fc..6876c64 100644
--- a/include/svx/gallerybinarystoragelocations.hxx
+++ b/include/svx/gallerybinarystoragelocations.hxx
@@ -23,7 +23,7 @@
#include <svx/svxdllapi.h>
#include <svx/gallerystoragelocations.hxx>
class SVXCORE_DLLPUBLIC GalleryBinaryStorageLocations : public GalleryStorageLocations
class SVXCORE_DLLPUBLIC GalleryBinaryStorageLocations final : public GalleryStorageLocations
{
private:
INetURLObject maThmURL;
diff --git a/include/svx/galtheme.hxx b/include/svx/galtheme.hxx
index 0630262..585293b 100644
--- a/include/svx/galtheme.hxx
+++ b/include/svx/galtheme.hxx
@@ -47,7 +47,7 @@ namespace unogallery
class GalleryItem;
}
class SVXCORE_DLLPUBLIC GalleryTheme : public SfxBroadcaster
class SVXCORE_DLLPUBLIC GalleryTheme final : public SfxBroadcaster
{
friend class Gallery;
friend class GalleryThemeCacheEntry;
diff --git a/include/svx/graphctl.hxx b/include/svx/graphctl.hxx
index 11a5854..517addf 100644
--- a/include/svx/graphctl.hxx
+++ b/include/svx/graphctl.hxx
@@ -128,12 +128,10 @@ public:
virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible() override;
};
class GraphCtrlView : public SdrView
class GraphCtrlView final : public SdrView
{
GraphCtrl& rGraphCtrl;
protected:
virtual void MarkListHasChanged() override
{
SdrView::MarkListHasChanged();
diff --git a/include/svx/hlnkitem.hxx b/include/svx/hlnkitem.hxx
index 08eded81..5d6ac56 100644
--- a/include/svx/hlnkitem.hxx
+++ b/include/svx/hlnkitem.hxx
@@ -45,7 +45,7 @@ enum SvxLinkInsertMode
HLINK_HTMLMODE = 0x0080
};
class SVX_DLLPUBLIC SvxHyperlinkItem : public SfxPoolItem
class SVX_DLLPUBLIC SvxHyperlinkItem final : public SfxPoolItem
{
OUString sName;
OUString sURL;
diff --git a/include/svx/imapdlg.hxx b/include/svx/imapdlg.hxx
index 3032018..3c6ea8f 100644
--- a/include/svx/imapdlg.hxx
+++ b/include/svx/imapdlg.hxx
@@ -81,7 +81,7 @@ class IMapOwnData;
class IMapWindow;
class GraphCtrl;
class SVX_DLLPUBLIC SvxIMapDlg : public SfxModelessDialogController
class SVX_DLLPUBLIC SvxIMapDlg final : public SfxModelessDialogController
{
friend class IMapOwnData;
friend class IMapWindow;
diff --git a/include/svx/nbdtmg.hxx b/include/svx/nbdtmg.hxx
index 7892a08..7d397687 100644
--- a/include/svx/nbdtmg.hxx
+++ b/include/svx/nbdtmg.hxx
@@ -168,7 +168,7 @@ class BulletsTypeMgr final : public NBOTypeMgrBase
};
class NumberingTypeMgr: public NBOTypeMgrBase
class NumberingTypeMgr final : public NBOTypeMgrBase
{
private:
NumberingTypeMgr(const NumberingTypeMgr&) = delete;
@@ -187,7 +187,7 @@ class NumberingTypeMgr: public NBOTypeMgrBase
static NumberingTypeMgr& GetInstance();
};
class OutlineTypeMgr: public NBOTypeMgrBase
class OutlineTypeMgr final : public NBOTypeMgrBase
{
private:
OutlineTypeMgr(const OutlineTypeMgr&) = delete;
diff --git a/include/svx/rubydialog.hxx b/include/svx/rubydialog.hxx
index 5bdd4c9..12593c7 100644
--- a/include/svx/rubydialog.hxx
+++ b/include/svx/rubydialog.hxx
@@ -52,7 +52,7 @@ public:
class SvxRubyData_Impl;
class SvxRubyDialog : public SfxModelessDialogController
class SvxRubyDialog final : public SfxModelessDialogController
{
friend class RubyPreview;
diff --git a/include/svx/scene3d.hxx b/include/svx/scene3d.hxx
index 4c8b1b1..d2d91f3 100644
--- a/include/svx/scene3d.hxx
+++ b/include/svx/scene3d.hxx
@@ -54,9 +54,8 @@ class Imp3DDepthRemapper;
|*
\************************************************************************/
class SVXCORE_DLLPUBLIC E3dScene : public E3dObject, public SdrObjList
class SVXCORE_DLLPUBLIC E3dScene final : public E3dObject, public SdrObjList
{
protected:
virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;
virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
@@ -184,7 +183,7 @@ public:
virtual SdrObjList* GetSubList() const override;
virtual void SetTransformChanged() override;
protected:
private:
virtual basegfx::B3DRange RecalcBoundVolume() const override;
};
diff --git a/include/svx/sdasitm.hxx b/include/svx/sdasitm.hxx
index e8db199..c02076b 100644
--- a/include/svx/sdasitm.hxx
+++ b/include/svx/sdasitm.hxx
@@ -30,7 +30,7 @@
namespace com::sun::star::uno { class Any; }
class SVXCORE_DLLPUBLIC SdrCustomShapeGeometryItem : public SfxPoolItem
class SVXCORE_DLLPUBLIC SdrCustomShapeGeometryItem final : public SfxPoolItem
{
public:
typedef std::pair < const OUString, const OUString > PropertyPair;
diff --git a/include/svx/sdgcpitm.hxx b/include/svx/sdgcpitm.hxx
index 1f309ea..a9712a1 100644
--- a/include/svx/sdgcpitm.hxx
+++ b/include/svx/sdgcpitm.hxx
@@ -28,7 +28,7 @@
// SdrGrafCropItem -
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) SdrGrafCropItem : public SvxGrfCrop
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) SdrGrafCropItem final : public SvxGrfCrop
{
public:
diff --git a/include/svx/sdggaitm.hxx b/include/svx/sdggaitm.hxx
index 5a81962e..345082f 100644
--- a/include/svx/sdggaitm.hxx
+++ b/include/svx/sdggaitm.hxx
@@ -28,7 +28,7 @@
// SdrGrafGamma100Item -
class SVXCORE_DLLPUBLIC SdrGrafGamma100Item : public SfxUInt32Item
class SVXCORE_DLLPUBLIC SdrGrafGamma100Item final : public SfxUInt32Item
{
public:
diff --git a/include/svx/sdgluitm.hxx b/include/svx/sdgluitm.hxx
index 886b3cf..4ef5e69 100644
--- a/include/svx/sdgluitm.hxx
+++ b/include/svx/sdgluitm.hxx
@@ -28,7 +28,7 @@
// SdrGrafLuminanceItem -
class SVXCORE_DLLPUBLIC SdrGrafLuminanceItem : public SdrSignedPercentItem
class SVXCORE_DLLPUBLIC SdrGrafLuminanceItem final : public SdrSignedPercentItem
{
public:
@@ -43,7 +43,7 @@ public:
// SdrGrafContrastItem -
class SVXCORE_DLLPUBLIC SdrGrafContrastItem : public SdrSignedPercentItem
class SVXCORE_DLLPUBLIC SdrGrafContrastItem final : public SdrSignedPercentItem
{
public:
diff --git a/include/svx/sdgmoitm.hxx b/include/svx/sdgmoitm.hxx
index 9d1fbc8..fa205b6 100644
--- a/include/svx/sdgmoitm.hxx
+++ b/include/svx/sdgmoitm.hxx
@@ -32,7 +32,7 @@ protected:
SfxEnumItem(SDRATTR_GRAFMODE, eMode) {}
};
class SVXCORE_DLLPUBLIC SdrGrafModeItem : public SdrGrafModeItem_Base
class SVXCORE_DLLPUBLIC SdrGrafModeItem final : public SdrGrafModeItem_Base
{
public:
SdrGrafModeItem( GraphicDrawMode eMode = GraphicDrawMode::Standard ) : SdrGrafModeItem_Base( eMode ) {}
diff --git a/include/svx/sdr/contact/viewcontactofsdrmediaobj.hxx b/include/svx/sdr/contact/viewcontactofsdrmediaobj.hxx
index 44e9e43..95c2eda 100644
--- a/include/svx/sdr/contact/viewcontactofsdrmediaobj.hxx
+++ b/include/svx/sdr/contact/viewcontactofsdrmediaobj.hxx
@@ -32,7 +32,7 @@ class MediaItem;
namespace sdr::contact
{
class SVXCORE_DLLPUBLIC ViewContactOfSdrMediaObj : public ViewContactOfSdrObj
class SVXCORE_DLLPUBLIC ViewContactOfSdrMediaObj final : public ViewContactOfSdrObj
{
friend class ViewObjectContactOfSdrMediaObj;
@@ -53,7 +53,7 @@ public:
void updateMediaItem(::avmedia::MediaItem& rItem) const;
void executeMediaItem(const ::avmedia::MediaItem& rItem);
protected:
private:
// Create an Object-Specific ViewObjectContact, set ViewContact and
// ObjectContact. Always needs to return something.
virtual ViewObjectContact&
@@ -62,7 +62,6 @@ protected:
// get notified if some properties have changed
void mediaPropertiesChanged(const ::avmedia::MediaItem& rNewState);
protected:
// This method is responsible for creating the graphical visualisation data
// ONLY based on model data
virtual drawinglayer::primitive2d::Primitive2DContainer
diff --git a/include/svx/sdtaditm.hxx b/include/svx/sdtaditm.hxx
index 1208dd7..79ae6bc 100644
--- a/include/svx/sdtaditm.hxx
+++ b/include/svx/sdtaditm.hxx
@@ -31,7 +31,7 @@ enum class SdrTextAniDirection
Left, Right, Up, Down
};
class SVXCORE_DLLPUBLIC SdrTextAniDirectionItem: public SfxEnumItem<SdrTextAniDirection> {
class SVXCORE_DLLPUBLIC SdrTextAniDirectionItem final : public SfxEnumItem<SdrTextAniDirection> {
public:
SdrTextAniDirectionItem(SdrTextAniDirection eDir=SdrTextAniDirection::Left): SfxEnumItem(SDRATTR_TEXT_ANIDIRECTION, eDir) {}
virtual SdrTextAniDirectionItem* Clone(SfxItemPool* pPool=nullptr) const override;
diff --git a/include/svx/sdtaitm.hxx b/include/svx/sdtaitm.hxx
index d977f83..69b909d 100644
--- a/include/svx/sdtaitm.hxx
+++ b/include/svx/sdtaitm.hxx
@@ -32,7 +32,7 @@ enum SdrTextVertAdjust {SDRTEXTVERTADJUST_TOP, // aligned to top (normally
SDRTEXTVERTADJUST_BLOCK // support vertical full with supported now
/*,SDRTEXTVERTADJUST_STRETCH*/}; // also stretch letters in their height (ni)
class SVXCORE_DLLPUBLIC SdrTextVertAdjustItem: public SfxEnumItem<SdrTextVertAdjust> {
class SVXCORE_DLLPUBLIC SdrTextVertAdjustItem final : public SfxEnumItem<SdrTextVertAdjust> {
public:
SdrTextVertAdjustItem(SdrTextVertAdjust eAdj=SDRTEXTVERTADJUST_TOP): SfxEnumItem(SDRATTR_TEXT_VERTADJUST, eAdj) {}
SdrTextVertAdjustItem(SdrTextVertAdjust eAdj, sal_uInt16 nWhich): SfxEnumItem(nWhich, eAdj) {}
@@ -56,7 +56,7 @@ enum SdrTextHorzAdjust {SDRTEXTHORZADJUST_LEFT, // left adjusted
SDRTEXTHORZADJUST_BLOCK // use the whole text frame width
/*,SDRTEXTHORZADJUST_STRETCH*/}; // FitToSize in X direction (ni).
class SVXCORE_DLLPUBLIC SdrTextHorzAdjustItem: public SfxEnumItem<SdrTextHorzAdjust> {
class SVXCORE_DLLPUBLIC SdrTextHorzAdjustItem final : public SfxEnumItem<SdrTextHorzAdjust> {
public:
SdrTextHorzAdjustItem(SdrTextHorzAdjust eAdj=SDRTEXTHORZADJUST_BLOCK): SfxEnumItem(SDRATTR_TEXT_HORZADJUST, eAdj) {}
virtual SdrTextHorzAdjustItem* Clone(SfxItemPool* pPool=nullptr) const override;
diff --git a/include/svx/sdtakitm.hxx b/include/svx/sdtakitm.hxx
index f2dca78..0d86e51 100644
--- a/include/svx/sdtakitm.hxx
+++ b/include/svx/sdtakitm.hxx
@@ -76,7 +76,7 @@ enum class SdrTextAniKind {
// of the text depends on the anchor of the drawing object. This
// corresponds to the position of the text in normal Paint (without scrolling).
class SVXCORE_DLLPUBLIC SdrTextAniKindItem: public SfxEnumItem<SdrTextAniKind> {
class SVXCORE_DLLPUBLIC SdrTextAniKindItem final : public SfxEnumItem<SdrTextAniKind> {
public:
SdrTextAniKindItem(SdrTextAniKind eKind=SdrTextAniKind::NONE): SfxEnumItem(SDRATTR_TEXT_ANIKIND, eKind) {}
virtual SdrTextAniKindItem* Clone(SfxItemPool* pPool=nullptr) const override;
diff --git a/include/svx/sdtfsitm.hxx b/include/svx/sdtfsitm.hxx
index c446bc1..d98e431 100644
--- a/include/svx/sdtfsitm.hxx
+++ b/include/svx/sdtfsitm.hxx
@@ -30,7 +30,7 @@
// TextMaxFrameWidth is reached).
class SVXCORE_DLLPUBLIC SdrTextFitToSizeTypeItem
class SVXCORE_DLLPUBLIC SdrTextFitToSizeTypeItem final
: public SfxEnumItem<css::drawing::TextFitToSizeType>
{
public:
diff --git a/include/svx/srchdlg.hxx b/include/svx/srchdlg.hxx
index cdbefe9..71c956d 100644
--- a/include/svx/srchdlg.hxx
+++ b/include/svx/srchdlg.hxx
@@ -106,7 +106,7 @@ public:
*/
class SVX_DLLPUBLIC SvxSearchDialog : public SfxModelessDialogController
class SVX_DLLPUBLIC SvxSearchDialog final : public SfxModelessDialogController
{
friend class SvxSearchController;
friend class SvxSearchDialogWrapper;
diff --git a/include/svx/svdhdl.hxx b/include/svx/svdhdl.hxx
index 707c1dd..461937c 100644
--- a/include/svx/svdhdl.hxx
+++ b/include/svx/svdhdl.hxx
@@ -382,7 +382,7 @@ public:
};
class ImpEdgeHdl: public SdrHdl
class ImpEdgeHdl final : public SdrHdl
{
SdrEdgeLineCode eLineCode;
@@ -427,7 +427,6 @@ public:
class SVXCORE_DLLPUBLIC SdrHdlList
{
protected:
size_t mnFocusIndex;
SdrMarkView* pView;
std::deque<std::unique_ptr<SdrHdl>> maList;
@@ -437,7 +436,6 @@ protected:
bool bDistortShear : 1;
bool bMoveOutside : 1; // move handles outwards (for TextEdit)
private:
SVX_DLLPRIVATE SdrHdlList(const SdrHdlList&) = delete;
SVX_DLLPRIVATE void operator=(const SdrHdlList&) = delete;
diff --git a/include/svx/svdlayer.hxx b/include/svx/svdlayer.hxx
index cc9e0d4..2e35c83 100644
--- a/include/svx/svdlayer.hxx
+++ b/include/svx/svdlayer.hxx
@@ -104,12 +104,10 @@ friend class SdrView;
friend class SdrModel;
friend class SdrPage;
protected:
std::vector<std::unique_ptr<SdrLayer>> maLayers;
SdrLayerAdmin* pParent; // The page's admin knows the doc's admin
SdrModel* pModel; // For broadcasting
OUString maControlLayerName;
protected:
// Find a LayerID which is not in use yet. If all have been used up,
// we return 0.
// If you want to play safe, check GetLayerCount()<SDRLAYER_MAXCOUNT
diff --git a/include/svx/svdoedge.hxx b/include/svx/svdoedge.hxx
index 3389fd19..838595e7 100644
--- a/include/svx/svdoedge.hxx
+++ b/include/svx/svdoedge.hxx
@@ -124,7 +124,7 @@ public:
/// Utility class SdrEdgeObj
class SVXCORE_DLLPUBLIC SdrEdgeObj : public SdrTextObj
class SVXCORE_DLLPUBLIC SdrEdgeObj final : public SdrTextObj
{
private:
// to allow sdr::properties::ConnectorProperties access to ImpSetAttrToEdgeInfo()
@@ -133,7 +133,6 @@ private:
friend class SdrCreateView;
friend class ImpEdgeHdl;
protected:
virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;
@@ -167,7 +166,7 @@ public:
void SetSuppressDefaultConnect(bool bNew) { mbSuppressDefaultConnect = bNew; }
bool GetSuppressDefaultConnect() const { return mbSuppressDefaultConnect; }
protected:
private:
virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint) override;
static XPolygon ImpCalcObjToCenter(const Point& rStPt, tools::Long nEscAngle, const tools::Rectangle& rRect, const Point& rCenter);
diff --git a/include/svx/svdograf.hxx b/include/svx/svdograf.hxx
index 0903f44..bf7e329 100644
--- a/include/svx/svdograf.hxx
+++ b/include/svx/svdograf.hxx
@@ -73,7 +73,7 @@ class SdrGraphicLink;
/**
* This class represents an embedded or linked bitmap graphic object.
*/
class SVXCORE_DLLPUBLIC SdrGrafObj : public SdrRectObj
class SVXCORE_DLLPUBLIC SdrGrafObj final : public SdrRectObj
{
private:
// to allow sdr::properties::GraphicProperties access to SetXPolyDirty()
@@ -118,7 +118,6 @@ private:
void onGraphicChanged();
GDIMetaFile GetMetaFile(GraphicType &rGraphicType) const;
protected:
// protected destructor
virtual ~SdrGrafObj() override;
diff --git a/include/svx/svdomeas.hxx b/include/svx/svdomeas.hxx
index e3ca9ab..83277c5 100644
--- a/include/svx/svdomeas.hxx
+++ b/include/svx/svdomeas.hxx
@@ -42,15 +42,13 @@ public:
virtual ~SdrMeasureObjGeoData() override;
};
class SVXCORE_DLLPUBLIC SdrMeasureObj : public SdrTextObj
class SVXCORE_DLLPUBLIC SdrMeasureObj final : public SdrTextObj
{
private:
// to allow sdr::properties::MeasureProperties access to SetTextDirty()
friend class sdr::properties::MeasureProperties;
friend class SdrMeasureField;
protected:
virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;
@@ -58,7 +56,6 @@ protected:
Point aPt2;
bool bTextDirty;
protected:
void ImpTakeAttr(ImpMeasureRec& rRec) const;
OUString TakeRepresentation(SdrMeasureFieldKind eMeasureFieldKind) const;
void ImpCalcGeometrics(const ImpMeasureRec& rRec, ImpMeasurePoly& rPol) const;
diff --git a/include/svx/svdpage.hxx b/include/svx/svdpage.hxx
index 9837a42..d5552a7 100644
--- a/include/svx/svdpage.hxx
+++ b/include/svx/svdpage.hxx
@@ -306,7 +306,7 @@ public:
};
// class SdrPageProperties
class SVXCORE_DLLPUBLIC SdrPageProperties : public SfxListener, public svl::StyleSheetUser
class SVXCORE_DLLPUBLIC SdrPageProperties final : public SfxListener, public svl::StyleSheetUser
{
private:
// data
diff --git a/include/svx/svx3ditems.hxx b/include/svx/svx3ditems.hxx
index 4660957..7cb5eae 100644
--- a/include/svx/svx3ditems.hxx
+++ b/include/svx/svx3ditems.hxx
@@ -61,13 +61,13 @@ inline SfxBoolItem makeSvx3DDoubleSidedItem(bool bVal) {
// #i28528#
// Added extra Item (Bool) for chart2 to be able to show reduced line geometry
class Svx3DReducedLineGeometryItem : public SfxBoolItem {
class Svx3DReducedLineGeometryItem final : public SfxBoolItem {
public:
Svx3DReducedLineGeometryItem(bool bVal = false);
Svx3DReducedLineGeometryItem* Clone(SfxItemPool * = nullptr) const override;
};
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) Svx3DNormalsKindItem : public SfxUInt16Item {
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) Svx3DNormalsKindItem final : public SfxUInt16Item {
public:
Svx3DNormalsKindItem(sal_uInt16 nVal = 0);
@@ -81,7 +81,7 @@ inline SfxBoolItem makeSvx3DNormalsInvertItem(bool bVal) {
return SfxBoolItem(SDRATTR_3DOBJ_NORMALS_INVERT, bVal);
}
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) Svx3DTextureProjectionXItem : public SfxUInt16Item {
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) Svx3DTextureProjectionXItem final : public SfxUInt16Item {
public:
Svx3DTextureProjectionXItem(sal_uInt16 nVal = 0);
@@ -91,7 +91,7 @@ public:
SVX_DLLPRIVATE virtual Svx3DTextureProjectionXItem* Clone(SfxItemPool* pPool = nullptr) const override;
};
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) Svx3DTextureProjectionYItem : public SfxUInt16Item {
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) Svx3DTextureProjectionYItem final : public SfxUInt16Item {
public:
Svx3DTextureProjectionYItem(sal_uInt16 nVal = 0);
@@ -142,7 +142,7 @@ inline SfxBoolItem makeSvx3DTextureFilterItem(bool bVal) {
}
// Svx3D _3DSCENE_ Items
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) Svx3DPerspectiveItem : public SfxUInt16Item {
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) Svx3DPerspectiveItem final : public SfxUInt16Item {
public:
Svx3DPerspectiveItem(ProjectionType nVal = ProjectionType::Perspective);
@@ -268,7 +268,7 @@ inline SfxUInt16Item makeSvx3DShadowSlantItem(sal_uInt16 nVal) {
return SfxUInt16Item(SDRATTR_3DSCENE_SHADOW_SLANT, nVal);
}
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) Svx3DShadeModeItem : public SfxUInt16Item {
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) Svx3DShadeModeItem final : public SfxUInt16Item {
public:
Svx3DShadeModeItem(sal_uInt16 nVal = 2);
@@ -280,35 +280,35 @@ public:
// #107245# Item to replace bExtrudeSmoothed and bLatheSmoothed
class Svx3DSmoothNormalsItem : public SfxBoolItem {
class Svx3DSmoothNormalsItem final : public SfxBoolItem {
public:
Svx3DSmoothNormalsItem(bool bVal = true);
Svx3DSmoothNormalsItem* Clone(SfxItemPool * = nullptr) const override;
};
// #107245# Item to replace bExtrudeSmoothFrontBack and bLatheSmoothFrontBack
class Svx3DSmoothLidsItem : public SfxBoolItem {
class Svx3DSmoothLidsItem final : public SfxBoolItem {
public:
Svx3DSmoothLidsItem(bool bVal = false);
Svx3DSmoothLidsItem* Clone(SfxItemPool * = nullptr) const override;
};
// #107245# Item to replace bExtrudeCharacterMode and bLatheCharacterMode
class Svx3DCharacterModeItem : public SfxBoolItem {
class Svx3DCharacterModeItem final : public SfxBoolItem {
public:
Svx3DCharacterModeItem(bool bVal = false);
Svx3DCharacterModeItem* Clone(SfxItemPool * = nullptr) const override;
};
// #107245# Item to replace bExtrudeCloseFront and bLatheCloseFront
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) Svx3DCloseFrontItem : public SfxBoolItem {
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) Svx3DCloseFrontItem final : public SfxBoolItem {
public:
Svx3DCloseFrontItem(bool bVal = true);
Svx3DCloseFrontItem* Clone(SfxItemPool * = nullptr) const override;
};
// #107245# Item to replace bExtrudeCloseBack and bLatheCloseBack
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) Svx3DCloseBackItem : public SfxBoolItem {
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) Svx3DCloseBackItem final : public SfxBoolItem {
public:
Svx3DCloseBackItem(bool bVal = true);
Svx3DCloseBackItem* Clone(SfxItemPool * = nullptr) const override;
diff --git a/include/svx/sxcecitm.hxx b/include/svx/sxcecitm.hxx
index cb36eb7..dae0a91 100644
--- a/include/svx/sxcecitm.hxx
+++ b/include/svx/sxcecitm.hxx
@@ -30,7 +30,7 @@ enum class SdrCaptionEscDir { Horizontal, Vertical, BestFit };
// class SdrCaptionEscDirItem
class SVXCORE_DLLPUBLIC SdrCaptionEscDirItem: public SfxEnumItem<SdrCaptionEscDir> {
class SVXCORE_DLLPUBLIC SdrCaptionEscDirItem final : public SfxEnumItem<SdrCaptionEscDir> {
public:
SdrCaptionEscDirItem(SdrCaptionEscDir eDir=SdrCaptionEscDir::Horizontal): SfxEnumItem(SDRATTR_CAPTIONESCDIR, eDir) {}
virtual SdrCaptionEscDirItem* Clone(SfxItemPool* pPool=nullptr) const override;
@@ -46,7 +46,7 @@ public:
// sal_True = line escape position is relative
// sal_False = line escape position is absolute
class SVXCORE_DLLPUBLIC SdrCaptionEscIsRelItem: public SdrYesNoItem {
class SVXCORE_DLLPUBLIC SdrCaptionEscIsRelItem final : public SdrYesNoItem {
public:
SdrCaptionEscIsRelItem(bool bRel=true): SdrYesNoItem(SDRATTR_CAPTIONESCISREL,bRel) {}
virtual ~SdrCaptionEscIsRelItem() override;
@@ -65,7 +65,7 @@ public:
// 10000 = 100.00% = right resp. down
// only when SdrCaptionEscIsRelItem=TRUE
class SVXCORE_DLLPUBLIC SdrCaptionEscRelItem: public SfxInt32Item {
class SVXCORE_DLLPUBLIC SdrCaptionEscRelItem final : public SfxInt32Item {
public:
SdrCaptionEscRelItem(tools::Long nEscRel=5000): SfxInt32Item(SDRATTR_CAPTIONESCREL,nEscRel) {}
virtual ~SdrCaptionEscRelItem() override;
@@ -84,7 +84,7 @@ public:
// >0 = in direction right resp. down
// only when SdrCaptionEscIsRelItem=FALSE
class SdrCaptionEscAbsItem: public SdrMetricItem {
class SdrCaptionEscAbsItem final : public SdrMetricItem {
public:
SdrCaptionEscAbsItem(tools::Long nEscAbs=0): SdrMetricItem(SDRATTR_CAPTIONESCABS,nEscAbs) {}
virtual SdrCaptionEscAbsItem* Clone(SfxItemPool*) const override
diff --git a/include/svx/sxcllitm.hxx b/include/svx/sxcllitm.hxx
index f73838f..8ac03f0 100644
--- a/include/svx/sxcllitm.hxx
+++ b/include/svx/sxcllitm.hxx
@@ -28,7 +28,7 @@
* Only for Type3 and Type4
* Only relevant, if SdrCaptionFitLineLenItem = false
*/
class SVXCORE_DLLPUBLIC SdrCaptionLineLenItem: public SdrMetricItem {
class SVXCORE_DLLPUBLIC SdrCaptionLineLenItem final : public SdrMetricItem {
public:
SdrCaptionLineLenItem(tools::Long nLineLen=0): SdrMetricItem(SDRATTR_CAPTIONLINELEN,nLineLen) {}
virtual ~SdrCaptionLineLenItem() override;
@@ -44,7 +44,7 @@ public:
* The length of the first caption line is either automatically
* calculated or the default setting is used (SdrCaptionLineLenItem)
*/
class SVXCORE_DLLPUBLIC SdrCaptionFitLineLenItem: public SdrYesNoItem {
class SVXCORE_DLLPUBLIC SdrCaptionFitLineLenItem final : public SdrYesNoItem {
public:
SdrCaptionFitLineLenItem(bool bBestFit=true): SdrYesNoItem(SDRATTR_CAPTIONFITLINELEN,bBestFit) {}
virtual ~SdrCaptionFitLineLenItem() override;
diff --git a/include/svx/sxctitm.hxx b/include/svx/sxctitm.hxx
index 6c2b728..3d46f54 100644
--- a/include/svx/sxctitm.hxx
+++ b/include/svx/sxctitm.hxx
@@ -27,7 +27,7 @@ enum class SdrCaptionType { Type1, Type2, Type3, Type4 };
class SVXCORE_DLLPUBLIC SdrCaptionTypeItem: public SfxEnumItem<SdrCaptionType> {
class SVXCORE_DLLPUBLIC SdrCaptionTypeItem final : public SfxEnumItem<SdrCaptionType> {
public:
SdrCaptionTypeItem(SdrCaptionType eStyle=SdrCaptionType::Type3): SfxEnumItem(SDRATTR_CAPTIONTYPE, eStyle) {}
virtual SdrCaptionTypeItem* Clone(SfxItemPool* pPool=nullptr) const override;
diff --git a/include/svx/sxekitm.hxx b/include/svx/sxekitm.hxx
index 36a9b72d..fd54d38 100644
--- a/include/svx/sxekitm.hxx
+++ b/include/svx/sxekitm.hxx
@@ -28,7 +28,7 @@ enum class SdrEdgeKind
OrthoLines, ThreeLines, OneLine, Bezier, Arc
};
class SVXCORE_DLLPUBLIC SdrEdgeKindItem: public SfxEnumItem<SdrEdgeKind> {
class SVXCORE_DLLPUBLIC SdrEdgeKindItem final : public SfxEnumItem<SdrEdgeKind> {
public:
SdrEdgeKindItem(SdrEdgeKind eStyle=SdrEdgeKind::OrthoLines): SfxEnumItem(SDRATTR_EDGEKIND, eStyle) {}
virtual SdrEdgeKindItem* Clone(SfxItemPool* pPool=nullptr) const override;
diff --git a/include/svx/sxelditm.hxx b/include/svx/sxelditm.hxx
index 81cae31..c957070 100644
--- a/include/svx/sxelditm.hxx
+++ b/include/svx/sxelditm.hxx
@@ -22,7 +22,7 @@
#include <svx/svddef.hxx>
#include <svx/sdmetitm.hxx>
class SdrEdgeLineDeltaCountItem : public SfxUInt16Item
class SdrEdgeLineDeltaCountItem final : public SfxUInt16Item
{
public:
SdrEdgeLineDeltaCountItem(sal_uInt16 nVal = 0)
diff --git a/include/svx/sxenditm.hxx b/include/svx/sxenditm.hxx
index 82ff4b7..de7accd 100644
--- a/include/svx/sxenditm.hxx
+++ b/include/svx/sxenditm.hxx
@@ -23,7 +23,7 @@
#include <svx/sdmetitm.hxx>
#include <svx/svxdllapi.h>
class SVXCORE_DLLPUBLIC SdrEdgeNode1HorzDistItem: public SdrMetricItem {
class SVXCORE_DLLPUBLIC SdrEdgeNode1HorzDistItem final : public SdrMetricItem {
public:
SdrEdgeNode1HorzDistItem(tools::Long nVal): SdrMetricItem(SDRATTR_EDGENODE1HORZDIST,nVal) {}
virtual bool QueryValue( css::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const override;
@@ -31,7 +31,7 @@ public:
virtual SdrEdgeNode1HorzDistItem* Clone(SfxItemPool* pPool=nullptr) const override;
};
class SVXCORE_DLLPUBLIC SdrEdgeNode1VertDistItem: public SdrMetricItem {
class SVXCORE_DLLPUBLIC SdrEdgeNode1VertDistItem final : public SdrMetricItem {
public:
SdrEdgeNode1VertDistItem(tools::Long nVal): SdrMetricItem(SDRATTR_EDGENODE1VERTDIST,nVal) {}
virtual bool QueryValue( css::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const override;
@@ -39,7 +39,7 @@ public:
virtual SdrEdgeNode1VertDistItem* Clone(SfxItemPool* pPool=nullptr) const override;
};
class SVXCORE_DLLPUBLIC SdrEdgeNode2HorzDistItem: public SdrMetricItem {
class SVXCORE_DLLPUBLIC SdrEdgeNode2HorzDistItem final : public SdrMetricItem {
public:
SdrEdgeNode2HorzDistItem(tools::Long nVal): SdrMetricItem(SDRATTR_EDGENODE2HORZDIST,nVal) {}
virtual bool QueryValue( css::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const override;
@@ -47,7 +47,7 @@ public:
virtual SdrEdgeNode2HorzDistItem* Clone(SfxItemPool* pPool=nullptr) const override;
};
class SVXCORE_DLLPUBLIC SdrEdgeNode2VertDistItem: public SdrMetricItem {
class SVXCORE_DLLPUBLIC SdrEdgeNode2VertDistItem final : public SdrMetricItem {
public:
SdrEdgeNode2VertDistItem(tools::Long nVal): SdrMetricItem(SDRATTR_EDGENODE2VERTDIST,nVal) {}
virtual bool QueryValue( css::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const override;
@@ -55,13 +55,13 @@ public:
virtual SdrEdgeNode2VertDistItem* Clone(SfxItemPool* pPool=nullptr) const override;
};
class SdrEdgeNode1GlueDistItem: public SdrMetricItem {
class SdrEdgeNode1GlueDistItem final : public SdrMetricItem {
public:
SdrEdgeNode1GlueDistItem(tools::Long nVal=0): SdrMetricItem(SDRATTR_EDGENODE1GLUEDIST,nVal) {}
virtual SdrEdgeNode1GlueDistItem* Clone(SfxItemPool* pPool=nullptr) const override;
};
class SdrEdgeNode2GlueDistItem: public SdrMetricItem {
class SdrEdgeNode2GlueDistItem final : public SdrMetricItem {
public:
SdrEdgeNode2GlueDistItem(tools::Long nVal=0): SdrMetricItem(SDRATTR_EDGENODE2GLUEDIST,nVal) {}
virtual SdrEdgeNode2GlueDistItem* Clone(SfxItemPool* pPool=nullptr) const override;
diff --git a/include/svx/sxmbritm.hxx b/include/svx/sxmbritm.hxx
index c26d2b2..022656a 100644
--- a/include/svx/sxmbritm.hxx
+++ b/include/svx/sxmbritm.hxx
@@ -29,7 +29,7 @@
// TextUpsideDown, but easily operated)
// can also be dragged by dragging the measure line item
// (SdrMeasureLineDistItem) over the reference edge
class SVXCORE_DLLPUBLIC SdrMeasureBelowRefEdgeItem: public SdrYesNoItem {
class SVXCORE_DLLPUBLIC SdrMeasureBelowRefEdgeItem final : public SdrYesNoItem {
public:
SdrMeasureBelowRefEdgeItem(bool bOn=false): SdrYesNoItem(SDRATTR_MEASUREBELOWREFEDGE,bOn) {}
virtual ~SdrMeasureBelowRefEdgeItem() override;
diff --git a/include/svx/sxmtfitm.hxx b/include/svx/sxmtfitm.hxx
index 2e89ebe..11de732 100644
--- a/include/svx/sxmtfitm.hxx
+++ b/include/svx/sxmtfitm.hxx
@@ -27,7 +27,7 @@
// Nail text down to a fix angle.
// The text angle is independent of the dimension line.
// Abrogate TextUpsideDown, TextRota90 and TextAutoAngle. (n.i.)
class SdrMeasureTextIsFixedAngleItem: public SdrYesNoItem {
class SdrMeasureTextIsFixedAngleItem final : public SdrYesNoItem {
public:
SdrMeasureTextIsFixedAngleItem(bool bOn=false): SdrYesNoItem(SDRATTR_MEASURETEXTISFIXEDANGLE,bOn) {}
virtual ~SdrMeasureTextIsFixedAngleItem() override;
@@ -40,7 +40,7 @@ public:
};
//Angle of the text in 1/100deg. 0=horizontal; read from left to right. (n.i.)
class SdrMeasureTextFixedAngleItem: public SdrAngleItem {
class SdrMeasureTextFixedAngleItem final : public SdrAngleItem {
public:
SdrMeasureTextFixedAngleItem(Degree100 nVal=0_deg100): SdrAngleItem(SDRATTR_MEASURETEXTFIXEDANGLE,nVal) {}
virtual ~SdrMeasureTextFixedAngleItem() override;
@@ -53,7 +53,7 @@ public:
};
// The decimal places used for the measure value
class SVXCORE_DLLPUBLIC SdrMeasureDecimalPlacesItem: public SfxInt16Item {
class SVXCORE_DLLPUBLIC SdrMeasureDecimalPlacesItem final : public SfxInt16Item {
public:
SdrMeasureDecimalPlacesItem(sal_Int16 nVal=2): SfxInt16Item(SDRATTR_MEASUREDECIMALPLACES,nVal) {}
virtual ~SdrMeasureDecimalPlacesItem() override;
diff --git a/include/svx/sxmtpitm.hxx b/include/svx/sxmtpitm.hxx
index 3a751b4..2445909 100644
--- a/include/svx/sxmtpitm.hxx
+++ b/include/svx/sxmtpitm.hxx
@@ -25,7 +25,7 @@
#include <com/sun/star/drawing/MeasureTextHorzPos.hpp>
#include <com/sun/star/drawing/MeasureTextVertPos.hpp>
class SVXCORE_DLLPUBLIC SdrMeasureTextHPosItem: public SfxEnumItem<css::drawing::MeasureTextHorzPos> {
class SVXCORE_DLLPUBLIC SdrMeasureTextHPosItem final : public SfxEnumItem<css::drawing::MeasureTextHorzPos> {
public:
SdrMeasureTextHPosItem(css::drawing::MeasureTextHorzPos ePos = css::drawing::MeasureTextHorzPos::MeasureTextHorzPos_AUTO)
: SfxEnumItem(SDRATTR_MEASURETEXTHPOS, ePos)
@@ -41,7 +41,7 @@ public:
virtual bool GetPresentation(SfxItemPresentation ePres, MapUnit eCoreMetric, MapUnit ePresMetric, OUString& rText, const IntlWrapper&) const override;
};
class SVXCORE_DLLPUBLIC SdrMeasureTextVPosItem: public SfxEnumItem<css::drawing::MeasureTextVertPos> {
class SVXCORE_DLLPUBLIC SdrMeasureTextVPosItem final : public SfxEnumItem<css::drawing::MeasureTextVertPos> {
public:
SdrMeasureTextVPosItem(css::drawing::MeasureTextVertPos ePos = css::drawing::MeasureTextVertPos_AUTO)
: SfxEnumItem(SDRATTR_MEASURETEXTVPOS, ePos)
diff --git a/include/svx/sxmtritm.hxx b/include/svx/sxmtritm.hxx
index e208d27..184a59f 100644
--- a/include/svx/sxmtritm.hxx
+++ b/include/svx/sxmtritm.hxx
@@ -23,7 +23,7 @@
#include <svx/sdynitm.hxx>
// text across the dimension line (90deg counter-clockwise rotation)
class SVXCORE_DLLPUBLIC SdrMeasureTextRota90Item: public SdrYesNoItem {
class SVXCORE_DLLPUBLIC SdrMeasureTextRota90Item final : public SdrYesNoItem {
public:
SdrMeasureTextRota90Item(bool bOn=false): SdrYesNoItem(SDRATTR_MEASURETEXTROTA90,bOn) {}
virtual ~SdrMeasureTextRota90Item() override;
diff --git a/include/svx/sxmuitm.hxx b/include/svx/sxmuitm.hxx
index e350e96..ab0ad8a 100644
--- a/include/svx/sxmuitm.hxx
+++ b/include/svx/sxmuitm.hxx
@@ -26,7 +26,7 @@
// specification of the unit if measurement. The numerical quantity value is converted in this unity.
// (based on the facts of the MapUnit of the model). This unity is displayed if necessary.
class SVXCORE_DLLPUBLIC SdrMeasureUnitItem: public SfxEnumItem<FieldUnit> {
class SVXCORE_DLLPUBLIC SdrMeasureUnitItem final : public SfxEnumItem<FieldUnit> {
public:
SdrMeasureUnitItem(FieldUnit eUnit=FieldUnit::NONE): SfxEnumItem(SDRATTR_MEASUREUNIT, eUnit) {}
virtual SdrMeasureUnitItem* Clone(SfxItemPool* pPool=nullptr) const override;
diff --git a/include/svx/unoshape.hxx b/include/svx/unoshape.hxx
index 75c152e..2dc2f5c 100644
--- a/include/svx/unoshape.hxx
+++ b/include/svx/unoshape.hxx
@@ -479,7 +479,7 @@ public:
/***********************************************************************
* *
***********************************************************************/
class SvxShapeConnector : public css::drawing::XConnectorShape,
class SvxShapeConnector final : public css::drawing::XConnectorShape,
public SvxShapeText
{
public:
diff --git a/include/svx/xbtmpit.hxx b/include/svx/xbtmpit.hxx
index bfc6795..0882081 100644
--- a/include/svx/xbtmpit.hxx
+++ b/include/svx/xbtmpit.hxx
@@ -28,7 +28,7 @@
class SdrModel;
class SVXCORE_DLLPUBLIC XFillBitmapItem : public NameOrIndex
class SVXCORE_DLLPUBLIC XFillBitmapItem final : public NameOrIndex
{
private:
GraphicObject maGraphicObject;
diff --git a/include/svx/xflftrit.hxx b/include/svx/xflftrit.hxx
index e33b57e..bd8a54a 100644
--- a/include/svx/xflftrit.hxx
+++ b/include/svx/xflftrit.hxx
@@ -27,7 +27,7 @@
class SVXCORE_DLLPUBLIC XFillFloatTransparenceItem : public XFillGradientItem
class SVXCORE_DLLPUBLIC XFillFloatTransparenceItem final : public XFillGradientItem
{
private:
diff --git a/include/svx/xflhtit.hxx b/include/svx/xflhtit.hxx
index 1ef7d4e..9eb8805 100644
--- a/include/svx/xflhtit.hxx
+++ b/include/svx/xflhtit.hxx
@@ -29,7 +29,7 @@ class SdrModel;
class SVXCORE_DLLPUBLIC XFillHatchItem : public NameOrIndex
class SVXCORE_DLLPUBLIC XFillHatchItem final : public NameOrIndex
{
XHatch aHatch;
diff --git a/include/svx/xlndsit.hxx b/include/svx/xlndsit.hxx
index c9ec5d7..04b40d4 100644
--- a/include/svx/xlndsit.hxx
+++ b/include/svx/xlndsit.hxx
@@ -30,7 +30,7 @@ class SdrModel;
class SVXCORE_DLLPUBLIC XLineDashItem : public NameOrIndex
class SVXCORE_DLLPUBLIC XLineDashItem final : public NameOrIndex
{
XDash aDash;
diff --git a/include/svx/xlnedcit.hxx b/include/svx/xlnedcit.hxx
index 6cb8cf4..fde7076 100644
--- a/include/svx/xlnedcit.hxx
+++ b/include/svx/xlnedcit.hxx
@@ -25,7 +25,7 @@
class SVXCORE_DLLPUBLIC XLineEndCenterItem : public SfxBoolItem
class SVXCORE_DLLPUBLIC XLineEndCenterItem final : public SfxBoolItem
{
public:
XLineEndCenterItem(bool bEndCenter = false);
diff --git a/include/svx/xlnstcit.hxx b/include/svx/xlnstcit.hxx
index bde8c59..a48307c 100644
--- a/include/svx/xlnstcit.hxx
+++ b/include/svx/xlnstcit.hxx
@@ -25,7 +25,7 @@
class SVXCORE_DLLPUBLIC XLineStartCenterItem : public SfxBoolItem
class SVXCORE_DLLPUBLIC XLineStartCenterItem final : public SfxBoolItem
{
public:
XLineStartCenterItem(bool bStartCenter = false);
diff --git a/include/svx/xtable.hxx b/include/svx/xtable.hxx
index a4e192a..c56c6d0 100644
--- a/include/svx/xtable.hxx
+++ b/include/svx/xtable.hxx
@@ -234,9 +234,8 @@ public:
rtl::Reference<XPropertyList> const & plist);
};
class SVXCORE_DLLPUBLIC XColorList : public XPropertyList
class SVXCORE_DLLPUBLIC XColorList final : public XPropertyList
{
protected:
virtual BitmapEx CreateBitmapForUI(tools::Long nIndex) override;
public:
@@ -253,9 +252,8 @@ public:
static XColorListRef GetStdColorList(); // returns a singleton
};
class SVXCORE_DLLPUBLIC XLineEndList : public XPropertyList
class SVXCORE_DLLPUBLIC XLineEndList final : public XPropertyList
{
protected:
virtual BitmapEx CreateBitmapForUI(tools::Long nIndex) override;
public:
@@ -268,14 +266,13 @@ public:
virtual bool Create() override;
};
class SVXCORE_DLLPUBLIC XDashList : public XPropertyList
class SVXCORE_DLLPUBLIC XDashList final : public XPropertyList
{
private:
BitmapEx maBitmapSolidLine;
OUString maStringSolidLine;
OUString maStringNoLine;
protected:
static BitmapEx ImpCreateBitmapForXDash(const XDash* pDash);
virtual BitmapEx CreateBitmapForUI(tools::Long nIndex) override;
@@ -300,11 +297,10 @@ public:
OUString const & GetStringForUiNoLine() const;
};
class SVXCORE_DLLPUBLIC XHatchList : public XPropertyList
class SVXCORE_DLLPUBLIC XHatchList final : public XPropertyList
{
private:
BitmapEx CreateBitmap(tools::Long nIndex, const Size& rSize) const;
protected:
virtual BitmapEx CreateBitmapForUI(tools::Long nIndex) override;
public:
XHatchList(const OUString& rPath, const OUString& rReferer);
@@ -318,12 +314,10 @@ public:
virtual bool Create() override;
};
class SVXCORE_DLLPUBLIC XGradientList : public XPropertyList
class SVXCORE_DLLPUBLIC XGradientList final : public XPropertyList
{
private:
BitmapEx CreateBitmap(tools::Long nIndex, const Size& rSize) const;
protected:
virtual BitmapEx CreateBitmapForUI(tools::Long nIndex) override;
public:
@@ -338,12 +332,10 @@ public:
virtual bool Create() override;
};
class SVXCORE_DLLPUBLIC XBitmapList : public XPropertyList
class SVXCORE_DLLPUBLIC XBitmapList final : public XPropertyList
{
private:
BitmapEx CreateBitmap( tools::Long nIndex, const Size& rSize ) const;
protected:
virtual BitmapEx CreateBitmapForUI(tools::Long nIndex) override;
public:
@@ -357,12 +349,10 @@ public:
virtual bool Create() override;
};
class SVXCORE_DLLPUBLIC XPatternList : public XPropertyList
class SVXCORE_DLLPUBLIC XPatternList final : public XPropertyList
{
private:
BitmapEx CreateBitmap( tools::Long nIndex, const Size& rSize ) const;
protected:
virtual BitmapEx CreateBitmapForUI(tools::Long nIndex) override;
public:
diff --git a/include/toolkit/awt/vclxdevice.hxx b/include/toolkit/awt/vclxdevice.hxx
index 6db587343..c24b79b 100644
--- a/include/toolkit/awt/vclxdevice.hxx
+++ b/include/toolkit/awt/vclxdevice.hxx
@@ -74,7 +74,7 @@ public:
class VCLXVirtualDevice : public VCLXDevice
class VCLXVirtualDevice final : public VCLXDevice
{
public:
virtual ~VCLXVirtualDevice() override;
diff --git a/include/vbahelper/vbacollectionimpl.hxx b/include/vbahelper/vbacollectionimpl.hxx
index 9bb537e..c6a0b85 100644
--- a/include/vbahelper/vbacollectionimpl.hxx
+++ b/include/vbahelper/vbacollectionimpl.hxx
@@ -152,7 +152,7 @@ public:
typedef std::vector< css::uno::Reference< OneIfc > > XNamedVec;
private:
class XNamedEnumerationHelper : public EnumerationHelper_BASE
class XNamedEnumerationHelper final : public EnumerationHelper_BASE
{
XNamedVec mXNamedVec;
typename XNamedVec::iterator mIt;
diff --git a/include/vcl/BitmapBasicMorphologyFilter.hxx b/include/vcl/BitmapBasicMorphologyFilter.hxx
index c7999dc..055e1e1 100644
--- a/include/vcl/BitmapBasicMorphologyFilter.hxx
+++ b/include/vcl/BitmapBasicMorphologyFilter.hxx
@@ -40,7 +40,7 @@ private:
bool m_bUseValueOutside = false;
};
class BitmapErodeFilter : public BitmapBasicMorphologyFilter
class BitmapErodeFilter final : public BitmapBasicMorphologyFilter
{
public:
BitmapErodeFilter(sal_Int32 nRadius)
@@ -53,7 +53,7 @@ public:
}
};
class BitmapDilateFilter : public BitmapBasicMorphologyFilter
class BitmapDilateFilter final : public BitmapBasicMorphologyFilter
{
public:
BitmapDilateFilter(sal_Int32 nRadius)
diff --git a/include/vcl/BitmapFilterStackBlur.hxx b/include/vcl/BitmapFilterStackBlur.hxx
index 8ac6a47..2fdb78b 100644
--- a/include/vcl/BitmapFilterStackBlur.hxx
+++ b/include/vcl/BitmapFilterStackBlur.hxx
@@ -15,7 +15,7 @@
#include <vcl/bitmapex.hxx>
#include <vcl/BitmapFilter.hxx>
class VCL_DLLPUBLIC BitmapFilterStackBlur : public BitmapFilter
class VCL_DLLPUBLIC BitmapFilterStackBlur final : public BitmapFilter
{
sal_Int32 mnRadius;
diff --git a/include/vcl/alpha.hxx b/include/vcl/alpha.hxx
index 07d4997..1078ce0 100644
--- a/include/vcl/alpha.hxx
+++ b/include/vcl/alpha.hxx
@@ -29,7 +29,7 @@
class BitmapEx;
class VCL_DLLPUBLIC AlphaMask : public Bitmap
class VCL_DLLPUBLIC AlphaMask final : public Bitmap
{
public:
diff --git a/include/vcl/filter/pdfdocument.hxx b/include/vcl/filter/pdfdocument.hxx
index 2686654..073225b 100644
--- a/include/vcl/filter/pdfdocument.hxx
+++ b/include/vcl/filter/pdfdocument.hxx
@@ -138,7 +138,7 @@ public:
};
/// Array object: a list.
class VCL_DLLPUBLIC PDFArrayElement : public PDFElement
class VCL_DLLPUBLIC PDFArrayElement final : public PDFElement
{
std::vector<PDFElement*> m_aElements;
/// The object that contains this array.
@@ -164,7 +164,7 @@ public:
};
/// Reference object: something with a unique ID.
class VCL_DLLPUBLIC PDFReferenceElement : public PDFElement
class VCL_DLLPUBLIC PDFReferenceElement final : public PDFElement
{
PDFDocument& m_rDoc;
int m_fObjectValue;
@@ -197,7 +197,7 @@ public:
};
/// Stream object: a byte array with a known length.
class VCL_DLLPUBLIC PDFStreamElement : public PDFElement
class VCL_DLLPUBLIC PDFStreamElement final : public PDFElement
{
size_t m_nLength;
sal_uInt64 m_nOffset;
@@ -241,7 +241,7 @@ public:
};
/// Dictionary object: a set key-value pairs.
class VCL_DLLPUBLIC PDFDictionaryElement : public PDFElement
class VCL_DLLPUBLIC PDFDictionaryElement final : public PDFElement
{
/// Key-value pairs when the dictionary is a nested value.
std::map<OString, PDFElement*> m_aItems;
@@ -376,7 +376,7 @@ public:
};
/// Numbering object: an integer or a real.
class VCL_DLLPUBLIC PDFNumberElement : public PDFElement
class VCL_DLLPUBLIC PDFNumberElement final : public PDFElement
{
/// Input file start location.
sal_uInt64 m_nOffset = 0;
@@ -397,7 +397,7 @@ public:
};
/// A one-liner comment.
class VCL_DLLPUBLIC PDFCommentElement : public PDFElement
class VCL_DLLPUBLIC PDFCommentElement final : public PDFElement
{
PDFDocument& m_rDoc;
OString m_aComment;
@@ -409,7 +409,7 @@ public:
};
/// End of a dictionary: '>>'.
class VCL_DLLPUBLIC PDFEndDictionaryElement : public PDFElement
class VCL_DLLPUBLIC PDFEndDictionaryElement final : public PDFElement
{
/// Offset before the '>>' token.
sal_uInt64 m_nLocation = 0;
@@ -423,7 +423,7 @@ public:
};
/// End of a stream: 'endstream' keyword.
class VCL_DLLPUBLIC PDFEndStreamElement : public PDFElement
class VCL_DLLPUBLIC PDFEndStreamElement final : public PDFElement
{
public:
bool Read(SvStream& rStream) override;
@@ -432,7 +432,7 @@ public:
};
/// End of an object: 'endobj' keyword.
class VCL_DLLPUBLIC PDFEndObjectElement : public PDFElement
class VCL_DLLPUBLIC PDFEndObjectElement final : public PDFElement
{
public:
bool Read(SvStream& rStream) override;
@@ -441,7 +441,7 @@ public:
};
/// End of an array: ']'.
class VCL_DLLPUBLIC PDFEndArrayElement : public PDFElement
class VCL_DLLPUBLIC PDFEndArrayElement final : public PDFElement
{
/// Location before the ']' token.
sal_uInt64 m_nOffset = 0;
@@ -455,7 +455,7 @@ public:
};
/// Boolean object: a 'true' or a 'false'.
class VCL_DLLPUBLIC PDFBooleanElement : public PDFElement
class VCL_DLLPUBLIC PDFBooleanElement final : public PDFElement
{
bool m_aValue;
@@ -474,7 +474,7 @@ public:
};
/// Null object: the 'null' singleton.
class VCL_DLLPUBLIC PDFNullElement : public PDFElement
class VCL_DLLPUBLIC PDFNullElement final : public PDFElement
{
public:
bool Read(SvStream& rStream) override;
@@ -489,7 +489,7 @@ public:
* elements remember their source offset / length, and based on that it's
* possible to modify the input file.
*/
class VCL_DLLPUBLIC PDFDocument : public PDFObjectContainer
class VCL_DLLPUBLIC PDFDocument final : public PDFObjectContainer
{
/// This vector owns all elements.
std::vector<std::unique_ptr<PDFElement>> m_aElements;
@@ -597,7 +597,7 @@ public:
};
/// The trailer singleton is at the end of the doc.
class VCL_DLLPUBLIC PDFTrailerElement : public PDFElement
class VCL_DLLPUBLIC PDFTrailerElement final : public PDFElement
{
PDFDocument& m_rDoc;
PDFDictionaryElement* m_pDictionaryElement;
diff --git a/include/vcl/fontcharmap.hxx b/include/vcl/fontcharmap.hxx
index cdd18fc..ade1da6 100644
--- a/include/vcl/fontcharmap.hxx
+++ b/include/vcl/fontcharmap.hxx
@@ -32,7 +32,7 @@ class OutputDevice;
typedef tools::SvRef<ImplFontCharMap> ImplFontCharMapRef;
typedef tools::SvRef<FontCharMap> FontCharMapRef;
class VCL_DLLPUBLIC FontCharMap : public SvRefBase
class VCL_DLLPUBLIC FontCharMap final : public SvRefBase
{
public:
/** A new FontCharMap is created based on a "default" map, which includes
diff --git a/include/vcl/layout.hxx b/include/vcl/layout.hxx
index ec4722b..eb07ba5 100644
--- a/include/vcl/layout.hxx
+++ b/include/vcl/layout.hxx
@@ -538,7 +538,7 @@ private:
//Any Commands an EventBoxHelper receives are forwarded to its parent
//The VclEventBox ensures that m_aEventBoxHelper is the
//first child and is transparent, but covers the rest of the children
class EventBoxHelper : public vcl::Window
class EventBoxHelper final : public vcl::Window
{
public:
EventBoxHelper(vcl::Window* pParent)
diff --git a/include/vcl/menu.hxx b/include/vcl/menu.hxx
index 7bc136d..faf002d 100644
--- a/include/vcl/menu.hxx
+++ b/include/vcl/menu.hxx
@@ -410,7 +410,7 @@ public:
const OUString& get_id() const { return maID; }
};
class VCL_DLLPUBLIC MenuBar : public Menu
class VCL_DLLPUBLIC MenuBar final : public Menu
{
Link<void*,void> maCloseHdl;
bool mbCloseBtnVisible : 1;
@@ -429,8 +429,6 @@ class VCL_DLLPUBLIC MenuBar : public Menu
SAL_DLLPRIVATE bool ImplHandleKeyEvent(const KeyEvent& rKEvent);
SAL_DLLPRIVATE bool ImplHandleCmdEvent(const CommandEvent& rCEvent);
protected:
/// Return the MenuBarWindow.
MenuBarWindow* getMenuBarWindow();
@@ -500,7 +498,7 @@ inline MenuBar& MenuBar::operator=( const MenuBar& rMenu )
return *this;
}
class VCL_DLLPUBLIC PopupMenu : public Menu
class VCL_DLLPUBLIC PopupMenu final : public Menu
{
friend class Menu;
friend class MenuFloatingWindow;
@@ -509,8 +507,6 @@ class VCL_DLLPUBLIC PopupMenu : public Menu
private:
SAL_DLLPRIVATE MenuFloatingWindow * ImplGetFloatingWindow() const;
protected:
SAL_DLLPRIVATE sal_uInt16 ImplExecute( const VclPtr<vcl::Window>& pW, const tools::Rectangle& rRect, FloatWinPopupFlags nPopupModeFlags, Menu* pSFrom, bool bPreSelectFirst );
SAL_DLLPRIVATE void ImplFlushPendingSelect();
SAL_DLLPRIVATE tools::Long ImplCalcHeight( sal_uInt16 nEntries ) const;
diff --git a/include/vcl/pdfextoutdevdata.hxx b/include/vcl/pdfextoutdevdata.hxx
index ea5466b..05bfde1 100644
--- a/include/vcl/pdfextoutdevdata.hxx
+++ b/include/vcl/pdfextoutdevdata.hxx
@@ -66,7 +66,7 @@ struct PDFExtOutDevBookmarkEntry
*/
struct PageSyncData;
struct GlobalSyncData;
class VCL_DLLPUBLIC PDFExtOutDevData : public ExtOutDevData
class VCL_DLLPUBLIC PDFExtOutDevData final : public ExtOutDevData
{
const OutputDevice& mrOutDev;
diff --git a/include/vcl/tabpage.hxx b/include/vcl/tabpage.hxx
index 45d1c12..a807165 100644
--- a/include/vcl/tabpage.hxx
+++ b/include/vcl/tabpage.hxx
@@ -26,7 +26,7 @@
class ScrollBar;
class VCL_DLLPUBLIC TabPage
class VCL_DLLPUBLIC TabPage final
: public vcl::Window
, public vcl::IContext
{
diff --git a/include/vcl/toolkit/field.hxx b/include/vcl/toolkit/field.hxx
index e30d16e..bf677ae 100644
--- a/include/vcl/toolkit/field.hxx
+++ b/include/vcl/toolkit/field.hxx
@@ -199,7 +199,7 @@ private:
OUString maCustomUnitText;
};
class VCL_DLLPUBLIC MetricField : public SpinField, public MetricFormatter
class VCL_DLLPUBLIC MetricField final : public SpinField, public MetricFormatter
{
public:
explicit MetricField( vcl::Window* pParent, WinBits nWinStyle );
@@ -231,7 +231,7 @@ public:
virtual FactoryFunction GetUITestFactory() const override;
};
class VCL_DLLPUBLIC MetricBox : public ComboBox, public MetricFormatter
class VCL_DLLPUBLIC MetricBox final : public ComboBox, public MetricFormatter
{
public:
explicit MetricBox( vcl::Window* pParent, WinBits nWinStyle );
@@ -499,7 +499,7 @@ public:
virtual void dispose() override;
};
class UNLESS_MERGELIBS(VCL_DLLPUBLIC) NumericBox : public ComboBox, public NumericFormatter
class UNLESS_MERGELIBS(VCL_DLLPUBLIC) NumericBox final : public ComboBox, public NumericFormatter
{
SAL_DLLPRIVATE void ImplNumericReformat( const OUString& rStr, sal_Int64& rValue, OUString& rOutStr );
public:
diff --git a/include/vcl/toolkit/group.hxx b/include/vcl/toolkit/group.hxx
index b6d7da7..d6088b8 100644
--- a/include/vcl/toolkit/group.hxx
+++ b/include/vcl/toolkit/group.hxx
@@ -27,7 +27,7 @@
#include <vcl/dllapi.h>
#include <vcl/ctrl.hxx>
class UNLESS_MERGELIBS(VCL_DLLPUBLIC) GroupBox : public Control
class UNLESS_MERGELIBS(VCL_DLLPUBLIC) GroupBox final : public Control
{
private:
using Control::ImplInitSettings;
diff --git a/include/vcl/toolkit/ivctrl.hxx b/include/vcl/toolkit/ivctrl.hxx
index b572448..502d16d 100644
--- a/include/vcl/toolkit/ivctrl.hxx
+++ b/include/vcl/toolkit/ivctrl.hxx
@@ -174,15 +174,13 @@ public:
class MnemonicGenerator;
class VCL_DLLPUBLIC SvtIconChoiceCtrl : public Control
class VCL_DLLPUBLIC SvtIconChoiceCtrl final : public Control
{
friend class SvxIconChoiceCtrl_Impl;
Link<SvtIconChoiceCtrl*,void> _aClickIconHdl;
std::unique_ptr<SvxIconChoiceCtrl_Impl, o3tl::default_delete<SvxIconChoiceCtrl_Impl>> _pImpl;
protected:
virtual void KeyInput( const KeyEvent& rKEvt ) override;
virtual void Command( const CommandEvent& rCEvt ) override;
virtual void Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
diff --git a/include/vcl/toolkit/svlbitm.hxx b/include/vcl/toolkit/svlbitm.hxx
index 6ed70b3..f02c412 100644
--- a/include/vcl/toolkit/svlbitm.hxx
+++ b/include/vcl/toolkit/svlbitm.hxx
@@ -147,7 +147,7 @@ public:
virtual std::unique_ptr<SvLBoxItem> Clone(SvLBoxItem const * pSource) const override;
};
class SvLBoxButton : public SvLBoxItem
class SvLBoxButton final : public SvLBoxItem
{
bool isVis;
SvLBoxButtonData* pData;
diff --git a/include/vcl/transfer.hxx b/include/vcl/transfer.hxx
index c94b005..75d81f5 100644
--- a/include/vcl/transfer.hxx
+++ b/include/vcl/transfer.hxx
@@ -134,7 +134,7 @@ class VCL_DLLPUBLIC TransferableHelper : public cppu::WeakImplHelper< css::datat
private:
// nested class to implement the XTerminateListener interface
class VCL_DLLPRIVATE TerminateListener : public cppu::WeakImplHelper< css::frame::XTerminateListener, css::lang::XServiceInfo >
class VCL_DLLPRIVATE TerminateListener final : public cppu::WeakImplHelper< css::frame::XTerminateListener, css::lang::XServiceInfo >
{
private:
@@ -376,7 +376,7 @@ class VCL_DLLPUBLIC DragSourceHelper
private:
// nested class to implement the XDragGestureListener interface
class SAL_DLLPRIVATE DragGestureListener : public cppu::WeakImplHelper< css::datatransfer::dnd::XDragGestureListener >
class SAL_DLLPRIVATE DragGestureListener final : public cppu::WeakImplHelper< css::datatransfer::dnd::XDragGestureListener >
{
private:
@@ -422,7 +422,7 @@ class VCL_DLLPUBLIC DropTargetHelper
private:
// nested class to implement the XDropTargetListener interface
class SAL_DLLPRIVATE DropTargetListener : public cppu::WeakImplHelper< css::datatransfer::dnd::XDropTargetListener >
class SAL_DLLPRIVATE DropTargetListener final : public cppu::WeakImplHelper< css::datatransfer::dnd::XDropTargetListener >
{
private:
diff --git a/include/vcl/uitest/formattedfielduiobject.hxx b/include/vcl/uitest/formattedfielduiobject.hxx
index 0077f0f..0bbc95c 100644
--- a/include/vcl/uitest/formattedfielduiobject.hxx
+++ b/include/vcl/uitest/formattedfielduiobject.hxx
@@ -14,7 +14,7 @@
class FormattedField;
class FormattedFieldUIObject : public SpinFieldUIObject
class FormattedFieldUIObject final : public SpinFieldUIObject
{
VclPtr<FormattedField> mxFormattedField;
@@ -28,7 +28,7 @@ public:
static std::unique_ptr<UIObject> create(vcl::Window* pWindow);
protected:
private:
virtual OUString get_name() const override;
};
diff --git a/include/vcl/uitest/metricfielduiobject.hxx b/include/vcl/uitest/metricfielduiobject.hxx
index a4b4efd..f45da77 100644
--- a/include/vcl/uitest/metricfielduiobject.hxx
+++ b/include/vcl/uitest/metricfielduiobject.hxx
@@ -14,7 +14,7 @@
class MetricField;
class MetricFieldUIObject : public SpinFieldUIObject
class MetricFieldUIObject final : public SpinFieldUIObject
{
VclPtr<MetricField> mxMetricField;
@@ -28,7 +28,7 @@ public:
static std::unique_ptr<UIObject> create(vcl::Window* pWindow);
protected:
private:
virtual OUString get_name() const override;
};
diff --git a/include/vcl/xtextedt.hxx b/include/vcl/xtextedt.hxx
index 94ca9d8..765c972 100644
--- a/include/vcl/xtextedt.hxx
+++ b/include/vcl/xtextedt.hxx
@@ -24,7 +24,7 @@
namespace i18nutil { struct SearchOptions; }
class VCL_DLLPUBLIC ExtTextEngine : public TextEngine
class VCL_DLLPUBLIC ExtTextEngine final : public TextEngine
{
public:
ExtTextEngine();
diff --git a/vcl/inc/wizdlg.hxx b/vcl/inc/wizdlg.hxx
index d1dd68f..997a63c 100644
--- a/vcl/inc/wizdlg.hxx
+++ b/vcl/inc/wizdlg.hxx
@@ -169,7 +169,7 @@ namespace vcl
@return
<TRUE/> if and only if the page is allowed to be left
*/
bool prepareLeaveCurrentState( WizardTypes::CommitPageReason eReason );
static bool prepareLeaveCurrentState( WizardTypes::CommitPageReason eReason );
/** determine the next state to travel from the given one
@@ -238,8 +238,6 @@ namespace vcl
*/
WizardTypes::WizardState getCurrentState() const { return GetCurLevel(); }
static IWizardPageController* getPageController( TabPage* _pCurrentPage );
/** returns a human readable name for a given state
There is a default implementation for this method, which returns the display name
diff --git a/vcl/source/control/roadmapwizard.cxx b/vcl/source/control/roadmapwizard.cxx
index 1b24e39..8b7116e 100644
--- a/vcl/source/control/roadmapwizard.cxx
+++ b/vcl/source/control/roadmapwizard.cxx
@@ -324,7 +324,7 @@ namespace vcl
TabPage* pCurrentPage = GetPage( getCurrentState() );
if ( pCurrentPage )
{
const IWizardPageController* pController = getPageController( GetPage( getCurrentState() ) );
const IWizardPageController* pController = nullptr;
OSL_ENSURE( pController != nullptr, "RoadmapWizard::implUpdateRoadmap: no controller for the current page!" );
bCurrentPageCanAdvance = !pController || pController->canAdvance();
}
@@ -717,23 +717,8 @@ namespace vcl
return bResult;
}
void RoadmapWizard::enterState(WizardTypes::WizardState nState)
void RoadmapWizard::enterState(WizardTypes::WizardState /*nState*/)
{
// tell the page
IWizardPageController* pController = getPageController( GetPage( nState ) );
if (pController)
{
pController->initializePage();
if ( isAutomaticNextButtonStateEnabled() )
enableButtons( WizardButtonFlags::NEXT, canAdvance() );
enableButtons( WizardButtonFlags::PREVIOUS, !m_xWizardImpl->aStateHistory.empty() );
// set the new title - it depends on the current page (i.e. state)
implUpdateTitle();
}
// synchronize the roadmap
implUpdateRoadmap( );
m_xRoadmapImpl->pRoadmap->SelectRoadmapItemByID( getCurrentState() );
diff --git a/vcl/source/control/wizardmachine.cxx b/vcl/source/control/wizardmachine.cxx
index 59554f2..c83bcf9 100644
--- a/vcl/source/control/wizardmachine.cxx
+++ b/vcl/source/control/wizardmachine.cxx
@@ -681,7 +681,7 @@ namespace vcl
bool RoadmapWizard::prepareLeaveCurrentState( WizardTypes::CommitPageReason _eReason )
{
IWizardPageController* pController = getPageController( GetPage( getCurrentState() ) );
IWizardPageController* pController = nullptr;
ENSURE_OR_RETURN( pController != nullptr, "RoadmapWizard::prepareLeaveCurrentState: no controller for the current page!", true );
return pController->commitPage( _eReason );
}
@@ -835,12 +835,6 @@ namespace vcl
travelNext();
}
IWizardPageController* RoadmapWizard::getPageController( TabPage* _pCurrentPage )
{
IWizardPageController* pController = dynamic_cast< IWizardPageController* >( _pCurrentPage );
return pController;
}
bool RoadmapWizard::isTravelingSuspended() const
{
return m_xWizardImpl->m_bTravelingSuspended;