]>
git.saurik.com Git - wxWidgets.git/blob - contrib/utils/convertrc/convert.cpp
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
9 #pragma implementation "convert.cpp"
10 #pragma interface "convert.cpp"
13 // For compilers that support precompilation, includes "wx/wx.h".
14 #include "wx/wxprec.h"
20 // for all others, include the necessary headers (this file is usually all you
21 // need because it includes almost all "standard" wxWindows headers
28 #include "wx/deprecated/setup.h"
29 #include "wx/deprecated/resource.h"
36 IMPLEMENT_APP(wxConvertApp
)
37 //////////////////////////////////////////////////////////////////////
38 // Construction/Destruction
39 //////////////////////////////////////////////////////////////////////
41 wxConvertApp::wxConvertApp()
48 wxConvertApp::~wxConvertApp()
54 bool wxConvertApp::OnInit()
56 //Initialize all image loaders(JPEG,BMP,PNG,and etc)
57 wxInitAllImageHandlers();
58 SetAppName("wxConvertApp");
60 if (HandleCommandLine())
64 // Create the main frame window
65 m_pFrame
= new wxMainFrame(NULL
, -1, "wxConvertApp", wxPoint(0, 0), wxSize(500, 400),
66 wxDEFAULT_FRAME_STYLE
| wxHSCROLL
| wxVSCROLL
);
70 SetTopWindow(m_pFrame
);
74 void wxConvertApp::InitMenu()
76 m_pMenuBar
=new wxMenuBar
;
79 wxMenu
*filemenu
=new wxMenu
;
80 filemenu
->Append(ID_RC2WXR
,"Convert RC file to WXR file");
81 filemenu
->Append(ID_WXR2XML
,"Convert WXR file to XML file");
82 filemenu
->Append(ID_RC2XML
,"Convert RC file to XML file");
84 filemenu
->Append(ID_QUIT
, "E&xit");
85 m_pMenuBar
->Append(filemenu
,"&File");
87 m_pFrame
->SetMenuBar(m_pMenuBar
);
92 // MainFrame.cpp: implementation of the wxMainFrame class.
94 //////////////////////////////////////////////////////////////////////
96 BEGIN_EVENT_TABLE(wxMainFrame
, wxFrame
)
97 EVT_MENU(ID_QUIT
,wxMainFrame::OnQuit
)
98 EVT_MENU(ID_RC2WXR
,wxMainFrame::OnRc2Wxr
)
99 EVT_MENU(ID_WXR2XML
,wxMainFrame::OnWXR2XML
)
100 EVT_MENU(ID_RC2XML
,wxMainFrame::OnRC2XML
)
105 //////////////////////////////////////////////////////////////////////
106 // Construction/Destruction
107 //////////////////////////////////////////////////////////////////////
109 wxMainFrame::wxMainFrame(wxWindow
* parent
,wxWindowID id
,
110 const wxString
& title
, const wxPoint
& pos
, const wxSize
& size
,
111 long style
, const wxString
& name
)
112 :wxFrame(parent
,id
,title
,pos
,size
,style
,name
)
117 wxMainFrame::~wxMainFrame()
123 void wxMainFrame::OnQuit()
129 void wxMainFrame::OnRc2Wxr()
131 wxFileDialog
filed(this);
132 filed
.SetWildcard("*.rc");
133 filed
.SetStyle(wxOPEN
);
135 if (filed
.ShowModal()!=wxID_OK
)
138 wxFileDialog
wxrfile(this,"Enter Desired WXR file name");
139 wxrfile
.SetWildcard("*.wxr");
140 wxrfile
.SetStyle(wxOPEN
);
141 wxrfile
.SetFilename("resource.wxr");
143 if (wxrfile
.ShowModal()!=wxID_OK
)
147 convert
.Convert(wxrfile
.GetPath(),filed
.GetPath());
150 void wxMainFrame::OnWXR2XML()
152 wxFileDialog
f(this);
153 f
.SetWildcard("*.wxr");
154 if (f
.ShowModal()!=wxID_OK
)
158 wxFileDialog
xmlfile(this,"Enter Desired XML file name");
159 xmlfile
.SetWildcard("*.xml");
160 xmlfile
.SetStyle(wxOPEN
);
161 xmlfile
.SetFilename("resource.xml");
163 if (xmlfile
.ShowModal()!=wxID_OK
)
167 XMLCon
.Convert(f
.GetPath(),xmlfile
.GetPath());
171 void wxMainFrame::OnRC2XML()
173 wxFileDialog
f(this);
174 f
.SetWildcard("*.rc");
175 if (f
.ShowModal()!=wxID_OK
)
178 wxFileDialog
xmlfile(this,"Enter Desired XML file name");
179 xmlfile
.SetWildcard("*.xml");
180 xmlfile
.SetStyle(wxOPEN
);
181 xmlfile
.SetFilename("resource.xml");
183 if (xmlfile
.ShowModal()!=wxID_OK
)
187 XMLCon
.Convert(f
.GetPath(),xmlfile
.GetPath());
191 bool wxConvertApp::HandleCommandLine()
197 //Figure out kind of conversion
198 wxString source
,target
;
200 wxr2xml trans_wxr2xml
;
208 if ((source
.Find(".wxr")>0)&&(target
.Find(".xml")>0))
210 trans_wxr2xml
.Convert(source
,target
);
213 else if ((source
.Find(".rc")!=-1)&(target
.Find(".wxr")!=-1))
215 trans_rc2wxr
.Convert(source
,target
);
218 else if ((source
.Find(".rc")!=-1)&(target
.Find(".xml")!=-1))
220 trans_rc2xml
.Convert(source
,target
);