FLImaging 6.5.8.1
GUIPropertyMenuNodeIf.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 CSNAPFeatureIf;
12
13 class FL_EXPORT CGUIPropertyMenuNodeIf : public CGUIPropertyMenuNodeBase
14 {
15 SupportToDuplicateObject(CGUIPropertyMenuNodeIf);
16
17 public:
18 CGUIPropertyMenuNodeIf();
19 virtual ~CGUIPropertyMenuNodeIf();
20
21 virtual const CResult ConfigureMenu() override;
22
23 virtual const CResult OnInputParameter(CSNAPParameter* pParameter) override;
24 virtual const CResult OnOutputParameter(CSNAPParameter* pParameter) override;
25
26 virtual const CResult UpdatePropertyMenuItem() override;
27
28 int32_t GetSelectedLinkIndex();
29
30 bool GetProcessResult();
31
32 int32_t GetProcessResultLinkIndex();
33
34 DeclareGetClassType();
35
36 protected:
37 virtual const CResult InitializationProcedure() override;
38 virtual const CResult ProcessProcedure() override;
39
40 virtual CSNAPFeatureIf* GetFeatureIf() const;
41
42 virtual const CResult ChangedModeProperty();
43
44 CGUIPropertyItemBase* GetModeItem();
45 CGUIPropertyItemBase* GetCompareValue1Item();
46 CGUIPropertyItemBase* GetCompareValue2Item();
47 CGUIPropertyItemBase* GetConditionItem();
48 CGUIPropertyItemBase* GetExpressionItem();
49 CGUIPropertyItemBase* GetLinkIndexItem();
50
51 protected:
52 static Base::CFLString<wchar_t> m_flsConditionName[6];
53 };
54 }
55}