21 #include <com/sun/star/lang/XServiceInfo.hpp>
27 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 ) :
28 SwVbaParagraph_BASE( rParent, rContext ), mxTextDocument( xDocument ), mxTextRange( xTextRange )
36 uno::Reference< word::XRange > SAL_CALL
45 uno::Reference< word::XRange > xRange =
getRange();
46 return xRange->getStyle();
52 uno::Reference< word::XRange > xRange =
getRange();
53 xRange->setStyle( style );
59 return "SwVbaParagraph";
62 uno::Sequence< OUString >
67 "ooo.vba.word.Paragraph"
74 class ParagraphCollectionHelper :
public ::cppu::WeakImplHelper< container::XIndexAccess,
75 container::XEnumerationAccess >
78 uno::Reference< text::XTextDocument > mxTextDocument;
81 uno::Reference< container::XEnumeration > getEnumeration()
83 uno::Reference< container::XEnumerationAccess > xParEnumAccess( mxTextDocument->getText(), uno::UNO_QUERY_THROW );
84 return xParEnumAccess->createEnumeration();
89 explicit ParagraphCollectionHelper(
const uno::Reference< text::XTextDocument >& xDocument ): mxTextDocument( xDocument )
94 virtual sal_Bool SAL_CALL hasElements( )
override {
return true; }
96 virtual ::sal_Int32 SAL_CALL getCount( )
override
99 uno::Reference< container::XEnumeration > xParEnum = getEnumeration();
100 while( xParEnum->hasMoreElements() )
102 uno::Reference< lang::XServiceInfo > xServiceInfo( xParEnum->nextElement(), uno::UNO_QUERY_THROW );
103 if( xServiceInfo->supportsService(
"com.sun.star.text.Paragraph") )
110 virtual uno::Any SAL_CALL getByIndex( ::sal_Int32
Index )
override
112 if( Index < getCount() )
114 sal_Int32 nCount = 0;
115 uno::Reference< container::XEnumeration > xParEnum = getEnumeration();
116 while( xParEnum->hasMoreElements() )
118 uno::Reference< lang::XServiceInfo > xServiceInfo( xParEnum->nextElement(), uno::UNO_QUERY_THROW );
119 if( xServiceInfo->supportsService(
"com.sun.star.text.Paragraph") )
121 if( Index == nCount )
127 throw lang::IndexOutOfBoundsException();
130 virtual uno::Reference< container::XEnumeration > SAL_CALL createEnumeration( )
override
132 return getEnumeration();
138 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 )
148 uno::Reference< container::XEnumeration >
151 uno::Reference< container::XEnumerationAccess > xEnumerationAccess(
m_xIndexAccess, uno::UNO_QUERY_THROW );
152 return xEnumerationAccess->createEnumeration();
158 uno::Reference< text::XTextRange > xTextRange( aSource, uno::UNO_QUERY_THROW );
165 return "SwVbaParagraphs";
168 css::uno::Sequence<OUString>
171 static uno::Sequence< OUString >
const sNames
173 "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