29 class HeadersFootersIndexAccess :
public ::cppu::WeakImplHelper<container::XIndexAccess >
32 uno::Reference< XHelperInterface >
mxParent;
33 uno::Reference< uno::XComponentContext >
mxContext;
34 uno::Reference< frame::XModel >
mxModel;
35 uno::Reference< beans::XPropertySet > mxPageStyleProps;
39 HeadersFootersIndexAccess(
const uno::Reference< XHelperInterface >& xParent,
const uno::Reference< uno::XComponentContext >& xContext,
const uno::Reference< frame::XModel >& xModel,
const uno::Reference< beans::XPropertySet >& xPageStyleProps,
bool bHeader ) : mxParent( xParent ), mxContext( xContext ), mxModel( xModel ), mxPageStyleProps( xPageStyleProps ), mbHeader( bHeader ) {}
42 virtual sal_Int32 SAL_CALL getCount( )
override
47 virtual uno::Any SAL_CALL getByIndex( sal_Int32
Index )
override
50 throw lang::IndexOutOfBoundsException();
51 return uno::Any( uno::Reference< word::XHeaderFooter >(
new SwVbaHeaderFooter( mxParent, mxContext, mxModel, mxPageStyleProps, mbHeader, Index ) ) );
53 virtual uno::Type SAL_CALL getElementType( )
override
57 virtual sal_Bool SAL_CALL hasElements( )
override
68 explicit HeadersFootersEnumWrapper(
SwVbaHeadersFooters* _pHeadersFooters ) : pHeadersFooters( _pHeadersFooters ), nIndex( 0 ) {}
69 virtual sal_Bool SAL_CALL hasMoreElements( )
override
71 return ( nIndex < pHeadersFooters->getCount() );
74 virtual uno::Any SAL_CALL nextElement( )
override
76 if ( nIndex < pHeadersFooters->getCount() )
78 throw container::NoSuchElementException();
84 SwVbaHeadersFooters::SwVbaHeadersFooters(
const uno::Reference< XHelperInterface >& xParent,
const uno::Reference< uno::XComponentContext > & xContext,
const uno::Reference< frame::XModel >& xModel,
const uno::Reference< beans::XPropertySet >& xPageStyleProps,
bool isHeader ):
SwVbaHeadersFooters_BASE( xParent, xContext, new HeadersFootersIndexAccess( xParent, xContext, xModel, xPageStyleProps, isHeader ) ), mxModel( xModel ), mxPageStyleProps( xPageStyleProps ), mbHeader( isHeader )
98 if( ( nIndex < 1 ) || ( nIndex > 3 ) )
100 throw lang::IndexOutOfBoundsException();
102 return uno::Any( uno::Reference< word::XHeaderFooter >(
new SwVbaHeaderFooter(
this, mxContext, mxModel, mxPageStyleProps, mbHeader, nIndex ) ) );
111 uno::Reference< container::XEnumeration >
115 return new HeadersFootersEnumWrapper(
this );
127 return "SwVbaHeadersFooters";
130 uno::Sequence<OUString>
133 static uno::Sequence< OUString >
const sNames
135 "ooo.vba.word.HeadersFooters"
WeakReference< XInterface > mxParent
css::uno::Reference< css::frame::XModel2 > mxModel
::cppu::WeakImplHelper< css::container::XEnumeration > EnumerationHelper_BASE
css::uno::Type const & get()