1// rc2xml.h 2// 3////////////////////////////////////////////////////////////////////// 4 5#if !defined(RC2XML_H) 6#define RC2XML_H 7 8#include "wx/file.h" 9#include "wx/ffile.h" 10#include "wx/list.h" 11 12 13class rc2xml : public wxObject 14{ 15public: 16 wxString m_workingpath; 17 wxString m_targetpath; 18 void WriteIcon(wxString iconname); 19 void ParseNormalMSControl(); 20 bool Convert(wxString rcfile, wxString xmlfile); 21 rc2xml(); 22 ~rc2xml(); 23 24protected: 25 wxString LookUpId(wxString id); 26 27 void ParseResourceHeader(); 28 void WriteBitmap(wxString bitmapname); 29 void ParseListCtrl(wxString label,wxString varname); 30 void ParseCalendar(wxString label,wxString varname); 31 void ParseTreeCtrl(wxString label,wxString varname); 32 void ParseScrollBar(); 33 void ParseWeirdMSControl(); 34 void ParseStaticBitmap(wxString label,wxString varname); 35 wxString CleanName(wxString name); 36 void ParseIcon(wxString varname); 37 wxList * m_iconlist; 38 void ParseIconStatic(); 39 void ParseMenuItem(); 40 41//Functions 42 bool SplitHelp(wxString msg, wxString &shorthelp, wxString &longhelp); 43 bool LookUpString(wxString strid,wxString & st); 44 void ParseStringTable(wxString varname); 45 void WriteToolButton(wxString name,int index,int width,int height,wxBitmap bitmap); 46 wxString LookupString(wxString varname,wxStringList id,wxStringList msg); 47 void ParseToolBar(wxString varname); 48 void SecondPass(); 49 void FirstPass(); 50 void ParseBitmap(wxString varname); 51 void ParseSpinCtrl(wxString label,wxString varname); 52 void ParseRichEdit(wxString label, wxString varname); 53 void ParseDialog(wxString dlgname); 54 void ParseControls(); 55 void ParseListBox(wxString varname); 56 void ParseStaticText(wxString phrase,wxString varname); 57 void ParseTextCtrl(wxString varname); 58 void ParseRadioButton(wxString phrase,wxString varname); 59 void ParseCheckBox(wxString phrase,wxString varname); 60 void ParsePushButton(wxString phrase, wxString varname); 61 bool Separator(int ch); 62 void ParseGroupBox(wxString phrase, wxString varname); 63 bool ReadRect(int & x, int & y, int & width, int & height); 64 wxString GetToken(bool *listseparator = 0); 65 wxString GetQuoteField(); 66 wxString GetStringQuote(); 67 void ReadChar(int &ch); 68 void ParseComboBox(wxString varname); 69 void ParseMenu(wxString varname); 70 void ParsePopupMenu(); 71 wxString PeekToken(); 72 void ParseControlMS(); 73 void ParseSlider(wxString label, wxString varname); 74 void ParseProgressBar(wxString label, wxString varname); 75 bool ReadOrs(wxString & w); 76 void ParseCtrlButton(wxString label, wxString varname); 77 void WriteStyle(wxString style); 78 void WriteBasicInfo(int x,int y,int width,int height,wxString name); 79 void WriteName(wxString name); 80 void WriteTitle(wxString title); 81 void WritePosition(int x,int y); 82 void WriteSize(int width,int height); 83 void WriteLabel(wxString label); 84//variables 85 wxList * m_stringtable; 86 wxList *m_bitmaplist; 87 wxList * m_resourcelist; 88 wxFile m_rc; 89 wxFFile m_xmlfile; 90 wxFileOffset m_filesize; 91 bool m_done; 92 93}; 94 95 96#endif 97