12 #include <ooo/vba/excel/XlSheetType.hpp>
13 #include <ooo/vba/XCommandBars.hpp>
20 class MenuBarEnumeration :
public ::cppu::WeakImplHelper< container::XEnumeration >
22 uno::Reference< XHelperInterface > m_xParent;
23 uno::Reference< uno::XComponentContext >
m_xContext;
24 uno::Reference< container::XEnumeration > m_xEnumeration;
27 MenuBarEnumeration(
const uno::Reference< XHelperInterface >& xParent,
const uno::Reference< uno::XComponentContext >& xContext,
const uno::Reference< container::XEnumeration >& xEnumeration) : m_xParent( xParent ), m_xContext( xContext ), m_xEnumeration( xEnumeration )
30 virtual sal_Bool SAL_CALL hasMoreElements()
override
32 return m_xEnumeration->hasMoreElements();
34 virtual uno::Any SAL_CALL nextElement()
override
37 if( !hasMoreElements() )
38 throw container::NoSuchElementException();
40 uno::Reference< XCommandBar > xCommandBar( m_xEnumeration->nextElement(), uno::UNO_QUERY_THROW );
41 uno::Reference< excel::XMenuBar > xMenuBar(
new ScVbaMenuBar( m_xParent, m_xContext, xCommandBar ) );
63 uno::Reference< container::XEnumeration >
66 uno::Reference< container::XEnumerationAccess > xEnumAccess(
m_xCommandBars, uno::UNO_QUERY_THROW );
67 return uno::Reference< container::XEnumeration >(
new MenuBarEnumeration(
this,
mxContext, xEnumAccess->createEnumeration() ) );
89 if( nIndex == excel::XlSheetType::xlWorksheet )
92 aSource <<= OUString(
"Worksheet Menu Bar" );
93 uno::Reference< XCommandBar > xCommandBar(
m_xCommandBars->Item( aSource,
uno::Any() ), uno::UNO_QUERY_THROW );
95 return uno::makeAny( xMenuBar );
98 throw uno::RuntimeException(
"Not implemented" );
105 return "ScVbaMenuBars";
108 uno::Sequence<OUString>
113 "ooo.vba.excel.MenuBars"
Sequence< OUString > aServiceNames
exports com.sun.star. container
css::uno::Type const & get()
css::uno::Reference< css::uno::XComponentContext > mxContext
Any makeAny(Color const &value)
Reference< XComponentContext > m_xContext