[Libreoffice-commits] core.git: include/vbahelper sc/source sw/source vbahelper/source

Douglas Mencken dougmencken at gmail.com
Tue Oct 6 05:14:19 PDT 2015


 include/vbahelper/vbaapplicationbase.hxx            |    2 
 include/vbahelper/vbacollectionimpl.hxx             |   36 ++---
 include/vbahelper/vbadialogbase.hxx                 |    3 
 include/vbahelper/vbadialogsbase.hxx                |    3 
 include/vbahelper/vbadocumentbase.hxx               |    2 
 include/vbahelper/vbafontbase.hxx                   |    4 
 include/vbahelper/vbaglobalbase.hxx                 |    2 
 include/vbahelper/vbahelper.hxx                     |    1 
 include/vbahelper/vbahelperinterface.hxx            |   40 +-----
 include/vbahelper/vbapagesetupbase.hxx              |    3 
 include/vbahelper/vbapropvalue.hxx                  |    4 
 include/vbahelper/vbareturntypes.hxx                |    4 
 include/vbahelper/vbashape.hxx                      |    4 
 include/vbahelper/vbatextframe.hxx                  |    2 
 include/vbahelper/vbawindowbase.hxx                 |    2 
 sc/source/ui/vba/vbaaxis.hxx                        |    2 
 sc/source/ui/vba/vbaborders.cxx                     |    2 
 sc/source/ui/vba/vbacharacters.hxx                  |    2 
 sc/source/ui/vba/vbachart.hxx                       |    2 
 sc/source/ui/vba/vbachartobject.hxx                 |    2 
 sc/source/ui/vba/vbacomment.hxx                     |    2 
 sc/source/ui/vba/vbacondition.cxx                   |   28 ++--
 sc/source/ui/vba/vbacondition.hxx                   |    6 
 sc/source/ui/vba/vbaformat.cxx                      |  124 ++++++++++----------
 sc/source/ui/vba/vbaformat.hxx                      |    6 
 sc/source/ui/vba/vbahyperlink.hxx                   |    2 
 sc/source/ui/vba/vbainterior.hxx                    |    2 
 sc/source/ui/vba/vbamenu.hxx                        |    2 
 sc/source/ui/vba/vbamenubar.hxx                     |    2 
 sc/source/ui/vba/vbamenuitem.hxx                    |    2 
 sc/source/ui/vba/vbaname.hxx                        |    2 
 sc/source/ui/vba/vbaoleobject.hxx                   |    2 
 sc/source/ui/vba/vbaoutline.hxx                     |    2 
 sc/source/ui/vba/vbapagebreak.cxx                   |   20 +--
 sc/source/ui/vba/vbapagebreak.hxx                   |    6 
 sc/source/ui/vba/vbapivotcache.hxx                  |    2 
 sc/source/ui/vba/vbapivottable.hxx                  |    2 
 sc/source/ui/vba/vbasheetobject.hxx                 |    4 
 sc/source/ui/vba/vbatextframe.hxx                   |    2 
 sc/source/ui/vba/vbatitle.hxx                       |    6 
 sc/source/ui/vba/vbavalidation.hxx                  |    2 
 sc/source/ui/vba/vbaworksheet.hxx                   |    2 
 sc/source/ui/vba/vbawsfunction.hxx                  |    2 
 sw/source/ui/vba/vbaaddin.hxx                       |    3 
 sw/source/ui/vba/vbaapplication.hxx                 |    2 
 sw/source/ui/vba/vbaautotextentry.hxx               |    3 
 sw/source/ui/vba/vbabookmark.hxx                    |    3 
 sw/source/ui/vba/vbaborders.cxx                     |    2 
 sw/source/ui/vba/vbacell.hxx                        |    3 
 sw/source/ui/vba/vbacheckbox.hxx                    |    3 
 sw/source/ui/vba/vbacolumn.hxx                      |    3 
 sw/source/ui/vba/vbadocumentproperties.cxx          |    2 
 sw/source/ui/vba/vbafield.hxx                       |    2 
 sw/source/ui/vba/vbafind.hxx                        |    3 
 sw/source/ui/vba/vbaframe.hxx                       |    3 
 sw/source/ui/vba/vbaheaderfooter.hxx                |    3 
 sw/source/ui/vba/vbalistformat.hxx                  |    3 
 sw/source/ui/vba/vbalistgallery.hxx                 |    3 
 sw/source/ui/vba/vbalistlevel.hxx                   |    3 
 sw/source/ui/vba/vbalisttemplate.hxx                |    3 
 sw/source/ui/vba/vbaoptions.hxx                     |    3 
 sw/source/ui/vba/vbapane.hxx                        |    3 
 sw/source/ui/vba/vbaparagraph.hxx                   |    3 
 sw/source/ui/vba/vbaparagraphformat.hxx             |    3 
 sw/source/ui/vba/vbarange.hxx                       |    3 
 sw/source/ui/vba/vbareplacement.hxx                 |    3 
 sw/source/ui/vba/vbarevision.hxx                    |    3 
 sw/source/ui/vba/vbarow.hxx                         |    3 
 sw/source/ui/vba/vbasection.hxx                     |    3 
 sw/source/ui/vba/vbaselection.hxx                   |    2 
 sw/source/ui/vba/vbastyle.hxx                       |    2 
 sw/source/ui/vba/vbasystem.hxx                      |    3 
 sw/source/ui/vba/vbatable.hxx                       |    2 
 sw/source/ui/vba/vbatableofcontents.hxx             |    3 
 sw/source/ui/vba/vbatabstop.hxx                     |    3 
 sw/source/ui/vba/vbatemplate.hxx                    |    2 
 sw/source/ui/vba/vbavariable.hxx                    |    3 
 sw/source/ui/vba/vbaview.hxx                        |    2 
 sw/source/ui/vba/vbawrapformat.hxx                  |    2 
 vbahelper/source/msforms/vbacontrol.hxx             |    2 
 vbahelper/source/msforms/vbauserform.hxx            |    2 
 vbahelper/source/vbahelper/vbacolorformat.hxx       |    2 
 vbahelper/source/vbahelper/vbacommandbar.hxx        |    2 
 vbahelper/source/vbahelper/vbacommandbarcontrol.hxx |    2 
 vbahelper/source/vbahelper/vbafillformat.hxx        |    2 
 vbahelper/source/vbahelper/vbalineformat.hxx        |    2 
 vbahelper/source/vbahelper/vbapictureformat.hxx     |    2 
 87 files changed, 204 insertions(+), 262 deletions(-)

New commits:
commit 85b1f91779cd90eb1c7808909c2721239fc51dd1
Author: Douglas Mencken <dougmencken at gmail.com>
Date:   Sun Oct 4 22:19:14 2015 -0400

    vba: convert to variadic InheritedHelperInterfaceImpl&WeakImpl etc
    
    Variadic templates ~-i.e. templates, which can take an arbitrary
    number of arguments of any type-~ is new C++11 feature
    
    note that uno::Reference and cppu::UnoType can only take one parameter
    thus leave XNamedObjectCollectionHelper non-variadic in vbacollectionimpl.hxx
    
    Change-Id: I22e60fa050ee31d39ae8bb7cac06cf243c4587b1
    Reviewed-on: https://gerrit.libreoffice.org/19145
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/include/vbahelper/vbaapplicationbase.hxx b/include/vbahelper/vbaapplicationbase.hxx
index 0c89e3f..f8e9f3a 100644
--- a/include/vbahelper/vbaapplicationbase.hxx
+++ b/include/vbahelper/vbaapplicationbase.hxx
@@ -24,7 +24,7 @@
 #include <vbahelper/vbahelperinterface.hxx>
 #include <sfx2/objsh.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ov::XApplicationBase > ApplicationBase_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::XApplicationBase > ApplicationBase_BASE;
 
 struct VbaApplicationBase_Impl;
 
diff --git a/include/vbahelper/vbacollectionimpl.hxx b/include/vbahelper/vbacollectionimpl.hxx
index 2fbb617..d3d20fd 100644
--- a/include/vbahelper/vbacollectionimpl.hxx
+++ b/include/vbahelper/vbacollectionimpl.hxx
@@ -28,10 +28,6 @@
 #include <com/sun/star/container/XNameAccess.hpp>
 #include <com/sun/star/container/XNamed.hpp>
 
-#include <cppuhelper/implbase3.hxx>
-#include <cppuhelper/implbase2.hxx>
-#include <cppuhelper/implbase1.hxx>
-
 #include <vbahelper/vbahelper.hxx>
 #include <vbahelper/vbahelperinterface.hxx>
 
@@ -39,7 +35,7 @@
 
 
 
-typedef ::cppu::WeakImplHelper1< css::container::XEnumeration > EnumerationHelper_BASE;
+typedef ::cppu::WeakImplHelper< css::container::XEnumeration > EnumerationHelper_BASE;
 
 
 
@@ -139,13 +135,13 @@ public:
 
 
 
-typedef ::cppu::WeakImplHelper3< css::container::XNameAccess, css::container::XIndexAccess, css::container::XEnumerationAccess > XNamedCollectionHelper_BASE;
+typedef ::cppu::WeakImplHelper< css::container::XNameAccess, css::container::XIndexAccess, css::container::XEnumerationAccess > XNamedCollectionHelper_BASE;
 
