3#include "GUIPropertyMenuNodeBase.h"
4#include "DefinitionGUISNAP.h"
10 class CGUIPropertyItemBase;
11 class CSNAPFeatureContainer;
13 class FL_EXPORT CGUIPropertyMenuNodeContainer :
public CGUIPropertyMenuNodeBase
15 SupportToDuplicateAbstractObject(CGUIPropertyMenuNodeContainer);
18 CGUIPropertyMenuNodeContainer();
19 virtual ~CGUIPropertyMenuNodeContainer();
21 virtual const CResult GenerateCode(CSNAPGenerateCodeInfo* pGenerateCodeInfo)
override;
23 virtual const CResult ConfigureMenu()
override;
25 virtual const CResult UpdatePropertyMenuItem()
override;
27 virtual const CResult OnInputParameter(CSNAPParameter* pParameter)
override;
28 virtual const CResult OnOutputParameter(CSNAPParameter* pParameter)
override;
30 virtual const CResult GetLastResultValue(Base::CFLString<wchar_t>& flsResult)
const override;
32 void SetConfigureValueItemCount(int32_t i32Count);
34 int32_t GetValueItemCount()
const;
36 CGUIPropertyItemBase* GetSelectionIndexesItem()
const;
37 CGUIPropertyItemBase* GetCategoryItem(EControlType eType)
const;
39 CGUIPropertyItemBase* GetValueItem(EControlType eType, int32_t i32Index)
const;
40 CGUIPropertyItemBase* GetActivatedValueItem(int32_t i32Index)
const;
42 virtual const CResult SetItemValue(CGUIPropertyItemBase* pItem, Base::CFLString<wchar_t> flsValue);
43 virtual Base::CFLString<wchar_t> GetItemValue(CGUIPropertyItemBase* pItem)
const override;
45 DeclareGetClassType();
48 virtual const CResult InitializationProcedure()
override;
49 virtual const CResult ProcessProcedure()
override;
51 virtual const CResult PushBackProcedure();
52 virtual const CResult PushFrontProcedure();
53 virtual const CResult SetProcedure();
54 virtual const CResult ClearProcedure();
56 int32_t GetIndex(Base::CFLString<wchar_t> flsName)
const;
58 Base::CFLString<wchar_t> GetCategoryName(EControlType eType)
const;
60 Base::CFLString<wchar_t> GetValueItemName(int32_t i32Index)
const;
61 Base::CFLString<wchar_t> GetValueItemPathName(EControlType eType, int32_t i32Index)
const;
63 CPropertyButtonClickProcedure* MakeAddButtonImplement();
64 CPropertyButtonClickProcedure* MakeRemoveButtonImplement();
66 const CResult AddValueItem();
67 const CResult RemoveValueItem();
69 EControlType GetActivatedControlType()
const;
71 const CResult SetVisibleControlItem(EControlType eType,
bool bSet);
73 virtual Base::CFLString<wchar_t> GetPropertyData()
const = 0;
74 virtual const CResult UpdatePropertyMenuItemValue() = 0;
76 virtual Base::CFLString<wchar_t> GetCodeVariableType()
const = 0;
77 virtual Base::CFLString<wchar_t> GetCodeVariableInitValue()
const;
79 virtual CSNAPFeatureContainer* GetFeatureContainer()
const;
82 EDefinedParameterType m_eElementParameterType;
86 Base::CFLArray<Base::CFLString<wchar_t>> m_flaDropDownList;
87 Base::CFLString<wchar_t> m_flsItemDescription;
88 Base::CFLString<wchar_t> m_flsItemToolTip;
90 std::vector<CGUIPropertyItemBase*>* m_pVctValueItems;
92 static Base::CFLString<wchar_t> m_flsCategoryName[EControlTypeCount];