00001
00002
00003
00004 #include "stdafx.h"
00005 #include "OptionsDlg.h"
00006 #include <afxdlgs.h>
00007 #include ".\optionsdlg.h"
00008
00009 #ifdef _DEBUG
00010 #define new DEBUG_NEW
00011 #undef THIS_FILE
00012 static char THIS_FILE[] = __FILE__;
00013 #endif
00014
00016
00017
00018
00019 OptionsDlg::OptionsDlg(CWnd* pParent )
00020 : CDialog(OptionsDlg::IDD, pParent)
00021 {
00022
00023 m_headerName = _T("");
00024 m_sourceName = _T("");
00025 m_visitorHeaderName = _T("");
00026 m_visitorSourceName = _T("");
00027 m_prevHeaderName = _T("");
00028 m_namespaceName = _T("");
00029 m_bVisitor = FALSE;
00030 m_bParse = FALSE;
00031 m_bInit = FALSE;
00032 m_bFinalize = FALSE;
00033 m_bAcceptTrave = FALSE;
00034 m_bAcceptSpeci = FALSE;
00035 m_whichStyle = 0;
00036 m_version60 = FALSE;
00037 m_visitorSignature = 0;
00038 m_specAcceptRetVal = 0;
00039 m_methodOfOutput = 0;
00040
00041 }
00042
00043
00044 void OptionsDlg::DoDataExchange(CDataExchange* pDX)
00045 {
00046 CDialog::DoDataExchange(pDX);
00047
00048 DDX_Control(pDX, IDC_CHECKVERS60, m_ctrlVersion60);
00049 DDX_Control(pDX, IDC_BUTTON3, m_ctrlButton3);
00050 DDX_Control(pDX, IDC_BUTTON4, m_ctrlButton4);
00051 DDX_Control(pDX, IDC_EDIT4, m_ctrlVisitorSource);
00052 DDX_Control(pDX, IDC_EDIT3, m_ctrlVisitorHeader);
00053 DDX_Control(pDX, IDC_BUTTON5, m_ctrlButton5);
00054 DDX_Control(pDX, IDC_EDIT5, m_ctrlPrevHeaderName);
00055 DDX_Control(pDX, IDC_RADIOSPACCRETURNSVOID, m_ctrlSpAccRetVoid);
00056 DDX_Control(pDX, IDC_RADIOSPACCRETURNSBOOL, m_ctrlSpAccRetBool);
00057 DDX_Text(pDX, IDC_EDIT1, m_headerName);
00058 DDX_Text(pDX, IDC_EDIT2, m_sourceName);
00059 DDX_Text(pDX, IDC_EDIT3, m_visitorHeaderName);
00060 DDX_Text(pDX, IDC_EDIT4, m_visitorSourceName);
00061 DDX_Text(pDX, IDC_EDIT5, m_prevHeaderName);
00062 DDX_Text(pDX, IDC_EDIT6, m_namespaceName);
00063 DDX_Check(pDX, IDC_CHECK34, m_bVisitor);
00064 DDX_Check(pDX, IDC_CHECK5, m_bParse);
00065 DDX_Check(pDX, IDC_CHECK2, m_bInit);
00066 DDX_Check(pDX, IDC_CHECK3, m_bFinalize);
00067 DDX_Check(pDX, IDC_CHECK4, m_bAcceptTrave);
00068 DDX_Check(pDX, IDC_CHECK6, m_bAcceptSpeci);
00069 DDX_Radio(pDX, IDC_RADIO1, m_whichStyle);
00070 DDX_Check(pDX, IDC_CHECKVERS60, m_version60);
00071 DDX_Radio(pDX, IDC_RADIOVISITSIGN1, m_visitorSignature);
00072 DDX_Radio(pDX, IDC_RADIOSPACCRETURNSVOID, m_specAcceptRetVal);
00073 DDX_Radio(pDX, IDC_RADIOSAMEFILE, m_methodOfOutput);
00074
00075 }
00076
00077
00078 BEGIN_MESSAGE_MAP(OptionsDlg, CDialog)
00079
00080 ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
00081 ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
00082 ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
00083 ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
00084 ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
00085 ON_BN_CLICKED(IDC_CHECK5, OnCheck5)
00086 ON_BN_CLICKED(IDC_CHECK34, OnCheck34)
00087 ON_BN_CLICKED(IDC_RADIO1, OnRadio1)
00088 ON_BN_CLICKED(IDC_RADIO2, OnRadio2)
00089 ON_BN_CLICKED(IDC_RADIO3, OnRadio3)
00090
00091 ON_BN_CLICKED(IDC_CHECK6, OnBnClickedCheck6)
00092 END_MESSAGE_MAP()
00093
00095
00096
00097 BOOL OptionsDlg::OnInitDialog()
00098 {
00099 CDialog::OnInitDialog();
00100
00101 m_ctrlPrevHeaderName.EnableWindow( FALSE);
00102 m_ctrlButton5.EnableWindow( FALSE);
00103
00104 m_ctrlVisitorHeader.EnableWindow( m_bVisitor);
00105 m_ctrlVisitorSource.EnableWindow( m_bVisitor);
00106 m_ctrlButton3.EnableWindow( m_bVisitor);
00107 m_ctrlButton4.EnableWindow( m_bVisitor);
00108
00109 m_ctrlSpAccRetVoid.EnableWindow( m_bAcceptSpeci);
00110 m_ctrlSpAccRetBool.EnableWindow( m_bAcceptSpeci);
00111
00112 m_ctrlVersion60.EnableWindow( m_whichStyle >= 1);
00113
00114 UpdateData( FALSE);
00115
00116 return TRUE;
00117
00118 }
00119
00120 void OptionsDlg::doInit()
00121 {
00122
00123
00124
00125
00128
00129
00130
00131 }
00132
00133 void OptionsDlg::OnButton1()
00134 {
00135 UpdateData( TRUE);
00136
00137 try {
00138 CFileDialog dlg2(FALSE, "h", m_headerName,
00139 OFN_EXPLORER | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT
00140 ,"C++ header files (*.h)|*.h|All Files (*.*)|*.*||");
00141 if( dlg2.DoModal() == IDOK)
00142 {
00143 m_sourceName = m_headerName = dlg2.GetPathName();
00144 m_prevHeaderName = m_headerName + ".copy";
00145
00146 int p = m_sourceName.ReverseFind( '.');
00147 if ( p != -1)
00148 {
00149 m_sourceName = m_sourceName.Left(p) + ".cpp";
00150 }
00151 else
00152 {
00153 m_sourceName = m_sourceName + ".cpp";
00154 }
00155
00156 }
00157 else
00158 {
00159 return ;
00160 }
00161 } catch (...) { }
00162
00163 UpdateData( FALSE);
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184 }
00185
00186 void OptionsDlg::OnButton2()
00187 {
00188 UpdateData( TRUE);
00189
00190 try {
00191 CFileDialog dlg2(FALSE, "cpp", m_sourceName,
00192 OFN_EXPLORER | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT
00193 ,"C++ source files (*.cpp)|*.cpp|All Files (*.*)|*.*||");
00194 if( dlg2.DoModal() == IDOK)
00195 {
00196 m_sourceName = dlg2.GetPathName();
00197 }
00198 else
00199 {
00200 return ;
00201 }
00202 } catch (...) { }
00203
00204 UpdateData( FALSE);
00205 }
00206
00207 void OptionsDlg::OnButton3()
00208 {
00209 UpdateData( TRUE);
00210
00211 try {
00212 CFileDialog dlg2(FALSE, "h", m_visitorHeaderName,
00213 OFN_EXPLORER | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT
00214 ,"C++ header files (*.h)|*.h|All Files (*.*)|*.*||");
00215
00216 if( dlg2.DoModal() == IDOK)
00217 {
00218 m_visitorSourceName = m_visitorHeaderName = (LPCTSTR) dlg2.GetPathName();
00219 int p = m_visitorSourceName.ReverseFind( '.');
00220
00221 if ( p != -1)
00222 m_visitorSourceName = m_visitorSourceName.Left( p) + ".cpp";
00223 else
00224 m_visitorSourceName = m_visitorSourceName + ".cpp";
00225
00226 }
00227 else
00228 {
00229 return ;
00230 }
00231 } catch (...) { }
00232
00233 UpdateData( FALSE);
00234 }
00235
00236 void OptionsDlg::OnButton4()
00237 {
00238 UpdateData( TRUE);
00239
00240 try {
00241 CFileDialog dlg2(FALSE, "cpp", m_visitorSourceName,
00242 OFN_EXPLORER | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT
00243 ,"C++ source files (*.cpp)|*.cpp|All Files (*.*)|*.*||");
00244 if(dlg2.DoModal() == IDOK)
00245 {
00246 m_visitorSourceName = dlg2.GetPathName();
00247 }
00248 } catch (...) { }
00249
00250 UpdateData( FALSE);
00251 }
00252
00253 void OptionsDlg::OnButton5()
00254 {
00255 UpdateData( TRUE);
00256
00257 try {
00258 CFileDialog dlg2(TRUE, "h.copy", "",
00259 OFN_EXPLORER | OFN_HIDEREADONLY
00260 ,"Previously generated header files (*.h.copy)|*.h.copy|C++ header files (*.h)|*.h|All Files (*.*)|*.*||");
00261 if( dlg2.DoModal() == IDOK)
00262 {
00263 m_prevHeaderName = dlg2.GetPathName();
00264 }
00265 else
00266 {
00267 return ;
00268 }
00269 } catch (...) {
00270 }
00271
00272 UpdateData( FALSE);
00273 }
00274
00275 void OptionsDlg::OnCheck5()
00276 {
00277 UpdateData( TRUE);
00278 m_ctrlPrevHeaderName.EnableWindow( m_bParse);
00279 m_ctrlButton5.EnableWindow( m_bParse);
00280 UpdateData( FALSE);
00281 }
00282
00283 void OptionsDlg::OnCheck34()
00284 {
00285 UpdateData( TRUE);
00286 m_ctrlVisitorHeader.EnableWindow( m_bVisitor);
00287 m_ctrlVisitorSource.EnableWindow( m_bVisitor);
00288 m_ctrlButton3.EnableWindow( m_bVisitor);
00289 m_ctrlButton4.EnableWindow( m_bVisitor);
00290 UpdateData( FALSE);
00291 }
00292
00293 void OptionsDlg::OnRadio1()
00294 {
00295 m_ctrlVersion60.EnableWindow( FALSE);
00296 }
00297
00298 void OptionsDlg::OnRadio2()
00299 {
00300 m_ctrlVersion60.EnableWindow( TRUE);
00301 }
00302
00303 void OptionsDlg::OnRadio3()
00304 {
00305 m_ctrlVersion60.EnableWindow( TRUE);
00306 }
00307
00308 void OptionsDlg::OnBnClickedCheck6()
00309 {
00310 UpdateData( TRUE);
00311 m_ctrlSpAccRetVoid.EnableWindow( m_bAcceptSpeci);
00312 m_ctrlSpAccRetBool.EnableWindow( m_bAcceptSpeci);
00313 UpdateData( FALSE);
00314 }