1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#pragma once
 
#include "GlassRecipe.h"
 
// CViewHoleRecipeSetting ´ëÈ­ »óÀÚÀÔ´Ï´Ù.
 
interface IHoleRecipeView2Parent
{
public:
    virtual BOOL            IHoleRecipe2RecipeView_AddHoleArea(int& nSideIdx, CRect& rtArea) = 0;
    virtual BOOL            IHoleRecipe2RecipeView_GetHoleAreaImage(int nHoleIdx, IplImage** pImageBuffer) = 0;
    virtual void            IHoleRecipe2RecipeView_UpdateFrameView() = 0;
    virtual void            IHoleRecipe2RecipeView_SaveRecipe() = 0;
    virtual BOOL            IHoleRecipe2RecipeVIew_HoleInspectProcess(int nHoleIdx, IplImage** pImageBuffer)=0;
    virtual int                IHoleRecipe2RecipeView_GetCurrentSetSide()=0;
};
 
class CViewHoleRecipeSetting : public CDialog
{
    DECLARE_DYNAMIC(CViewHoleRecipeSetting)
 
public:
    CViewHoleRecipeSetting(CWnd* pParent = NULL);   // Ç¥ÁØ »ý¼ºÀÚÀÔ´Ï´Ù.
    virtual ~CViewHoleRecipeSetting();
 
// ´ëÈ­ »óÀÚ µ¥ÀÌÅÍÀÔ´Ï´Ù.
    enum { IDD = IDD_DLG_RECIPE_HOLE };
 
protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV Áö¿øÀÔ´Ï´Ù.
 
    DECLARE_MESSAGE_MAP()
    DECLARE_EVENTSINK_MAP()
 
private:
    IHoleRecipeView2Parent*        m_pInterface;
 
    CGlassRecipe*            m_pDlgRecipe;
    CGridCtrl                    m_HoleList;
 
    CImageBuffer                m_DisplayOrigin;
    CImageViewer                m_ImageView;
 
    vector<CString>                m_vecSide;
 
public:
    void SetInterface(IHoleRecipeView2Parent* pInterface);
    void SetRecipe(CGlassRecipe* pRecipe);
 
    void InitHoleList();
    void UpdateRecipeToHoleList();
    void UpdateHoleListToRecipe();
 
    void UpdateHoleImage(int nIdx);
 
public:
    virtual BOOL OnInitDialog();
    virtual BOOL PreTranslateMessage(MSG* pMsg);
 
    void SaveTempleteImage(int nIdx);
 
    void ClickHoleInspectProcess();
    void ClickViewMode();
 
    void ClickROIUp();
    void ClickROILeft();
    void ClickROIRight();
    void ClickROIDown();
 
    void ClickROIWidthUp();
    void ClickROIWidthDown();
    void ClickROIHeightUp();
    void ClickROIHeightDown();
 
    void ClickCircleUp();
    void ClickCircleLeft();
    void ClickCircleRight();
    void ClickCircleDown();
 
    void ClickCircleWidthUp();
    void ClickCircleWidthDown();
    void ClickCircleHeightUp();
    void ClickCircleHeightDown();
 
    void ClickUpdate();
    void ClickAdd();
    void ClickDelete();
    void ClickSave();
    void ClickExit();
 
    afx_msg void OnHoleListEditEnd(NMHDR *pNotifyStruct, LRESULT* pResult);
    afx_msg void OnHoleListClick(NMHDR *pNotifyStruct, LRESULT* pResult);
};