FLImaging 7.10.21.1
GUIDialogFreeDrawPenAttribute.h
1#pragma once
2#include "GUIDialog.h"
3
4namespace FLImaging
5{
6 namespace GUI
7 {
8 class CGUIManagerViewImageObject;
9 class CGUIManagerViewImageObjectImageFigure;
10 class CGUISheetInterface;
11 class CGUIColorPickerCtrl;
12 class CGUIViewImage;
13
14 class CGUIDialogFreeDrawPenAttribute : public CGUIDialog
15 {
16 friend class CGUIManagerViewImageObject;
17 DECLARE_DYNAMIC(CGUIDialogFreeDrawPenAttribute)
18 public:
19 CGUIDialogFreeDrawPenAttribute(CWnd* pParent = nullptr); // 표준 생성자입니다.
20 virtual ~CGUIDialogFreeDrawPenAttribute();
21
22 void SetParentView(CGUIViewImage* pView);
23 CGUIViewImage* GetParentView() const;
24
25 void SetManagerObjectFigure(CGUIManagerViewImageObject* pMgr);
26 CGUIManagerViewImageObject* GetManagerObjectFigure() const;
27
28 const CResult FillData();
29 const CResult AdjustLayoutSheet();
30 const CResult UpdateContents(ETeachingMode eTM);
31 const CResult UpdateRadioButtonByLineThickness(float f32LineThickness);
32
33 virtual const CResult Import(const wchar_t* pWcsFileNameWithPath);
34 virtual const CResult Export(const wchar_t* pWcsFileNameWithPath) const;
35
36 virtual void OnReceiveBroadcast(const Base::CBroadcastMessage* pMessage) override;
37 static CGUIDialogFreeDrawPenAttribute* CreateModelessDialog(CWnd* pParent = nullptr);
38
39 void SetCurrentClassNum(int32_t i32ClassNumber);
40 void SetCurrentLineThickness(ETeachingMode eTM, float f32LineThickness);
41
42 void UpdateObjectManagerCurrentFreeDrawClass(int32_t i32ClassNumber, const wchar_t* pWcsClassName);
43 void UpdateObjectManagerCurrentLineThickness(ETeachingMode eTM, float f32LineThickness);
44 void UpdateObjectManagerCurrentLineAlpha(ETeachingMode eTM, float f32Val);
45 void UpdateObjectManagerPenType(ETeachingMode eTM);
46 void UpdateEditCtrlClassNum(int32_t i32ClassNumber, bool bInvokeCallback);
47 void UpdateCurrentColorPreview();
48 void UpdateSliderLineThickness(float f32LineThickness, bool bInvokeCallback);
49 void UpdateEditCtrlLineThickness(float f32LineThickness, bool bInvokeCallback);
50 void UpdateEditCtrlLineAlpha(float f32LineAlpha, bool bInvokeCallback);
51 void UpdateEditCtrlContourQuality(float f32ContourQuality, bool bInvokeCallback);
52 void UpdatePenTypeAndWidthBySelectedClass(int32_t i32ClassNumber);
53 void UpdateSheetLineThickness(int32_t i32ClassNumber, float f32LineThickness);
54 void UpdateSheetPenType(int32_t i32ClassNumber, ETeachingMode eTM);
55 void SelectSheetRow(int32_t i32Row);
56 void ActivateParentViewFreeDrawState();
57
58 CWndCtrlProcedure* MakeProcedureSliderLineThickness();
59 CWndCtrlProcedure* MakeProcedureSliderLineAlpha();
60 CWndCtrlProcedure* MakeProcedureSliderContourQuality();
61 CWndCtrlProcedure* MakeProcedureRadioButtonPen();
62 CWndCtrlProcedure* MakeProcedureRadioButtonPolyline();
63 CWndCtrlProcedure* MakeProcedureRadioButtonEraser();
64 CWndCtrlProcedure* MakeProcedureRadioButtonContour();
65 CWndCtrlProcedure* MakeProcedureRadioButtonRaster();
66 CWndCtrlProcedure* MakeProcedureRadioButtonAutoMerge();
67 CWndCtrlProcedure* MakeProcedureRadioButtonIndependent();
68 CWndCtrlProcedure* MakeProcedureRadioButtonLineThickness();
69 CWndCtrlProcedure* MakeProcedureEditCtrlLineThickness();
70 CWndCtrlProcedure* MakeProcedureEditCtrlClassNumber();
71
72 protected:
73 // 대화 상자 데이터입니다.
74 #ifdef AFX_DESIGN_TIME
75 enum {
76 IDD = IDD_DIALOG_FREEDRAW_ATTR
77 };
78 #endif
79
80 enum ECol
81 {
82 ECol_No = 0,
83 ECol_Color,
84 ECol_ClassName,
85 ECol_PenWidth,
86 ECol_PenType,
87
88 ECol_Count,
89 };
90
91 protected:
92 CGUIViewImage* m_pParentView;
93 CGUIManagerViewImageObject* m_pMgrObjFigure;
94 CGUISheetInterface* m_pSheetInterface;
95 CGUIColorPickerCtrl* m_pColorPreview;
96 std::vector<CWnd*>& m_vctChildWnd;
97
98 int32_t m_i32MinWRadioContour;
99 int32_t m_i32MinWRadioRaster;
100 int32_t m_i32MinWEditClassCountourQuality;
101 float m_f32MinWRadioContourRatio;
102 float m_f32MinWRadioRasterRatio;
103 float m_f32MinWEditClassCountourQualityRatio;
104
105 int32_t m_i32MinWRadioAutoMerge;
106 int32_t m_i32MinWRadioIndependent;
107 float m_f32MinWRadioAutoMergeRatio;
108 float m_f32MinWRadioIndependentRatio;
109
110 int32_t m_i32MinWStaticClassNo;
111 int32_t m_i32MinWEditClassNo;
112 int32_t m_i32MinWColorPreview;
113 int32_t m_i32MinWStaticAlpha;
114 int32_t m_i32MinWSliderAlpha;
115 int32_t m_i32MinWEditAlpha;
116
117 float m_f32MinWStaticClassNoRatio;
118 float m_f32MinWEditClassNoRatio;
119 float m_f32MinWColorPreviewRatio;
120 float m_f32MinWStaticAlphaRatio;
121 float m_f32MinWSliderAlphaRatio;
122 float m_f32MinWEditAlphaRatio;
123
124 int32_t m_i32MinWRadioPenWidth3;
125 int32_t m_i32MinWRadioPenWidth5;
126 int32_t m_i32MinWRadioPenWidth10;
127 int32_t m_i32MinWRadioPenWidth50;
128 int32_t m_i32MinWRadioPenWidth100;
129 int32_t m_i32MinWSliderPenWidth;
130 int32_t m_i32MinWEditPenWidth;
131
132 float m_f32MinWRadioPenWidth3;
133 float m_f32MinWRadioPenWidth5;
134 float m_f32MinWRadioPenWidth10;
135 float m_f32MinWRadioPenWidth50;
136 float m_f32MinWRadioPenWidth100;
137 float m_f32MinWSliderPenWidth;
138 float m_f32MinWEditPenWidth;
139
140 int32_t m_i32MinWGroupBoxOutputMode;
141 int32_t m_i32MinWGroupBoxMergeMode;
142 int32_t m_i32MinWGroupBoxCurrClr;
143 int32_t m_i32MinWGroupBoxPenWidth;
144
145 CWndCtrlProcedure* m_pRadioBtnLineWidthProc;
146
147 public:
148 virtual BOOL OnInitDialog() override;
149 virtual void OnCancel() override;
150 DECLARE_MESSAGE_MAP()
151 afx_msg void OnSize(UINT nType, int cx, int cy);
152 afx_msg void OnNMSheetSelChanged(NMHDR* pNMHDR, LRESULT* pResult);
153 afx_msg void OnNMClick(NMHDR* pNMHDR, LRESULT* pResult);
154 afx_msg void OnNMRClick(NMHDR* pNMHDR, LRESULT* pResult);
155 afx_msg void OnEndSheetInPlaceEdit(NMHDR* pNMHDR, LRESULT* pResult);
156 virtual BOOL PreTranslateMessage(MSG* pMsg);
157 afx_msg void OnSetFocus(CWnd* pOldWnd);
158 afx_msg void OnBnClickedButtonImport();
159 afx_msg void OnBnClickedButtonExport();
160 afx_msg void OnTimer(UINT_PTR id);
161};
162 }
163}
A file of dialog class.
Definition GUIDialog.h:72
A class of image view.
Definition FLImagingGUI/GUIViewImage.h:361
Definition D2DObject.h:12
ETeachingMode
Teaching mode.
Definition FLImagingGUI/DefinitionsGUI.h:9028