FLImaging 6.10.1.1
GUIPropertyMenuNodeContainer.h
1#pragma once
2
3#include "GUIPropertyMenuNodeBase.h"
4#include "DefinitionGUISNAP.h"
5
6namespace FLImaging
7{
8 namespace GUI
9 {
11 class CSNAPFeatureContainer;
12
13 class FL_EXPORT CGUIPropertyMenuNodeContainer : public CGUIPropertyMenuNodeBase
14 {
15 SupportToDuplicateAbstractObject(CGUIPropertyMenuNodeContainer);
16
17 public:
18 CGUIPropertyMenuNodeContainer();
19 virtual ~CGUIPropertyMenuNodeContainer();
20
21 virtual const CResult GenerateCode(CSNAPGenerateCodeInfo* pGenerateCodeInfo) override;
22
23 virtual const CResult ConfigureMenu() override;
24
25 virtual const CResult UpdatePropertyMenuItem() override;
26
27 virtual const CResult OnInputParameter(CSNAPParameter* pParameter) override;
28 virtual const CResult OnOutputParameter(CSNAPParameter* pParameter) override;
29
30 virtual const CResult GetLastResultValue(Base::CFLString<wchar_t>& flsResult) const override;
31
32 void SetConfigureValueItemCount(int32_t i32Count);
33 void SetConfigureValueItem(Base::CFLArray<Base::CFLString<wchar_t>>& flaValues);
34
35 int32_t GetValueItemCount() const;
36
37 CGUIPropertyItemBase* GetSelectionIndexesItem() const;
38 CGUIPropertyItemBase* GetCategoryItem(EControlType eType) const;
39
40 CGUIPropertyItemBase* GetValueItem(EControlType eType, int32_t i32Index) const;
41 CGUIPropertyItemBase* GetActivatedValueItem(int32_t i32Index) const;
42
43 virtual const CResult SetItemValue(CGUIPropertyItemBase* pItem, Base::CFLString<wchar_t> flsValue);
44 virtual Base::CFLString<wchar_t> GetItemValue(CGUIPropertyItemBase* pItem) const override;
45
46 DeclareGetClassType();
47
48 protected:
49 virtual const CResult InitializationProcedure() override;
50 virtual const CResult ProcessProcedure() override;
51
52 virtual const CResult PushBackProcedure();
53 virtual const CResult PushFrontProcedure();
54 virtual const CResult SetProcedure();
55 virtual const CResult ClearProcedure();
56
57 int32_t GetIndex(Base::CFLString<wchar_t> flsName) const;
58
59 Base::CFLString<wchar_t> GetCategoryName(EControlType eType) const;
60
61 Base::CFLString<wchar_t> GetValueItemName(int32_t i32Index) const;
62 Base::CFLString<wchar_t> GetValueItemPathName(EControlType eType, int32_t i32Index) const;
63
64 CPropertyButtonClickProcedure* MakeAddButtonImplement();
65 CPropertyButtonClickProcedure* MakeRemoveButtonImplement();
66
67 const CResult AddValueItem(const Base::CFLString<wchar_t>& flsDefaultValue);
68 const CResult RemoveValueItem();
69
70 EControlType GetActivatedControlType() const;
71
72 const CResult SetVisibleControlItem(EControlType eType, bool bSet);
73
74 virtual Base::CFLString<wchar_t> GetPropertyData() const = 0;
75 virtual const CResult UpdatePropertyMenuItemValue() = 0;
76
77 virtual Base::CFLString<wchar_t> GetCodeVariableType() const = 0;
78 virtual Base::CFLString<wchar_t> GetCodeVariableInitValue() const;
79
80 virtual CSNAPFeatureContainer* GetFeatureContainer() const;
81
82 protected:
83 EDefinedParameterType m_eElementParameterType;
84
85 bool m_bDataInput;
86
87 Base::CFLArray<Base::CFLString<wchar_t>> m_flaDropDownList;
88 Base::CFLString<wchar_t> m_flsItemDescription;
89 Base::CFLString<wchar_t> m_flsItemToolTip;
90
91 std::vector<CGUIPropertyItemBase*>* m_pVctValueItems;
92
93 EControlType m_eActivatedControlType;
94
95 static Base::CFLString<wchar_t> m_flsCategoryName[EControlTypeCount];
96 };
97 }
98}
Property item base class.
Definition GUIPropertyItemBase.h:345
Definition D2DObject.h:12