FLImaging 6.5.8.1
GUIPropertyMenuBase.h
1#pragma once
2
3#include "GUIMenuItemProperty.h"
4#include "GUIPropertyButton.h"
5#include <map>
6
7namespace FLImaging
8{
9 namespace GUI
10 {
11 class CGUISNAPNodeInfo;
12 class CSNAPParameter;
13 class CSNAPGenerateCodeInfo;
14 class CGUIViewSNAP;
15
16 class FL_EXPORT CGUIPropertyMenuBase : public CGUIMenuItemProperty
17 {
18 SupportToDuplicateAbstractObject(CGUIPropertyMenuBase);
19
20 public:
21 CGUIPropertyMenuBase();
22 CGUIPropertyMenuBase(const CGUIPropertyMenuBase& rhs);
23 CGUIPropertyMenuBase(const CGUIPropertyMenuBase* pRhs);
24
25 virtual ~CGUIPropertyMenuBase();
26
27 const CGUIPropertyMenuBase& operator=(const CGUIPropertyMenuBase& rhs);
28 const CGUIPropertyMenuBase& operator=(const CGUIPropertyMenuBase* pRhs);
29
30 virtual const CResult Assign(const CGUIPropertyMenuBase& rhs);
31 virtual const CResult Assign(const CGUIPropertyMenuBase* pRhs);
32
33 virtual const CResult ConfigureMenu() = 0;
34
35 virtual const Foundation::CAlgorithmBase* GetAlgorithmObject() const;
36
37 virtual const CResult UpdateParameters();
38
39 virtual const CResult GenerateCodeScript(const Base::CFLString<wchar_t>& flsObjectName, Base::CFLString<wchar_t> flsDescription = L"");
40 virtual const CResult GenerateParameterCodeScript(const Base::CFLString<wchar_t>& flsObjectName);
41
42
43 public:
44 virtual const CResult InitializeParameter();
45
46 virtual Base::CFLString<wchar_t> GetSNAPPaneTitle();
47 virtual const CResult UpdateSNAPTitle();
48
49 void SetSNAPNodeInfo(const CGUISNAPNodeInfo* pSNAPNodeInfo);
50 const CGUISNAPNodeInfo* GetSNAPNodeInfo() const;
51
52 virtual const CResult OnInputParameter(CSNAPParameter* pParameter);
53 virtual const CResult OnOutputParameter(CSNAPParameter* pParameter);
54 virtual const CResult GetLastResultValue(Base::CFLString<wchar_t>& flsResult) const;
55
56 virtual Base::EPixelFormat OnResponseImagePixelFormat(Base::EPixelFormat eInputPixelFormat, Base::CFLString<wchar_t> flsOutputProcedureName);
57 virtual const CResult OnSetImagePixelFormat(Base::EPixelFormat eInputPixelFormat);
58
59 virtual bool IsSNAPNodeProperty() const;
60 virtual Base::EPixelFormat GetInputImagePixelFormat();
61
62 virtual const CResult UpdatePropertyMenuItem();
63
64 void RemoveCustomProcess(bool bRemove);
65
66 virtual const CResult GenerateCode(CSNAPGenerateCodeInfo* pGenerateCodeInfo);
67
68 virtual const CResult MakeProcessProperty();
69 virtual const CResult AddProcessPropertyItem(int32_t i32Index, bool bSelectItem = false);
70 virtual int32_t GetProcessPropertyItemCount();
71
72 virtual const CResult SendUpdateProcessProperty();
73 virtual const CResult UpdateProcessProperty();
74
75 virtual const CResult SetProcessPropertyItemCount(int32_t i32Count);
76
77 virtual Base::CFLString<wchar_t> GetProcessPropertyItemRootPath() const;
78
79 virtual Base::CFLString<wchar_t> GetProcessPropertyItemProcessName(int32_t i32Index) const;
80 virtual Base::CFLString<wchar_t> GetProcessPropertyItemProcessFullPath(int32_t i32Index) const;
81
82 virtual Base::CFLString<wchar_t> GetProcessPropertyItemExceptionName(int32_t i32Index) const;
83 virtual Base::CFLString<wchar_t> GetProcessPropertyItemExceptionFullPath(int32_t i32Index) const;
84
85 CGUIPropertyItemBase* GetProcessPropertyIndexesItem();
86 CGUIPropertyItemBase* GetProcessPropertyProcessItem(int32_t i32Index);
87 CGUIPropertyItemBase* GetProcessPropertyExceptionItem(int32_t i32Index);
88
89 virtual CGUIViewSNAP* GetParentViewSNAP() const;
90 virtual bool IsSNAPStopFlag() const;
91
92 virtual const CResult EnableSNAPRun(bool bEnable);
93 virtual bool IsSNAPRunEnabled() const;
94
95 virtual Base::CFLBase* GetInstance() const;
96
97 DeclareGetClassType();
98
99 protected:
100 Foundation::CAlgorithmBase* m_pAlgorithmObject;
101
102 CGUISNAPNodeInfo* m_pSNAPNodeInfo;
103 bool m_bRemoveCustomProcess;
104
105 std::function<void(void*)>* m_pLmdUpdateProcessProperty;
106
107 bool m_bSNAPRunEnable;
108
109 friend class CGUIManager;
110 };
111 }
112}
@ Assign
CGUIPropertyItemView3DFigure 의 값을 해당 도형으로 설정하는 함수