FLImaging 6.9.12.2
GUIPropertyMenuLink.h
1#pragma once
2
3#include "GUIPropertyMenuSNAPObject.h"
4#include "SNAPFigureOutputInfo.h"
5#include "DefinitionGUISNAP.h"
6
7namespace FLImaging
8{
9 namespace GUI
10 {
12
13 class CGUIViewSNAPObjectLink;
14
15 class FL_EXPORT CGUIPropertyMenuLink : public CGUIPropertyMenuSNAPObject
16 {
17 SupportToDuplicateObject(CGUIPropertyMenuLink);
18
19 public:
20 CGUIPropertyMenuLink();
21 CGUIPropertyMenuLink(CGUIViewSNAPObjectLink* pLink);
22 virtual ~CGUIPropertyMenuLink();
23
24 virtual const CResult ConfigureMenu() override;
25
26 CSNAPFigureOutputInfo GetFigureOutputInfo(int32_t i32Index);
27
28 int32_t GetIOPropertyCount() const;
29 const CResult SetIOPropertyCount(int32_t i32Count);
30
31 SRegisterParameterInfo* GetOutputProcedureInfo(int32_t i32Index) const;
32 SRegisterParameterInfo* GetInputProcedureInfo(int32_t i32Index) const;
33
34 std::vector<SRegisterParameterInfo*> GetSelectedOutputProcedureInfos();
35 std::vector<SRegisterParameterInfo*> GetSelectedInputProcedureInfos();
36
37 void UpdatePropertyOutputList();
38
39 Base::CFLString<wchar_t> GetOutputPropertySelectedItemName(int32_t i32Index);
40 Base::CFLString<wchar_t> GetInputPropertySelectedItemName(int32_t i32Index);
41
42 bool IsSetIO();
43
44 const CResult AddPropertyIO(Base::CFLString<wchar_t> flsOutput, Base::CFLString<wchar_t> flsInput);
45 int32_t GetPropertyIOIndex(Base::CFLString<wchar_t> flsOutput, Base::CFLString<wchar_t> flsInput) const;
46 const CResult ModifyPropertyIO(int32_t i32Index, Base::CFLString<wchar_t> flsOutput, Base::CFLString<wchar_t> flsInput);
47
48 const CResult RemovePropertyIO(SRegisterParameterInfo* pInfo);
49
50 virtual const CResult UpdatePropertyMenuItem() override;
51
52 virtual const CResult UpdateInputItem(int32_t i32Index);
53
54 CGUIViewSNAPObjectLink* GetLink();
55
56 virtual CGUIViewSNAP* GetParentViewSNAP();
57
58 virtual const CResult SetVisiblePropertyItem(bool bSet);
59
60 DeclareGetClassType();
61
62 protected:
63 virtual const CResult ChangedIOPropertyCount();
64 virtual const CResult ChangedOutputProperty(CGUIPropertyItemBase* pItem, Base::CFLString<wchar_t> flsValue);
65 virtual const CResult ChangedInputProperty(CGUIPropertyItemBase* pItem, Base::CFLString<wchar_t> flsValue);
66 virtual const CResult ChangedFigureOutputModeProperty(CGUIPropertyItemBase* pItem, Base::CFLString<wchar_t> flsValue);
67 virtual const CResult ChangedMakeCrosshairPropertyItem(CGUIPropertyItemBase* pItem);
68
69 int32_t GetIOIndex(CGUIPropertyItemBase* pItem);
70
71 virtual const CResult UpdateDrawingFigureItem(int32_t i32Index, Base::CFLString<wchar_t> flsValue);
72
73 virtual std::vector<SRegisterParameterInfo*> GetCandidateOutputProcedure();
74
75 CGUIPropertyItemBase* GetInputMenuItem(int32_t i32Index);
76 CGUIPropertyItemBase* GetOutputMenuItem(int32_t i32Index);
77
78 bool IsUsedOutputProperty() const;
79 bool IsUsedInputProperty() const;
80
81 void UpdateView();
82
83 protected:
84 CGUIViewSNAPObjectLink* m_pLink;
85 };
86 }
87}
프로퍼티 아이템 베이스 클래스
Definition GUIPropertyItemBase.h:38
Definition D2DObject.h:12