SvxDrawPage does not need to use aggregation
we use custom subclasses when we want to modify behaviour Change-Id: I1aef9e87c76ea97f1868134f5e1ac0e317b5c698 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156559 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
This commit is contained in:
@@ -74,6 +74,10 @@ bool ImplInheritanceHelper::VisitCXXRecordDecl(const CXXRecordDecl* cxxRecordDec
|
|||||||
.Namespace("pcr")
|
.Namespace("pcr")
|
||||||
.GlobalNamespace())
|
.GlobalNamespace())
|
||||||
return true;
|
return true;
|
||||||
|
if (loplugin::DeclCheck(cxxRecordDecl).Class("SdDrawPage").GlobalNamespace())
|
||||||
|
return true;
|
||||||
|
if (loplugin::DeclCheck(cxxRecordDecl).Class("SdMasterPage").GlobalNamespace())
|
||||||
|
return true;
|
||||||
|
|
||||||
// check if this class extends cppu::WeakImplHelper
|
// check if this class extends cppu::WeakImplHelper
|
||||||
if (!loplugin::isDerivedFrom(cxxRecordDecl, [](Decl const* decl) -> bool {
|
if (!loplugin::isDerivedFrom(cxxRecordDecl, [](Decl const* decl) -> bool {
|
||||||
|
@@ -21,14 +21,14 @@
|
|||||||
|
|
||||||
#include <com/sun/star/form/XFormsSupplier2.hpp>
|
#include <com/sun/star/form/XFormsSupplier2.hpp>
|
||||||
#include <svx/unopage.hxx>
|
#include <svx/unopage.hxx>
|
||||||
#include <comphelper/uno3.hxx>
|
|
||||||
#include <svx/svxdllapi.h>
|
#include <svx/svxdllapi.h>
|
||||||
|
|
||||||
|
|
||||||
// SvxFmDrawPage
|
// SvxFmDrawPage
|
||||||
|
|
||||||
class SVXCORE_DLLPUBLIC SvxFmDrawPage :public SvxDrawPage
|
typedef cppu::ImplInheritanceHelper<SvxDrawPage, css::form::XFormsSupplier2> SvxFmDrawPage_Base;
|
||||||
,public css::form::XFormsSupplier2
|
|
||||||
|
class SVXCORE_DLLPUBLIC SvxFmDrawPage : public SvxFmDrawPage_Base
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
@@ -44,14 +44,8 @@ public:
|
|||||||
SvxFmDrawPage( SdrPage* pPage );
|
SvxFmDrawPage( SdrPage* pPage );
|
||||||
virtual ~SvxFmDrawPage() noexcept override;
|
virtual ~SvxFmDrawPage() noexcept override;
|
||||||
|
|
||||||
// UNO binding
|
|
||||||
DECLARE_UNO3_AGG_DEFAULTS(SvxFmDrawPage, SvxDrawPage)
|
|
||||||
|
|
||||||
virtual css::uno::Any SAL_CALL queryAggregation( const css::uno::Type& aType ) override;
|
|
||||||
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
|
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
|
||||||
|
|
||||||
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override;
|
|
||||||
|
|
||||||
// XFormsSupplier
|
// XFormsSupplier
|
||||||
virtual css::uno::Reference< css::container::XNameContainer > SAL_CALL getForms() override;
|
virtual css::uno::Reference< css::container::XNameContainer > SAL_CALL getForms() override;
|
||||||
|
|
||||||
|
@@ -32,7 +32,7 @@
|
|||||||
#include <svx/svdobjkind.hxx>
|
#include <svx/svdobjkind.hxx>
|
||||||
#include <rtl/ref.hxx>
|
#include <rtl/ref.hxx>
|
||||||
|
|
||||||
#include <cppuhelper/implbase7.hxx>
|
#include <cppuhelper/implbase.hxx>
|
||||||
#include <comphelper/servicehelper.hxx>
|
#include <comphelper/servicehelper.hxx>
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
@@ -48,7 +48,7 @@ class SvxShapeConnector;
|
|||||||
enum class SdrInventor : sal_uInt32;
|
enum class SdrInventor : sal_uInt32;
|
||||||
|
|
||||||
class SVXCORE_DLLPUBLIC SvxDrawPage : protected cppu::BaseMutex,
|
class SVXCORE_DLLPUBLIC SvxDrawPage : protected cppu::BaseMutex,
|
||||||
public ::cppu::WeakAggImplHelper7< css::drawing::XDrawPage,
|
public ::cppu::WeakImplHelper< css::drawing::XDrawPage,
|
||||||
css::drawing::XShapeGrouper,
|
css::drawing::XShapeGrouper,
|
||||||
css::drawing::XShapes2,
|
css::drawing::XShapes2,
|
||||||
css::drawing::XShapes3,
|
css::drawing::XShapes3,
|
||||||
@@ -97,9 +97,6 @@ class SVXCORE_DLLPUBLIC SvxDrawPage : protected cppu::BaseMutex,
|
|||||||
|
|
||||||
UNO3_GETIMPLEMENTATION_DECL( SvxDrawPage )
|
UNO3_GETIMPLEMENTATION_DECL( SvxDrawPage )
|
||||||
|
|
||||||
// XInterface
|
|
||||||
virtual void SAL_CALL release() noexcept override;
|
|
||||||
|
|
||||||
// XShapes
|
// XShapes
|
||||||
virtual void SAL_CALL add( const css::uno::Reference< css::drawing::XShape >& xShape ) override;
|
virtual void SAL_CALL add( const css::uno::Reference< css::drawing::XShape >& xShape ) override;
|
||||||
virtual void SAL_CALL remove( const css::uno::Reference< css::drawing::XShape >& xShape ) override;
|
virtual void SAL_CALL remove( const css::uno::Reference< css::drawing::XShape >& xShape ) override;
|
||||||
|
@@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
#include <svx/unopage.hxx>
|
#include <svx/unopage.hxx>
|
||||||
#include <com/sun/star/report/XSection.hpp>
|
#include <com/sun/star/report/XSection.hpp>
|
||||||
|
#include <cppuhelper/weakref.hxx>
|
||||||
|
|
||||||
namespace reportdesign
|
namespace reportdesign
|
||||||
{
|
{
|
||||||
|
@@ -110,9 +110,6 @@ public:
|
|||||||
|
|
||||||
// XInterface
|
// XInterface
|
||||||
virtual css::uno::Any SAL_CALL queryInterface( const css::uno::Type & rType ) override;
|
virtual css::uno::Any SAL_CALL queryInterface( const css::uno::Type & rType ) override;
|
||||||
virtual void SAL_CALL release() noexcept override;
|
|
||||||
|
|
||||||
css::uno::Any SAL_CALL queryAggregation(css::uno::Type const & rType) override;
|
|
||||||
|
|
||||||
// XShapeCombiner
|
// XShapeCombiner
|
||||||
virtual css::uno::Reference< css::drawing::XShape > SAL_CALL combine( const css::uno::Reference< css::drawing::XShapes >& xShapes ) override;
|
virtual css::uno::Reference< css::drawing::XShape > SAL_CALL combine( const css::uno::Reference< css::drawing::XShapes >& xShapes ) override;
|
||||||
@@ -181,8 +178,6 @@ public:
|
|||||||
virtual void SAL_CALL acquire() noexcept override;
|
virtual void SAL_CALL acquire() noexcept override;
|
||||||
virtual void SAL_CALL release() noexcept override;
|
virtual void SAL_CALL release() noexcept override;
|
||||||
|
|
||||||
css::uno::Any SAL_CALL queryAggregation(css::uno::Type const & rType) override;
|
|
||||||
|
|
||||||
// XTypeProvider
|
// XTypeProvider
|
||||||
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override;
|
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override;
|
||||||
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
|
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
|
||||||
@@ -240,8 +235,6 @@ public:
|
|||||||
virtual void SAL_CALL acquire() noexcept override;
|
virtual void SAL_CALL acquire() noexcept override;
|
||||||
virtual void SAL_CALL release() noexcept override;
|
virtual void SAL_CALL release() noexcept override;
|
||||||
|
|
||||||
css::uno::Any SAL_CALL queryAggregation(css::uno::Type const & rType) override;
|
|
||||||
|
|
||||||
// XTypeProvider
|
// XTypeProvider
|
||||||
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override;
|
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override;
|
||||||
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
|
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
|
||||||
|
@@ -44,6 +44,7 @@
|
|||||||
|
|
||||||
#include <toolkit/helper/vclunohelper.hxx>
|
#include <toolkit/helper/vclunohelper.hxx>
|
||||||
#include <comphelper/diagnose_ex.hxx>
|
#include <comphelper/diagnose_ex.hxx>
|
||||||
|
#include <comphelper/sequence.hxx>
|
||||||
|
|
||||||
#include <sfx2/infobar.hxx>
|
#include <sfx2/infobar.hxx>
|
||||||
#include <sfx2/dispatch.hxx>
|
#include <sfx2/dispatch.hxx>
|
||||||
|
@@ -512,12 +512,8 @@ rtl::Reference<SdrObject> SdGenericDrawPage::CreateSdrObject_( const Reference<
|
|||||||
}
|
}
|
||||||
|
|
||||||
// XInterface
|
// XInterface
|
||||||
Any SAL_CALL SdGenericDrawPage::queryInterface( const uno::Type & rType )
|
Any SdGenericDrawPage::queryInterface(const uno::Type & rType)
|
||||||
{
|
{
|
||||||
return SvxFmDrawPage::queryInterface(rType);
|
|
||||||
}
|
|
||||||
|
|
||||||
css::uno::Any SdGenericDrawPage::queryAggregation(css::uno::Type const & rType) {
|
|
||||||
Any aAny;
|
Any aAny;
|
||||||
|
|
||||||
if (rType == cppu::UnoType<beans::XPropertySet>::get())
|
if (rType == cppu::UnoType<beans::XPropertySet>::get())
|
||||||
@@ -564,7 +560,7 @@ css::uno::Any SdGenericDrawPage::queryAggregation(css::uno::Type const & rType)
|
|||||||
return Any( Reference< XAnimationNodeSupplier >( this ) );
|
return Any( Reference< XAnimationNodeSupplier >( this ) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return SvxFmDrawPage::queryAggregation( rType );
|
return SvxFmDrawPage::queryInterface( rType );
|
||||||
|
|
||||||
return aAny;
|
return aAny;
|
||||||
}
|
}
|
||||||
@@ -1880,13 +1876,6 @@ void SdGenericDrawPage::SetHeight( sal_Int32 nHeight )
|
|||||||
refreshpage( &rDoc, ePageKind );
|
refreshpage( &rDoc, ePageKind );
|
||||||
}
|
}
|
||||||
|
|
||||||
// XInterface
|
|
||||||
void SdGenericDrawPage::release() noexcept
|
|
||||||
{
|
|
||||||
|
|
||||||
OWeakAggObject::release();
|
|
||||||
}
|
|
||||||
|
|
||||||
// XComponent
|
// XComponent
|
||||||
void SdGenericDrawPage::disposing() noexcept
|
void SdGenericDrawPage::disposing() noexcept
|
||||||
{
|
{
|
||||||
@@ -2069,10 +2058,6 @@ SdDrawPage::~SdDrawPage() noexcept
|
|||||||
// XInterface
|
// XInterface
|
||||||
Any SAL_CALL SdDrawPage::queryInterface( const uno::Type & rType )
|
Any SAL_CALL SdDrawPage::queryInterface( const uno::Type & rType )
|
||||||
{
|
{
|
||||||
return SdGenericDrawPage::queryInterface(rType);
|
|
||||||
}
|
|
||||||
|
|
||||||
css::uno::Any SdDrawPage::queryAggregation(css::uno::Type const & rType) {
|
|
||||||
if( rType == cppu::UnoType<drawing::XMasterPageTarget>::get() )
|
if( rType == cppu::UnoType<drawing::XMasterPageTarget>::get() )
|
||||||
{
|
{
|
||||||
return Any( Reference< drawing::XMasterPageTarget >( this ) );
|
return Any( Reference< drawing::XMasterPageTarget >( this ) );
|
||||||
@@ -2087,7 +2072,7 @@ css::uno::Any SdDrawPage::queryAggregation(css::uno::Type const & rType) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return SdGenericDrawPage::queryAggregation( rType );
|
return SdGenericDrawPage::queryInterface( rType );
|
||||||
}
|
}
|
||||||
|
|
||||||
void SAL_CALL SdDrawPage::acquire() noexcept
|
void SAL_CALL SdDrawPage::acquire() noexcept
|
||||||
@@ -2670,10 +2655,6 @@ SdMasterPage::~SdMasterPage() noexcept
|
|||||||
// XInterface
|
// XInterface
|
||||||
Any SAL_CALL SdMasterPage::queryInterface( const uno::Type & rType )
|
Any SAL_CALL SdMasterPage::queryInterface( const uno::Type & rType )
|
||||||
{
|
{
|
||||||
return SdGenericDrawPage::queryInterface(rType);
|
|
||||||
}
|
|
||||||
|
|
||||||
css::uno::Any SdMasterPage::queryAggregation(css::uno::Type const & rType) {
|
|
||||||
::SolarMutexGuard aGuard;
|
::SolarMutexGuard aGuard;
|
||||||
|
|
||||||
throwIfDisposed();
|
throwIfDisposed();
|
||||||
@@ -2691,7 +2672,7 @@ css::uno::Any SdMasterPage::queryAggregation(css::uno::Type const & rType) {
|
|||||||
GetPage() && GetPage()->GetPageKind() != PageKind::Handout) )
|
GetPage() && GetPage()->GetPageKind() != PageKind::Handout) )
|
||||||
aAny <<= Reference< presentation::XPresentationPage >( this );
|
aAny <<= Reference< presentation::XPresentationPage >( this );
|
||||||
else
|
else
|
||||||
return SdGenericDrawPage::queryAggregation( rType );
|
return SdGenericDrawPage::queryInterface( rType );
|
||||||
|
|
||||||
return aAny;
|
return aAny;
|
||||||
}
|
}
|
||||||
|
@@ -28,7 +28,7 @@ using ::com::sun::star::uno::Any;
|
|||||||
using ::com::sun::star::form::XFormsSupplier2;
|
using ::com::sun::star::form::XFormsSupplier2;
|
||||||
|
|
||||||
SvxFmDrawPage::SvxFmDrawPage( SdrPage* pInPage ) :
|
SvxFmDrawPage::SvxFmDrawPage( SdrPage* pInPage ) :
|
||||||
SvxDrawPage( pInPage )
|
SvxFmDrawPage_Base( pInPage )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,24 +41,6 @@ css::uno::Sequence< sal_Int8 > SAL_CALL SvxFmDrawPage::getImplementationId()
|
|||||||
return css::uno::Sequence<sal_Int8>();
|
return css::uno::Sequence<sal_Int8>();
|
||||||
}
|
}
|
||||||
|
|
||||||
Any SAL_CALL SvxFmDrawPage::queryAggregation( const css::uno::Type& _rType )
|
|
||||||
{
|
|
||||||
Any aRet = ::cppu::queryInterface ( _rType
|
|
||||||
, static_cast< XFormsSupplier2* >( this )
|
|
||||||
, static_cast< XFormsSupplier* >( this )
|
|
||||||
);
|
|
||||||
if ( !aRet.hasValue() )
|
|
||||||
aRet = SvxDrawPage::queryAggregation( _rType );
|
|
||||||
|
|
||||||
return aRet;
|
|
||||||
}
|
|
||||||
|
|
||||||
css::uno::Sequence< css::uno::Type > SAL_CALL SvxFmDrawPage::getTypes( )
|
|
||||||
{
|
|
||||||
return comphelper::concatSequences(SvxDrawPage::getTypes(),
|
|
||||||
css::uno::Sequence { cppu::UnoType<css::form::XFormsSupplier2>::get() });
|
|
||||||
}
|
|
||||||
|
|
||||||
rtl::Reference<SdrObject> SvxFmDrawPage::CreateSdrObject_( const css::uno::Reference< css::drawing::XShape > & xDescr )
|
rtl::Reference<SdrObject> SvxFmDrawPage::CreateSdrObject_( const css::uno::Reference< css::drawing::XShape > & xDescr )
|
||||||
{
|
{
|
||||||
OUString aShapeType( xDescr->getShapeType() );
|
OUString aShapeType( xDescr->getShapeType() );
|
||||||
|
@@ -82,12 +82,6 @@ SvxDrawPage::~SvxDrawPage() noexcept
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// XInterface
|
|
||||||
void SvxDrawPage::release() noexcept
|
|
||||||
{
|
|
||||||
OWeakAggObject::release();
|
|
||||||
}
|
|
||||||
|
|
||||||
// XComponent
|
// XComponent
|
||||||
void SvxDrawPage::disposing() noexcept
|
void SvxDrawPage::disposing() noexcept
|
||||||
{
|
{
|
||||||
|
@@ -30,17 +30,17 @@
|
|||||||
#include <com/sun/star/beans/XPropertySet.hpp>
|
#include <com/sun/star/beans/XPropertySet.hpp>
|
||||||
#include <com/sun/star/beans/XPropertyState.hpp>
|
#include <com/sun/star/beans/XPropertyState.hpp>
|
||||||
#include <com/sun/star/drawing/XShapes.hpp>
|
#include <com/sun/star/drawing/XShapes.hpp>
|
||||||
#include <cppuhelper/implbase.hxx>
|
|
||||||
#include <cppuhelper/implbase2.hxx>
|
|
||||||
#include <com/sun/star/container/XEnumerationAccess.hpp>
|
#include <com/sun/star/container/XEnumerationAccess.hpp>
|
||||||
#include <com/sun/star/drawing/HomogenMatrix3.hpp>
|
#include <com/sun/star/drawing/HomogenMatrix3.hpp>
|
||||||
|
#include <com/sun/star/uno/XAggregation.hpp>
|
||||||
|
#include <cppuhelper/implbase.hxx>
|
||||||
|
|
||||||
class SdrMarkList;
|
class SdrMarkList;
|
||||||
class SdrView;
|
class SdrView;
|
||||||
class SwDoc;
|
class SwDoc;
|
||||||
class SwXShape;
|
class SwXShape;
|
||||||
|
|
||||||
typedef cppu::AggImplInheritanceHelper2
|
typedef cppu::ImplInheritanceHelper
|
||||||
<
|
<
|
||||||
SvxFmDrawPage,
|
SvxFmDrawPage,
|
||||||
css::container::XEnumerationAccess,
|
css::container::XEnumerationAccess,
|
||||||
|
Reference in New Issue
Block a user