Update the changelog
[opencv] / apps / StereoGR / DGStat.cpp
1 // DGStat.cpp : implementation file\r
2 //\r
3 \r
4 #include "stdafx.h"\r
5 #include "stereogr.h"\r
6 #include "DGStat.h"\r
7 \r
8 #ifdef _DEBUG\r
9 #define new DEBUG_NEW\r
10 #undef THIS_FILE\r
11 static char THIS_FILE[] = __FILE__;\r
12 #endif\r
13 \r
14 /////////////////////////////////////////////////////////////////////////////\r
15 // CDGStat property page\r
16 \r
17 IMPLEMENT_DYNCREATE(CDGStat, CPropertyPage)\r
18 \r
19 CDGStat::CDGStat() : CPropertyPage(CDGStat::IDD)\r
20 {\r
21         //{{AFX_DATA_INIT(CDGStat)\r
22                 // NOTE: the ClassWizard will add member initialization here\r
23         //}}AFX_DATA_INIT\r
24 }\r
25 \r
26 CDGStat::~CDGStat()\r
27 {\r
28 }\r
29 \r
30 void CDGStat::DoDataExchange(CDataExchange* pDX)\r
31 {\r
32         CPropertyPage::DoDataExchange(pDX);\r
33         //{{AFX_DATA_MAP(CDGStat)\r
34         DDX_Control(pDX, IDC_DGSTAT_LIST, m_name_list);\r
35         //}}AFX_DATA_MAP\r
36 }\r
37 \r
38 \r
39 BEGIN_MESSAGE_MAP(CDGStat, CPropertyPage)\r
40         //{{AFX_MSG_MAP(CDGStat)\r
41         ON_LBN_SELCHANGE(IDC_DGSTAT_LIST, OnSelchangeDgstatList)\r
42         ON_BN_CLICKED(IDC_DELETE_DG, OnDeleteDg)\r
43         //}}AFX_MSG_MAP\r
44 END_MESSAGE_MAP()\r
45 \r
46 /////////////////////////////////////////////////////////////////////////////\r
47 // CDGStat message handlers\r
48 \r
49 void CDGStat::OnSelchangeDgstatList() \r
50 {\r
51     CStereoGRApp* app = (CStereoGRApp*)AfxGetApp();\r
52     CDynGestServer& server = app->m_dgServer;\r
53 \r
54     if ( m_name_list.GetCurSel() >= 0 )\r
55     {\r
56         CString name;\r
57         m_name_list.GetText(m_name_list.GetCurSel(), name );\r
58     \r
59         CDynGesture* gesture = server.FindGesture( name );\r
60         if ( gesture )\r
61         {\r
62             CString str;\r
63             str.Format( "%d", gesture->GetSeqNumber() );\r
64             GetDlgItem( IDC_DGSTAT_NUMSEQ )->SetWindowText(str);\r
65 \r
66             str.Format( "%s", gesture->m_trained ? "YES" : "NO" );\r
67             GetDlgItem( IDC_DGSTAT_TRAINED )->SetWindowText(str);\r
68         }\r
69     }\r
70     else\r
71     {\r
72         GetDlgItem( IDC_DGSTAT_NUMSEQ )->SetWindowText("");\r
73         GetDlgItem( IDC_DGSTAT_TRAINED )->SetWindowText("");\r
74     }\r
75         // TODO: Add your control notification handler code here\r
76 }\r
77 \r
78 BOOL CDGStat::OnInitDialog() \r
79 {\r
80         CPropertyPage::OnInitDialog();\r
81         \r
82         Update();       \r
83         return TRUE;  // return TRUE unless you set the focus to a control\r
84                       // EXCEPTION: OCX Property Pages should return FALSE\r
85 }\r
86 \r
87 void CDGStat::OnDeleteDg() \r
88 {\r
89         CStereoGRApp* app = (CStereoGRApp*)AfxGetApp();\r
90     CDynGestServer& server = app->m_dgServer;\r
91 \r
92     if ( m_name_list.GetCurSel() >= 0 )\r
93     {\r
94         CString name;\r
95         m_name_list.GetText(m_name_list.GetCurSel(), name );\r
96 \r
97         if ( server.RemoveGesture( name ) )\r
98         {\r
99             m_name_list.DeleteString( m_name_list.GetCurSel() );\r
100         }\r
101         m_name_list.SetCurSel(0);\r
102         OnSelchangeDgstatList();\r
103     }\r
104 }\r
105 \r
106 void CDGStat::Update()\r
107 {\r
108     CStereoGRApp* app = (CStereoGRApp*)AfxGetApp();\r
109     CDynGestServer& server = app->m_dgServer;\r
110 \r
111         // Clean up the list box\r
112         for(int i = 0; i < m_name_list.GetCount(); i++)\r
113         {\r
114                 m_name_list.DeleteString(i);\r
115         }\r
116         \r
117     for(i = 0; i < server.GetNumGestures(); i++ )\r
118     {\r
119         CString name = server.GetGesture(i)->GetName();\r
120         m_name_list.AddString( name );\r
121     }           \r
122 \r
123     m_name_list.SetCurSel(0);\r
124     OnSelchangeDgstatList();\r
125 }\r
126 \r
127 BOOL CDGStat::OnSetActive() \r
128 {\r
129         Update();       \r
130         return CPropertyPage::OnSetActive();\r
131 }\r