|
1
|
1 #pragma once
|
|
|
2
|
|
|
3 namespace fb2k {
|
|
|
4
|
|
|
5 //! \since 2.0
|
|
|
6 class toolbarDropDownNotify {
|
|
|
7 public:
|
|
|
8 virtual void contentChanged() = 0;
|
|
|
9 virtual void selectionChanged() = 0;
|
|
|
10 protected:
|
|
|
11 ~toolbarDropDownNotify() {}
|
|
|
12 };
|
|
|
13
|
|
|
14 //! \since 2.0
|
|
|
15 class toolbarDropDown : public service_base {
|
|
|
16 FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT(toolbarDropDown)
|
|
|
17 public:
|
|
|
18 virtual GUID getGuid() = 0;
|
|
|
19 virtual void getShortName(pfc::string_base& out) = 0; // name to appear in toolbar
|
|
|
20 virtual void getLongName(pfc::string_base& out) = 0; // long descriptive name
|
|
|
21 virtual size_t getNumValues() = 0;
|
|
|
22 virtual void getValue(size_t idx, pfc::string_base& out) = 0;
|
|
|
23 virtual void setSelectedIndex(size_t) = 0;
|
|
|
24 virtual size_t getSelectedIndex() = 0;
|
|
|
25 virtual void addNotify(toolbarDropDownNotify*) = 0;
|
|
|
26 virtual void removeNotify(toolbarDropDownNotify*) = 0;
|
|
|
27 virtual void onDropDown() = 0;
|
|
|
28 };
|
|
|
29 }
|