3#include "GUIPropertyMenuSNAPObject.h"
4#include "SNAPFigureOutputInfo.h"
5#include "DefinitionGUISNAP.h"
11 class CGUIPropertyItemBase;
13 class CGUIViewSNAPObjectLink;
15 class FL_EXPORT CGUIPropertyMenuLink :
public CGUIPropertyMenuSNAPObject
17 SupportToDuplicateObject(CGUIPropertyMenuLink);
20 CGUIPropertyMenuLink();
21 CGUIPropertyMenuLink(CGUIViewSNAPObjectLink* pLink);
22 virtual ~CGUIPropertyMenuLink();
24 virtual const CResult ConfigureMenu()
override;
26 CSNAPFigureOutputInfo GetFigureOutputInfo(int32_t i32Index);
28 int32_t GetIOPropertyCount();
29 const CResult SetIOPropertyCount(int32_t i32Count);
31 SRegisterParameterInfo* GetOutputProcedureInfo(int32_t i32Index);
32 SRegisterParameterInfo* GetInputProcedureInfo(int32_t i32Index);
34 std::vector<SRegisterParameterInfo*> GetSelectedOutputProcedureInfos();
35 std::vector<SRegisterParameterInfo*> GetSelectedInputProcedureInfos();
37 void UpdatePropertyOutputList();
39 Base::CFLString<wchar_t> GetOutputPropertySelectedItemName(int32_t i32Index);
40 Base::CFLString<wchar_t> GetInputPropertySelectedItemName(int32_t i32Index);
44 const CResult AddPropertyIO(Base::CFLString<wchar_t> flsOutput, Base::CFLString<wchar_t> flsInput);
45 const CResult ModifyPropertyIO(int32_t i32Index, Base::CFLString<wchar_t> flsOutput, Base::CFLString<wchar_t> flsInput);
47 const CResult RemovePropertyIO(SRegisterParameterInfo* pInfo);
49 virtual const CResult UpdatePropertyMenuItem()
override;
51 virtual const CResult UpdateInputItem(int32_t i32Index);
53 CGUIViewSNAPObjectLink* GetLink();
55 virtual CGUIViewSNAP* GetParentViewSNAP();
57 DeclareGetClassType();
60 virtual const CResult ChangedIOPropertyCount();
61 virtual const CResult ChangedOutputProperty(CGUIPropertyItemBase* pItem, Base::CFLString<wchar_t> flsValue);
62 virtual const CResult ChangedInputProperty(CGUIPropertyItemBase* pItem, Base::CFLString<wchar_t> flsValue);
63 virtual const CResult ChangedFigureOutputModeProperty(CGUIPropertyItemBase* pItem, Base::CFLString<wchar_t> flsValue);
64 virtual const CResult ChangedMakeCrosshairPropertyItem(CGUIPropertyItemBase* pItem);
66 int32_t GetIOIndex(CGUIPropertyItemBase* pItem);
68 virtual const CResult UpdateDrawingFigureItem(int32_t i32Index, Base::CFLString<wchar_t> flsValue);
70 virtual std::vector<SRegisterParameterInfo*> GetCandidateOutputProcedure();
72 CGUIPropertyItemBase* GetInputMenuItem(int32_t i32Index);
73 CGUIPropertyItemBase* GetOutputMenuItem(int32_t i32Index);
75 bool IsUsedOutputProperty();
76 bool IsUsedInputProperty();
81 CGUIViewSNAPObjectLink* m_pLink;