diff options
Diffstat (limited to 'chart2/source/controller/main/ElementSelector.hxx')
-rw-r--r-- | chart2/source/controller/main/ElementSelector.hxx | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/chart2/source/controller/main/ElementSelector.hxx b/chart2/source/controller/main/ElementSelector.hxx index 379fc0e57821..178fb080eaae 100644 --- a/chart2/source/controller/main/ElementSelector.hxx +++ b/chart2/source/controller/main/ElementSelector.hxx @@ -25,7 +25,7 @@ #include <cppuhelper/implbase1.hxx> #include <svtools/toolboxcontroller.hxx> -#include <vcl/lstbox.hxx> +#include <sfx2/InterimItemWindow.hxx> #include <cppuhelper/weakref.hxx> namespace chart @@ -42,26 +42,31 @@ struct ListBoxEntryData } }; -class SelectorListBox : public ListBox +class SelectorListBox final : public InterimItemWindow { - public: - SelectorListBox( vcl::Window* pParent, WinBits nStyle ); +public: + SelectorListBox(vcl::Window* pParent); + virtual void dispose() override; + virtual ~SelectorListBox() override; + + virtual void GetFocus() override; - virtual void Select() override; - virtual bool EventNotify( NotifyEvent& rNEvt ) override; - virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible() override; + void ReleaseFocus_Impl(); - void ReleaseFocus_Impl(); + void SetChartController( const css::uno::Reference< css::frame::XController >& xChartController ); + void UpdateChartElementsListAndSelection(); - void SetChartController( const css::uno::Reference< css::frame::XController >& xChartController ); - void UpdateChartElementsListAndSelection(); +private: + css::uno::WeakReference<css::frame::XController> m_xChartController; + std::unique_ptr<weld::ComboBox> m_xWidget; - private: - css::uno::WeakReference< css::frame::XController > m_xChartController; + std::vector<ListBoxEntryData> m_aEntries; - std::vector< ListBoxEntryData > m_aEntries; + bool m_bReleaseFocus; - bool m_bReleaseFocus; + DECL_LINK(KeyInputHdl, const KeyEvent&, bool); + DECL_LINK(SelectHdl, weld::ComboBox&, void); + DECL_LINK(FocusOutHdl, weld::Widget&, void); }; typedef ::cppu::ImplHelper1 < css::lang::XServiceInfo> ElementSelectorToolbarController_BASE; |