FLImaging 6.5.8.1
GUIPropertyMenuNodeArrayImage.h
1#pragma once
2
3#include "GUIPropertyMenuNodeBase.h"
4#include "DefinitionGUISNAP.h"
5
6namespace FLImaging
7{
8 namespace GUI
9 {
10 class CGUIPropertyItemBase;
11 class CSNAPFeatureArrayImage;
12
13 class FL_EXPORT CGUIPropertyMenuNodeArrayImage : public CGUIPropertyMenuNodeBase
14 {
15 SupportToDuplicateObject(CGUIPropertyMenuNodeArrayImage);
16
17 public:
18 CGUIPropertyMenuNodeArrayImage();
19 virtual ~CGUIPropertyMenuNodeArrayImage();
20
21 virtual const CResult GenerateCode(CSNAPGenerateCodeInfo* pGenerateCodeInfo) override;
22
23 virtual const CResult ConfigureMenu() override;
24
25 virtual const CResult OnInputParameter(CSNAPParameter* pParameter) override;
26 virtual const CResult OnOutputParameter(CSNAPParameter* pParameter) override;
27
28 virtual const CResult GetLastResultValue(Base::CFLString<wchar_t>& flsResult) const override;
29
30 void SetConfigureValueItemCount(int32_t i32Count);
31
32 int32_t GetValueItemCount() const;
33 CGUIPropertyItemBase* GetSelectionIndexesItem();
34 CGUIPropertyItemBase* GetValueItem(int32_t i32Index);
35
36 DeclareGetClassType();
37
38 protected:
39 virtual const CResult InitializationProcedure() override;
40 virtual const CResult ProcessProcedure() override;
41
42 int32_t GetIndex(Base::CFLString<wchar_t> flsName);
43
44 Base::CFLString<wchar_t> GetValueItemName(int32_t i32Index) const;
45 Base::CFLString<wchar_t> GetValueItemPathName(int32_t i32Index) const;
46
47 CPropertyButtonClickProcedure* MakeAddButtonImplement();
48 CPropertyButtonClickProcedure* MakeRemoveButtonImplement();
49
50 const CResult AddValueItem();
51 const CResult RemoveValueItem();
52
53 virtual CSNAPFeatureArrayImage* GetFeatureArrayImage() const;
54
55 protected:
56 bool m_bDataInput;
57 bool m_bSelectionInput;
58
59 std::vector<CGUIPropertyItemBase*>* m_pVctValueItems;
60 };
61 }
62}