23 #include <com/sun/star/lang/XServiceInfo.hpp>
29 SwVbaParagraph::SwVbaParagraph(
const uno::Reference< ooo::vba::XHelperInterface >& rParent,
const uno::Reference< uno::XComponentContext >& rContext,
const uno::Reference< text::XTextDocument >& xDocument,
const uno::Reference< text::XTextRange >& xTextRange ) :
30 SwVbaParagraph_BASE( rParent, rContext ), mxTextDocument( xDocument ), mxTextRange( xTextRange )
38 uno::Reference< word::XRange > SAL_CALL
47 uno::Reference< word::XRange > xRange =
getRange();
48 return xRange->getStyle();
54 uno::Reference< word::XRange > xRange =
getRange();
55 xRange->setStyle( style );
61 return "SwVbaParagraph";
64 uno::Sequence< OUString >
69 "ooo.vba.word.Paragraph"
76 class ParagraphCollectionHelper :
public ::cppu::WeakImplHelper< container::XIndexAccess,
77 container::XEnumerationAccess >
80 uno::Reference< text::XTextDocument > mxTextDocument;
83 uno::Reference< container::XEnumeration > getEnumeration()
85 uno::Reference< container::XEnumerationAccess > xParEnumAccess( mxTextDocument->getText(), uno::UNO_QUERY_THROW );
86 return xParEnumAccess->createEnumeration();
91 explicit ParagraphCollectionHelper(
const uno::Reference< text::XTextDocument >& xDocument ): mxTextDocument( xDocument )
96 virtual sal_Bool SAL_CALL hasElements( )
override {
return true; }
98 virtual ::sal_Int32 SAL_CALL getCount( )
override
101 uno::Reference< container::XEnumeration > xParEnum = getEnumeration();
102 while( xParEnum->hasMoreElements() )
104 uno::Reference< lang::XServiceInfo > xServiceInfo( xParEnum->nextElement(), uno::UNO_QUERY_THROW );
105 if( xServiceInfo->supportsService(
"com.sun.star.text.Paragraph") )
112 virtual uno::Any SAL_CALL getByIndex( ::sal_Int32
Index )
override
114 if( Index < getCount() )
116 sal_Int32 nCount = 0;
117 uno::Reference< container::XEnumeration > xParEnum = getEnumeration();
118 while( xParEnum->hasMoreElements() )
120 uno::Reference< lang::XServiceInfo > xServiceInfo( xParEnum->nextElement(), uno::UNO_QUERY_THROW );
121 if( xServiceInfo->supportsService(
"com.sun.star.text.Paragraph") )
123 if( Index == nCount )
124 return uno::makeAny( xServiceInfo );
129 throw lang::IndexOutOfBoundsException();
132 virtual uno::Reference< container::XEnumeration > SAL_CALL createEnumeration( )
override
134 return getEnumeration();
140 SwVbaParagraphs::SwVbaParagraphs(
const uno::Reference< XHelperInterface >& xParent,
const uno::Reference< css::uno::XComponentContext > & xContext,
const uno::Reference< text::XTextDocument >& xDocument ) :
SwVbaParagraphs_BASE( xParent, xContext, new ParagraphCollectionHelper( xDocument ) ), mxTextDocument( xDocument )
150 uno::Reference< container::XEnumeration >
153 uno::Reference< container::XEnumerationAccess > xEnumerationAccess(
m_xIndexAccess, uno::UNO_QUERY_THROW );
154 return xEnumerationAccess->createEnumeration();
160 uno::Reference< text::XTextRange > xTextRange( aSource, uno::UNO_QUERY_THROW );
161 return uno::makeAny( uno::Reference< word::XParagraph >(
new SwVbaParagraph(
this,
mxContext, mxTextDocument, xTextRange ) ) );
167 return "SwVbaParagraphs";
170 css::uno::Sequence<OUString>
173 static uno::Sequence< OUString >
const sNames
175 "ooo.vba.word.Paragraphs"
virtual css::uno::Sequence< OUString > getServiceNames() override
css::uno::Reference< css::text::XTextRange > mxTextRange
css::uno::Reference< css::container::XIndexAccess > m_xIndexAccess
SwVbaParagraph(const css::uno::Reference< ooo::vba::XHelperInterface > &rParent, const css::uno::Reference< css::uno::XComponentContext > &rContext, const css::uno::Reference< css::text::XTextDocument > &xDocument, const css::uno::Reference< css::text::XTextRange > &xTextRange)
Sequence< OUString > aServiceNames
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
virtual css::uno::Any SAL_CALL getStyle() override
css::uno::Reference< css::text::XTextDocument > mxTextDocument
virtual css::uno::Type SAL_CALL getElementType() override
virtual OUString getServiceImplName() override
virtual css::uno::Any createCollectionObject(const css::uno::Any &aSource) override
css::uno::Type const & get()
virtual css::uno::Sequence< OUString > getServiceNames() override
SwVbaParagraphs(const css::uno::Reference< ov::XHelperInterface > &xParent, const css::uno::Reference< css::uno::XComponentContext > &xContext, const css::uno::Reference< css::text::XTextDocument > &xDocument)
css::uno::Reference< css::uno::XComponentContext > mxContext
virtual OUString getServiceImplName() override
virtual css::uno::Reference< ooo::vba::word::XRange > SAL_CALL getRange() override
virtual ~SwVbaParagraph() override
virtual void SAL_CALL setStyle(const css::uno::Any &style) override