summaryrefslogtreecommitdiff
path: root/editeng
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2011-09-09 14:03:27 +0200
committerStephan Bergmann <sbergman@redhat.com>2011-09-09 17:46:37 +0200
commit21d97438e2944861e26e4984195f959a0cce1e41 (patch)
tree0a980fe781bae8aa564412165c17ebd6d4795749 /editeng
parent34e5e5ecec9779bae3ee48f698d52318f0be5f89 (diff)
sb140: #i117082# avoid unncessary static class data members (which are destroyed too late)
plus sb140: #i117082# extra indirections to apeace MSC sb140: #i117082# avoid warnings about not intializing boost::noncopyable base in copy ctors
Diffstat (limited to 'editeng')
-rw-r--r--editeng/inc/editeng/unopracc.hxx14
-rw-r--r--editeng/inc/editeng/unotext.hxx151
-rw-r--r--editeng/source/uno/unopracc.cxx64
-rw-r--r--editeng/source/uno/unotext.cxx258
-rw-r--r--editeng/source/uno/unotext2.cxx199
5 files changed, 113 insertions, 573 deletions
diff --git a/editeng/inc/editeng/unopracc.hxx b/editeng/inc/editeng/unopracc.hxx
index c1e57ed3944a..99b82cb89523 100644
--- a/editeng/inc/editeng/unopracc.hxx
+++ b/editeng/inc/editeng/unopracc.hxx
@@ -40,9 +40,7 @@ class SvxEditSource;
XMultiPropertySet interfaces. Just set the selection to the
required text range and return a reference to a XPropertySet.
*/
-class SvxAccessibleTextPropertySet : public SvxUnoTextRangeBase,
- public ::com::sun::star::lang::XTypeProvider,
- public ::cppu::OWeakObject
+class SvxAccessibleTextPropertySet : public SvxUnoTextRangeBase
{
public:
SvxAccessibleTextPropertySet( const SvxEditSource*, const SvxItemPropertySet* );
@@ -51,21 +49,11 @@ public:
// XTextRange
virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL getText() throw (::com::sun::star::uno::RuntimeException);
- // uno::XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL acquire() throw();
- virtual void SAL_CALL release() throw();
-
// lang::XServiceInfo
virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ) throw (::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw (::com::sun::star::uno::RuntimeException);
- // lang::XTypeProvider
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
-
// XServiceName
::rtl::OUString SAL_CALL getServiceName() throw (::com::sun::star::uno::RuntimeException);
};
diff --git a/editeng/inc/editeng/unotext.hxx b/editeng/inc/editeng/unotext.hxx
index bdf86be7591c..2db3bd267d0e 100644
--- a/editeng/inc/editeng/unotext.hxx
+++ b/editeng/inc/editeng/unotext.hxx
@@ -29,13 +29,15 @@
#ifndef _SVX_UNOTEXT_HXX
#define _SVX_UNOTEXT_HXX
+#include "sal/config.h"
+
#include <com/sun/star/container/XNameContainer.hpp>
#include <com/sun/star/text/XTextRange.hpp>
#include <com/sun/star/text/XText.hpp>
#include <com/sun/star/container/XEnumerationAccess.hpp>
#include <com/sun/star/text/XTextRangeMover.hpp>
+#include <com/sun/star/text/XTextContent.hpp>
#include <com/sun/star/text/XTextCursor.hpp>
-#include <com/sun/star/lang/XTypeProvider.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
@@ -53,6 +55,10 @@
#include <com/sun/star/style/TabStop.hpp>
#include <com/sun/star/lang/XUnoTunnel.hpp>
#include <com/sun/star/text/XTextRange.hpp>
+#include <cppuhelper/implbase1.hxx>
+#include <cppuhelper/implbase2.hxx>
+#include <cppuhelper/implbase4.hxx>
+#include <cppuhelper/implbase8.hxx>
#include <cppuhelper/interfacecontainer.h>
#include <cppuhelper/weak.hxx>
#include <cppuhelper/weakagg.hxx>
@@ -250,16 +256,20 @@ namespace accessibility
}
// ====================================================================
-class EDITENG_DLLPUBLIC SvxUnoTextRangeBase : public ::com::sun::star::text::XTextRange,
- public ::com::sun::star::beans::XPropertySet,
- public ::com::sun::star::beans::XMultiPropertySet,
- public ::com::sun::star::beans::XMultiPropertyStates,
- public ::com::sun::star::beans::XPropertyState,
- public ::com::sun::star::lang::XServiceInfo,
- public ::com::sun::star::text::XTextRangeCompare,
- public ::com::sun::star::lang::XUnoTunnel,
+typedef
+ cppu::WeakAggImplHelper8<
+ ::com::sun::star::text::XTextRange,
+ ::com::sun::star::beans::XPropertySet,
+ ::com::sun::star::beans::XMultiPropertySet,
+ ::com::sun::star::beans::XMultiPropertyStates,
+ ::com::sun::star::beans::XPropertyState,
+ ::com::sun::star::lang::XServiceInfo,
+ ::com::sun::star::text::XTextRangeCompare,
+ ::com::sun::star::lang::XUnoTunnel >
+ SvxUnoTextRangeBase_Base;
+
+class EDITENG_DLLPUBLIC SvxUnoTextRangeBase : public SvxUnoTextRangeBase_Base,
private osl::DebugBase<SvxUnoTextRangeBase>
-
{
friend class SvxUnoTextRangeEnumeration;
friend class accessibility::AccessibleEditableTextPara;
@@ -364,9 +374,7 @@ public:
// ====================================================================
class SvxUnoTextBase;
-class EDITENG_DLLPUBLIC SvxUnoTextRange : public SvxUnoTextRangeBase,
- public ::com::sun::star::lang::XTypeProvider,
- public ::cppu::OWeakAggObject
+class EDITENG_DLLPUBLIC SvxUnoTextRange : public SvxUnoTextRangeBase
{
friend class SvxUnoTextRangeEnumeration;
private:
@@ -377,29 +385,37 @@ public:
SvxUnoTextRange( const SvxUnoTextBase& rParent, sal_Bool bPortion = sal_False ) throw();
virtual ~SvxUnoTextRange() throw();
- // ::com::sun::star::uno::XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL acquire() throw();
- virtual void SAL_CALL release() throw();
-
// ::com::sun::star::text::XTextRange
virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL getText() throw(::com::sun::star::uno::RuntimeException);
// ::com::sun::star::lang::XServiceInfo
virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
+};
- // ::com::sun::star::lang::XTypeProvider
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
+typedef
+ cppu::AggImplInheritanceHelper4<
+ SvxUnoTextRangeBase,
+ ::com::sun::star::text::XTextAppend,
+ ::com::sun::star::text::XTextCopy,
+ ::com::sun::star::container::XEnumerationAccess,
+ ::com::sun::star::text::XTextRangeMover >
+ SvxUnoTextBase_Base0;
+
+// Extra indirection to keep MSC from trying to (unsuccessfully) fully
+// instantiate a non-DLLPUBLIC template base class of a DLLPUBLIC class:
+class SvxUnoTextBase_Base: public SvxUnoTextBase_Base0 {
+protected:
+ explicit SvxUnoTextBase_Base(SvxUnoTextBase_Base const &) throw ();
+ explicit SvxUnoTextBase_Base(SvxItemPropertySet const * set) throw ();
+ SvxUnoTextBase_Base(
+ SvxEditSource const * source, SvxItemPropertySet const * set) throw ();
+ virtual ~SvxUnoTextBase_Base() throw ();
+
+private:
+ void operator =(SvxUnoTextBase_Base const &); // not defined
};
-class EDITENG_DLLPUBLIC SvxUnoTextBase : public SvxUnoTextRangeBase,
- public ::com::sun::star::text::XTextAppend,
- public ::com::sun::star::text::XTextCopy,
- public ::com::sun::star::container::XEnumerationAccess,
- public ::com::sun::star::text::XTextRangeMover,
- public ::com::sun::star::lang::XTypeProvider
+class EDITENG_DLLPUBLIC SvxUnoTextBase : public SvxUnoTextBase_Base
{
protected:
::com::sun::star::uno::Reference< ::com::sun::star::text::XText > xParentText;
@@ -415,13 +431,9 @@ public:
UNO3_GETIMPLEMENTATION_DECL( SvxUnoTextBase )
ESelection InsertField( const SvxFieldItem& rField ) throw();
- static ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getStaticTypes() throw();
::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > createTextCursorBySelection( const ESelection& rSel );
- // ::com::sun::star::uno::XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
-
// ::com::sun::star::text::XSimpleText
virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL createTextCursor( ) throw(::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL createTextCursorByRange( const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange >& aTextPosition ) throw(::com::sun::star::uno::RuntimeException);
@@ -463,15 +475,10 @@ public:
virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException);
static ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames_Static( ) SAL_THROW(());
-
- // ::com::sun::star::lang::XTypeProvider
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
};
// ====================================================================
-class EDITENG_DLLPUBLIC SvxUnoText : public SvxUnoTextBase,
- public ::cppu::OWeakAggObject
+class EDITENG_DLLPUBLIC SvxUnoText : public SvxUnoTextBase
{
public:
SvxUnoText( ) throw();
@@ -482,16 +489,6 @@ public:
// Internal
UNO3_GETIMPLEMENTATION_DECL( SvxUnoText )
-
- // ::com::sun::star::uno::XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL acquire() throw();
- virtual void SAL_CALL release() throw();
-
- // ::com::sun::star::lang::XTypeProvider
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
};
// ====================================================================
@@ -516,13 +513,15 @@ public:
};
// ====================================================================
-#include <com/sun/star/text/XTextContent.hpp>
-class SvxUnoTextContent : public SvxUnoTextRangeBase,
- public ::com::sun::star::text::XTextContent,
- public ::com::sun::star::container::XEnumerationAccess,
- public ::com::sun::star::lang::XTypeProvider,
- public ::cppu::OWeakAggObject
+typedef
+ cppu::AggImplInheritanceHelper2<
+ SvxUnoTextRangeBase,
+ ::com::sun::star::text::XTextContent,
+ ::com::sun::star::container::XEnumerationAccess >
+ SvxUnoTextContent_Base;
+
+class SvxUnoTextContent : public SvxUnoTextContent_Base
{
friend class SvxUnoTextContentEnumeration;
private:
@@ -545,12 +544,6 @@ public:
SvxUnoTextContent( const SvxUnoTextContent& rContent ) throw();
virtual ~SvxUnoTextContent() throw();
- // ::com::sun::star::uno::XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL acquire() throw();
- virtual void SAL_CALL release() throw();
-
// ::com::sun::star::text::XTextRange
virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL getText( ) throw(::com::sun::star::uno::RuntimeException);
@@ -586,10 +579,6 @@ public:
// ::com::sun::star::lang::XServiceInfo
virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException);
-
- // ::com::sun::star::lang::XTypeProvider
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
};
// ====================================================================
@@ -615,10 +604,25 @@ public:
// ====================================================================
-class EDITENG_DLLPUBLIC SvxUnoTextCursor : public SvxUnoTextRangeBase,
- public ::com::sun::star::text::XTextCursor,
- public ::com::sun::star::lang::XTypeProvider,
- public ::cppu::OWeakAggObject
+typedef
+ cppu::AggImplInheritanceHelper1<
+ SvxUnoTextRangeBase,
+ ::com::sun::star::text::XTextCursor >
+ SvxUnoTextCursor_Base0;
+
+// Extra indirection to keep MSC from trying to (unsuccessfully) fully
+// instantiate a non-DLLPUBLIC template base class of a DLLPUBLIC class:
+class SvxUnoTextCursor_Base: public SvxUnoTextCursor_Base0 {
+protected:
+ explicit SvxUnoTextCursor_Base(SvxUnoTextCursor_Base const & base) throw ();
+ explicit SvxUnoTextCursor_Base(SvxUnoTextRangeBase const & base) throw ();
+ virtual ~SvxUnoTextCursor_Base() throw ();
+
+private:
+ void operator =(SvxUnoTextCursor_Base const &); // not defined
+};
+
+class EDITENG_DLLPUBLIC SvxUnoTextCursor : public SvxUnoTextCursor_Base
{
private:
::com::sun::star::uno::Reference< ::com::sun::star::text::XText > mxParentText;
@@ -628,12 +632,6 @@ public:
SvxUnoTextCursor( const SvxUnoTextCursor& rCursor ) throw();
virtual ~SvxUnoTextCursor() throw();
- // ::com::sun::star::uno::XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL acquire() throw();
- virtual void SAL_CALL release() throw();
-
// ::com::sun::star::text::XTextRange
virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL getText() throw(::com::sun::star::uno::RuntimeException);
virtual ::rtl::OUString SAL_CALL getString() throw(::com::sun::star::uno::RuntimeException);
@@ -655,11 +653,6 @@ public:
virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
-
- // ::com::sun::star::lang::XTypeProvider
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
-
};
EDITENG_DLLPUBLIC const SvxItemPropertySet* ImplGetSvxUnoOutlinerTextCursorSvxPropertySet();
diff --git a/editeng/source/uno/unopracc.cxx b/editeng/source/uno/unopracc.cxx
index 088cdbbc3ff7..71ba24cec2a5 100644
--- a/editeng/source/uno/unopracc.cxx
+++ b/editeng/source/uno/unopracc.cxx
@@ -75,70 +75,6 @@ uno::Reference< text::XText > SAL_CALL SvxAccessibleTextPropertySet::getText() t
return uno::Reference< text::XText > ();
}
-uno::Any SAL_CALL SvxAccessibleTextPropertySet::queryAggregation( const uno::Type & ) throw(uno::RuntimeException)
-{
- // TODO (empty?)
- return uno::Any();
-}
-
-uno::Any SAL_CALL SvxAccessibleTextPropertySet::queryInterface( const uno::Type & rType )
- throw(uno::RuntimeException)
-{
- return OWeakObject::queryInterface(rType);
-}
-
-void SAL_CALL SvxAccessibleTextPropertySet::acquire()
- throw()
-{
- OWeakObject::acquire();
-}
-
-void SAL_CALL SvxAccessibleTextPropertySet::release()
- throw()
-{
- OWeakObject::release();
-}
-
-// XTypeProvider
-uno::Sequence< uno::Type > SAL_CALL SvxAccessibleTextPropertySet::getTypes() throw ( uno::RuntimeException )
-{
- static ::cppu::OTypeCollection* pTypeCollection = NULL ;
-
- // double-checked locking pattern.
- if ( pTypeCollection == NULL )
- {
- osl::MutexGuard aGuard( osl::Mutex::getGlobalMutex() ) ;
-
- // Control these pointer again ... it can be, that another instance will be faster then these!
- if ( pTypeCollection == NULL )
- {
- // Create a static typecollection ...
- static ::cppu::OTypeCollection aTypeCollection(
- ::getCppuType( static_cast< const uno::Reference< beans::XPropertySet >* > (0) ),
- ::getCppuType( static_cast< const uno::Reference< beans::XMultiPropertySet >* > (0) ),
- ::getCppuType( static_cast< const uno::Reference< beans::XPropertyState >* > (0) ),
- ::getCppuType( static_cast< const uno::Reference< lang::XServiceInfo >* > (0) ),
- ::getCppuType( static_cast< const uno::Reference< lang::XTypeProvider >* > (0) ) );
-
- // ... and set his address to static pointer!
- pTypeCollection = &aTypeCollection ;
- }
- }
-
- return pTypeCollection->getTypes() ;
-}
-
-namespace
-{
- class theSvxAccessibleTextPropertySetImplementationId : public rtl::Static< UnoTunnelIdInit, theSvxAccessibleTextPropertySetImplementationId > {};
-}
-
-uno::Sequence< sal_Int8 > SAL_CALL SvxAccessibleTextPropertySet::getImplementationId()
- throw (uno::RuntimeException)
-{
- return theSvxAccessibleTextPropertySetImplementationId::get().getSeq();
-}
-
// XServiceInfo
::rtl::OUString SAL_CALL SAL_CALL SvxAccessibleTextPropertySet::getImplementationName (void) throw (uno::RuntimeException)
{
diff --git a/editeng/source/uno/unotext.cxx b/editeng/source/uno/unotext.cxx
index 680b0f9f27fe..627f94b38575 100644
--- a/editeng/source/uno/unotext.cxx
+++ b/editeng/source/uno/unotext.cxx
@@ -60,10 +60,6 @@ using namespace ::rtl;
using namespace ::cppu;
using namespace ::com::sun::star;
-#define QUERYINT( xint ) \
- if( rType == ::getCppuType((const uno::Reference< xint >*)0) ) \
- return uno::makeAny(uno::Reference< xint >(this))
-
const SvxItemPropertySet* ImplGetSvxUnoOutlinerTextCursorSvxPropertySet()
{
static SvxItemPropertySet aTextCursorSvxPropertySet( ImplGetSvxUnoOutlinerTextCursorPropertyMap(), EditEngine::GetGlobalItemPool() );
@@ -217,14 +213,7 @@ SvxUnoTextRangeBase::SvxUnoTextRangeBase( const SvxEditSource* pSource, const Sv
}
SvxUnoTextRangeBase::SvxUnoTextRangeBase( const SvxUnoTextRangeBase& rRange ) throw()
-: text::XTextRange()
-, beans::XPropertySet()
-, beans::XMultiPropertySet()
-, beans::XMultiPropertyStates()
-, beans::XPropertyState()
-, lang::XServiceInfo()
-, text::XTextRangeCompare()
-, lang::XUnoTunnel()
+: SvxUnoTextRangeBase_Base()
, mpPropSet(rRange.getPropertySet())
{
SolarMutexGuard aGuard;
@@ -1545,89 +1534,6 @@ SvxUnoTextRange::~SvxUnoTextRange() throw()
{
}
-uno::Any SAL_CALL SvxUnoTextRange::queryAggregation( const uno::Type & rType )
- throw(uno::RuntimeException)
-{
- QUERYINT( text::XTextRange );
- else if( rType == ::getCppuType((const uno::Reference< beans::XMultiPropertyStates >*)0) )
- return uno::makeAny(uno::Reference< beans::XMultiPropertyStates >(this));
- else if( rType == ::getCppuType((const uno::Reference< beans::XPropertySet >*)0) )
- return uno::makeAny(uno::Reference< beans::XPropertySet >(this));
- else QUERYINT( beans::XPropertyState );
- else QUERYINT( text::XTextRangeCompare );
- else if( rType == ::getCppuType((const uno::Reference< beans::XMultiPropertySet >*)0) )
- return uno::makeAny(uno::Reference< beans::XMultiPropertySet >(this));
- else QUERYINT( lang::XServiceInfo );
- else QUERYINT( lang::XTypeProvider );
- else QUERYINT( lang::XUnoTunnel );
- else
- return OWeakAggObject::queryAggregation( rType );
-}
-
-uno::Any SAL_CALL SvxUnoTextRange::queryInterface( const uno::Type & rType )
- throw(uno::RuntimeException)
-{
- return OWeakAggObject::queryInterface(rType);
-}
-
-void SAL_CALL SvxUnoTextRange::acquire()
- throw( )
-{
- OWeakAggObject::acquire();
-}
-
-void SAL_CALL SvxUnoTextRange::release()
- throw( )
-{
- OWeakAggObject::release();
-}
-
-// XTypeProvider
-
-namespace
-{
- struct theSvxUnoTextRangeTypes :
- public rtl::StaticWithInit<uno::Sequence<uno::Type>, theSvxUnoTextRangeTypes>
- {
- uno::Sequence<uno::Type> operator () ()
- {
- uno::Sequence< uno::Type > aTypeSequence;
-
- aTypeSequence.realloc( 9 ); // !DANGER! keep this updated
- uno::Type* pTypes = aTypeSequence.getArray();
-
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextRange >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XPropertySet >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XMultiPropertySet >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XMultiPropertyStates >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XPropertyState >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XServiceInfo >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XTypeProvider >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XUnoTunnel >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextRangeCompare >*)0);
-
- return aTypeSequence;
- }
- };
-}
-
-uno::Sequence< uno::Type > SAL_CALL SvxUnoTextRange::getTypes()
- throw (uno::RuntimeException)
-{
- return theSvxUnoTextRangeTypes::get();
-}
-
-namespace
-{
- class theSvxUnoTextRangeImplementationId : public rtl::Static< UnoTunnelIdInit, theSvxUnoTextRangeImplementationId > {};
-}
-
-uno::Sequence< sal_Int8 > SAL_CALL SvxUnoTextRange::getImplementationId()
- throw (uno::RuntimeException)
-{
- return theSvxUnoTextRangeImplementationId::get().getSeq();
-}
-
// XTextRange
uno::Reference< text::XText > SAL_CALL SvxUnoTextRange::getText()
throw(uno::RuntimeException)
@@ -1646,19 +1552,36 @@ OUString SAL_CALL SvxUnoTextRange::getImplementationName()
// class SvxUnoText
// ====================================================================
+SvxUnoTextBase_Base::SvxUnoTextBase_Base(SvxUnoTextBase_Base const & base)
+ throw ():
+ SvxUnoTextBase_Base0(base)
+{}
+
+SvxUnoTextBase_Base::SvxUnoTextBase_Base(SvxItemPropertySet const * set)
+ throw ():
+ SvxUnoTextBase_Base0(set)
+{}
+
+SvxUnoTextBase_Base::SvxUnoTextBase_Base(
+ SvxEditSource const * source, SvxItemPropertySet const * set) throw ():
+ SvxUnoTextBase_Base0(source, set)
+{}
+
+SvxUnoTextBase_Base::~SvxUnoTextBase_Base() throw () {}
+
SvxUnoTextBase::SvxUnoTextBase() throw()
-: SvxUnoTextRangeBase( NULL )
+: SvxUnoTextBase_Base( static_cast< SvxItemPropertySet * >(NULL) )
{
}
SvxUnoTextBase::SvxUnoTextBase( const SvxItemPropertySet* _pSet ) throw()
-: SvxUnoTextRangeBase( _pSet )
+: SvxUnoTextBase_Base( _pSet )
{
}
SvxUnoTextBase::SvxUnoTextBase( const SvxEditSource* pSource, const SvxItemPropertySet* _pSet ) throw()
-: SvxUnoTextRangeBase( pSource, _pSet )
+: SvxUnoTextBase_Base( pSource, _pSet )
{
ESelection aSelection;
::GetSelection( aSelection, GetEditSource()->GetTextForwarder() );
@@ -1666,7 +1589,7 @@ SvxUnoTextBase::SvxUnoTextBase( const SvxEditSource* pSource, const SvxItemPrope
}
SvxUnoTextBase::SvxUnoTextBase( const SvxEditSource* pSource, const SvxItemPropertySet* _pSet, uno::Reference < text::XText > xParent ) throw()
-: SvxUnoTextRangeBase( pSource, _pSet )
+: SvxUnoTextBase_Base( pSource, _pSet )
{
xParentText = xParent;
ESelection aSelection;
@@ -1675,12 +1598,7 @@ SvxUnoTextBase::SvxUnoTextBase( const SvxEditSource* pSource, const SvxItemPrope
}
SvxUnoTextBase::SvxUnoTextBase( const SvxUnoTextBase& rText ) throw()
-: SvxUnoTextRangeBase( rText )
-, text::XTextAppend()
-, text::XTextCopy()
-, container::XEnumerationAccess()
-, text::XTextRangeMover()
-, lang::XTypeProvider()
+: SvxUnoTextBase_Base( rText )
{
xParentText = rText.xParentText;
}
@@ -1708,89 +1626,6 @@ ESelection SvxUnoTextBase::InsertField( const SvxFieldItem& rField ) throw()
return GetSelection(); // Selection with the field
}
-// XInterface
-uno::Any SAL_CALL SvxUnoTextBase::queryAggregation( const uno::Type & rType )
- throw(uno::RuntimeException)
-{
- QUERYINT( text::XText );
- QUERYINT( text::XSimpleText );
- if( rType == ::getCppuType((const uno::Reference< text::XTextRange >*)0) )
- return uno::makeAny(uno::Reference< text::XTextRange >((text::XText*)(this)));
- QUERYINT(container::XEnumerationAccess );
- QUERYINT( container::XElementAccess );
- QUERYINT( beans::XMultiPropertyStates );
- QUERYINT( beans::XPropertySet );
- QUERYINT( beans::XMultiPropertySet );
- QUERYINT( beans::XPropertyState );
- QUERYINT( text::XTextRangeCompare );
- QUERYINT( lang::XServiceInfo );
- QUERYINT( text::XTextRangeMover );
- QUERYINT( text::XTextCopy );
- QUERYINT( text::XTextAppend );
- QUERYINT( text::XParagraphAppend );
- QUERYINT( text::XTextPortionAppend );
- QUERYINT( lang::XTypeProvider );
- QUERYINT( lang::XUnoTunnel );
-
- return uno::Any();
-}
-
-// XTypeProvider
-
-namespace
-{
- struct theSvxUnoTextBaseTypes :
- public rtl::StaticWithInit<uno::Sequence<uno::Type>, theSvxUnoTextBaseTypes>
- {
- uno::Sequence<uno::Type> operator () ()
- {
- uno::Sequence< uno::Type > aTypeSequence;
-
- aTypeSequence.realloc( 15 ); // !DANGER! keep this updated
- uno::Type* pTypes = aTypeSequence.getArray();
-
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XText >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< container::XEnumerationAccess >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XPropertySet >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XMultiPropertySet >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XMultiPropertyStates >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XPropertyState >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextRangeMover >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextAppend >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextCopy >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XParagraphAppend >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextPortionAppend >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XServiceInfo >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XTypeProvider >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XUnoTunnel >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextRangeCompare >*)0);
-
- return aTypeSequence;
- }
- };
-}
-uno::Sequence< uno::Type > SAL_CALL SvxUnoTextBase::getStaticTypes() throw()
-{
- return theSvxUnoTextBaseTypes::get();
-}
-
-uno::Sequence< uno::Type > SAL_CALL SvxUnoTextBase::getTypes()
- throw (uno::RuntimeException)
-{
- return getStaticTypes();
-}
-
-namespace
-{
- class theSvxUnoTextBaseImplementationId : public rtl::Static< UnoTunnelIdInit, theSvxUnoTextBaseImplementationId > {};
-}
-
-uno::Sequence< sal_Int8 > SAL_CALL SvxUnoTextBase::getImplementationId()
- throw (uno::RuntimeException)
-{
- return theSvxUnoTextBaseImplementationId::get().getSeq();
-}
-
uno::Reference< text::XTextCursor > SvxUnoTextBase::createTextCursorBySelection( const ESelection& rSel )
{
SvxUnoTextCursor* pCursor = new SvxUnoTextCursor( *this );
@@ -2343,7 +2178,6 @@ SvxUnoText::SvxUnoText( const SvxEditSource* pSource, const SvxItemPropertySet*
SvxUnoText::SvxUnoText( const SvxUnoText& rText ) throw()
: SvxUnoTextBase( rText )
-, cppu::OWeakAggObject()
{
}
@@ -2351,52 +2185,6 @@ SvxUnoText::~SvxUnoText() throw()
{
}
-uno::Sequence< uno::Type > SAL_CALL getStaticTypes() throw()
-{
- return SvxUnoTextBase::getStaticTypes();
-}
-
-// uno::XInterface
-uno::Any SAL_CALL SvxUnoText::queryAggregation( const uno::Type & rType ) throw( uno::RuntimeException )
-{
- uno::Any aAny( SvxUnoTextBase::queryAggregation( rType ) );
- if( !aAny.hasValue() )
- aAny = OWeakAggObject::queryAggregation( rType );
-
- return aAny;
-}
-
-uno::Any SAL_CALL SvxUnoText::queryInterface( const uno::Type & rType ) throw( uno::RuntimeException )
-{
- return OWeakAggObject::queryInterface( rType );
-}
-
-void SAL_CALL SvxUnoText::acquire() throw( )
-{
- OWeakAggObject::acquire();
-}
-
-void SAL_CALL SvxUnoText::release() throw( )
-{
- OWeakAggObject::release();
-}
-
-// lang::XTypeProvider
-uno::Sequence< uno::Type > SAL_CALL SvxUnoText::getTypes( ) throw( uno::RuntimeException )
-{
- return SvxUnoTextBase::getTypes();
-}
-
-namespace
-{
- class theSvxUnoTextImplementationId : public rtl::Static< UnoTunnelIdInit, theSvxUnoTextImplementationId > {};
-}
-
-uno::Sequence< sal_Int8 > SAL_CALL SvxUnoText::getImplementationId( ) throw( uno::RuntimeException )
-{
- return theSvxUnoTextImplementationId::get().getSeq();
-}
-
SvxUnoText* SvxUnoText::getImplementation( const uno::Reference< uno::XInterface >& xInt )
{
uno::Reference< lang::XUnoTunnel > xUT( xInt, uno::UNO_QUERY );
diff --git a/editeng/source/uno/unotext2.cxx b/editeng/source/uno/unotext2.cxx
index 33fcf225eb2d..23f01936b693 100644
--- a/editeng/source/uno/unotext2.cxx
+++ b/editeng/source/uno/unotext2.cxx
@@ -43,10 +43,6 @@ using namespace ::rtl;
using namespace ::cppu;
using namespace ::com::sun::star;
-#define QUERYINT( xint ) \
- if( rType == ::getCppuType((const uno::Reference< xint >*)0) ) \
- return uno::makeAny(uno::Reference< xint >(this))
-
// ====================================================================
// SvxUnoTextContentEnumeration
// ====================================================================
@@ -119,7 +115,7 @@ static SvxUnoText* getDummyText() throw()
}
SvxUnoTextContent::SvxUnoTextContent() throw()
-: SvxUnoTextRangeBase(*getDummyText())
+: SvxUnoTextContent_Base(*getDummyText())
, mnParagraph(0)
, mrParentText(*getDummyText())
, maDisposeListeners(maDisposeContainerMutex)
@@ -128,7 +124,7 @@ SvxUnoTextContent::SvxUnoTextContent() throw()
}
SvxUnoTextContent::SvxUnoTextContent( const SvxUnoTextBase& rText, sal_uInt16 nPara ) throw()
-: SvxUnoTextRangeBase(rText)
+: SvxUnoTextContent_Base(rText)
, mnParagraph(nPara)
, mrParentText(rText)
, maDisposeListeners(maDisposeContainerMutex)
@@ -140,11 +136,7 @@ SvxUnoTextContent::SvxUnoTextContent( const SvxUnoTextBase& rText, sal_uInt16 nP
}
SvxUnoTextContent::SvxUnoTextContent( const SvxUnoTextContent& rContent ) throw()
-: SvxUnoTextRangeBase(rContent)
-, text::XTextContent()
-, container::XEnumerationAccess()
-, lang::XTypeProvider()
-, cppu::OWeakAggObject()
+: SvxUnoTextContent_Base(rContent)
, mrParentText(rContent.mrParentText)
, maDisposeListeners(maDisposeContainerMutex)
, mbDisposing( false )
@@ -158,89 +150,6 @@ SvxUnoTextContent::~SvxUnoTextContent() throw()
{
}
-// uno::XInterface
-uno::Any SAL_CALL SvxUnoTextContent::queryAggregation( const uno::Type & rType ) throw( uno::RuntimeException )
-{
- QUERYINT( text::XTextRange );
- else QUERYINT( beans::XMultiPropertyStates );
- else QUERYINT( beans::XPropertySet );
- else QUERYINT( beans::XMultiPropertySet );
- else QUERYINT( beans::XPropertyState );
- else QUERYINT( text::XTextContent );
- else QUERYINT( text::XTextRangeCompare );
- else QUERYINT( lang::XComponent );
- else QUERYINT( container::XEnumerationAccess );
- else QUERYINT( container::XElementAccess );
- else QUERYINT( lang::XServiceInfo );
- else QUERYINT( lang::XTypeProvider );
- else QUERYINT( lang::XUnoTunnel );
- else
- return OWeakAggObject::queryAggregation( rType );
-}
-
-uno::Any SAL_CALL SvxUnoTextContent::queryInterface( const uno::Type & rType ) throw( uno::RuntimeException )
-{
- return OWeakAggObject::queryInterface(rType);
-}
-
-void SAL_CALL SvxUnoTextContent::acquire() throw( )
-{
- OWeakAggObject::acquire();
-}
-
-void SAL_CALL SvxUnoTextContent::release() throw( )
-{
- OWeakAggObject::release();
-}
-
-// XTypeProvider
-
-namespace
-{
- struct theSvxUnoTextContentTypes :
- public rtl::StaticWithInit<uno::Sequence<uno::Type>, theSvxUnoTextContentTypes>
- {
- uno::Sequence<uno::Type> operator () ()
- {
- uno::Sequence< uno::Type > aTypeSequence;
-
- aTypeSequence.realloc( 11 ); // !DANGER! keep this updated
- uno::Type* pTypes = aTypeSequence.getArray();
-
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextRange >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XPropertySet >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XMultiPropertySet >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XMultiPropertyStates >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XPropertyState >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextRangeCompare >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextContent >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< container::XEnumerationAccess >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XServiceInfo >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XTypeProvider >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XUnoTunnel >*)0);
-
- return aTypeSequence;
- }
- };
-}
-
-uno::Sequence< uno::Type > SAL_CALL SvxUnoTextContent::getTypes()
- throw (uno::RuntimeException)
-{
- return theSvxUnoTextContentTypes::get();
-}
-
-namespace
-{
- class theSvxUnoTextContentImplementationId : public rtl::Static< UnoTunnelIdInit, theSvxUnoTextContentImplementationId > {};
-}
-
-uno::Sequence< sal_Int8 > SAL_CALL SvxUnoTextContent::getImplementationId()
- throw (uno::RuntimeException)
-{
- return theSvxUnoTextContentImplementationId::get().getSeq();
-}
-
// text::XTextRange
uno::Reference< text::XText > SAL_CALL SvxUnoTextContent::getText()
@@ -493,6 +402,18 @@ uno::Any SAL_CALL SvxUnoTextRangeEnumeration::nextElement()
// class SvxUnoTextCursor
// ====================================================================
+SvxUnoTextCursor_Base::SvxUnoTextCursor_Base(SvxUnoTextCursor_Base const & base)
+ throw ():
+ SvxUnoTextCursor_Base0(base)
+{}
+
+SvxUnoTextCursor_Base::SvxUnoTextCursor_Base(SvxUnoTextRangeBase const & base)
+ throw ():
+ SvxUnoTextCursor_Base0(base)
+{}
+
+SvxUnoTextCursor_Base::~SvxUnoTextCursor_Base() throw () {}
+
uno::Reference< uno::XInterface > SvxUnoTextCursor_NewInstance()
{
SvxUnoText aText;
@@ -502,16 +423,13 @@ uno::Reference< uno::XInterface > SvxUnoTextCursor_NewInstance()
}
SvxUnoTextCursor::SvxUnoTextCursor( const SvxUnoTextBase& rText ) throw()
-: SvxUnoTextRangeBase(rText),
+: SvxUnoTextCursor_Base(rText),
mxParentText( const_cast<SvxUnoTextBase*>(&rText) )
{
}
SvxUnoTextCursor::SvxUnoTextCursor( const SvxUnoTextCursor& rCursor ) throw()
-: SvxUnoTextRangeBase(rCursor)
-, text::XTextCursor()
-, lang::XTypeProvider()
-, cppu::OWeakAggObject()
+: SvxUnoTextCursor_Base(rCursor)
, mxParentText(rCursor.mxParentText)
{
}
@@ -520,89 +438,6 @@ SvxUnoTextCursor::~SvxUnoTextCursor() throw()
{
}
-// Comment out automatically - [getIdlClass(es) or queryInterface]
-// Please use the XTypeProvider!
-//sal_Bool SvxUnoTextCursor::queryInterface( uno::Uik aUIK, Reference< uno::XInterface > & xRef)
-uno::Any SAL_CALL SvxUnoTextCursor::queryAggregation( const uno::Type & rType )
- throw(uno::RuntimeException)
-{
- if( rType == ::getCppuType((const uno::Reference< text::XTextRange >*)0) )
- return uno::makeAny(uno::Reference< text::XTextRange >((text::XText*)(this)));
- else QUERYINT( text::XTextCursor );
- else QUERYINT( beans::XMultiPropertyStates );
- else QUERYINT( beans::XPropertySet );
- else QUERYINT( beans::XMultiPropertySet );
- else QUERYINT( beans::XPropertyState );
- else QUERYINT( text::XTextRangeCompare );
- else QUERYINT( lang::XServiceInfo );
- else QUERYINT( lang::XTypeProvider );
- else QUERYINT( lang::XUnoTunnel );
- else
- return OWeakAggObject::queryAggregation( rType );
-}
-
-uno::Any SAL_CALL SvxUnoTextCursor::queryInterface( const uno::Type & rType )
- throw(uno::RuntimeException)
-{
- return OWeakAggObject::queryInterface(rType);
-}
-
-void SAL_CALL SvxUnoTextCursor::acquire() throw ( )
-{
- OWeakAggObject::acquire();
-}
-
-void SAL_CALL SvxUnoTextCursor::release() throw ( )
-{
- OWeakAggObject::release();
-}
-
-namespace
-{
- struct theSvxUnoTextCursorTypes :
- public rtl::StaticWithInit<uno::Sequence<uno::Type>, theSvxUnoTextCursorTypes>
- {
- uno::Sequence<uno::Type> operator () ()
- {
- uno::Sequence< uno::Type > aTypeSequence;
-
- aTypeSequence.realloc( 10 ); // !DANGER! keep this updated
- uno::Type* pTypes = aTypeSequence.getArray();
-
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextRange >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextCursor >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XPropertySet >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XMultiPropertySet >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XMultiPropertyStates >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XPropertyState >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextRangeCompare >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XServiceInfo >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XTypeProvider >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XUnoTunnel >*)0);
-
- return aTypeSequence;
- }
- };
-}
-
-// XTypeProvider
-uno::Sequence< uno::Type > SAL_CALL SvxUnoTextCursor::getTypes()
- throw(uno::RuntimeException)
-{
- return theSvxUnoTextCursorTypes::get();
-}
-
-namespace
-{
- class theSvxUnoTextCursorImplementationId : public rtl::Static< UnoTunnelIdInit, theSvxUnoTextCursorImplementationId > {};
-}
-
-uno::Sequence< sal_Int8 > SAL_CALL SvxUnoTextCursor::getImplementationId()
- throw (uno::RuntimeException)
-{
- return theSvxUnoTextCursorImplementationId::get().getSeq();
-}
-
// text::XTextCursor
void SAL_CALL SvxUnoTextCursor::collapseToStart()
throw(uno::RuntimeException)