FLImaging 6.5.8.1
GUIGridLayout.h
1#pragma once
2#include <vector>
3#include "GUILayoutBase.h"
4
5namespace FLImaging
6{
7 namespace GUI
8 {
9 class CGUIDialog;
10 class CGUISheetInterface;
11
12 class FL_EXPORT CGUIGridLayout : public CGUILayoutBase
13 {
14 friend class CGUIDialog;
15 friend class CGUIDialogKernel;
16 friend class CGUIBoxLayout;
17
18 public:
19 CGUIGridLayout(int32_t i32RowCount, int32_t i32ColCount, bool bGroupBox = false, Base::CFLString<wchar_t> strGroupBoxName = L"");
20 CGUIGridLayout(int32_t i32RowCount, int32_t i32ColCount, int32_t i32Width, int32_t i32Height, bool bGroupBox = false, Base::CFLString<wchar_t> strGroupBoxName = L"");
21 virtual ~CGUIGridLayout();
22
23 public:
24 virtual bool Add(int32_t i32Row, int32_t i32Col, CGUILayoutBase* pLayout);
25 virtual bool Add(int32_t i32Row, int32_t i32Col, int32_t i32RowSpan, int32_t i32ColSpan, CGUILayoutBase* pLayout);
26
27 virtual bool AddCtrl(int32_t i32Row, int32_t i32Col, EControl eCtrl, Base::CFLString<wchar_t> strValue = L"", CWnd* pWndCtrl = nullptr);
28 virtual bool AddCtrl(int32_t i32Row, int32_t i32Col, EControl eCtrl, double f64Value, CWnd* pWndCtrl = nullptr);
29 virtual bool AddCtrl(int32_t i32Row, int32_t i32Col, EControl eCtrl, float f32Value, CWnd* pWndCtrl = nullptr);
30 virtual bool AddCtrl(int32_t i32Row, int32_t i32Col, EControl eCtrl, int64_t i64Value, CWnd* pWndCtrl = nullptr);
31 virtual bool AddCtrl(int32_t i32Row, int32_t i32Col, EControl eCtrl, int32_t i32Value, CWnd* pWndCtrl = nullptr);
32 virtual bool AddCtrl(int32_t i32Row, int32_t i32Col, EControl eCtrl, uint32_t u32Value, CWnd* pWndCtrl = nullptr);
33
34 virtual bool AddCtrl(int32_t i32Row, int32_t i32Col, int32_t i32RowSpan, int32_t i32ColSpan, EControl eCtrl, Base::CFLString<wchar_t> strValue = L"", CWnd* pWndCtrl = nullptr);
35 virtual bool AddCtrl(int32_t i32Row, int32_t i32Col, int32_t i32RowSpan, int32_t i32ColSpan, EControl eCtrl, double f64Value, CWnd* pWndCtrl = nullptr);
36 virtual bool AddCtrl(int32_t i32Row, int32_t i32Col, int32_t i32RowSpan, int32_t i32ColSpan, EControl eCtrl, float f32Value, CWnd* pWndCtrl = nullptr);
37 virtual bool AddCtrl(int32_t i32Row, int32_t i32Col, int32_t i32RowSpan, int32_t i32ColSpan, EControl eCtrl, int64_t i64Value, CWnd* pWndCtrl = nullptr);
38 virtual bool AddCtrl(int32_t i32Row, int32_t i32Col, int32_t i32RowSpan, int32_t i32ColSpan, EControl eCtrl, int32_t i32Value, CWnd* pWndCtrl = nullptr);
39 virtual bool AddCtrl(int32_t i32Row, int32_t i32Col, int32_t i32RowSpan, int32_t i32ColSpan, EControl eCtrl, uint32_t u32Value, CWnd* pWndCtrl = nullptr);
40
41 virtual bool AddCtrl(int32_t i32Row, int32_t i32Col, Base::CFLString<wchar_t> strStaticText);
42 virtual bool AddCtrl(int32_t i32Row, int32_t i32Col, int32_t i32RowSpan, int32_t i32ColSpan, Base::CFLString<wchar_t> strStaticText);
43
44 virtual CWnd* GetCtrl(int32_t i32Row, int32_t i32Col);
45 virtual CGUILayoutBase* GetLayout(int32_t i32Row, int32_t i32Col);
46 virtual CGUISheetInterface* GetSheetInterface(int32_t i32Row, int32_t i32Col);
47 CGUIDialogLayoutElement* GetElement(int32_t i32Row, int32_t i32Col) const;
48
49 virtual bool SetCtrlValue(int32_t i32Row, int32_t i32Col, Base::CFLString<wchar_t> strEdit, bool bInvalidate = false, bool bExecuteCallback = true);
50 virtual bool SetCtrlValue(int32_t i32Row, int32_t i32Col, double f64Val, bool bInvalidate = false, bool bExecuteCallback = true);
51 virtual bool SetCtrlValue(int32_t i32Row, int32_t i32Col, int32_t i32Val, bool bInvalidate = false, bool bExecuteCallback = true);
52 virtual bool SetCtrlValue(int32_t i32Row, int32_t i32Col, int64_t i64Val, bool bInvalidate = false, bool bExecuteCallback = true);
53 virtual Base::CFLString<wchar_t> GetCtrlValue(int32_t i32Row, int32_t i32Col) const;
54 virtual Base::CFLString<wchar_t> GetCtrlValueFromWindow(int32_t i32Row, int32_t i32Col) const;
55
56 virtual bool SetWndCtrlProcedure(int32_t i32Row, int32_t i32Col, FLImaging::GUI::CWndCtrlProcedure* pFunc);
57
58 virtual void SetCtrlEnable(int32_t i32Row, int32_t i32Col, bool bEnable);
59 virtual bool IsCtrlEnabled(int32_t i32Row, int32_t i32Col) const;
60
61 virtual bool SetCtrlVisible(int32_t i32Row, int32_t i32Col, bool bShow);
62 virtual bool IsCtrlVisible(int32_t i32Row, int32_t i32Col) const;
63
64 virtual const CResult SetCtrlAlignment(int32_t i32Row, int32_t i32Col, EGUIAlignment eAlignment);
65 virtual EGUIAlignment GetCtrlAlignment(int32_t i32Row, int32_t i32Col) const;
66
67 // ComboBox
68 virtual bool AddComboBoxItem(int32_t i32Row, int32_t i32Col, Base::CFLString<wchar_t> strItem);
69 // [i32Min, i32Max] 범위의 정수를 ComboBox Item 으로 추가
70 virtual bool AddComboBoxItemRange(int32_t i32Row, int32_t i32Col, int32_t i32Min, int32_t i32Max);
71 virtual bool RemoveAllComboBoxItem(int32_t i32Row, int32_t i32Col);
72
73 // Slider
74 virtual bool SetSliderRange(int32_t i32Row, int32_t i32Col, int32_t i32Min, int32_t i32Max);
75 virtual bool SetSliderRange(int32_t i32Row, int32_t i32Col, double f64Min, double f64Max);
76 virtual bool SetSliderUnit(int32_t i32Row, int32_t i32Col, int32_t i32Unit);
77 virtual bool SetSliderUnit(int32_t i32Row, int32_t i32Col, double f64Unit);
78 virtual bool SetSliderDecimalPlace(int32_t i32Row, int32_t i32Col, uint8_t u8DecimalPlace);
79
80 virtual bool SetFocusWnd(int32_t i32Row, int32_t i32Col);
81 virtual bool AdjustLayout(CDC* pDC);
82
83 protected:
84 virtual bool InternalSetLayoutSize(int32_t i32Width, int32_t i32Height) override;
85 virtual bool CalcLayoutSize()override;
86 virtual bool IsRowHided(int32_t i32Row)const;
87
88 public:
89 int32_t m_i32RowCnt;
90 int32_t m_i32ColCnt;
91 int32_t m_i32WndCtrlCnt;
92 };
93 }
94}
EGUIAlignment
Alignment information.
Definition GUIDefinitions.h:9222