-template< typename Ifc1 >
+template< typename OneIfc >
 class XNamedObjectCollectionHelper : public XNamedCollectionHelper_BASE
 {
 public:
-typedef std::vector< css::uno::Reference< Ifc1 > >  XNamedVec;
+typedef std::vector< css::uno::Reference< OneIfc > >  XNamedVec;
 private:
 
     class XNamedEnumerationHelper : public EnumerationHelper_BASE
@@ -174,7 +170,7 @@ protected:
 public:
     XNamedObjectCollectionHelper( const XNamedVec& sMap ) : mXNamedVec( sMap ), cachePos(mXNamedVec.begin()) {}
     // XElementAccess
-    virtual css::uno::Type SAL_CALL getElementType(  ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE { return  cppu::UnoType<Ifc1>::get(); }
+    virtual css::uno::Type SAL_CALL getElementType(  ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE { return cppu::UnoType< OneIfc >::get(); }
     virtual sal_Bool SAL_CALL hasElements(  ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE { return ( mXNamedVec.size() > 0 ); }
     // XNameAcess
     virtual css::uno::Any SAL_CALL getByName( const OUString& aName ) throw (css::container::NoSuchElementException, css::lang::WrappedTargetException, css::uno::RuntimeException, std::exception) SAL_OVERRIDE
@@ -228,10 +224,10 @@ public:
 };
 
 // including a HelperInterface implementation
-template< typename Ifc1 >
-class ScVbaCollectionBase : public InheritedHelperInterfaceImpl< Ifc1 >
+template< typename... Ifc >
+class ScVbaCollectionBase : public InheritedHelperInterfaceImpl< Ifc... >
 {
-typedef InheritedHelperInterfaceImpl< Ifc1 > BaseColBase;
+typedef InheritedHelperInterfaceImpl< Ifc... > BaseColBase;
 protected:
     css::uno::Reference< css::container::XIndexAccess > m_xIndexAccess;
     css::uno::Reference< css::container::XNameAccess > m_xNameAccess;
@@ -324,24 +320,24 @@ public:
 
 };
 
-typedef ::cppu::WeakImplHelper1<ov::XCollection> XCollection_InterfacesBASE;
+typedef ::cppu::WeakImplHelper<ov::XCollection> XCollection_InterfacesBASE;
 
-typedef ScVbaCollectionBase< XCollection_InterfacesBASE > CollImplBase1;
+typedef ScVbaCollectionBase< XCollection_InterfacesBASE > CollImplBase;
 // compatible with the old collections ( pre XHelperInterface base class ) ( some internal objects still use this )
-class VBAHELPER_DLLPUBLIC ScVbaCollectionBaseImpl : public CollImplBase1
+class VBAHELPER_DLLPUBLIC ScVbaCollectionBaseImpl : public CollImplBase
 {
 public:
-    ScVbaCollectionBaseImpl( const css::uno::Reference< ov::XHelperInterface > xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::container::XIndexAccess >& xIndexAccess ) throw( css::uno::RuntimeException ) : CollImplBase1( xParent, xContext, xIndexAccess){}
+    ScVbaCollectionBaseImpl( const css::uno::Reference< ov::XHelperInterface > xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::container::XIndexAccess >& xIndexAccess ) throw( css::uno::RuntimeException ) : CollImplBase( xParent, xContext, xIndexAccess){}
 
 };
 
-template <typename Ifc> // where Ifc must implement XCollectionTest
-class CollTestImplHelper :  public ScVbaCollectionBase< ::cppu::WeakImplHelper1< Ifc > >
+template < typename... Ifc > // where Ifc must implement XCollectionTest
+class CollTestImplHelper :  public ScVbaCollectionBase< ::cppu::WeakImplHelper< Ifc... > >
 {
-typedef ScVbaCollectionBase< ::cppu::WeakImplHelper1< Ifc >  > ImplBase1;
+typedef ScVbaCollectionBase< ::cppu::WeakImplHelper< Ifc... >  > ImplBase;
 
 public:
-    CollTestImplHelper( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext,  const css::uno::Reference< css::container::XIndexAccess >& xIndexAccess, bool bIgnoreCase = false ) throw( css::uno::RuntimeException ) : ImplBase1( xParent, xContext, xIndexAccess, bIgnoreCase ) {}
+    CollTestImplHelper( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext,  const css::uno::Reference< css::container::XIndexAccess >& xIndexAccess, bool bIgnoreCase = false ) throw( css::uno::RuntimeException ) : ImplBase( xParent, xContext, xIndexAccess, bIgnoreCase ) {}
 };
 
 
diff --git a/include/vbahelper/vbadialogbase.hxx b/include/vbahelper/vbadialogbase.hxx
index 276cc9a..27d6246 100644
--- a/include/vbahelper/vbadialogbase.hxx
+++ b/include/vbahelper/vbadialogbase.hxx
@@ -19,12 +19,11 @@
 #ifndef INCLUDED_VBAHELPER_VBADIALOGBASE_HXX
 #define INCLUDED_VBAHELPER_VBADIALOGBASE_HXX
 
-#include <cppuhelper/implbase1.hxx>
 #include <ooo/vba/XDialogBase.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 #include <com/sun/star/frame/XModel.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ov::XDialogBase > VbaDialogBase_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::XDialogBase > VbaDialogBase_BASE;
 
 class VBAHELPER_DLLPUBLIC VbaDialogBase : public VbaDialogBase_BASE
 {
diff --git a/include/vbahelper/vbadialogsbase.hxx b/include/vbahelper/vbadialogsbase.hxx
index 239995a..3197232 100644
--- a/include/vbahelper/vbadialogsbase.hxx
+++ b/include/vbahelper/vbadialogsbase.hxx
@@ -19,13 +19,12 @@
 #ifndef INCLUDED_VBAHELPER_VBADIALOGSBASE_HXX
 #define INCLUDED_VBAHELPER_VBADIALOGSBASE_HXX
 
-#include <cppuhelper/implbase1.hxx>
 #include <ooo/vba/XHelperInterface.hpp>
 #include <ooo/vba/XDialogsBase.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 #include <com/sun/star/frame/XModel.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ov::XDialogsBase > VbaDialogsBase_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::XDialogsBase > VbaDialogsBase_BASE;
 
 class VBAHELPER_DLLPUBLIC VbaDialogsBase : public VbaDialogsBase_BASE
 {
diff --git a/include/vbahelper/vbadocumentbase.hxx b/include/vbahelper/vbadocumentbase.hxx
index 9fd0ed4..3aebefd 100644
--- a/include/vbahelper/vbadocumentbase.hxx
+++ b/include/vbahelper/vbadocumentbase.hxx
@@ -23,7 +23,7 @@
 #include <ooo/vba/XDocumentBase.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::XDocumentBase > VbaDocumentBase_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::XDocumentBase > VbaDocumentBase_BASE;
 
 class VBAHELPER_DLLPUBLIC VbaDocumentBase : public VbaDocumentBase_BASE
 {
diff --git a/include/vbahelper/vbafontbase.hxx b/include/vbahelper/vbafontbase.hxx
index 8c759ea..ee64977 100644
--- a/include/vbahelper/vbafontbase.hxx
+++ b/include/vbahelper/vbafontbase.hxx
@@ -19,13 +19,11 @@
 #ifndef INCLUDED_VBAHELPER_VBAFONTBASE_HXX
 #define INCLUDED_VBAHELPER_VBAFONTBASE_HXX
 
-#include <cppuhelper/implbase1.hxx>
-
 #include <ooo/vba/XFontBase.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef  InheritedHelperInterfaceImpl1< ov::XFontBase > VbaFontBase_BASE;
+typedef  InheritedHelperInterfaceWeakImpl< ov::XFontBase > VbaFontBase_BASE;
 
 class VBAHELPER_DLLPUBLIC VbaFontBase : public VbaFontBase_BASE
 {
diff --git a/include/vbahelper/vbaglobalbase.hxx b/include/vbahelper/vbaglobalbase.hxx
index fec13ae..96e26d9 100644
--- a/include/vbahelper/vbaglobalbase.hxx
+++ b/include/vbahelper/vbaglobalbase.hxx
@@ -22,7 +22,7 @@
 #include <vbahelper/vbahelperinterface.hxx>
 #include <ooo/vba/XGlobalsBase.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ov::XGlobalsBase > Globals_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::XGlobalsBase > Globals_BASE;
 class VBAHELPER_DLLPUBLIC VbaGlobalsBase : public Globals_BASE
 {
 protected:
diff --git a/include/vbahelper/vbahelper.hxx b/include/vbahelper/vbahelper.hxx
index bf413ba..7c4956a 100644
--- a/include/vbahelper/vbahelper.hxx
+++ b/include/vbahelper/vbahelper.hxx
@@ -30,7 +30,6 @@
 #include <com/sun/star/awt/XUnitConversion.hpp>
 #include <basic/basmgr.hxx>
 #include <basic/sberrors.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/frame/XModel.hpp>
 #include <sfx2/dispatch.hxx>
 #include <sfx2/objsh.hxx>
diff --git a/include/vbahelper/vbahelperinterface.hxx b/include/vbahelper/vbahelperinterface.hxx
index 2c97100..989101c 100644
--- a/include/vbahelper/vbahelperinterface.hxx
+++ b/include/vbahelper/vbahelperinterface.hxx
@@ -19,9 +19,7 @@
 #ifndef INCLUDED_VBAHELPER_VBAHELPERINTERFACE_HXX
 #define INCLUDED_VBAHELPER_VBAHELPERINTERFACE_HXX
 
-#include <cppuhelper/implbase1.hxx>
-#include <cppuhelper/implbase2.hxx>
-#include <cppuhelper/implbase3.hxx>
+#include <cppuhelper/implbase.hxx>
 #include <ooo/vba/XHelperInterface.hpp>
 #include <vbahelper/vbahelper.hxx>
 #include <com/sun/star/container/XNameAccess.hpp>
@@ -53,8 +51,8 @@
 // }
 //
 
-template< typename Ifc1 >
-class SAL_DLLPUBLIC_TEMPLATE InheritedHelperInterfaceImpl : public Ifc1
+template< typename... Ifc >
+class SAL_DLLPUBLIC_TEMPLATE InheritedHelperInterfaceImpl : public Ifc...
 {
 protected:
     css::uno::WeakReference< ov::XHelperInterface > mxParent;
@@ -99,34 +97,14 @@ public:
     }
  };
 
-template< typename Ifc1 >
-class SAL_DLLPUBLIC_TEMPLATE InheritedHelperInterfaceImpl1 : public InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper1< Ifc1 > >
+template <typename... Ifc >
+class SAL_DLLPUBLIC_TEMPLATE InheritedHelperInterfaceWeakImpl : public InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper< Ifc... > >
 {
-    typedef InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper1< Ifc1 > > Base;
+    typedef InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper< Ifc... > > Base;
 public:
-    InheritedHelperInterfaceImpl1< Ifc1 >() {}
-    InheritedHelperInterfaceImpl1< Ifc1 >( const css::uno::Reference< css::uno::XComponentContext >& xContext ) : Base( xContext ) {}
-    InheritedHelperInterfaceImpl1< Ifc1 >( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext ) : Base( xParent, xContext ) {}
-};
-
-template< typename Ifc1, typename Ifc2 >
-class SAL_DLLPUBLIC_TEMPLATE InheritedHelperInterfaceImpl2 : public InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper2< Ifc1, Ifc2 > >
-{
-    typedef InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper2< Ifc1, Ifc2 > > Base;
-public:
-    InheritedHelperInterfaceImpl2< Ifc1, Ifc2 >() {}
-    InheritedHelperInterfaceImpl2< Ifc1, Ifc2 >( const css::uno::Reference< css::uno::XComponentContext >& xContext ) : Base( xContext ) {}
-    InheritedHelperInterfaceImpl2< Ifc1, Ifc2 >( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext ) : Base( xParent, xContext ) {}
-};
-
-template< typename Ifc1, typename Ifc2, typename Ifc3 >
-class SAL_DLLPUBLIC_TEMPLATE InheritedHelperInterfaceImpl3 : public InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper3< Ifc1, Ifc2, Ifc3 > >
-{
-    typedef InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper3< Ifc1, Ifc2, Ifc3 > > Base;
-public:
-    InheritedHelperInterfaceImpl3< Ifc1, Ifc2, Ifc3 >() {}
-    InheritedHelperInterfaceImpl3< Ifc1, Ifc2, Ifc3 >( const css::uno::Reference< css::uno::XComponentContext >& xContext ) : Base( xContext ) {}
-    InheritedHelperInterfaceImpl3< Ifc1, Ifc2, Ifc3 >( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext ) : Base( xParent, xContext ) {}
+    InheritedHelperInterfaceWeakImpl< Ifc... >() {}
+    InheritedHelperInterfaceWeakImpl< Ifc... >( const css::uno::Reference< css::uno::XComponentContext >& xContext ) : Base( xContext ) {}
+    InheritedHelperInterfaceWeakImpl< Ifc... >( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext ) : Base( xParent, xContext ) {}
 };
 
 
diff --git a/include/vbahelper/vbapagesetupbase.hxx b/include/vbahelper/vbapagesetupbase.hxx
index 7ee5d2c..aea83ec 100644
--- a/include/vbahelper/vbapagesetupbase.hxx
+++ b/include/vbahelper/vbapagesetupbase.hxx
@@ -19,13 +19,12 @@
 #ifndef INCLUDED_VBAHELPER_VBAPAGESETUPBASE_HXX
 #define INCLUDED_VBAHELPER_VBAPAGESETUPBASE_HXX
 
-#include <cppuhelper/implbase1.hxx>
 #include <ooo/vba/XPageSetupBase.hpp>
 #include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::XPageSetupBase > VbaPageSetupBase_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::XPageSetupBase > VbaPageSetupBase_BASE;
 
 class VBAHELPER_DLLPUBLIC VbaPageSetupBase :  public VbaPageSetupBase_BASE
 {
diff --git a/include/vbahelper/vbapropvalue.hxx b/include/vbahelper/vbapropvalue.hxx
index 0abc159..072578d 100644
--- a/include/vbahelper/vbapropvalue.hxx
+++ b/include/vbahelper/vbapropvalue.hxx
@@ -19,11 +19,11 @@
 #ifndef SC_VBA_PROPVALULE_HXX
 #define SC_VBA_PROPVALULE_HXX
 #include <ooo/vba/XPropValue.hpp>
-#include <cppuhelper/implbase1.hxx>
+#include <cppuhelper/implbase.hxx>
 
 #include <vbahelper/vbahelper.hxx>
 
-typedef ::cppu::WeakImplHelper1< ov::XPropValue > PropValueImpl_BASE;
+typedef ::cppu::WeakImplHelper< ov::XPropValue > PropValueImpl_BASE;
 
 class VBAHELPER_DLLPUBLIC PropListener
 {
diff --git a/include/vbahelper/vbareturntypes.hxx b/include/vbahelper/vbareturntypes.hxx
index 99885d6..2c5b387 100644
--- a/include/vbahelper/vbareturntypes.hxx
+++ b/include/vbahelper/vbareturntypes.hxx
@@ -19,7 +19,7 @@
 #ifndef INCLUDED_VBAHELPER_VBARETURNTYPES_HXX
 #define INCLUDED_VBAHELPER_VBARETURNTYPES_HXX
 
-#include <cppuhelper/implbase1.hxx>
+#include <cppuhelper/implbase.hxx>
 #include <com/sun/star/script/XDefaultProperty.hpp>
 #include <ooo/vba/msforms/XReturnInteger.hpp>
 #include <ooo/vba/msforms/XReturnBoolean.hpp>
@@ -34,7 +34,7 @@ namespace ooo
     namespace vba
     {
         template< typename T1,  typename T2 >
-        class DefaultReturnHelper : public ::cppu::WeakImplHelper2< T2, css::script::XDefaultProperty >
+        class DefaultReturnHelper : public ::cppu::WeakImplHelper< T2, css::script::XDefaultProperty >
         {
             T1 mnValue;
             public:
diff --git a/include/vbahelper/vbashape.hxx b/include/vbahelper/vbashape.hxx
index 5cedd99..0670b39 100644
--- a/include/vbahelper/vbashape.hxx
+++ b/include/vbahelper/vbashape.hxx
@@ -26,11 +26,11 @@
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <ooo/vba/msforms/XShape.hpp>
 #include <ooo/vba/msforms/XLineFormat.hpp>
-#include <cppuhelper/implbase2.hxx>
+#include <cppuhelper/implbase.hxx>
 
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef  ::cppu::WeakImplHelper2< ov::msforms::XShape, css::lang::XEventListener > ListeningShape;
+typedef  ::cppu::WeakImplHelper< ov::msforms::XShape, css::lang::XEventListener > ListeningShape;
 
 typedef InheritedHelperInterfaceImpl< ListeningShape > ScVbaShape_BASE;
 
diff --git a/include/vbahelper/vbatextframe.hxx b/include/vbahelper/vbatextframe.hxx
index 5a17563..ea6c892 100644
--- a/include/vbahelper/vbatextframe.hxx
+++ b/include/vbahelper/vbatextframe.hxx
@@ -23,7 +23,7 @@
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ov::msforms::XTextFrame > VbaTextFrame_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::msforms::XTextFrame > VbaTextFrame_BASE;
 
 class VBAHELPER_DLLPUBLIC VbaTextFrame : public VbaTextFrame_BASE
 {
diff --git a/include/vbahelper/vbawindowbase.hxx b/include/vbahelper/vbawindowbase.hxx
index cd2b8a7..b8c70ed 100644
--- a/include/vbahelper/vbawindowbase.hxx
+++ b/include/vbahelper/vbawindowbase.hxx
@@ -25,7 +25,7 @@
 #include <com/sun/star/frame/XController.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ov::XWindowBase > WindowBaseImpl_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::XWindowBase > WindowBaseImpl_BASE;
 
 class VBAHELPER_DLLPUBLIC VbaWindowBase : public WindowBaseImpl_BASE
 {
diff --git a/sc/source/ui/vba/vbaaxis.hxx b/sc/source/ui/vba/vbaaxis.hxx
index 6f10b66..d60eb29 100644
--- a/sc/source/ui/vba/vbaaxis.hxx
+++ b/sc/source/ui/vba/vbaaxis.hxx
@@ -23,7 +23,7 @@
 #include <ooo/vba/excel/XChart.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 #include <memory>
-typedef InheritedHelperInterfaceImpl1< ov::excel::XAxis >  ScVbaAxis_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::excel::XAxis >  ScVbaAxis_BASE;
 class ScVbaChart;
 class ScVbaAxis : public ScVbaAxis_BASE
 {
diff --git a/sc/source/ui/vba/vbaborders.cxx b/sc/source/ui/vba/vbaborders.cxx
index b540585..7f94c6b 100644
--- a/sc/source/ui/vba/vbaborders.cxx
+++ b/sc/source/ui/vba/vbaborders.cxx
@@ -35,7 +35,7 @@ using namespace ::ooo::vba;
 using namespace ::ooo::vba::excel;
 
 typedef ::cppu::WeakImplHelper<container::XIndexAccess > RangeBorders_Base;
-typedef InheritedHelperInterfaceImpl1<excel::XBorder > ScVbaBorder_Base;
+typedef InheritedHelperInterfaceWeakImpl<excel::XBorder > ScVbaBorder_Base;
 
 // #TODO sort these indexes to match the order in which Excel iterates over the
 // borders, the enumeration will match the order in this list
diff --git a/sc/source/ui/vba/vbacharacters.hxx b/sc/source/ui/vba/vbacharacters.hxx
index d91bd3f..03853af 100644
--- a/sc/source/ui/vba/vbacharacters.hxx
+++ b/sc/source/ui/vba/vbacharacters.hxx
@@ -25,7 +25,7 @@
 
 #include <vbahelper/vbahelperinterface.hxx>
 #include "vbapalette.hxx"
-typedef InheritedHelperInterfaceImpl1< ov::excel::XCharacters > ScVbaCharacters_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::excel::XCharacters > ScVbaCharacters_BASE;
 
 class ScVbaCharacters : public ScVbaCharacters_BASE
 {
diff --git a/sc/source/ui/vba/vbachart.hxx b/sc/source/ui/vba/vbachart.hxx
index 34cfb47..e80f7c2 100644
--- a/sc/source/ui/vba/vbachart.hxx
+++ b/sc/source/ui/vba/vbachart.hxx
@@ -33,7 +33,7 @@
 #include <ooo/vba/excel/XSeries.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1<ov::excel::XChart > ChartImpl_BASE;
+typedef InheritedHelperInterfaceWeakImpl<ov::excel::XChart > ChartImpl_BASE;
 
 class ScVbaChart : public ChartImpl_BASE
 {
diff --git a/sc/source/ui/vba/vbachartobject.hxx b/sc/source/ui/vba/vbachartobject.hxx
index cdf5cea..081dc43 100644
--- a/sc/source/ui/vba/vbachartobject.hxx
+++ b/sc/source/ui/vba/vbachartobject.hxx
@@ -29,7 +29,7 @@
 #include <vbahelper/vbahelperinterface.hxx>
 #include <memory>
 
-typedef InheritedHelperInterfaceImpl1<ov::excel::XChartObject > ChartObjectImpl_BASE;
+typedef InheritedHelperInterfaceWeakImpl<ov::excel::XChartObject > ChartObjectImpl_BASE;
 
 class ScVbaChartObject : public ChartObjectImpl_BASE
 {
diff --git a/sc/source/ui/vba/vbacomment.hxx b/sc/source/ui/vba/vbacomment.hxx
index 9f7e004..1ad3d50 100644
--- a/sc/source/ui/vba/vbacomment.hxx
+++ b/sc/source/ui/vba/vbacomment.hxx
@@ -29,7 +29,7 @@
 
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ov::excel::XComment > ScVbaComment_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::excel::XComment > ScVbaComment_BASE;
 
 class ScVbaComment : public ScVbaComment_BASE
 {
diff --git a/sc/source/ui/vba/vbacondition.cxx b/sc/source/ui/vba/vbacondition.cxx
index 2b60b2f..32ebb1c 100644
--- a/sc/source/ui/vba/vbacondition.cxx
+++ b/sc/source/ui/vba/vbacondition.cxx
@@ -28,15 +28,15 @@ using namespace ::com::sun::star;
 
 const sal_Int32 ISFORMULA = 98765432;
 
-template< typename Ifc1 >
-ScVbaCondition< Ifc1 >::ScVbaCondition(  const uno::Reference< XHelperInterface >& xParent, const uno::Reference< uno::XComponentContext > & xContext, const uno::Reference< sheet::XSheetCondition >& _xSheetCondition ) : ScVbaCondition_BASE( xParent, xContext ), mxSheetCondition( _xSheetCondition )
+template< typename... Ifc >
+ScVbaCondition< Ifc... >::ScVbaCondition(  const uno::Reference< XHelperInterface >& xParent, const uno::Reference< uno::XComponentContext > & xContext, const uno::Reference< sheet::XSheetCondition >& _xSheetCondition ) : ScVbaCondition_BASE( xParent, xContext ), mxSheetCondition( _xSheetCondition )
 {
     mxAddressable.set( xParent, uno::UNO_QUERY_THROW );
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 sheet::ConditionOperator
-ScVbaCondition< Ifc1 >::retrieveAPIOperator( const uno::Any& _aOperator) throw ( script::BasicErrorException )
+ScVbaCondition< Ifc... >::retrieveAPIOperator( const uno::Any& _aOperator) throw ( script::BasicErrorException )
 {
     sheet::ConditionOperator aRetAPIOperator = sheet::ConditionOperator_NONE;
     sal_Int32 nOperator = 0;
@@ -76,23 +76,23 @@ ScVbaCondition< Ifc1 >::retrieveAPIOperator( const uno::Any& _aOperator) throw (
     return aRetAPIOperator;
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 OUString
-ScVbaCondition< Ifc1 >::Formula1( ) throw ( script::BasicErrorException, uno::RuntimeException )
+ScVbaCondition< Ifc... >::Formula1( ) throw ( script::BasicErrorException, uno::RuntimeException )
 {
      return mxSheetCondition->getFormula1();
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 OUString
-ScVbaCondition< Ifc1 >::Formula2( ) throw ( script::BasicErrorException, uno::RuntimeException )
+ScVbaCondition< Ifc... >::Formula2( ) throw ( script::BasicErrorException, uno::RuntimeException )
 {
      return mxSheetCondition->getFormula2();
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 void
-ScVbaCondition< Ifc1 >::setFormula1( const uno::Any& _aFormula1) throw ( script::BasicErrorException )
+ScVbaCondition< Ifc... >::setFormula1( const uno::Any& _aFormula1) throw ( script::BasicErrorException )
 {
     OUString sFormula;
     if ( (_aFormula1 >>= sFormula ))
@@ -104,9 +104,9 @@ ScVbaCondition< Ifc1 >::setFormula1( const uno::Any& _aFormula1) throw ( script:
     }
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 void
-ScVbaCondition< Ifc1 >::setFormula2( const uno::Any& _aFormula2) throw ( script::BasicErrorException )
+ScVbaCondition< Ifc... >::setFormula2( const uno::Any& _aFormula2) throw ( script::BasicErrorException )
 {
     OUString sFormula2;
     // #TODO surely this can't be right?
@@ -115,9 +115,9 @@ ScVbaCondition< Ifc1 >::setFormula2( const uno::Any& _aFormula2) throw ( script:
         mxSheetCondition->setFormula1(sFormula2);
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 sal_Int32
-ScVbaCondition< Ifc1 >::Operator(bool _bIncludeFormulaValue) throw ( script::BasicErrorException )
+ScVbaCondition< Ifc... >::Operator(bool _bIncludeFormulaValue) throw ( script::BasicErrorException )
 {
     sal_Int32 retvalue = -1;
     sheet::ConditionOperator aConditionalOperator =  mxSheetCondition->getOperator();
diff --git a/sc/source/ui/vba/vbacondition.hxx b/sc/source/ui/vba/vbacondition.hxx
index c6e0b33..3c96a5d6 100644
--- a/sc/source/ui/vba/vbacondition.hxx
+++ b/sc/source/ui/vba/vbacondition.hxx
@@ -23,10 +23,10 @@
 #include <vbahelper/vbahelperinterface.hxx>
 #include <com/sun/star/sheet/ConditionOperator.hpp>
 
-template< typename Ifc1 >
-class ScVbaCondition : public InheritedHelperInterfaceImpl1< Ifc1 >
+template< typename... Ifc >
+class ScVbaCondition : public InheritedHelperInterfaceWeakImpl< Ifc... >
 {
-typedef InheritedHelperInterfaceImpl1< Ifc1 > ScVbaCondition_BASE;
+typedef InheritedHelperInterfaceWeakImpl< Ifc... > ScVbaCondition_BASE;
 protected:
     css::uno::Reference< css::sheet::XCellRangeAddressable > mxAddressable;
     css::uno::Reference< css::sheet::XSheetCondition > mxSheetCondition;
diff --git a/sc/source/ui/vba/vbaformat.cxx b/sc/source/ui/vba/vbaformat.cxx
index 14a68b7..42aaa8f 100644
--- a/sc/source/ui/vba/vbaformat.cxx
+++ b/sc/source/ui/vba/vbaformat.cxx
@@ -49,8 +49,8 @@ using namespace ::com::sun::star;
 #define FORMATSTRING "FormatString"
 #define LOCALE "Locale"
 
-template< typename Ifc1 >
-ScVbaFormat< Ifc1 >::ScVbaFormat( const uno::Reference< XHelperInterface >& xParent, const uno::Reference< uno::XComponentContext > & xContext, const uno::Reference< beans::XPropertySet >& _xPropertySet, const uno::Reference< frame::XModel >& xModel, bool bCheckAmbiguoity ) throw ( script::BasicErrorException ) : ScVbaFormat_BASE( xParent, xContext ), m_aDefaultLocale( OUString("en"), OUString( "US"), OUString() ), mxPropertySet( _xPropertySet ), mxModel( xModel ), mbCheckAmbiguoity( bCheckAmbiguoity ), mbAddIndent( false )
+template< typename... Ifc >
+ScVbaFormat< Ifc... >::ScVbaFormat( const uno::Reference< XHelperInterface >& xParent, const uno::Reference< uno::XComponentContext > & xContext, const uno::Reference< beans::XPropertySet >& _xPropertySet, const uno::Reference< frame::XModel >& xModel, bool bCheckAmbiguoity ) throw ( script::BasicErrorException ) : ScVbaFormat_BASE( xParent, xContext ), m_aDefaultLocale( OUString("en"), OUString( "US"), OUString() ), mxPropertySet( _xPropertySet ), mxModel( xModel ), mbCheckAmbiguoity( bCheckAmbiguoity ), mbAddIndent( false )
 {
     try
     {
@@ -65,9 +65,9 @@ ScVbaFormat< Ifc1 >::ScVbaFormat( const uno::Reference< XHelperInterface >& xPar
     }
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 void SAL_CALL
-ScVbaFormat<Ifc1>::setVerticalAlignment( const uno::Any& _oAlignment)   throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::setVerticalAlignment( const uno::Any& _oAlignment)   throw (script::BasicErrorException, uno::RuntimeException)
 {
     try
     {
@@ -103,9 +103,9 @@ ScVbaFormat<Ifc1>::setVerticalAlignment( const uno::Any& _oAlignment)   throw (s
     }
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 uno::Any SAL_CALL
-ScVbaFormat<Ifc1>::getVerticalAlignment(  ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::getVerticalAlignment(  ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     uno::Any aResult = aNULL();
     try
@@ -140,9 +140,9 @@ ScVbaFormat<Ifc1>::getVerticalAlignment(  ) throw (script::BasicErrorException,
     return aResult;
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 void SAL_CALL
-ScVbaFormat<Ifc1>::setHorizontalAlignment( const uno::Any& HorizontalAlignment ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::setHorizontalAlignment( const uno::Any& HorizontalAlignment ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     try
     {
@@ -180,9 +180,9 @@ ScVbaFormat<Ifc1>::setHorizontalAlignment( const uno::Any& HorizontalAlignment )
 
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 uno::Any SAL_CALL
-ScVbaFormat<Ifc1>::getHorizontalAlignment(  ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::getHorizontalAlignment(  ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     uno::Any NRetAlignment = aNULL();
     try
@@ -221,9 +221,9 @@ ScVbaFormat<Ifc1>::getHorizontalAlignment(  ) throw (script::BasicErrorException
     return NRetAlignment;
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 void SAL_CALL
-ScVbaFormat<Ifc1>::setOrientation( const uno::Any& _aOrientation ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::setOrientation( const uno::Any& _aOrientation ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     try
     {
@@ -258,9 +258,9 @@ ScVbaFormat<Ifc1>::setOrientation( const uno::Any& _aOrientation ) throw (script
         DebugHelper::basicexception(ERRCODE_BASIC_METHOD_FAILED, OUString() );
     }
 }
-template< typename Ifc1 >
+template< typename... Ifc >
 uno::Any SAL_CALL
-ScVbaFormat<Ifc1>::getOrientation(  ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::getOrientation(  ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     uno::Any NRetOrientation = aNULL();
     try
@@ -297,9 +297,9 @@ ScVbaFormat<Ifc1>::getOrientation(  ) throw (script::BasicErrorException, uno::R
     return NRetOrientation;
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 void SAL_CALL
-ScVbaFormat<Ifc1>::setWrapText( const uno::Any& _aWrapText ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::setWrapText( const uno::Any& _aWrapText ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     try
     {
@@ -311,9 +311,9 @@ ScVbaFormat<Ifc1>::setWrapText( const uno::Any& _aWrapText ) throw (script::Basi
     }
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 uno::Any SAL_CALL
-ScVbaFormat<Ifc1>::getWrapText(  ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::getWrapText(  ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     uno::Any aWrap = aNULL();
     try
@@ -331,9 +331,9 @@ ScVbaFormat<Ifc1>::getWrapText(  ) throw (script::BasicErrorException, uno::Runt
     return aWrap;
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 uno::Any SAL_CALL
-ScVbaFormat<Ifc1>::Borders( const uno::Any& Index ) throw (script::BasicErrorException, uno::RuntimeException )
+ScVbaFormat< Ifc... >::Borders( const uno::Any& Index ) throw (script::BasicErrorException, uno::RuntimeException )
 {
     ScVbaPalette aPalette( excel::getDocShell( mxModel ) );
     uno::Reference< XCollection > xColl =  new ScVbaBorders( thisHelperIface(), ScVbaFormat_BASE::mxContext, uno::Reference< table::XCellRange >( mxPropertySet, uno::UNO_QUERY_THROW ), aPalette );
@@ -345,24 +345,24 @@ ScVbaFormat<Ifc1>::Borders( const uno::Any& Index ) throw (script::BasicErrorExc
     return uno::makeAny( xColl );
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 uno::Reference< excel::XFont > SAL_CALL
-ScVbaFormat<Ifc1>::Font(  ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::Font(  ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     ScVbaPalette aPalette( excel::getDocShell( mxModel ) );
     return new ScVbaFont( thisHelperIface(), ScVbaFormat_BASE::mxContext, aPalette, mxPropertySet );
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 uno::Reference< excel::XInterior > SAL_CALL
-ScVbaFormat<Ifc1>::Interior(  ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::Interior(  ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     return new ScVbaInterior( thisHelperIface(), ScVbaFormat_BASE::mxContext, mxPropertySet );
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 uno::Any SAL_CALL
-ScVbaFormat<Ifc1>::getNumberFormatLocal(  ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::getNumberFormatLocal(  ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     uno::Any aRet = uno::makeAny( OUString() );
     try
@@ -391,9 +391,9 @@ ScVbaFormat<Ifc1>::getNumberFormatLocal(  ) throw (script::BasicErrorException,
 
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 void SAL_CALL
-ScVbaFormat<Ifc1>::setNumberFormatLocal( const uno::Any& _oLocalFormatString ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::setNumberFormatLocal( const uno::Any& _oLocalFormatString ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     try
     {
@@ -420,9 +420,9 @@ ScVbaFormat<Ifc1>::setNumberFormatLocal( const uno::Any& _oLocalFormatString ) t
     }
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 void SAL_CALL
-ScVbaFormat<Ifc1>::setNumberFormat( const uno::Any& _oFormatString ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::setNumberFormat( const uno::Any& _oFormatString ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     try
     {
@@ -451,9 +451,9 @@ ScVbaFormat<Ifc1>::setNumberFormat( const uno::Any& _oFormatString ) throw (scri
 
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 void SAL_CALL
-ScVbaFormat<Ifc1>::setIndentLevel( const uno::Any& _aLevel ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::setIndentLevel( const uno::Any& _aLevel ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     try
     {
@@ -475,9 +475,9 @@ ScVbaFormat<Ifc1>::setIndentLevel( const uno::Any& _aLevel ) throw (script::Basi
     }
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 uno::Any SAL_CALL
-ScVbaFormat<Ifc1>::getIndentLevel(  ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::getIndentLevel(  ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     uno::Any NRetIndentLevel = aNULL();
     try
@@ -499,9 +499,9 @@ ScVbaFormat<Ifc1>::getIndentLevel(  ) throw (script::BasicErrorException, uno::R
     return NRetIndentLevel;
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 void SAL_CALL
-ScVbaFormat<Ifc1>::setLocked( const uno::Any& _aLocked ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::setLocked( const uno::Any& _aLocked ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     try
     {
@@ -520,9 +520,9 @@ ScVbaFormat<Ifc1>::setLocked( const uno::Any& _aLocked ) throw (script::BasicErr
     }
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 void SAL_CALL
-ScVbaFormat<Ifc1>::setFormulaHidden( const uno::Any& FormulaHidden ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::setFormulaHidden( const uno::Any& FormulaHidden ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     try
     {
@@ -540,9 +540,9 @@ ScVbaFormat<Ifc1>::setFormulaHidden( const uno::Any& FormulaHidden ) throw (scri
     }
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 uno::Any SAL_CALL
-ScVbaFormat<Ifc1>::getLocked(  ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::getLocked(  ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     uno::Any aCellProtection = aNULL();
     try
@@ -574,9 +574,9 @@ ScVbaFormat<Ifc1>::getLocked(  ) throw (script::BasicErrorException, uno::Runtim
     return aCellProtection;
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 uno::Any SAL_CALL
-ScVbaFormat<Ifc1>::getFormulaHidden(  ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::getFormulaHidden(  ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     uno::Any aBoolRet = aNULL();
     try
@@ -607,9 +607,9 @@ ScVbaFormat<Ifc1>::getFormulaHidden(  ) throw (script::BasicErrorException, uno:
     return aBoolRet;
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 void SAL_CALL
-ScVbaFormat<Ifc1>::setShrinkToFit( const uno::Any& ShrinkToFit ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::setShrinkToFit( const uno::Any& ShrinkToFit ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     try
     {
@@ -622,9 +622,9 @@ ScVbaFormat<Ifc1>::setShrinkToFit( const uno::Any& ShrinkToFit ) throw (script::
 
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 uno::Any SAL_CALL
-ScVbaFormat<Ifc1>::getShrinkToFit(  ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::getShrinkToFit(  ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     uno::Any aRet = aNULL();
     try
@@ -640,9 +640,9 @@ ScVbaFormat<Ifc1>::getShrinkToFit(  ) throw (script::BasicErrorException, uno::R
     return aRet;
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 void SAL_CALL
-ScVbaFormat<Ifc1>::setReadingOrder( const uno::Any& ReadingOrder ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::setReadingOrder( const uno::Any& ReadingOrder ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     try
     {
@@ -673,9 +673,9 @@ ScVbaFormat<Ifc1>::setReadingOrder( const uno::Any& ReadingOrder ) throw (script
 
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 uno::Any SAL_CALL
-ScVbaFormat<Ifc1>::getReadingOrder(  ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::getReadingOrder(  ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     uno::Any NRetReadingOrder = aNULL();
     try
@@ -705,9 +705,9 @@ ScVbaFormat<Ifc1>::getReadingOrder(  ) throw (script::BasicErrorException, uno::
 
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 uno::Any SAL_CALL
-ScVbaFormat< Ifc1 >::getNumberFormat(  ) throw (script::BasicErrorException, uno::RuntimeException)
+ScVbaFormat< Ifc... >::getNumberFormat(  ) throw (script::BasicErrorException, uno::RuntimeException)
 {
     uno::Any aFormat = aNULL();
     try
@@ -732,9 +732,9 @@ ScVbaFormat< Ifc1 >::getNumberFormat(  ) throw (script::BasicErrorException, uno
     return aFormat;
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 bool
-ScVbaFormat<Ifc1>::isAmbiguous(const OUString& _sPropertyName) throw ( script::BasicErrorException )
+ScVbaFormat< Ifc... >::isAmbiguous(const OUString& _sPropertyName) throw ( script::BasicErrorException )
 {
     bool bResult = false;
     try
@@ -749,9 +749,9 @@ ScVbaFormat<Ifc1>::isAmbiguous(const OUString& _sPropertyName) throw ( script::B
     return bResult;
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 void
-ScVbaFormat<Ifc1>::initializeNumberFormats() throw ( script::BasicErrorException, uno::RuntimeException )
+ScVbaFormat< Ifc... >::initializeNumberFormats() throw ( script::BasicErrorException, uno::RuntimeException )
 {
     if ( !xNumberFormats.is() )
     {
@@ -761,25 +761,25 @@ ScVbaFormat<Ifc1>::initializeNumberFormats() throw ( script::BasicErrorException
     }
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 uno::Reference< beans::XPropertyState >
-ScVbaFormat<Ifc1>::getXPropertyState() throw ( uno::RuntimeException )
+ScVbaFormat< Ifc... >::getXPropertyState() throw ( uno::RuntimeException )
 {
     if ( !xPropertyState.is() )
         xPropertyState.set( mxPropertySet, uno::UNO_QUERY_THROW );
     return xPropertyState;
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 ScCellRangesBase*
-ScVbaFormat<Ifc1>::getCellRangesBase() throw ( ::uno::RuntimeException )
+ScVbaFormat< Ifc... >::getCellRangesBase() throw ( ::uno::RuntimeException )
 {
     return ScCellRangesBase::getImplementation( mxPropertySet );
 }
 
-template< typename Ifc1 >
+template< typename... Ifc >
 SfxItemSet*
-ScVbaFormat<Ifc1>::getCurrentDataSet( ) throw ( uno::RuntimeException )
+ScVbaFormat< Ifc... >::getCurrentDataSet( ) throw ( uno::RuntimeException )
 {
     SfxItemSet* pDataSet = excel::ScVbaCellRangeAccess::GetDataSet( getCellRangesBase() );
     if ( !pDataSet )
diff --git a/sc/source/ui/vba/vbaformat.hxx b/sc/source/ui/vba/vbaformat.hxx
index e06db33..0f2d9c8 100644
--- a/sc/source/ui/vba/vbaformat.hxx
+++ b/sc/source/ui/vba/vbaformat.hxx
@@ -32,10 +32,10 @@
 
 class ScCellRangesBase;
 
-template< typename Ifc1 >
-class ScVbaFormat : public InheritedHelperInterfaceImpl1< Ifc1 >
+template< typename... Ifc >
+class ScVbaFormat : public InheritedHelperInterfaceWeakImpl< Ifc... >
 {
-typedef InheritedHelperInterfaceImpl1< Ifc1 > ScVbaFormat_BASE;
+typedef InheritedHelperInterfaceWeakImpl< Ifc... > ScVbaFormat_BASE;
     css::lang::Locale m_aDefaultLocale;
 protected:
     css::lang::Locale getDefaultLocale() { return m_aDefaultLocale; }
diff --git a/sc/source/ui/vba/vbahyperlink.hxx b/sc/source/ui/vba/vbahyperlink.hxx
index 45991a2..11b3d53d 100644
--- a/sc/source/ui/vba/vbahyperlink.hxx
+++ b/sc/source/ui/vba/vbahyperlink.hxx
@@ -27,7 +27,7 @@
 
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ov::excel::XHyperlink > HyperlinkImpl_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::excel::XHyperlink > HyperlinkImpl_BASE;
 
 class ScVbaHyperlink : public HyperlinkImpl_BASE
 {
diff --git a/sc/source/ui/vba/vbainterior.hxx b/sc/source/ui/vba/vbainterior.hxx
index 59e03b4..764af6c 100644
--- a/sc/source/ui/vba/vbainterior.hxx
+++ b/sc/source/ui/vba/vbainterior.hxx
@@ -32,7 +32,7 @@
 
 class ScDocument;
 
-typedef InheritedHelperInterfaceImpl1< ov::excel::XInterior > ScVbaInterior_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::excel::XInterior > ScVbaInterior_BASE;
 
 class ScVbaInterior :  public ScVbaInterior_BASE
 {
diff --git a/sc/source/ui/vba/vbamenu.hxx b/sc/source/ui/vba/vbamenu.hxx
index bbc557b..44792a2 100644
--- a/sc/source/ui/vba/vbamenu.hxx
+++ b/sc/source/ui/vba/vbamenu.hxx
@@ -13,7 +13,7 @@
 #include <ooo/vba/XCommandBarControl.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ov::excel::XMenu > Menu_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::excel::XMenu > Menu_BASE;
 
 class ScVbaMenu : public Menu_BASE
 {
diff --git a/sc/source/ui/vba/vbamenubar.hxx b/sc/source/ui/vba/vbamenubar.hxx
index 919da5f..ded89e2 100644
--- a/sc/source/ui/vba/vbamenubar.hxx
+++ b/sc/source/ui/vba/vbamenubar.hxx
@@ -13,7 +13,7 @@
 #include <ooo/vba/XCommandBar.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ov::excel::XMenuBar > MenuBar_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::excel::XMenuBar > MenuBar_BASE;
 
 class ScVbaMenuBar : public MenuBar_BASE
 {
diff --git a/sc/source/ui/vba/vbamenuitem.hxx b/sc/source/ui/vba/vbamenuitem.hxx
index 3bb9a1d..4165aab 100644
--- a/sc/source/ui/vba/vbamenuitem.hxx
+++ b/sc/source/ui/vba/vbamenuitem.hxx
@@ -13,7 +13,7 @@
 #include <ooo/vba/XCommandBarControl.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ov::excel::XMenuItem > MenuItem_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::excel::XMenuItem > MenuItem_BASE;
 
 class ScVbaMenuItem : public MenuItem_BASE
 {
diff --git a/sc/source/ui/vba/vbaname.hxx b/sc/source/ui/vba/vbaname.hxx
index a416c21..0fc0072 100644
--- a/sc/source/ui/vba/vbaname.hxx
+++ b/sc/source/ui/vba/vbaname.hxx
@@ -27,7 +27,7 @@
 #include <formula/grammar.hxx>
 class ScDocument;
 
-typedef InheritedHelperInterfaceImpl1< ov::excel::XName > NameImpl_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::excel::XName > NameImpl_BASE;
 
 class ScVbaName : public NameImpl_BASE
 {
diff --git a/sc/source/ui/vba/vbaoleobject.hxx b/sc/source/ui/vba/vbaoleobject.hxx
index aa02152..7daa4a6 100644
--- a/sc/source/ui/vba/vbaoleobject.hxx
+++ b/sc/source/ui/vba/vbaoleobject.hxx
@@ -25,7 +25,7 @@
 
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ov::excel::XOLEObject > OLEObjectImpl_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::excel::XOLEObject > OLEObjectImpl_BASE;
 
 class ScVbaOLEObject : public OLEObjectImpl_BASE
 {
diff --git a/sc/source/ui/vba/vbaoutline.hxx b/sc/source/ui/vba/vbaoutline.hxx
index 3e7201d..40640ee 100644
--- a/sc/source/ui/vba/vbaoutline.hxx
+++ b/sc/source/ui/vba/vbaoutline.hxx
@@ -24,7 +24,7 @@
 #include <com/sun/star/uno/XComponentContext.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ov::excel::XOutline > ScVbaOutline_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::excel::XOutline > ScVbaOutline_BASE;
 
 class ScVbaOutline :  public ScVbaOutline_BASE
 {
diff --git a/sc/source/ui/vba/vbapagebreak.cxx b/sc/source/ui/vba/vbapagebreak.cxx
index 2674c40..34584e4 100644
--- a/sc/source/ui/vba/vbapagebreak.cxx
+++ b/sc/source/ui/vba/vbapagebreak.cxx
@@ -22,8 +22,8 @@
 using namespace ::com::sun::star;
 using namespace ::ooo::vba;
 
-template< typename Ifc1 >
-ScVbaPageBreak<Ifc1>::ScVbaPageBreak( const uno::Reference< XHelperInterface >& xParent,
+template< typename... Ifc >
+ScVbaPageBreak< Ifc... >::ScVbaPageBreak( const uno::Reference< XHelperInterface >& xParent,
                     const uno::Reference< uno::XComponentContext >& xContext,
                     uno::Reference< beans::XPropertySet >& xProps,
                     sheet::TablePageBreakData aTablePageBreakData) throw (uno::RuntimeException):
@@ -33,8 +33,8 @@ ScVbaPageBreak<Ifc1>::ScVbaPageBreak( const uno::Reference< XHelperInterface >&
 {
 }
 
-template< typename Ifc1 >
-sal_Int32 ScVbaPageBreak<Ifc1>::getType() throw (uno::RuntimeException)
+template< typename... Ifc >
+sal_Int32 ScVbaPageBreak< Ifc... >::getType() throw (uno::RuntimeException)
 {
     uno::Any aValue = mxRowColPropertySet->getPropertyValue("IsStartOfNewPage");
     bool hasPageBreak = false;
@@ -49,8 +49,8 @@ sal_Int32 ScVbaPageBreak<Ifc1>::getType() throw (uno::RuntimeException)
     return excel::XlPageBreak::xlPageBreakAutomatic;
 }
 
-template< typename Ifc1 >
-void ScVbaPageBreak<Ifc1>::setType(sal_Int32 type) throw (uno::RuntimeException)
+template< typename... Ifc >
+void ScVbaPageBreak< Ifc... >::setType(sal_Int32 type) throw (uno::RuntimeException)
 {
     if( (type != excel::XlPageBreak::xlPageBreakNone) &&
         (type != excel::XlPageBreak::xlPageBreakManual) &&
@@ -72,14 +72,14 @@ void ScVbaPageBreak<Ifc1>::setType(sal_Int32 type) throw (uno::RuntimeException)
         maTablePageBreakData.ManualBreak = false;
 }
 
-template< typename Ifc1 >
-void ScVbaPageBreak<Ifc1>::Delete() throw ( script::BasicErrorException, uno::RuntimeException)
+template< typename... Ifc >
+void ScVbaPageBreak< Ifc... >::Delete() throw ( script::BasicErrorException, uno::RuntimeException)
 {
     mxRowColPropertySet->setPropertyValue("IsStartOfNewPage", uno::makeAny(sal_False));
 }
 
-template< typename Ifc1 >
-uno::Reference< excel::XRange> ScVbaPageBreak<Ifc1>::Location() throw ( script::BasicErrorException, uno::RuntimeException)
+template< typename... Ifc >
+uno::Reference< excel::XRange> ScVbaPageBreak< Ifc... >::Location() throw ( script::BasicErrorException, uno::RuntimeException)
 {
     uno::Reference< table::XCellRange > xRange( mxRowColPropertySet, uno::UNO_QUERY_THROW );
     return new ScVbaRange( ScVbaPageBreak_BASE::getParent(), ScVbaPageBreak_BASE::mxContext, xRange);
diff --git a/sc/source/ui/vba/vbapagebreak.hxx b/sc/source/ui/vba/vbapagebreak.hxx
index e401210..d14437b 100644
--- a/sc/source/ui/vba/vbapagebreak.hxx
+++ b/sc/source/ui/vba/vbapagebreak.hxx
@@ -29,10 +29,10 @@
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-template< typename Ifc1 >
-class ScVbaPageBreak : public InheritedHelperInterfaceImpl1< Ifc1 >
+template< typename... Ifc >
+class ScVbaPageBreak : public InheritedHelperInterfaceWeakImpl< Ifc... >
 {
-typedef InheritedHelperInterfaceImpl1< Ifc1 > ScVbaPageBreak_BASE;
+typedef InheritedHelperInterfaceWeakImpl< Ifc... > ScVbaPageBreak_BASE;
 protected:
     css::uno::Reference< css::beans::XPropertySet > mxRowColPropertySet;
     css::sheet::TablePageBreakData maTablePageBreakData;
diff --git a/sc/source/ui/vba/vbapivotcache.hxx b/sc/source/ui/vba/vbapivotcache.hxx
index 0b7844b..50b6232 100644
--- a/sc/source/ui/vba/vbapivotcache.hxx
+++ b/sc/source/ui/vba/vbapivotcache.hxx
@@ -24,7 +24,7 @@
 #include <ooo/vba/excel/XPivotCache.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1<ov::excel::XPivotCache > PivotCacheImpl_BASE;
+typedef InheritedHelperInterfaceWeakImpl<ov::excel::XPivotCache > PivotCacheImpl_BASE;
 
 class ScVbaPivotCache : public PivotCacheImpl_BASE
 {
diff --git a/sc/source/ui/vba/vbapivottable.hxx b/sc/source/ui/vba/vbapivottable.hxx
index 0fc35d1..f85a065 100644
--- a/sc/source/ui/vba/vbapivottable.hxx
+++ b/sc/source/ui/vba/vbapivottable.hxx
@@ -24,7 +24,7 @@
 #include "excelvbahelper.hxx"
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ov::excel::XPivotTable >  PivotTableImpl_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::excel::XPivotTable >  PivotTableImpl_BASE;
 
 class ScVbaPivotTable : public PivotTableImpl_BASE
 {
diff --git a/sc/source/ui/vba/vbasheetobject.hxx b/sc/source/ui/vba/vbasheetobject.hxx
index 5451aee..bd72c39 100644
--- a/sc/source/ui/vba/vbasheetobject.hxx
+++ b/sc/source/ui/vba/vbasheetobject.hxx
@@ -32,7 +32,7 @@ namespace com { namespace sun { namespace star {
     namespace drawing { class XControlShape; }
 } } }
 
-typedef InheritedHelperInterfaceImpl1< ov::excel::XCharacters > ScVbaButtonCharacters_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::excel::XCharacters > ScVbaButtonCharacters_BASE;
 
 /** Simple implementation of the Characters symbol for drawing button objects. */
 class ScVbaButtonCharacters : public ScVbaButtonCharacters_BASE
@@ -74,7 +74,7 @@ private:
     sal_Int32 mnLength;
 };
 
-typedef InheritedHelperInterfaceImpl1< ov::excel::XSheetObject > ScVbaSheetObject_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::excel::XSheetObject > ScVbaSheetObject_BASE;
 
 /** Base class for drawing objects embedded in sheets. */
 class ScVbaSheetObjectBase : public ScVbaSheetObject_BASE
diff --git a/sc/source/ui/vba/vbatextframe.hxx b/sc/source/ui/vba/vbatextframe.hxx
index 9f5c8dd..ec04471 100644
--- a/sc/source/ui/vba/vbatextframe.hxx
+++ b/sc/source/ui/vba/vbatextframe.hxx
@@ -23,7 +23,7 @@
 #include <vbahelper/vbahelperinterface.hxx>
 #include <vbahelper/vbatextframe.hxx>
 
-//typedef InheritedHelperInterfaceImpl1< ov::excel::XTextFrame > ScVbaTextFrame_BASE;
+//typedef InheritedHelperInterfaceWeakImpl< ov::excel::XTextFrame > ScVbaTextFrame_BASE;
 typedef cppu::ImplInheritanceHelper< VbaTextFrame, ov::excel::XTextFrame > ScVbaTextFrame_BASE;
 
 class ScVbaTextFrame : public ScVbaTextFrame_BASE
diff --git a/sc/source/ui/vba/vbatitle.hxx b/sc/source/ui/vba/vbatitle.hxx
index 4fe7f6c..53d7db4 100644
--- a/sc/source/ui/vba/vbatitle.hxx
+++ b/sc/source/ui/vba/vbatitle.hxx
@@ -31,10 +31,10 @@
 #include <basic/sberrors.hxx>
 #include <memory>
 
-template< typename Ifc1 >
-class TitleImpl : public InheritedHelperInterfaceImpl< Ifc1 >
+template< typename... Ifc >
+class TitleImpl : public InheritedHelperInterfaceImpl< Ifc... >
 {
-typedef InheritedHelperInterfaceImpl< Ifc1 > BaseClass;
+typedef InheritedHelperInterfaceImpl< Ifc... > BaseClass;
 
 protected:
     css::uno::Reference< css::drawing::XShape > xTitleShape;
diff --git a/sc/source/ui/vba/vbavalidation.hxx b/sc/source/ui/vba/vbavalidation.hxx
index 957ecdf..8493cef 100644
--- a/sc/source/ui/vba/vbavalidation.hxx
+++ b/sc/source/ui/vba/vbavalidation.hxx
@@ -23,7 +23,7 @@
 #include <com/sun/star/table/XCellRange.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1<ov::excel::XValidation > ValidationImpl_BASE;
+typedef InheritedHelperInterfaceWeakImpl<ov::excel::XValidation > ValidationImpl_BASE;
 
 class ScVbaValidation : public ValidationImpl_BASE
 {
diff --git a/sc/source/ui/vba/vbaworksheet.hxx b/sc/source/ui/vba/vbaworksheet.hxx
index 94ca544..a6cd833 100644
--- a/sc/source/ui/vba/vbaworksheet.hxx
+++ b/sc/source/ui/vba/vbaworksheet.hxx
@@ -45,7 +45,7 @@ namespace ooo { namespace vba { namespace excel {
 
 class ScVbaSheetObjectsBase;
 
-typedef InheritedHelperInterfaceImpl1< ov::excel::XWorksheet >  WorksheetImpl_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::excel::XWorksheet >  WorksheetImpl_BASE;
 
 class ScVbaWorksheet : public WorksheetImpl_BASE
 {
diff --git a/sc/source/ui/vba/vbawsfunction.hxx b/sc/source/ui/vba/vbawsfunction.hxx
index 69f9e96..8763e97 100644
--- a/sc/source/ui/vba/vbawsfunction.hxx
+++ b/sc/source/ui/vba/vbawsfunction.hxx
@@ -26,7 +26,7 @@
 #include <com/sun/star/beans/XExactName.hpp>
 #include <com/sun/star/container/XNameAccess.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ov::excel::XWorksheetFunction > ScVbaWSFunction_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::excel::XWorksheetFunction > ScVbaWSFunction_BASE;
 
 class ScVbaWSFunction :  public ScVbaWSFunction_BASE
 {
diff --git a/sw/source/ui/vba/vbaaddin.hxx b/sw/source/ui/vba/vbaaddin.hxx
index 2573ee0..3c4180d 100644
--- a/sw/source/ui/vba/vbaaddin.hxx
+++ b/sw/source/ui/vba/vbaaddin.hxx
@@ -21,9 +21,8 @@
 
 #include <ooo/vba/word/XAddin.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XAddin > SwVbaAddin_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XAddin > SwVbaAddin_BASE;
 
 class SwVbaAddin : public SwVbaAddin_BASE
 {
diff --git a/sw/source/ui/vba/vbaapplication.hxx b/sw/source/ui/vba/vbaapplication.hxx
index cf49edc..6b67c816 100644
--- a/sw/source/ui/vba/vbaapplication.hxx
+++ b/sw/source/ui/vba/vbaapplication.hxx
@@ -30,7 +30,7 @@
 #include <vbahelper/vbaapplicationbase.hxx>
 #include <cppuhelper/implbase.hxx>
 
-//typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XApplication > SwVbaApplication_BASE;
+//typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XApplication > SwVbaApplication_BASE;
 typedef cppu::ImplInheritanceHelper< VbaApplicationBase, ooo::vba::word::XApplication > SwVbaApplication_BASE;
 
 class SwVbaApplication : public SwVbaApplication_BASE
diff --git a/sw/source/ui/vba/vbaautotextentry.hxx b/sw/source/ui/vba/vbaautotextentry.hxx
index 5df2d9b..c753c99 100644
--- a/sw/source/ui/vba/vbaautotextentry.hxx
+++ b/sw/source/ui/vba/vbaautotextentry.hxx
@@ -23,11 +23,10 @@
 #include <ooo/vba/word/XAutoTextEntries.hpp>
 #include <ooo/vba/word/XAutoTextEntry.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <ooo/vba/word/XRange.hpp>
 #include <com/sun/star/text/XAutoTextEntry.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XAutoTextEntry > SwVbaAutoTextEntry_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XAutoTextEntry > SwVbaAutoTextEntry_BASE;
 
 class SwVbaAutoTextEntry : public SwVbaAutoTextEntry_BASE
 {
diff --git a/sw/source/ui/vba/vbabookmark.hxx b/sw/source/ui/vba/vbabookmark.hxx
index 38fa40c..a1065d5 100644
--- a/sw/source/ui/vba/vbabookmark.hxx
+++ b/sw/source/ui/vba/vbabookmark.hxx
@@ -21,11 +21,10 @@
 
 #include <ooo/vba/word/XBookmark.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/text/XBookmarksSupplier.hpp>
 #include <com/sun/star/text/XTextContent.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XBookmark > SwVbaBookmark_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XBookmark > SwVbaBookmark_BASE;
 
 class SwVbaBookmark : public SwVbaBookmark_BASE
 {
diff --git a/sw/source/ui/vba/vbaborders.cxx b/sw/source/ui/vba/vbaborders.cxx
index 2920186..29f7523 100644
--- a/sw/source/ui/vba/vbaborders.cxx
+++ b/sw/source/ui/vba/vbaborders.cxx
@@ -32,7 +32,7 @@ using namespace ::com::sun::star;
 using namespace ::ooo::vba;
 
 typedef ::cppu::WeakImplHelper<container::XIndexAccess > RangeBorders_Base;
-typedef InheritedHelperInterfaceImpl1<word::XBorder > SwVbaBorder_Base;
+typedef InheritedHelperInterfaceWeakImpl<word::XBorder > SwVbaBorder_Base;
 
 // #TODO sort these indexes to match the order in which Word iterates over the
 // borders, the enumeration will match the order in this list
diff --git a/sw/source/ui/vba/vbacell.hxx b/sw/source/ui/vba/vbacell.hxx
index 633d732..a71b2dc 100644
--- a/sw/source/ui/vba/vbacell.hxx
+++ b/sw/source/ui/vba/vbacell.hxx
@@ -21,10 +21,9 @@
 
 #include <ooo/vba/word/XCell.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/text/XTextTable.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XCell > SwVbaCell_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XCell > SwVbaCell_BASE;
 
 class SwVbaCell : public SwVbaCell_BASE
 {
diff --git a/sw/source/ui/vba/vbacheckbox.hxx b/sw/source/ui/vba/vbacheckbox.hxx
index e59c31f..68d5ed9 100644
--- a/sw/source/ui/vba/vbacheckbox.hxx
+++ b/sw/source/ui/vba/vbacheckbox.hxx
@@ -20,11 +20,10 @@
 #define INCLUDED_SW_SOURCE_UI_VBA_VBACHECKBOX_HXX
 
 #include <ooo/vba/word/XCheckBox.hpp>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/text/XFormField.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XCheckBox > SwVbaCheckBox_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XCheckBox > SwVbaCheckBox_BASE;
 
 class SwVbaCheckBox : public SwVbaCheckBox_BASE
 {
diff --git a/sw/source/ui/vba/vbacolumn.hxx b/sw/source/ui/vba/vbacolumn.hxx
index 26aadab..75c5ec2 100644
--- a/sw/source/ui/vba/vbacolumn.hxx
+++ b/sw/source/ui/vba/vbacolumn.hxx
@@ -21,12 +21,11 @@
 
 #include <ooo/vba/word/XColumn.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/table/XTableColumns.hpp>
 #include <com/sun/star/text/XTextTable.hpp>
 #include <com/sun/star/text/TableColumnSeparator.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XColumn > SwVbaColumn_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XColumn > SwVbaColumn_BASE;
 
 class SwVbaColumn : public SwVbaColumn_BASE
 {
diff --git a/sw/source/ui/vba/vbadocumentproperties.cxx b/sw/source/ui/vba/vbadocumentproperties.cxx
index ba87cee..3089499 100644
--- a/sw/source/ui/vba/vbadocumentproperties.cxx
+++ b/sw/source/ui/vba/vbadocumentproperties.cxx
@@ -439,7 +439,7 @@ public:
     MSOIndexToOODocPropInfo& getDocPropInfoMap() { return m_docPropInfoMap; }
 };
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::XDocumentProperty > SwVbaDocumentProperty_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::XDocumentProperty > SwVbaDocumentProperty_BASE;
 
 class SwVbaBuiltInDocumentProperty : public SwVbaDocumentProperty_BASE
 {
diff --git a/sw/source/ui/vba/vbafield.hxx b/sw/source/ui/vba/vbafield.hxx
index f20893f..991e97f 100644
--- a/sw/source/ui/vba/vbafield.hxx
+++ b/sw/source/ui/vba/vbafield.hxx
@@ -25,7 +25,7 @@
 #include <ooo/vba/word/XFields.hpp>
 #include <vbahelper/vbacollectionimpl.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XField > SwVbaField_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XField > SwVbaField_BASE;
 
 class SwVbaField : public SwVbaField_BASE
 {
diff --git a/sw/source/ui/vba/vbafind.hxx b/sw/source/ui/vba/vbafind.hxx
index f2ff6bb..ff7a8ef 100644
--- a/sw/source/ui/vba/vbafind.hxx
+++ b/sw/source/ui/vba/vbafind.hxx
@@ -21,7 +21,6 @@
 
 #include <ooo/vba/word/XFind.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/text/XTextRange.hpp>
 #include <com/sun/star/util/XReplaceable.hpp>
 #include <com/sun/star/util/XPropertyReplace.hpp>
@@ -29,7 +28,7 @@
 #include <com/sun/star/text/XTextCursor.hpp>
 #include <com/sun/star/view/XSelectionSupplier.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XFind > SwVbaFind_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XFind > SwVbaFind_BASE;
 
 class SwVbaFind : public SwVbaFind_BASE
 {
diff --git a/sw/source/ui/vba/vbaframe.hxx b/sw/source/ui/vba/vbaframe.hxx
index 6b4c125..1936d3d 100644
--- a/sw/source/ui/vba/vbaframe.hxx
+++ b/sw/source/ui/vba/vbaframe.hxx
@@ -21,10 +21,9 @@
 
 #include <ooo/vba/word/XFrame.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/text/XTextFrame.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XFrame > SwVbaFrame_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XFrame > SwVbaFrame_BASE;
 
 class SwVbaFrame : public SwVbaFrame_BASE
 {
diff --git a/sw/source/ui/vba/vbaheaderfooter.hxx b/sw/source/ui/vba/vbaheaderfooter.hxx
index 382f7bf..6a51f4b 100644
--- a/sw/source/ui/vba/vbaheaderfooter.hxx
+++ b/sw/source/ui/vba/vbaheaderfooter.hxx
@@ -22,9 +22,8 @@
 #include <ooo/vba/word/XHeaderFooter.hpp>
 #include <ooo/vba/word/XRange.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XHeaderFooter > SwVbaHeaderFooter_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XHeaderFooter > SwVbaHeaderFooter_BASE;
 
 class SwVbaHeaderFooter : public SwVbaHeaderFooter_BASE
 {
diff --git a/sw/source/ui/vba/vbalistformat.hxx b/sw/source/ui/vba/vbalistformat.hxx
index cb021f1..a3d7350 100644
--- a/sw/source/ui/vba/vbalistformat.hxx
+++ b/sw/source/ui/vba/vbalistformat.hxx
@@ -22,11 +22,10 @@
 #include <ooo/vba/word/XListFormat.hpp>
 #include <ooo/vba/word/XListTemplate.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/text/XTextRange.hpp>
 #include "vbalisthelper.hxx"
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XListFormat > SwVbaListFormat_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XListFormat > SwVbaListFormat_BASE;
 
 class SwVbaListFormat : public SwVbaListFormat_BASE
 {
diff --git a/sw/source/ui/vba/vbalistgallery.hxx b/sw/source/ui/vba/vbalistgallery.hxx
index 9b821fc..a7707fc 100644
--- a/sw/source/ui/vba/vbalistgallery.hxx
+++ b/sw/source/ui/vba/vbalistgallery.hxx
@@ -21,10 +21,9 @@
 
 #include <ooo/vba/word/XListGallery.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/text/XTextDocument.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XListGallery > SwVbaListGallery_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XListGallery > SwVbaListGallery_BASE;
 
 class SwVbaListGallery : public SwVbaListGallery_BASE
 {
diff --git a/sw/source/ui/vba/vbalistlevel.hxx b/sw/source/ui/vba/vbalistlevel.hxx
index eabe9b7..35c6fdb 100644
--- a/sw/source/ui/vba/vbalistlevel.hxx
+++ b/sw/source/ui/vba/vbalistlevel.hxx
@@ -21,11 +21,10 @@
 
 #include <ooo/vba/word/XListLevel.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/text/XTextDocument.hpp>
 #include "vbalisthelper.hxx"
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XListLevel > SwVbaListLevel_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XListLevel > SwVbaListLevel_BASE;
 
 class SwVbaListLevel : public SwVbaListLevel_BASE
 {
diff --git a/sw/source/ui/vba/vbalisttemplate.hxx b/sw/source/ui/vba/vbalisttemplate.hxx
index dc37c68..3095467 100644
--- a/sw/source/ui/vba/vbalisttemplate.hxx
+++ b/sw/source/ui/vba/vbalisttemplate.hxx
@@ -21,11 +21,10 @@
 
 #include <ooo/vba/word/XListTemplate.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/text/XTextDocument.hpp>
 #include "vbalisthelper.hxx"
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XListTemplate > SwVbaListTemplate_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XListTemplate > SwVbaListTemplate_BASE;
 
 class SwVbaListTemplate : public SwVbaListTemplate_BASE
 {
diff --git a/sw/source/ui/vba/vbaoptions.hxx b/sw/source/ui/vba/vbaoptions.hxx
index 9d51520..68a32a5 100644
--- a/sw/source/ui/vba/vbaoptions.hxx
+++ b/sw/source/ui/vba/vbaoptions.hxx
@@ -21,11 +21,10 @@
 
 #include <ooo/vba/word/XOptions.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <vbahelper/vbapropvalue.hxx>
 #include <comphelper/processfactory.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XOptions > SwVbaOptions_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XOptions > SwVbaOptions_BASE;
 
 class SwVbaOptions : public SwVbaOptions_BASE,
                     public PropListener
diff --git a/sw/source/ui/vba/vbapane.hxx b/sw/source/ui/vba/vbapane.hxx
index 6c248a7..6ec4a18 100644
--- a/sw/source/ui/vba/vbapane.hxx
+++ b/sw/source/ui/vba/vbapane.hxx
@@ -21,9 +21,8 @@
 
 #include <ooo/vba/word/XPane.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XPane > SwVbaPane_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XPane > SwVbaPane_BASE;
 
 class SwVbaPane : public SwVbaPane_BASE
 {
diff --git a/sw/source/ui/vba/vbaparagraph.hxx b/sw/source/ui/vba/vbaparagraph.hxx
index f136343..713c421 100644
--- a/sw/source/ui/vba/vbaparagraph.hxx
+++ b/sw/source/ui/vba/vbaparagraph.hxx
@@ -23,11 +23,10 @@
 #include <ooo/vba/word/XParagraphs.hpp>
 #include <ooo/vba/word/XParagraph.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/text/XTextRange.hpp>
 #include <com/sun/star/text/XTextDocument.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XParagraph > SwVbaParagraph_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XParagraph > SwVbaParagraph_BASE;
 
 class SwVbaParagraph : public SwVbaParagraph_BASE
 {
diff --git a/sw/source/ui/vba/vbaparagraphformat.hxx b/sw/source/ui/vba/vbaparagraphformat.hxx
index eb799f7..229b333 100644
--- a/sw/source/ui/vba/vbaparagraphformat.hxx
+++ b/sw/source/ui/vba/vbaparagraphformat.hxx
@@ -21,11 +21,10 @@
 
 #include <ooo/vba/word/XParagraphFormat.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/text/XTextDocument.hpp>
 #include <com/sun/star/style/LineSpacing.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XParagraphFormat > SwVbaParagraphFormat_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XParagraphFormat > SwVbaParagraphFormat_BASE;
 
 class SwVbaParagraphFormat : public SwVbaParagraphFormat_BASE
 {
diff --git a/sw/source/ui/vba/vbarange.hxx b/sw/source/ui/vba/vbarange.hxx
index e1e2344..8174ced 100644
--- a/sw/source/ui/vba/vbarange.hxx
+++ b/sw/source/ui/vba/vbarange.hxx
@@ -23,14 +23,13 @@
 #include <ooo/vba/word/XParagraphFormat.hpp>
 #include <ooo/vba/word/XFont.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/text/XTextRange.hpp>
 #include <com/sun/star/text/XTextDocument.hpp>
 #include <ooo/vba/word/XStyle.hpp>
 #include <ooo/vba/word/XListFormat.hpp>
 #include "wordvbahelper.hxx"
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XRange > SwVbaRange_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XRange > SwVbaRange_BASE;
 
 class SwVbaRange : public SwVbaRange_BASE
 {
diff --git a/sw/source/ui/vba/vbareplacement.hxx b/sw/source/ui/vba/vbareplacement.hxx
index 8047338..07bacb1 100644
--- a/sw/source/ui/vba/vbareplacement.hxx
+++ b/sw/source/ui/vba/vbareplacement.hxx
@@ -21,10 +21,9 @@
 
 #include <ooo/vba/word/XReplacement.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/util/XPropertyReplace.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XReplacement > SwVbaReplacement_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XReplacement > SwVbaReplacement_BASE;
 
 class SwVbaReplacement : public SwVbaReplacement_BASE
 {
diff --git a/sw/source/ui/vba/vbarevision.hxx b/sw/source/ui/vba/vbarevision.hxx
index 249f4eb..02d23bb 100644
--- a/sw/source/ui/vba/vbarevision.hxx
+++ b/sw/source/ui/vba/vbarevision.hxx
@@ -21,9 +21,8 @@
 
 #include <ooo/vba/word/XRevision.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XRevision > SwVbaRevision_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XRevision > SwVbaRevision_BASE;
 
 class SwVbaRevision : public SwVbaRevision_BASE
 {
diff --git a/sw/source/ui/vba/vbarow.hxx b/sw/source/ui/vba/vbarow.hxx
index 1a54abc..d268db2 100644
--- a/sw/source/ui/vba/vbarow.hxx
+++ b/sw/source/ui/vba/vbarow.hxx
@@ -21,11 +21,10 @@
 
 #include <ooo/vba/word/XRow.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/table/XTableRows.hpp>
 #include <com/sun/star/text/XTextTable.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XRow > SwVbaRow_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XRow > SwVbaRow_BASE;
 
 class SwVbaRow : public SwVbaRow_BASE
 {
diff --git a/sw/source/ui/vba/vbasection.hxx b/sw/source/ui/vba/vbasection.hxx
index d761f2e..0d66fec 100644
--- a/sw/source/ui/vba/vbasection.hxx
+++ b/sw/source/ui/vba/vbasection.hxx
@@ -21,9 +21,8 @@
 
 #include <ooo/vba/word/XSection.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XSection > SwVbaSection_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XSection > SwVbaSection_BASE;
 
 class SwVbaSection : public SwVbaSection_BASE
 {
diff --git a/sw/source/ui/vba/vbaselection.hxx b/sw/source/ui/vba/vbaselection.hxx
index 14cf630..abfb9e7 100644
--- a/sw/source/ui/vba/vbaselection.hxx
+++ b/sw/source/ui/vba/vbaselection.hxx
@@ -31,7 +31,7 @@
 #include <ooo/vba/word/XHeaderFooter.hpp>
 #include "wordvbahelper.hxx"
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XSelection > SwVbaSelection_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XSelection > SwVbaSelection_BASE;
 
 class SwVbaSelection : public SwVbaSelection_BASE
 {
diff --git a/sw/source/ui/vba/vbastyle.hxx b/sw/source/ui/vba/vbastyle.hxx
index 36541ee..a486595 100644
--- a/sw/source/ui/vba/vbastyle.hxx
+++ b/sw/source/ui/vba/vbastyle.hxx
@@ -27,7 +27,7 @@
 #include <ooo/vba/word/XFont.hpp>
 #include <ooo/vba/word/XListTemplate.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XStyle > SwVbaStyle_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XStyle > SwVbaStyle_BASE;
 
 class SwVbaStyle : public SwVbaStyle_BASE
 {
diff --git a/sw/source/ui/vba/vbasystem.hxx b/sw/source/ui/vba/vbasystem.hxx
index f32534f..bab6ad5 100644
--- a/sw/source/ui/vba/vbasystem.hxx
+++ b/sw/source/ui/vba/vbasystem.hxx
@@ -21,10 +21,9 @@
 
 #include <ooo/vba/word/XSystem.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <vbahelper/vbapropvalue.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XSystem > SwVbaSystem_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XSystem > SwVbaSystem_BASE;
 
 class PrivateProfileStringListener : public PropListener
 {
diff --git a/sw/source/ui/vba/vbatable.hxx b/sw/source/ui/vba/vbatable.hxx
index ed2d6d2..90e778a 100644
--- a/sw/source/ui/vba/vbatable.hxx
+++ b/sw/source/ui/vba/vbatable.hxx
@@ -25,7 +25,7 @@
 #include <ooo/vba/word/XRange.hpp>
 #include <ooo/vba/word/XTable.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XTable > SwVbaTable_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XTable > SwVbaTable_BASE;
 
 class SwVbaTable : public SwVbaTable_BASE
 {
diff --git a/sw/source/ui/vba/vbatableofcontents.hxx b/sw/source/ui/vba/vbatableofcontents.hxx
index ad34983..d15deb2 100644
--- a/sw/source/ui/vba/vbatableofcontents.hxx
+++ b/sw/source/ui/vba/vbatableofcontents.hxx
@@ -21,11 +21,10 @@
 
 #include <ooo/vba/word/XTableOfContents.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/text/XTextDocument.hpp>
 #include <com/sun/star/text/XDocumentIndex.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XTableOfContents > SwVbaTableOfContents_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XTableOfContents > SwVbaTableOfContents_BASE;
 
 class SwVbaTableOfContents : public SwVbaTableOfContents_BASE
 {
diff --git a/sw/source/ui/vba/vbatabstop.hxx b/sw/source/ui/vba/vbatabstop.hxx
index ea722af..48d87da 100644
--- a/sw/source/ui/vba/vbatabstop.hxx
+++ b/sw/source/ui/vba/vbatabstop.hxx
@@ -21,10 +21,9 @@
 
 #include <ooo/vba/word/XTabStop.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/style/TabStop.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XTabStop > SwVbaTabStop_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XTabStop > SwVbaTabStop_BASE;
 
 class SwVbaTabStop : public SwVbaTabStop_BASE
 {
diff --git a/sw/source/ui/vba/vbatemplate.hxx b/sw/source/ui/vba/vbatemplate.hxx
index 8678f44..6d8ca14 100644
--- a/sw/source/ui/vba/vbatemplate.hxx
+++ b/sw/source/ui/vba/vbatemplate.hxx
@@ -22,7 +22,7 @@
 #include <ooo/vba/word/XTemplate.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XTemplate > SwVbaTemplate_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XTemplate > SwVbaTemplate_BASE;
 
 class SwVbaTemplate : public SwVbaTemplate_BASE
 {
diff --git a/sw/source/ui/vba/vbavariable.hxx b/sw/source/ui/vba/vbavariable.hxx
index fa74690..4a7cb45 100644
--- a/sw/source/ui/vba/vbavariable.hxx
+++ b/sw/source/ui/vba/vbavariable.hxx
@@ -21,10 +21,9 @@
 
 #include <ooo/vba/word/XVariable.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
-#include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/beans/XPropertyAccess.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XVariable > SwVbaVariable_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XVariable > SwVbaVariable_BASE;
 
 class SwVbaVariable : public SwVbaVariable_BASE
 {
diff --git a/sw/source/ui/vba/vbaview.hxx b/sw/source/ui/vba/vbaview.hxx
index 91ab688..30f29b9 100644
--- a/sw/source/ui/vba/vbaview.hxx
+++ b/sw/source/ui/vba/vbaview.hxx
@@ -26,7 +26,7 @@
 #include <com/sun/star/text/XText.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XView > SwVbaView_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XView > SwVbaView_BASE;
 
 class SwVbaView : public SwVbaView_BASE
 {
diff --git a/sw/source/ui/vba/vbawrapformat.hxx b/sw/source/ui/vba/vbawrapformat.hxx
index 14a701d..2d925f1 100644
--- a/sw/source/ui/vba/vbawrapformat.hxx
+++ b/sw/source/ui/vba/vbawrapformat.hxx
@@ -23,7 +23,7 @@
 #include <ooo/vba/word/XWrapFormat.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ooo::vba::word::XWrapFormat > SwVbaWrapFormat_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ooo::vba::word::XWrapFormat > SwVbaWrapFormat_BASE;
 
 class SwVbaWrapFormat : public SwVbaWrapFormat_BASE
 {
diff --git a/vbahelper/source/msforms/vbacontrol.hxx b/vbahelper/source/msforms/vbacontrol.hxx
index b2528ec..eec5175 100644
--- a/vbahelper/source/msforms/vbacontrol.hxx
+++ b/vbahelper/source/msforms/vbacontrol.hxx
@@ -32,7 +32,7 @@
 #include <vbahelper/vbahelperinterface.hxx>
 #include <memory>
 
-typedef InheritedHelperInterfaceImpl1< ov::msforms::XControl > ControlImpl_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::msforms::XControl > ControlImpl_BASE;
 
 class ScVbaControl : public ControlImpl_BASE
 {
diff --git a/vbahelper/source/msforms/vbauserform.hxx b/vbahelper/source/msforms/vbauserform.hxx
index d2ab14e..b672de8 100644
--- a/vbahelper/source/msforms/vbauserform.hxx
+++ b/vbahelper/source/msforms/vbauserform.hxx
@@ -28,7 +28,7 @@
 #include <vbahelper/vbahelperinterface.hxx>
 #include "vbacontrol.hxx"
 
-//typedef InheritedHelperInterfaceImpl1< ov::msforms::XUserForm > ScVbaUserForm_BASE;
+//typedef InheritedHelperInterfaceWeakImpl< ov::msforms::XUserForm > ScVbaUserForm_BASE;
 typedef cppu::ImplInheritanceHelper< ScVbaControl, ov::msforms::XUserForm > ScVbaUserForm_BASE;
 
 class ScVbaUserForm : public ScVbaUserForm_BASE
diff --git a/vbahelper/source/vbahelper/vbacolorformat.hxx b/vbahelper/source/vbahelper/vbacolorformat.hxx
index 3bb88e9..e1558c0 100644
--- a/vbahelper/source/vbahelper/vbacolorformat.hxx
+++ b/vbahelper/source/vbahelper/vbacolorformat.hxx
@@ -25,7 +25,7 @@
 #include <vbahelper/vbahelperinterface.hxx>
 #include "vbafillformat.hxx"
 
-typedef InheritedHelperInterfaceImpl1< ov::msforms::XColorFormat > ScVbaColorFormat_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::msforms::XColorFormat > ScVbaColorFormat_BASE;
 
 class ColorFormatType
 {
diff --git a/vbahelper/source/vbahelper/vbacommandbar.hxx b/vbahelper/source/vbahelper/vbacommandbar.hxx
index 8073db0..3c2ddba 100644
--- a/vbahelper/source/vbahelper/vbacommandbar.hxx
+++ b/vbahelper/source/vbahelper/vbacommandbar.hxx
@@ -28,7 +28,7 @@
 #include <vbahelper/vbahelperinterface.hxx>
 #include "vbacommandbarhelper.hxx"
 
-typedef InheritedHelperInterfaceImpl1< ov::XCommandBar > CommandBar_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::XCommandBar > CommandBar_BASE;
 
 class ScVbaCommandBar : public CommandBar_BASE
 {
diff --git a/vbahelper/source/vbahelper/vbacommandbarcontrol.hxx b/vbahelper/source/vbahelper/vbacommandbarcontrol.hxx
index 196ef49..4b4b07a 100644
--- a/vbahelper/source/vbahelper/vbacommandbarcontrol.hxx
+++ b/vbahelper/source/vbahelper/vbacommandbarcontrol.hxx
@@ -28,7 +28,7 @@
 #include "vbacommandbarhelper.hxx"
 #include <cppuhelper/implbase.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ov::XCommandBarControl > CommandBarControl_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::XCommandBarControl > CommandBarControl_BASE;
 
 class ScVbaCommandBarControl : public CommandBarControl_BASE
 {
diff --git a/vbahelper/source/vbahelper/vbafillformat.hxx b/vbahelper/source/vbahelper/vbafillformat.hxx
index af43420..5f61c13 100644
--- a/vbahelper/source/vbahelper/vbafillformat.hxx
+++ b/vbahelper/source/vbahelper/vbafillformat.hxx
@@ -24,7 +24,7 @@
 #include <ooo/vba/msforms/XFillFormat.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ov::msforms::XFillFormat > ScVbaFillFormat_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::msforms::XFillFormat > ScVbaFillFormat_BASE;
 
 class ScVbaFillFormat : public ScVbaFillFormat_BASE
 {
diff --git a/vbahelper/source/vbahelper/vbalineformat.hxx b/vbahelper/source/vbahelper/vbalineformat.hxx
index f88e298..0f69ea2 100644
--- a/vbahelper/source/vbahelper/vbalineformat.hxx
+++ b/vbahelper/source/vbahelper/vbalineformat.hxx
@@ -24,7 +24,7 @@
 #include <ooo/vba/msforms/XLineFormat.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ov::msforms::XLineFormat > ScVbaLineFormat_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::msforms::XLineFormat > ScVbaLineFormat_BASE;
 
 class ScVbaLineFormat : public ScVbaLineFormat_BASE
 {
diff --git a/vbahelper/source/vbahelper/vbapictureformat.hxx b/vbahelper/source/vbahelper/vbapictureformat.hxx
index 5524cc8..d08e72c 100644
--- a/vbahelper/source/vbahelper/vbapictureformat.hxx
+++ b/vbahelper/source/vbahelper/vbapictureformat.hxx
@@ -24,7 +24,7 @@
 #include <ooo/vba/msforms/XPictureFormat.hpp>
 #include <vbahelper/vbahelperinterface.hxx>
 
-typedef InheritedHelperInterfaceImpl1< ov::msforms::XPictureFormat > ScVbaPictureFormat_BASE;
+typedef InheritedHelperInterfaceWeakImpl< ov::msforms::XPictureFormat > ScVbaPictureFormat_BASE;
 
 class ScVbaPictureFormat : public ScVbaPictureFormat_BASE
 {


More information about the Libreoffice-commits mailing list