]>
Commit | Line | Data |
---|---|---|
2193517f VS |
1 | //wxConvertApp Programming Utility |
2 | /*This program currently offers 3 useful conversions | |
3 | 1. Converts most of an .RC file into a wxXml file | |
4 | 2. Converts most of an .wxr file into a wxXml file | |
5 | 3. Converts portions of an .RC file into a wxr file | |
6 | */ | |
7 | ||
8 | #ifdef __GNUG__ | |
9 | #pragma implementation "convert.cpp" | |
10 | #pragma interface "convert.cpp" | |
11 | #endif | |
12 | ||
13 | // For compilers that support precompilation, includes "wx/wx.h". | |
14 | #include <wx/wxprec.h> | |
15 | ||
16 | #ifdef __BORLANDC__ | |
17 | #pragma hdrstop | |
18 | #endif | |
19 | ||
20 | // for all others, include the necessary headers (this file is usually all you | |
21 | // need because it includes almost all "standard" wxWindows headers | |
22 | #ifndef WX_PRECOMP | |
23 | #include <wx/wx.h> | |
24 | #endif | |
25 | ||
26 | #include <wx/image.h> | |
27 | #include "wx/resource.h" | |
28 | ||
29 | #include "convert.h" | |
30 | #include "rc2wxr.h" | |
31 | #include "wxr2xml.h" | |
32 | #include "rc2xml.h" | |
33 | ||
34 | IMPLEMENT_APP(wxConvertApp) | |
35 | ////////////////////////////////////////////////////////////////////// | |
36 | // Construction/Destruction | |
37 | ////////////////////////////////////////////////////////////////////// | |
38 | ||
39 | wxConvertApp::wxConvertApp() | |
40 | { | |
41 | m_pFrame=NULL; | |
42 | m_pMenuBar=NULL; | |
43 | ||
44 | } | |
45 | ||
46 | wxConvertApp::~wxConvertApp() | |
47 | { | |
48 | ||
49 | } | |
50 | ||
51 | ||
52 | bool wxConvertApp::OnInit() | |
53 | { | |
54 | //Initialize all image loaders(JPEG,BMP,PNG,and etc) | |
55 | wxInitAllImageHandlers(); | |
56 | SetAppName("wxConvertApp"); | |
57 | ||
58 | if (HandleCommandLine()) | |
59 | return TRUE; | |
60 | ||
61 | ||
62 | // Create the main frame window | |
63 | m_pFrame = new wxMainFrame(NULL, -1, "wxConvertApp", wxPoint(0, 0), wxSize(500, 400), | |
64 | wxDEFAULT_FRAME_STYLE | wxHSCROLL | wxVSCROLL); | |
65 | ||
66 | InitMenu(); | |
67 | m_pFrame->Show(TRUE); | |
68 | SetTopWindow(m_pFrame); | |
69 | return TRUE; | |
70 | } | |
71 | ||
72 | void wxConvertApp::InitMenu() | |
73 | { | |
74 | m_pMenuBar=new wxMenuBar; | |
75 | wxASSERT(m_pMenuBar); | |
76 | ||
77 | wxMenu *filemenu=new wxMenu; | |
78 | filemenu->Append(ID_RC2WXR,"Convert RC file to WXR file"); | |
79 | filemenu->Append(ID_WXR2XML,"Convert WXR file to XML file"); | |
80 | filemenu->Append(ID_RC2XML,"Convert RC file to XML file"); | |
81 | ||
82 | filemenu->Append(ID_QUIT, "E&xit"); | |
83 | m_pMenuBar->Append(filemenu,"&File"); | |
84 | ||
85 | m_pFrame->SetMenuBar(m_pMenuBar); | |
86 | } | |
87 | ||
88 | ||
89 | ||
90 | // MainFrame.cpp: implementation of the wxMainFrame class. | |
91 | // | |
92 | ////////////////////////////////////////////////////////////////////// | |
93 | ||
94 | BEGIN_EVENT_TABLE(wxMainFrame, wxFrame) | |
95 | EVT_MENU(ID_QUIT,wxMainFrame::OnQuit) | |
96 | EVT_MENU(ID_RC2WXR,wxMainFrame::OnRc2Wxr) | |
97 | EVT_MENU(ID_WXR2XML,wxMainFrame::OnWXR2XML) | |
98 | EVT_MENU(ID_RC2XML,wxMainFrame::OnRC2XML) | |
99 | END_EVENT_TABLE() | |
100 | ||
101 | ||
102 | ||
103 | ////////////////////////////////////////////////////////////////////// | |
104 | // Construction/Destruction | |
105 | ////////////////////////////////////////////////////////////////////// | |
106 | ||
107 | wxMainFrame::wxMainFrame(wxWindow* parent,wxWindowID id, | |
108 | const wxString& title, const wxPoint& pos, const wxSize& size, | |
109 | long style, const wxString& name) | |
110 | :wxFrame(parent,id,title,pos,size,style,name) | |
111 | { | |
112 | ||
113 | } | |
114 | ||
115 | wxMainFrame::~wxMainFrame() | |
116 | { | |
117 | } | |
118 | ||
119 | ||
120 | ||
121 | void wxMainFrame::OnQuit() | |
122 | { | |
123 | Close(TRUE); | |
124 | } | |
125 | ||
126 | ||
127 | void wxMainFrame::OnRc2Wxr() | |
128 | { | |
129 | wxFileDialog filed(this); | |
130 | filed.SetWildcard("*.rc"); | |
131 | filed.SetStyle(wxOPEN); | |
132 | ||
133 | if (filed.ShowModal()!=wxID_OK) | |
134 | return; | |
135 | ||
136 | wxFileDialog wxrfile(this,"Enter Desired WXR file name"); | |
137 | wxrfile.SetWildcard("*.wxr"); | |
138 | wxrfile.SetStyle(wxOPEN); | |
139 | wxrfile.SetFilename("resource.wxr"); | |
140 | ||
141 | if (wxrfile.ShowModal()!=wxID_OK) | |
142 | return; | |
143 | ||
144 | rc2wxr convert; | |
145 | convert.Convert(wxrfile.GetPath(),filed.GetPath()); | |
146 | } | |
147 | ||
148 | void wxMainFrame::OnWXR2XML() | |
149 | { | |
150 | wxFileDialog f(this); | |
151 | f.SetWildcard("*.wxr"); | |
152 | if (f.ShowModal()!=wxID_OK) | |
153 | return; | |
154 | ||
155 | ||
156 | wxFileDialog xmlfile(this,"Enter Desired XML file name"); | |
157 | xmlfile.SetWildcard("*.xml"); | |
158 | xmlfile.SetStyle(wxOPEN); | |
159 | xmlfile.SetFilename("resource.xml"); | |
160 | ||
161 | if (xmlfile.ShowModal()!=wxID_OK) | |
162 | return; | |
163 | ||
164 | wxr2xml XMLCon; | |
165 | XMLCon.Convert(f.GetPath(),xmlfile.GetPath()); | |
166 | ||
167 | } | |
168 | ||
169 | void wxMainFrame::OnRC2XML() | |
170 | { | |
171 | wxFileDialog f(this); | |
172 | f.SetWildcard("*.rc"); | |
173 | if (f.ShowModal()!=wxID_OK) | |
174 | return; | |
175 | ||
176 | wxFileDialog xmlfile(this,"Enter Desired XML file name"); | |
177 | xmlfile.SetWildcard("*.xml"); | |
178 | xmlfile.SetStyle(wxOPEN); | |
179 | xmlfile.SetFilename("resource.xml"); | |
180 | ||
181 | if (xmlfile.ShowModal()!=wxID_OK) | |
182 | return; | |
183 | ||
184 | rc2xml XMLCon; | |
185 | XMLCon.Convert(f.GetPath(),xmlfile.GetPath()); | |
186 | ||
187 | } | |
188 | ||
189 | bool wxConvertApp::HandleCommandLine() | |
190 | { | |
191 | ||
192 | if (argc != 2) | |
193 | return FALSE; | |
194 | ||
195 | //Figure out kind of conversion | |
196 | wxString source,target; | |
197 | wxr2xml trans_wxr2xml; | |
198 | rc2xml trans_rc2xml; | |
199 | rc2wxr trans_rc2wxr; | |
200 | ||
201 | source=argv[1]; | |
202 | target=argv[2]; | |
203 | ||
204 | ||
205 | if ((source.Find(".wxr")>0)&&(target.Find(".xml")>0)) | |
206 | { | |
207 | trans_wxr2xml.Convert(source,target); | |
208 | return TRUE; | |
209 | } | |
210 | else if ((source.Find(".rc")!=-1)&(target.Find(".wxr")!=-1)) | |
211 | { | |
212 | trans_rc2wxr.Convert(source,target); | |
213 | return TRUE; | |
214 | } | |
215 | else if ((source.Find(".rc")!=-1)&(target.Find(".xml")!=-1)) | |
216 | { | |
217 | trans_rc2xml.Convert(source,target); | |
218 | return TRUE; | |
219 | } | |
220 | ||
221 | return FALSE; | |
222 | } |