1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  */
9 #ifndef INCLUDED_SC_SOURCE_UI_VBA_VBAMENU_HXX
10 #define INCLUDED_SC_SOURCE_UI_VBA_VBAMENU_HXX
11 
12 #include <ooo/vba/excel/XMenu.hpp>
13 #include <ooo/vba/XCommandBarControl.hpp>
14 #include <vbahelper/vbahelperinterface.hxx>
15 
16 typedef InheritedHelperInterfaceWeakImpl< ov::excel::XMenu > Menu_BASE;
17 
18 class ScVbaMenu : public Menu_BASE
19 {
20 private:
21     css::uno::Reference< ov::XCommandBarControl > m_xCommandBarControl;
22 
23 public:
24     /// @throws css::uno::RuntimeException
25     ScVbaMenu( const css::uno::Reference< ov::XHelperInterface >& rParent, const css::uno::Reference< css::uno::XComponentContext >& rContext, const css::uno::Reference< ov::XCommandBarControl >& rCommandBarControl );
26 
27     virtual OUString SAL_CALL getCaption() override;
28     virtual void SAL_CALL setCaption( const OUString& _caption ) override;
29 
30     virtual void SAL_CALL Delete(  ) override;
31     virtual css::uno::Any SAL_CALL MenuItems( const css::uno::Any& aIndex ) override;
32 
33     // XHelperInterface
34     virtual OUString getServiceImplName() override;
35     virtual css::uno::Sequence<OUString> getServiceNames() override;
36 };
37 #endif // INCLUDED_SC_SOURCE_UI_VBA_VBAMENU_HXX
38 
39 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
40