2#include "GUIPropertyItemBase.h"
8 class CGUIPropertyItemButton;
10 typedef std::function<void(CGUIPropertyItemButton*)> CPropertyItemButtonClickProcedure;
11 #define MakePropertyItemButtonClickProcedure [=](CGUIPropertyItemButton* pPropertyButton) -> void
13 class FL_EXPORT CGUIPropertyItemButton :
public CGUIPropertyItemBase
16 CGUIPropertyItemButton();
17 virtual ~CGUIPropertyItemButton();
19 virtual CMFCPropertyGridProperty* CreateGridProperty()
override;
21 virtual void SetButtonName(Base::CFLString<wchar_t> strButtonName);
22 virtual Base::CFLString<wchar_t> GetButtonName()
const;
24 virtual bool SetPropertyButtonClickProcedure(CPropertyItemButtonClickProcedure* pFunc,
bool bAutoDestroy =
true);
25 virtual CPropertyItemButtonClickProcedure* GetPropertyButtonClickProcedure()
const;
27 virtual bool SetValue(Base::CFLString<wchar_t> strValue,
bool bInvokeCallback =
true)
override;
29 DeclareGetClassType();
32 Base::CFLString<wchar_t> m_strButtonName;
34 CPropertyItemButtonClickProcedure* m_pButtonClickProcedure;
35 bool m_bButtonClickProcedureAutoDestroy;
37 friend class CGUIPaneProperties;
38 friend class CGUIPropertyGridPropertyButton;