FLImaging 6.8.12.1
GUIDialogProperty.h
1#pragma once
2
3#include "GUIDialog.h"
4#include "GUIPropertyGridCtrl.h"
5#include "GUIPropertyItemBase.h"
6#include <set>
7
8namespace FLImaging
9{
10 namespace GUI
11 {
12 class FL_EXPORT CGUIDialogProperty : public CGUIDialog
13 {
14 DECLARE_DYNAMIC(CGUIDialogProperty)
15 public:
16 CGUIDialogProperty(CWnd* pParent = nullptr);
17 CGUIDialogProperty(const CGUIDialogProperty& rhs);
18
19 virtual ~CGUIDialogProperty();
20
21 virtual void OnReceiveBroadcast(const Base::CBroadcastMessage* pMessage) override;
22 static CGUIDialogProperty* CreateModelessDialog(CWnd* pParent = nullptr);
23
24 virtual void OnOK() override;
25 virtual BOOL OnInitDialog() override;
26
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);
32
33 virtual void SetPropertyGridLeftColumnWidth(int32_t i32LeftColumnWidth);
34 virtual BOOL PreTranslateMessage(MSG* pMsg);
35 virtual bool AdjustLayoutButton(int32_t i32BtnW, int32_t i32BtnH, int32_t i32BtnMargin, int32_t i32BtnSpace, int32_t i32BtnTop);
36
37 DeclareGetClassType();
38
39 protected:
40 virtual bool CreateProperty();
41 virtual bool AdjustLayoutProperty(int32_t& i32PropertyW, int32_t& i32PropertyH);
42
43 public:
44 int32_t m_i32PropertyGridLeftColumnWidth;
45 uint32_t m_u32IdWndPropList;
46 std::map<uint32_t, CGUIPropertyItemBase*> m_mapItems;
47 std::vector<CGUIPropertyItemBase*> m_vctItems;
48 std::map<int32_t, Base::CFLString<wchar_t>> m_mapChangedItems;
49 std::vector<CMFCPropertyGridProperty*> m_vctProperties;
50 std::set<int32_t> m_setResetItemIdx;
51 CGUIPropertyGridCtrl m_wndPropList;
52
53 public:
54 DECLARE_MESSAGE_MAP()
55 afx_msg LRESULT OnPropertyChanged(WPARAM wparam, LPARAM lparam);
56 afx_msg void OnDestroy();
57 afx_msg void OnSize(UINT nType, int cx, int cy);
58 };
59 }
60}
A file of dialog class.
Definition GUIDialog.h:73
Definition D2DObject.h:12