Move the sources to trunk
[opencv] / apps / HMMDemo / InfoDialogs.cpp
1 /*M///////////////////////////////////////////////////////////////////////////////////////
2 //
3 //  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 //
5 //  By downloading, copying, installing or using the software you agree to this license.
6 //  If you do not agree to this license, do not download, install,
7 //  copy or use the software.
8 //
9 //
10 //                        Intel License Agreement
11 //                For Open Source Computer Vision Library
12 //
13 // Copyright (C) 2000, Intel Corporation, all rights reserved.
14 // Third party copyrights are property of their respective owners.
15 //
16 // Redistribution and use in source and binary forms, with or without modification,
17 // are permitted provided that the following conditions are met:
18 //
19 //   * Redistribution's of source code must retain the above copyright notice,
20 //     this list of conditions and the following disclaimer.
21 //
22 //   * Redistribution's in binary form must reproduce the above copyright notice,
23 //     this list of conditions and the following disclaimer in the documentation
24 //     and/or other materials provided with the distribution.
25 //
26 //   * The name of Intel Corporation may not be used to endorse or promote products
27 //     derived from this software without specific prior written permission.
28 //
29 // This software is provided by the copyright holders and contributors "as is" and
30 // any express or implied warranties, including, but not limited to, the implied
31 // warranties of merchantability and fitness for a particular purpose are disclaimed.
32 // In no event shall the Intel Corporation or contributors be liable for any direct,
33 // indirect, incidental, special, exemplary, or consequential damages
34 // (including, but not limited to, procurement of substitute goods or services;
35 // loss of use, data, or profits; or business interruption) however caused
36 // and on any theory of liability, whether in contract, strict liability,
37 // or tort (including negligence or otherwise) arising in any way out of
38 // the use of this software, even if advised of the possibility of such damage.
39 //
40 //M*/// InfoDialogs.cpp : implementation file
41 //
42
43 #include "stdafx.h"
44 #include "HMMDemo.h"
45 #include "InfoDialogs.h"
46
47 #ifdef _DEBUG
48 #define new DEBUG_NEW
49 #undef THIS_FILE
50 static char THIS_FILE[] = __FILE__;
51 #endif
52
53 /////////////////////////////////////////////////////////////////////////////
54 // CPersonName dialog
55
56
57 CPersonName::CPersonName( CFaceBase& base, CWnd* pParent /*=NULL*/)
58     : CDialog(CPersonName::IDD, pParent), m_base(base)
59 {
60     //{{AFX_DATA_INIT(CPersonName)
61     //}}AFX_DATA_INIT
62 }
63
64
65 void CPersonName::DoDataExchange(CDataExchange* pDX)
66 {
67     CDialog::DoDataExchange(pDX);
68     //{{AFX_DATA_MAP(CPersonName)
69         // NOTE: the ClassWizard will add DDX and DDV calls here
70     //}}AFX_DATA_MAP
71 }
72
73
74 BEGIN_MESSAGE_MAP(CPersonName, CDialog)
75     //{{AFX_MSG_MAP(CPersonName)
76     //}}AFX_MSG_MAP
77 END_MESSAGE_MAP()
78
79 /////////////////////////////////////////////////////////////////////////////
80 // CPersonName message handlers
81
82 BOOL CPersonName::OnInitDialog() 
83 {
84     CDialog::OnInitDialog();
85
86     CComboBox* combo = (CComboBox*)GetDlgItem( IDC_PERSON_LIST );
87     if( combo )
88     {
89         CPersonList& list = m_base.GetPersonList();
90         POSITION pos = list.GetHeadPosition();
91
92         while( pos )
93         {
94             CPerson* person = list.GetNext( pos );
95             combo->AddString( person->GetName() );
96         }
97     }
98
99     return TRUE;  // return TRUE unless you set the focus to a control
100                   // EXCEPTION: OCX Property Pages should return FALSE
101 }
102
103
104 void CPersonName::OnOK() 
105 {
106     GetDlgItemText( IDC_PERSON_LIST, m_person_name );
107     CDialog::OnOK();
108 }
109 /////////////////////////////////////////////////////////////////////////////
110 // CBaseInfo dialog
111
112
113 CBaseInfo::CBaseInfo(CFaceBase& base, CWnd* pParent /*=NULL*/)
114     : CDialog(CBaseInfo::IDD, pParent), m_base(base)
115 {
116     //{{AFX_DATA_INIT(CBaseInfo)
117     //}}AFX_DATA_INIT
118 }
119
120
121 void CBaseInfo::DoDataExchange(CDataExchange* pDX)
122 {
123     CDialog::DoDataExchange(pDX);
124     //{{AFX_DATA_MAP(CBaseInfo)
125         // NOTE: the ClassWizard will add DDX and DDV calls here
126     //}}AFX_DATA_MAP
127 }
128
129
130 BEGIN_MESSAGE_MAP(CBaseInfo, CDialog)
131     //{{AFX_MSG_MAP(CBaseInfo)
132         ON_BN_CLICKED(IDC_BROWSE, OnBrowse)
133         //}}AFX_MSG_MAP
134 END_MESSAGE_MAP()
135
136 /////////////////////////////////////////////////////////////////////////////
137 // CBaseInfo message handlers
138
139
140 BOOL CBaseInfo::OnInitDialog() 
141 {
142     CDialog::OnInitDialog();
143
144     m_filename = m_base.GetFileName();
145     m_basename = m_base.GetName();
146
147     GetDlgItem(IDC_FILENAME)->SetWindowText( m_filename );
148     GetDlgItem(IDC_BASENAME)->SetWindowText( m_basename );
149
150     return TRUE;  // return TRUE unless you set the focus to a control
151                   // EXCEPTION: OCX Property Pages should return FALSE
152 }
153
154 void CBaseInfo::OnBrowse() 
155 {
156     CFileDialog dlg( FALSE, "txt", 0, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
157                      "Text files (*.txt)|*.txt||", this );
158     if( dlg.DoModal())
159     {
160         GetDlgItem(IDC_FILENAME)->SetWindowText( dlg.GetPathName());
161     }
162 }
163
164 void CBaseInfo::OnOK() 
165 {
166         GetDlgItem(IDC_FILENAME)->GetWindowText( m_filename );
167     GetDlgItem(IDC_BASENAME)->GetWindowText( m_basename );
168     CDialog::OnOK();
169 }