FLImaging 6.5.8.1
GUIPropertyMenuNodePrimitive.h
1#pragma once
2
3#include "GUIPropertyMenuNodePrimitiveBase.h"
4#include "DefinitionGUISNAP.h"
5
6namespace FLImaging
7{
8 namespace GUI
9 {
10 class CGUIPropertyItemBase;
11 template<typename T>
12 class CSNAPFeaturePrimitive;
13
14 template<typename T>
15 class FL_EXPORT CGUIPropertyMenuNodePrimitive : public CGUIPropertyMenuNodePrimitiveBase
16 {
17 SupportToDuplicateObject(CGUIPropertyMenuNodePrimitive<T>);
18
19 public:
20 CGUIPropertyMenuNodePrimitive();
21 virtual ~CGUIPropertyMenuNodePrimitive();
22
23 virtual const CResult GenerateCode(CSNAPGenerateCodeInfo* pGenerateCodeInfo) override;
24
25 virtual const CResult ConfigureMenu() override;
26
27 virtual const CResult UpdatePropertyMenuItem() override;
28
29 virtual const CResult OnInputParameter(CSNAPParameter* pParameter) override;
30 virtual const CResult OnOutputParameter(CSNAPParameter* pParameter) override;
31
32 virtual const CResult GetLastResultValue(Base::CFLString<wchar_t>& flsResult) const override;
33
34 DeclareGetClassType();
35
36 protected:
37 virtual const CResult InitializationProcedure() override;
38 virtual const CResult ProcessProcedure() override;
39
40 EControlType GetActivatedControlType() const;
41 CGUIPropertyItemBase* GetActivatedCategoryItem() const;
42 CGUIPropertyItemBase* GetActivatedValueItem() const;
43
44 const CResult SetVisibleControlItem(EControlType eControl, bool bSet);
45
46 virtual Base::CFLString<wchar_t> GetCodeVariableType() const;
47 virtual Base::CFLString<wchar_t> ConvertCodeFormatValue(const Base::CFLString<wchar_t>& flsValue) const;
48 virtual Base::CFLString<wchar_t> GetCodeVariableInitValue() const;
49
50 virtual CSNAPFeaturePrimitive<T>* GetFeaturePrimitive() const;
51 };
52 }
53}