4#include "GUIPropertyGridCtrl.h"
5#include "GUIPropertyItemBase.h"
12 class FL_EXPORT CGUIDialogProperty :
public CGUIDialog
14 DECLARE_DYNAMIC(CGUIDialogProperty)
16 CGUIDialogProperty(CWnd* pParent =
nullptr);
17 CGUIDialogProperty(
const CGUIDialogProperty& rhs);
19 virtual ~CGUIDialogProperty();
21 virtual void OnReceiveBroadcast(
const Base::CBroadcastMessage* pMessage)
override;
22 static CGUIDialogProperty* CreateModelessDialog(CWnd* pParent =
nullptr);
24 virtual void OnOK()
override;
25 virtual BOOL OnInitDialog()
override;
27 virtual void SetSize(int32_t i32W, int32_t i32H);
28 virtual CGUIPropertyItemBase* AddItem(CGUIPropertyItemBase* pItem);
29 virtual CGUIPropertyItemBase* AddItem(
const Base::CFLString<wchar_t>& flstrName,
const Base::CFLString<wchar_t>& flstrPath,
const Base::CFLString<wchar_t>& flstrValue,
bool bReadOnly =
false);
30 virtual CGUIPropertyItemBase* AddItem(
const Base::CFLString<wchar_t>& flstrName,
const Base::CFLString<wchar_t>& flstrPath,
const Base::CFLString<wchar_t>& flstrValue, CGUIEditBase::EInputType eInputType,
bool bReadOnly =
false);
31 virtual CGUIPropertyItemBase* GetItemByHash(
const uint32_t& u32Hash);
33 virtual void SetPropertyGridLeftColumnWidth(int32_t i32LeftColumnWidth);
34 virtual BOOL PreTranslateMessage(MSG* pMsg);
36 DeclareGetClassType();
39 virtual bool CreateProperty();
40 virtual bool AdjustLayoutProperty(int32_t& i32PropertyW, int32_t& i32PropertyH);
43 int32_t m_i32PropertyGridLeftColumnWidth;
44 uint32_t m_u32IdWndPropList;
45 std::map<uint32_t, CGUIPropertyItemBase*> m_mapItems;
46 std::vector<CGUIPropertyItemBase*> m_vctItems;
47 std::map<int32_t, Base::CFLString<wchar_t>> m_mapChangedItems;
48 std::vector<CMFCPropertyGridProperty*> m_vctProperties;
49 std::set<int32_t> m_setResetItemIdx;
50 CGUIPropertyGridCtrl m_wndPropList;
54 afx_msg LRESULT OnPropertyChanged(WPARAM wparam, LPARAM lparam);
55 afx_msg
void OnDestroy();
56 afx_msg
void OnSize(UINT nType,
int cx,
int cy);