FLImaging 6.5.8.1
GUIWndMiniGraphSheet.h
1#pragma once
2#include "GUIWndCtrlBase.h"
3
4#include "GUISheetInterface.h"
5
6namespace FLImaging
7{
8 namespace GUI
9 {
10 class CGUIView3D;
11 class CGUIInternalView3D;
12 class CFLSheet;
13 class CGUIMiniGraph;
14 class CGUIComboBox;
15 class CGUIStaticText;
16
17 class CGUIWndMiniGraphSheet : public CStatic, public CGUIWndCtrlBase, public CGUISheetInterface
18 {
19 public:
20 CGUIWndMiniGraphSheet(CWnd* pParent = nullptr);
21 virtual ~CGUIWndMiniGraphSheet();
22
23 public:
24 virtual void UpdateTheme();
25
26 virtual const CResult ClearData()override;
27 virtual const CResult SetData(const Base::CFLArray<Base::CFLArray<double>>& flaData);
28 virtual const CResult GetData(Base::CFLArray<Base::CFLArray<double>>& fla2Data);
29 virtual const CResult SetData(const Base::CFLArray<double>& flaData, int64_t i64Index = 0);
30 virtual const CResult GetData(Base::CFLArray<double>& flaData, int64_t i64Index = 0);
31 virtual const CResult UpdateModelHeight(float f32ModelHeightPrev, float f32ModelHeight);
32
33 virtual const CResult DeleteData(int64_t i64Index);
34
35 virtual const CResult ClearHighlightData();
36 virtual const CResult SetHighlightData(Base::CFLArray<int64_t>& flaData);
37
38 virtual const CResult SetHeader(const Base::CFLArray<Base::CFLString<wchar_t>>& flaHeader) override;
39 virtual const CResult InternalAppendData(const Base::CFLArray<Base::CFLArray<Base::CFLString<wchar_t>>>& flaData) override;
40
41 virtual void SetMultiData(bool bSet);
42 virtual bool IsMultiData();
43
44 virtual int64_t GetSelectedIndex();
45
46
47 DECLARE_MESSAGE_MAP()
48 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
49 afx_msg BOOL OnEraseBkgnd(CDC* pDC);
50 afx_msg void OnDestroy();
51 afx_msg void OnSize(UINT nType, int cx, int cy);
52 afx_msg void OnNMSheetSelChanged(NMHDR* pNMHDR, LRESULT* pResult);
53 afx_msg void OnMouseMove(UINT nFlags, CPoint point);
54 afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
55 afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
56 afx_msg void OnPaint();
57
58 protected:
59 virtual void OnReceiveBroadcast(const Base::CBroadcastMessage* pMessage) override;
60 virtual bool OnSelectedIndexChanged(int32_t i32SelectedIndex);
61 const CResult InternalSetGraphData(const Base::CFLArray<double>& flaData);
62
63 virtual CResult UpdateSheetColumnWidth();
64
65 DeclareGetClassType();
66
67 protected:
68 CWnd* m_pParent;
69 CGUIMiniGraph* m_pMiniGraph;
70 CGUIComboBox* m_pCBSel;
71 CGUIStaticText* m_pTextSel;
72 int64_t m_i64SelectedIndex;
73
74 COLORREF m_crClientFillColor;
75 bool m_bLButtonDown;
76 bool m_bMultiData;
77
78 Base::TPoint<int32_t> m_tpPrev;
79
80 Base::CFLArray<Base::CFLArray<double>> m_fla2F64Data;
81
82 friend class CGUIView3DToolManagerHeightProfile;
83 friend class CGUIDialogMiniGraphSheet;
84 friend class CGUIView3D;
85 };
86 }
87}