20#include <ooo/vba/XCollection.hpp>
22#include <com/sun/star/container/XNameContainer.hpp>
28constexpr OUStringLiteral
SVALUE( u
"MultiPageValue" );
32class PagesImpl :
public cppu::WeakImplHelper< container::XIndexAccess >
36 explicit PagesImpl( sal_Int32 nPages ) : mnPages( nPages ) {}
37 virtual ::sal_Int32 SAL_CALL getCount()
override {
return mnPages; }
38 virtual uno::Any SAL_CALL getByIndex( ::sal_Int32
Index )
override
41 throw lang::IndexOutOfBoundsException();
42 return uno::Any( uno::Reference< uno::XInterface >() );
45 virtual uno::Type SAL_CALL getElementType()
override
51 virtual sal_Bool SAL_CALL hasElements( )
override
53 return ( mnPages > 0 );
60 const uno::Reference< ov::XHelperInterface >& xParent,
61 const uno::Reference< uno::XComponentContext >& xContext,
62 const uno::Reference< uno::XInterface >& xControl,
63 const uno::Reference< frame::XModel >& xModel,
64 std::unique_ptr<ov::AbstractGeometryAttributes> pGeomHelper) :
83 sal_Int32 nVal = _value + 1;
86 if ( nVal != nOldVal )
93 return "ScVbaMultiPage";
100 uno::Reference< container::XNameContainer > xContainer(
m_xProps, uno::UNO_QUERY_THROW );
101 uno::Reference< XCollection > xColl(
new ScVbaPages(
this,
mxContext,
new PagesImpl( xContainer->getElementNames().getLength() ) ) );
102 if ( !
index.hasValue() )
107uno::Sequence< OUString >
112 "ooo.vba.msforms.MultiPage"
virtual void SAL_CALL setValue(sal_Int32 _value) override
virtual css::uno::Sequence< OUString > getServiceNames() override
virtual css::uno::Any SAL_CALL Pages(const css::uno::Any &index) override
virtual sal_Int32 SAL_CALL getValue() override
virtual OUString getServiceImplName() override
ScVbaMultiPage(const css::uno::Reference< ov::XHelperInterface > &xParent, const css::uno::Reference< css::uno::XComponentContext > &xContext, const css::uno::Reference< css::uno::XInterface > &xControl, const css::uno::Reference< css::frame::XModel > &xModel, std::unique_ptr< ov::AbstractGeometryAttributes > pGeomHelper)
css::uno::Type const & get()
Sequence< OUString > aServiceNames
Reference< XModel > xModel
constexpr OUStringLiteral SVALUE(u"MultiPageValue")
cppu::ImplInheritanceHelper< ScVbaControl, ov::msforms::XMultiPage > MultiPageImpl_BASE