root/trunk/AddNewProjectCompilerSettingsPage.cpp

Revision 5, 8.3 kB (checked in by qbert, 3 years ago)

Initial ( and last :( ) commit

Line 
1 // AddNewProjectCompilerSettingsPage.cpp : implementation file
2 //
3
4 #include "stdafx.h"
5 #include "Elephant.h"
6 #include "AddNewProjectCompilerSettingsPage.h"
7
8 #ifdef _DEBUG
9 #define new DEBUG_NEW
10 #undef THIS_FILE
11 static char THIS_FILE[] = __FILE__;
12 #endif
13
14 /////////////////////////////////////////////////////////////////////////////
15 // CAddNewProjectCompilerSettingsPage dialog
16
17
18 CAddNewProjectCompilerSettingsPage::CAddNewProjectCompilerSettingsPage(CWnd* pParent /*=NULL*/)
19    
20 {
21     //{{AFX_DATA_INIT(CAddNewProjectCompilerSettingsPage)
22     m_csVersion = _T("");
23     m_csLinker = _T("");
24     m_csLibs = _T("");
25     m_csDebug = _T("");
26     m_staticLib = FALSE;
27     m_sharedLib = FALSE;
28     //}}AFX_DATA_INIT
29 }
30
31
32 void CAddNewProjectCompilerSettingsPage::DoDataExchange(CDataExchange* pDX)
33 {
34     CDialog::DoDataExchange(pDX);
35     //{{AFX_DATA_MAP(CAddNewProjectCompilerSettingsPage)
36     DDX_Control(pDX, IDC_EDIT13, m_linker);
37     DDX_Control(pDX, IDC_EDIT8, m_debug);
38     DDX_Control(pDX, IDC_EDIT14, m_libraries);
39     DDX_Control(pDX, IDC_EDIT1, m_version);
40     DDX_Control(pDX, IDC_COMBO2, m_flags);
41     DDX_Control(pDX, IDC_COMBO1, m_libs);
42     DDX_Text(pDX, IDC_EDIT1, m_csVersion);
43     DDX_Text(pDX, IDC_EDIT13, m_csLinker);
44     DDX_Text(pDX, IDC_EDIT14, m_csLibs);
45     DDX_Text(pDX, IDC_EDIT8, m_csDebug);
46     DDX_Check(pDX, IDC_CHECK1, m_staticLib);
47     DDX_Check(pDX, IDC_CHECK2, m_sharedLib);
48     //}}AFX_DATA_MAP
49 }
50
51
52 BEGIN_MESSAGE_MAP(CAddNewProjectCompilerSettingsPage, CDialog)
53     //{{AFX_MSG_MAP(CAddNewProjectCompilerSettingsPage)
54     ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
55     ON_CBN_SELCHANGE(IDC_COMBO2, OnSelchangeCombo2)
56     //}}AFX_MSG_MAP
57 END_MESSAGE_MAP()
58
59 /////////////////////////////////////////////////////////////////////////////
60 // CAddNewProjectCompilerSettingsPage message handlers
61
62 BOOL CAddNewProjectCompilerSettingsPage::OnInitDialog()
63 {
64     CDialog::OnInitDialog();
65    
66     m_debug.SetText("CSV of debug identifiers [debug=X].");
67     m_version.SetText("CSV of version identifiers [version=X].");
68    
69     InitComboBoxes();
70    
71     return TRUE;  // return TRUE unless you set the focus to a control
72                   // EXCEPTION: OCX Property Pages should return FALSE
73 }
74
75
76 void CAddNewProjectCompilerSettingsPage::InitComboBoxes()
77 {
78     string dmdPath = StripDirPath(Globals::settings->baseSettings->GetCache("dmdPath") );
79    
80     string libPath = dmdPath + "\\..\\..\\dm\\lib";
81    
82     vector<string> libs;
83      GetFilesFromDir(libPath,libs);
84     libPath = dmdPath + "\\..\\lib";
85      GetFilesFromDir(libPath,libs);
86
87    
88     for ( int i = 0;i < libs.size(); i++ ) {
89        
90         m_libs.AddString(libs[i].c_str() );
91     }
92
93     m_libs.SetCurSel(0);
94
95    
96         m_flags.AddString("A[lignment]");
97         m_flags.AddString("BAS[e]");
98         m_flags.AddString("B[atch]");
99         m_flags.AddString("BI[nary]");
100         m_flags.AddString("BYO[rdinal]");
101         m_flags.AddString("CHECKA[bort]");
102         m_flags.AddString("CHECKE[xe]");
103         m_flags.AddString("CHECKS[um]");
104         m_flags.AddString("CO[deview]");
105         m_flags.AddString("COM[defsearch]");
106         m_flags.AddString("CP[armaxalloc]");
107         m_flags.AddString("CVV[ersion]");
108         m_flags.AddString("CVW[arnings]");
109         m_flags.AddString("DEB[ug]");
110         m_flags.AddString("DEBUGA[pploader]");
111         m_flags.AddString("DEBUGB[rowser]");
112         m_flags.AddString("DEBUGC[overages]");
113         m_flags.AddString("DEBUGF[iles]");
114         m_flags.AddString("DEBUGLI[nes]");
115         m_flags.AddString("DEBUGLO[cals]");
116         m_flags.AddString("DEBUGM[odules]");
117         m_flags.AddString("DEBUGP[ublics]");
118         m_flags.AddString("DEBUGR[eferences]");
119         m_flags.AddString("DEBUGT[ypes]");
120         m_flags.AddString("DEF[aultlibrarysearch]");
121         m_flags.AddString("DE[lexecutable]");
122         m_flags.AddString("DET[ailedmap]");
123         m_flags.AddString("DO[sseg]");
124         m_flags.AddString("EC[hoindirect]");
125         m_flags.AddString("EMSM[axsize]");
126         m_flags.AddString("EMSP[ageframeio]");
127         m_flags.AddString("EMSU[se40]");
128         m_flags.AddString("EN[try]");
129         m_flags.AddString("ER[rorflag]");
130         m_flags.AddString("E[xepack]");
131         m_flags.AddString("EXET[ype]");
132         m_flags.AddString("F[arcalltranslation]");
133         m_flags.AddString("FI[xds]");
134         m_flags.AddString("FIXE[d]");
135         m_flags.AddString("G[roupassociation]");
136         m_flags.AddString("GROUPS[tack]");
137         m_flags.AddString("HEA[p]");
138         m_flags.AddString("H[elp]");
139         m_flags.AddString("IG[norecase]");
140         m_flags.AddString("IMPD[ef]");
141         m_flags.AddString("IMPL[ib]");
142         m_flags.AddString("IMPLIBC[off]");
143         m_flags.AddString("I[nformation]");
144         m_flags.AddString("L[inenumbers]");
145         m_flags.AddString("LO[wercase]");
146         m_flags.AddString("MAC[hine]");
147         m_flags.AddString("M[ap]");
148         m_flags.AddString("NOB[atch]");
149         m_flags.AddString("NOCHECKA[bort]");
150         m_flags.AddString("NOCHECKE[xe]");
151         m_flags.AddString("NOCHECKS[um]");
152         m_flags.AddString("NOCO[deview]");
153         m_flags.AddString("NOCOM[defsearch]");
154         m_flags.AddString("NOCV[pack]");
155         m_flags.AddString("NODEB[ug]");
156         m_flags.AddString("NODEBUGA[pploader]");
157         m_flags.AddString("NODEBUGB[rowser]");
158         m_flags.AddString("NODEBUGC[overages]");
159         m_flags.AddString("NODEBUGLI[nes]");
160         m_flags.AddString("NODEBUGLO[cals]");
161         m_flags.AddString("NODEBUGP[ublics]");
162         m_flags.AddString("NODEBUGR[eferences]");
163         m_flags.AddString("NODEBUGT[ypes]");
164         m_flags.AddString("NOD[efaultlibrarysearch]");
165         m_flags.AddString("NODEL[executable]");
166         m_flags.AddString("NODET[ailedmap]");
167         m_flags.AddString("NODO[sseg]");
168         m_flags.AddString("NOEC[hoindirect]");
169         m_flags.AddString("NOEMSP[ageframeio]");
170         m_flags.AddString("NOEMSU[se40]");
171         m_flags.AddString("NOER[rorflag]");
172         m_flags.AddString("NOEXE[pack]");
173         m_flags.AddString("NOE[xtdictionary]");
174         m_flags.AddString("NOF[arcalltranslation]");
175         m_flags.AddString("NOFI[xds]");
176         m_flags.AddString("NOG[roupassociation]");
177         m_flags.AddString("NOGROUPS[tack]");
178         m_flags.AddString("NOI[gnorecase]");
179         m_flags.AddString("NOLI[nenumbers]");
180         m_flags.AddString("NOL[ogo]");
181         m_flags.AddString("NOM[ap]");
182         m_flags.AddString("NONA[mes]");
183         m_flags.AddString("NONT[host]");
184         m_flags.AddString("NON[ullsdosseg]");
185         m_flags.AddString("NOP[ackcode]");
186         m_flags.AddString("NOPACKD[ata]");
187         m_flags.AddString("NOPACKF[unctions]");
188         m_flags.AddString("NOPACKI[fnosegments]");
189         m_flags.AddString("NOPAU[se]");
190         m_flags.AddString("NOPR[ompt]");
191         m_flags.AddString("NOR[elocationcheck]");
192         m_flags.AddString("NOREO[rdersegments]");
193         m_flags.AddString("NOSCANLIB ");
194         m_flags.AddString("NOSCANLINK");
195         m_flags.AddString("NOWARND[ups]");
196         m_flags.AddString("NOWI[npack]");
197         m_flags.AddString("NOX[ref]");
198         m_flags.AddString("NT[host]");
199         m_flags.AddString("NU[llsdosseg]");
200         m_flags.AddString("ON[error]");
201         m_flags.AddString("OPT ");
202         m_flags.AddString("PAC[kcode]");
203         m_flags.AddString("PACKD[ata]");
204         m_flags.AddString("PACKF[unctions]");
205         m_flags.AddString("PACKI[fnosegments]");
206         m_flags.AddString("PACKS[ize]");
207         m_flags.AddString("PADC[ode]");
208         m_flags.AddString("PADD[ata]");
209         m_flags.AddString("PAG[esize]");
210         m_flags.AddString("PAU[se]");
211         m_flags.AddString("PM[type]");
212         m_flags.AddString("PR[ompt]");
213         m_flags.AddString("RC ");
214         m_flags.AddString("RELOC[ationcheck]");
215         m_flags.AddString("REO[rdersegments]");
216         m_flags.AddString("SCANLIB ");
217         m_flags.AddString("SCANLINK ");
218         m_flags.AddString("SE[gments]");
219         m_flags.AddString("SEGP[ack]");
220         m_flags.AddString("SI[lent]");
221         m_flags.AddString("ST[ack]");
222         m_flags.AddString("STU[b]");
223         m_flags.AddString("SU[bsystem]");
224         m_flags.AddString("T[iny]");
225         m_flags.AddString("U[ppercase]");
226         m_flags.AddString("VERS[ion]");
227         m_flags.AddString("W[arnfixup]");
228         m_flags.AddString("WARND[ups]");
229         m_flags.AddString("WI[npack]");
230         m_flags.AddString("XM[smaxsize]");
231         m_flags.AddString("X[ref]");
232         m_flags.AddString("XN[oignorecase]");
233         m_flags.AddString("XU[ppercase]");
234
235         m_flags.SetCurSel(0);
236 }
237
238 void CAddNewProjectCompilerSettingsPage::OnSelchangeCombo1()
239 {
240     UpdateData();
241     CString text;
242     m_libs.GetLBText(m_libs.GetCurSel() ,text);
243    
244     if ( m_csLibs != "" ) m_csLibs += "," + text;
245    
246     else m_csLibs = text;
247    
248     UpdateData(FALSE);
249    
250 }
251
252 void CAddNewProjectCompilerSettingsPage::OnSelchangeCombo2()
253 {
254     UpdateData();
255    
256     CString text;
257     m_flags.GetLBText(m_flags.GetCurSel() ,text);
258    
259     int pos = 0;
260     if ( (pos = text.Find("[") ) != -1 ) text = text.Left(pos);
261    
262    
263     if ( m_csLinker != "" ) m_csLinker += "," + text;
264     else m_csLinker = text;
265    
266     UpdateData(FALSE);
267    
268 }
Note: See TracBrowser for help on using the browser.