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