Applied patch [ 651713 ] changes to convertrc
David J. Cooke (davidjcooke) amendments to convertrc: add support for CONTROL... syntax for static, edit, combobox, buttons, but NOT scrollbar; add support for embedded quotes in stringtable; other minor changes git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18260 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		@@ -101,6 +101,8 @@ bool rc2xml::Convert(wxString rcfile, wxString xmlfile)
 | 
			
		||||
    m_xmlfile.Write("</resource>\n");
 | 
			
		||||
    m_xmlfile.Close();
 | 
			
		||||
    m_rc.Close();
 | 
			
		||||
    wxMessageBox(_("Conversion complete."), _("Done"), 
 | 
			
		||||
                            wxOK | wxICON_INFORMATION);
 | 
			
		||||
 | 
			
		||||
return TRUE;
 | 
			
		||||
}
 | 
			
		||||
@@ -116,7 +118,8 @@ microsoft reuses the keyword DIALOG for other things
 | 
			
		||||
*/
 | 
			
		||||
    token=PeekToken();
 | 
			
		||||
//Microsoft notation?
 | 
			
		||||
    if (token=="DISCARDABLE")
 | 
			
		||||
    while ((token=="DISCARDABLE")
 | 
			
		||||
            ||(token=="LOADONCALL")||(token=="MOVEABLE"))
 | 
			
		||||
    {
 | 
			
		||||
    token=GetToken();
 | 
			
		||||
    token=PeekToken();
 | 
			
		||||
@@ -177,32 +180,60 @@ END
 | 
			
		||||
void rc2xml::ParseControls()
 | 
			
		||||
{
 | 
			
		||||
    wxString token;
 | 
			
		||||
    wxString label,varname;
 | 
			
		||||
 | 
			
		||||
    token=GetToken();
 | 
			
		||||
    while ((token!="END")&(token!="}"))
 | 
			
		||||
        {
 | 
			
		||||
        if (token=="AUTOCHECKBOX")
 | 
			
		||||
            ParseCheckBox();
 | 
			
		||||
           {
 | 
			
		||||
            label=GetQuoteField();
 | 
			
		||||
            varname=GetToken();
 | 
			
		||||
            ParseCheckBox(label,varname);
 | 
			
		||||
            }
 | 
			
		||||
        else
 | 
			
		||||
        if (token=="AUTORADIOBUTTON")
 | 
			
		||||
            ParseRadioButton();
 | 
			
		||||
           {
 | 
			
		||||
            label=GetQuoteField();
 | 
			
		||||
            varname=GetToken();
 | 
			
		||||
            ParseRadioButton(label,varname);
 | 
			
		||||
           }
 | 
			
		||||
        else
 | 
			
		||||
        if (token=="LTEXT")
 | 
			
		||||
            ParseStaticText();
 | 
			
		||||
           {
 | 
			
		||||
            label=GetQuoteField();
 | 
			
		||||
            varname=GetToken();
 | 
			
		||||
            ParseStaticText(label,varname);
 | 
			
		||||
            }
 | 
			
		||||
        else if (token=="EDITTEXT")
 | 
			
		||||
            ParseTextCtrl();
 | 
			
		||||
        else if (token=="PUSHBUTTON")
 | 
			
		||||
            ParsePushButton();
 | 
			
		||||
        else if (token=="DEFPUSHBUTTON")
 | 
			
		||||
            ParsePushButton();
 | 
			
		||||
           {
 | 
			
		||||
            varname=GetToken();
 | 
			
		||||
            ParseTextCtrl(varname);
 | 
			
		||||
            }
 | 
			
		||||
        else if ((token=="PUSHBUTTON")||(token=="DEFPUSHBUTTON"))
 | 
			
		||||
           {
 | 
			
		||||
            label=GetQuoteField();
 | 
			
		||||
            varname=GetToken();
 | 
			
		||||
            ParsePushButton(label,varname);
 | 
			
		||||
            }
 | 
			
		||||
        else if (token=="GROUPBOX")
 | 
			
		||||
            ParseGroupBox();
 | 
			
		||||
           {
 | 
			
		||||
            label=GetQuoteField();
 | 
			
		||||
            varname=GetToken();
 | 
			
		||||
            ParseGroupBox(label,varname);
 | 
			
		||||
            }
 | 
			
		||||
        else if (token=="COMBOBOX")
 | 
			
		||||
            ParseComboBox();
 | 
			
		||||
            {
 | 
			
		||||
            varname=GetToken();
 | 
			
		||||
            ParseComboBox(varname);
 | 
			
		||||
             }
 | 
			
		||||
        else if (token=="CONTROL")
 | 
			
		||||
            ParseControlMS();
 | 
			
		||||
        else if (token=="LISTBOX")
 | 
			
		||||
            ParseListBox();
 | 
			
		||||
           {
 | 
			
		||||
            varname=GetToken();
 | 
			
		||||
            ParseListBox(varname);
 | 
			
		||||
            }
 | 
			
		||||
        else if (token=="ICON")
 | 
			
		||||
            ParseIconStatic();
 | 
			
		||||
        else if (token=="SCROLLBAR")
 | 
			
		||||
@@ -212,12 +243,15 @@ void rc2xml::ParseControls()
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
//LTEXT           "Radius",IDC_STATIC,9,67,23,8
 | 
			
		||||
void rc2xml::ParseStaticText()
 | 
			
		||||
void rc2xml::ParseStaticText(wxString phrase, wxString varname)
 | 
			
		||||
{
 | 
			
		||||
    wxString token;
 | 
			
		||||
    wxString phrase,varname;
 | 
			
		||||
    phrase=GetQuoteField();
 | 
			
		||||
    varname=GetToken();
 | 
			
		||||
    token=PeekToken();
 | 
			
		||||
    while (!token.IsNumber())
 | 
			
		||||
        {
 | 
			
		||||
        token=GetToken();
 | 
			
		||||
        token=PeekToken();
 | 
			
		||||
        }
 | 
			
		||||
    int x,y,width,height;
 | 
			
		||||
    ReadRect(x,y,width,height);
 | 
			
		||||
 | 
			
		||||
@@ -227,11 +261,16 @@ void rc2xml::ParseStaticText()
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
//EDITTEXT        IDC_RADIUS,36,65,40,14,ES_AUTOHSCROLL
 | 
			
		||||
void rc2xml::ParseTextCtrl()
 | 
			
		||||
void rc2xml::ParseTextCtrl(wxString varname)
 | 
			
		||||
{
 | 
			
		||||
    wxString token;
 | 
			
		||||
    wxString varname,style;
 | 
			
		||||
    varname=GetToken();
 | 
			
		||||
    wxString style;
 | 
			
		||||
    token=PeekToken();
 | 
			
		||||
    while (!token.IsNumber())
 | 
			
		||||
        {
 | 
			
		||||
        token=GetToken();
 | 
			
		||||
        token=PeekToken();
 | 
			
		||||
        }
 | 
			
		||||
    int x,y,width,height;
 | 
			
		||||
    ReadRect(x,y,width,height);
 | 
			
		||||
//TODO
 | 
			
		||||
@@ -242,13 +281,15 @@ void rc2xml::ParseTextCtrl()
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
//AUTOCHECKBOX "&log.", ID_XLOG, 25, 24, 21, 12
 | 
			
		||||
void rc2xml::ParseCheckBox()
 | 
			
		||||
void rc2xml::ParseCheckBox(wxString phrase, wxString varname)
 | 
			
		||||
{
 | 
			
		||||
    wxString token;
 | 
			
		||||
    wxString phrase,varname;
 | 
			
		||||
    phrase=GetQuoteField();
 | 
			
		||||
    varname=GetToken();
 | 
			
		||||
 | 
			
		||||
    token=PeekToken();
 | 
			
		||||
    while (!token.IsNumber())
 | 
			
		||||
        {
 | 
			
		||||
        token=GetToken();
 | 
			
		||||
        token=PeekToken();
 | 
			
		||||
        }
 | 
			
		||||
    int x,y,width,height;
 | 
			
		||||
    ReadRect(x,y,width,height);
 | 
			
		||||
 | 
			
		||||
@@ -259,15 +300,14 @@ void rc2xml::ParseCheckBox()
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
//AUTORADIOBUTTON "&text", ID_SW10, 13, 12, 68, 10, BS_AUTORADIOBUTTON | WS_GROUP
 | 
			
		||||
void rc2xml::ParseRadioButton()
 | 
			
		||||
void rc2xml::ParseRadioButton(wxString phrase, wxString varname)
 | 
			
		||||
{
 | 
			
		||||
    wxString token,style;
 | 
			
		||||
    wxString phrase,varname;
 | 
			
		||||
    phrase=GetQuoteField();
 | 
			
		||||
    varname=GetToken();
 | 
			
		||||
 | 
			
		||||
    int x,y,width,height;
 | 
			
		||||
    bool GotOrs;
 | 
			
		||||
    GotOrs = ReadOrs(token);
 | 
			
		||||
    if (ReadRect(x,y,width,height))
 | 
			
		||||
        if (GotOrs==FALSE)
 | 
			
		||||
      ReadOrs(token);
 | 
			
		||||
    if (token.Find("WS_GROUP") != -1)
 | 
			
		||||
        style += "wxRB_GROUP";
 | 
			
		||||
@@ -281,13 +321,16 @@ void rc2xml::ParseRadioButton()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//PUSHBUTTON      "Create/Update",IDC_CREATE,15,25,53,13,NOT WS_TABSTOP
 | 
			
		||||
void rc2xml::ParsePushButton()
 | 
			
		||||
void rc2xml::ParsePushButton(wxString phrase, wxString varname)
 | 
			
		||||
{
 | 
			
		||||
    wxString token;
 | 
			
		||||
    wxString phrase,varname;
 | 
			
		||||
    phrase=GetQuoteField();
 | 
			
		||||
    varname=GetToken();
 | 
			
		||||
 | 
			
		||||
    token=PeekToken();
 | 
			
		||||
    while (!token.IsNumber())
 | 
			
		||||
        {
 | 
			
		||||
        token=GetToken();
 | 
			
		||||
        token=PeekToken();
 | 
			
		||||
        }
 | 
			
		||||
    int x,y,width,height;
 | 
			
		||||
    ReadRect(x,y,width,height);
 | 
			
		||||
 | 
			
		||||
@@ -314,13 +357,16 @@ bool rc2xml::Seperator(int ch)
 | 
			
		||||
    return FALSE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void rc2xml::ParseGroupBox()
 | 
			
		||||
void rc2xml::ParseGroupBox(wxString phrase, wxString varname)
 | 
			
		||||
{
 | 
			
		||||
//    GROUPBOX        "Rotate",IDC_STATIC,1,1,71,79
 | 
			
		||||
    wxString token;
 | 
			
		||||
    wxString phrase,varname;
 | 
			
		||||
    phrase=GetQuoteField();
 | 
			
		||||
    varname=GetToken();
 | 
			
		||||
    token=PeekToken();
 | 
			
		||||
    while (!token.IsNumber())
 | 
			
		||||
        {
 | 
			
		||||
        token=GetToken();
 | 
			
		||||
        token=PeekToken();
 | 
			
		||||
        }
 | 
			
		||||
    int x,y,width,height;
 | 
			
		||||
    ReadRect(x,y,width,height);
 | 
			
		||||
 | 
			
		||||
@@ -395,9 +441,8 @@ wxString rc2xml::GetQuoteField()
 | 
			
		||||
 | 
			
		||||
    while (ch!=34)
 | 
			
		||||
        ReadChar(ch);
 | 
			
		||||
  
 | 
			
		||||
    ReadChar(ch);
 | 
			
		||||
 | 
			
		||||
  
 | 
			
		||||
    while (ch!=34)
 | 
			
		||||
    {
 | 
			
		||||
    phrase+=(char)ch;
 | 
			
		||||
@@ -406,6 +451,49 @@ wxString rc2xml::GetQuoteField()
 | 
			
		||||
    return phrase;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// string in stringtable may contain embedded quotes
 | 
			
		||||
// escape characters retained to allow strings to be rewritten
 | 
			
		||||
wxString rc2xml::GetStringQuote()
 | 
			
		||||
{
 | 
			
		||||
    wxString phrase;
 | 
			
		||||
    //ASCII code 34 "
 | 
			
		||||
    bool done=FALSE;
 | 
			
		||||
    int p,ch=0,lastch=0;
 | 
			
		||||
    ReadChar(ch);
 | 
			
		||||
 | 
			
		||||
    while (ch!=34)
 | 
			
		||||
        ReadChar(ch);
 | 
			
		||||
    ReadChar(ch);
 | 
			
		||||
    while (done==FALSE)
 | 
			
		||||
        {
 | 
			
		||||
        if ((ch==34)&&(lastch!='\\'))
 | 
			
		||||
            {
 | 
			
		||||
            p=m_rc.Tell();
 | 
			
		||||
            ReadChar(ch);
 | 
			
		||||
// RC supports "", for embedded quote, as well as  \"
 | 
			
		||||
            if (ch==34)              
 | 
			
		||||
                phrase+='\\';         
 | 
			
		||||
            else
 | 
			
		||||
    {
 | 
			
		||||
                m_rc.Seek(p);
 | 
			
		||||
                done = TRUE;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
         if (done==TRUE)
 | 
			
		||||
             break;
 | 
			
		||||
         if (ch=='\r')
 | 
			
		||||
             ReadChar(ch);                    // skip
 | 
			
		||||
         if ((ch=='\n')&&(lastch=='\\'))      // lastch <should> be this
 | 
			
		||||
             phrase+='n';                     // escape
 | 
			
		||||
         else
 | 
			
		||||
    phrase+=(char)ch;
 | 
			
		||||
         lastch=ch;
 | 
			
		||||
    ReadChar(ch);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return phrase;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void rc2xml::ReadChar(int &ch)
 | 
			
		||||
{
 | 
			
		||||
    int result;
 | 
			
		||||
@@ -423,15 +511,16 @@ void rc2xml::ReadChar(int &ch)
 | 
			
		||||
        m_done=TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void rc2xml::ParseComboBox()
 | 
			
		||||
void rc2xml::ParseComboBox(wxString varname)
 | 
			
		||||
{
 | 
			
		||||
/* COMBOBOX        IDC_SCALECOMBO,10,110,48,52,CBS_DROPDOWNLIST | CBS_SORT | 
 | 
			
		||||
                    WS_VSCROLL | WS_TABSTOP */
 | 
			
		||||
    wxString token,style;
 | 
			
		||||
    wxString varname;
 | 
			
		||||
    varname=GetToken();
 | 
			
		||||
    int x,y,width,height;
 | 
			
		||||
    bool GotOrs;
 | 
			
		||||
    GotOrs = ReadOrs(token);
 | 
			
		||||
    if (ReadRect(x,y,width,height))
 | 
			
		||||
        if (GotOrs==FALSE)
 | 
			
		||||
      ReadOrs(token);
 | 
			
		||||
 | 
			
		||||
    m_xmlfile.Write("\t\t<object class=\"wxComboBox\"");
 | 
			
		||||
@@ -463,6 +552,8 @@ void rc2xml::ParseMenu(wxString varname)
 | 
			
		||||
    while ((token!="END")&(token!="}"))
 | 
			
		||||
    {
 | 
			
		||||
    token=GetToken();
 | 
			
		||||
    token.MakeUpper();
 | 
			
		||||
 | 
			
		||||
    if (token=="POPUP")
 | 
			
		||||
        {
 | 
			
		||||
        ParsePopupMenu();
 | 
			
		||||
@@ -497,6 +588,8 @@ void rc2xml::ParsePopupMenu()
 | 
			
		||||
    while ((token!="END")&(token!="}"))
 | 
			
		||||
    {
 | 
			
		||||
    token=GetToken();
 | 
			
		||||
    token.MakeUpper();
 | 
			
		||||
 | 
			
		||||
    if (token=="POPUP")
 | 
			
		||||
        ParsePopupMenu();
 | 
			
		||||
	
 | 
			
		||||
@@ -589,34 +682,27 @@ bool rc2xml::ReadOrs(wxString & orstring)
 | 
			
		||||
    return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//Is it a check button or a radio button
 | 
			
		||||
//Is it a checkbutton or a radiobutton or a pushbutton or a groupbox
 | 
			
		||||
void rc2xml::ParseCtrlButton(wxString label, wxString varname)
 | 
			
		||||
{
 | 
			
		||||
    wxString token;
 | 
			
		||||
    int p;
 | 
			
		||||
    p=m_rc.Tell();
 | 
			
		||||
    ReadOrs(token);
 | 
			
		||||
    int x,y,width,height;
 | 
			
		||||
    m_rc.Seek(p);
 | 
			
		||||
 | 
			
		||||
    if (token.Find("BS_AUTOCHECKBOX")!=-1)
 | 
			
		||||
        {
 | 
			
		||||
        ReadRect(x,y,width,height);
 | 
			
		||||
        m_xmlfile.Write("\t\t<object class=\"wxCheckBox\"");
 | 
			
		||||
        WriteBasicInfo(x,y,width,height,varname);
 | 
			
		||||
        WriteLabel(label);
 | 
			
		||||
        m_xmlfile.Write("\t\t</object>\n");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    if (token.Find("BS_AUTORADIOBUTTON")!=-1)
 | 
			
		||||
        {
 | 
			
		||||
        ReadRect(x,y,width,height);
 | 
			
		||||
        m_xmlfile.Write("\t\t<object class=\"wxRadioButton\"");
 | 
			
		||||
        WriteBasicInfo(x,y,width,height,varname);
 | 
			
		||||
        WriteLabel(label);
 | 
			
		||||
        m_xmlfile.Write("\t\t</object>\n");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ParseCheckBox(label, varname);
 | 
			
		||||
    else if ((token.Find("BS_AUTORADIOBUTTON")!=-1)||
 | 
			
		||||
                  (token.Find("BS_RADIOBUTTON")!=-1))
 | 
			
		||||
        ParseRadioButton(label, varname);
 | 
			
		||||
    else if (token.Find("BS_GROUPBOX")!=-1)
 | 
			
		||||
        ParseGroupBox(label, varname);        
 | 
			
		||||
    else  // if ((token.Find("BS_PUSHBUTTON")!=-1)||
 | 
			
		||||
//                (token.Find("BS_DEFPUSHBUTTON")!=-1))
 | 
			
		||||
        ParsePushButton(label, varname);           // make default case
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void rc2xml::WriteSize(int width, int height)
 | 
			
		||||
{
 | 
			
		||||
    wxString msg;
 | 
			
		||||
@@ -713,11 +799,15 @@ void rc2xml::WriteStyle(wxString style)
 | 
			
		||||
    LISTBOX         IDC_LIST1,16,89,48,40,LBS_SORT | LBS_MULTIPLESEL | 
 | 
			
		||||
                    LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
 | 
			
		||||
*/
 | 
			
		||||
void rc2xml::ParseListBox()
 | 
			
		||||
void rc2xml::ParseListBox(wxString varname)
 | 
			
		||||
{
 | 
			
		||||
    wxString token;
 | 
			
		||||
    wxString varname;
 | 
			
		||||
    varname=GetToken();
 | 
			
		||||
    token=PeekToken();
 | 
			
		||||
    while (!token.IsNumber())
 | 
			
		||||
        {
 | 
			
		||||
        token=GetToken();
 | 
			
		||||
        token=PeekToken();
 | 
			
		||||
        }
 | 
			
		||||
    int x,y,width,height;
 | 
			
		||||
    ReadRect(x,y,width,height);
 | 
			
		||||
 | 
			
		||||
@@ -811,7 +901,7 @@ void rc2xml::SecondPass()
 | 
			
		||||
    while (!m_done)
 | 
			
		||||
        {
 | 
			
		||||
        token=GetToken();
 | 
			
		||||
        if (token=="DIALOG")
 | 
			
		||||
        if ((token=="DIALOG")||(token=="DIALOGEX"))
 | 
			
		||||
            ParseDialog(prevtok);
 | 
			
		||||
        else if (token=="MENU")
 | 
			
		||||
            ParseMenu(prevtok);
 | 
			
		||||
@@ -855,7 +945,7 @@ void rc2xml::ParseToolBar(wxString varname)
 | 
			
		||||
    int c=0;	
 | 
			
		||||
    wxString buttonname,msg,tip,longhelp;
 | 
			
		||||
    token=GetToken();
 | 
			
		||||
    while ((token!="BEGIN"))
 | 
			
		||||
    while ((token!="BEGIN")&(token!="{"))
 | 
			
		||||
        token=GetToken();
 | 
			
		||||
 | 
			
		||||
    while ((token!="END")&(token!="}"))
 | 
			
		||||
@@ -905,7 +995,7 @@ void rc2xml::ParseStringTable(wxString varname)
 | 
			
		||||
{
 | 
			
		||||
    wxString token;
 | 
			
		||||
    token=GetToken();
 | 
			
		||||
    while ((token!="BEGIN"))
 | 
			
		||||
    while ((token!="BEGIN")&(token!="{"))
 | 
			
		||||
        token=GetToken();
 | 
			
		||||
    token=GetToken();
 | 
			
		||||
    wxString *msg;
 | 
			
		||||
@@ -913,7 +1003,7 @@ void rc2xml::ParseStringTable(wxString varname)
 | 
			
		||||
    while ((token!="END")&(token!="}"))
 | 
			
		||||
        {
 | 
			
		||||
        msg=new wxString;
 | 
			
		||||
        *msg=GetQuoteField();
 | 
			
		||||
        *msg=GetStringQuote();
 | 
			
		||||
        m_stringtable->Append(token,msg);
 | 
			
		||||
        token=GetToken();
 | 
			
		||||
        }
 | 
			
		||||
@@ -969,7 +1059,8 @@ void rc2xml::ParseMenuItem()
 | 
			
		||||
    m_xmlfile.Write(">\n");
 | 
			
		||||
    WriteLabel(token);
 | 
			
		||||
//Look up help if any listed in stringtable
 | 
			
		||||
    if (LookUpString(name,msg))
 | 
			
		||||
//can't assume numbers correlate, restrict to string identifiers
 | 
			
		||||
    if ((!name.IsNumber())&&(LookUpString(name,msg)))  
 | 
			
		||||
        {
 | 
			
		||||
        SplitHelp(msg,tip,longhelp);
 | 
			
		||||
        m_xmlfile.Write("\t\t\t<help>"
 | 
			
		||||
@@ -978,9 +1069,11 @@ void rc2xml::ParseMenuItem()
 | 
			
		||||
//look for extra attributes like checked and break
 | 
			
		||||
    wxString ptoken;
 | 
			
		||||
    ptoken=PeekToken();
 | 
			
		||||
    ptoken.MakeUpper();
 | 
			
		||||
    while ((ptoken!="MENUITEM")&(ptoken!="POPUP")&(ptoken!="END"))
 | 
			
		||||
        {
 | 
			
		||||
        token=GetToken();
 | 
			
		||||
        ptoken.MakeUpper();
 | 
			
		||||
        if (token=="CHECKED")
 | 
			
		||||
            m_xmlfile.Write("\t\t\t<checkable>1</checkable>\n");
 | 
			
		||||
        else if (token=="MENUBREAK");
 | 
			
		||||
@@ -990,6 +1083,7 @@ void rc2xml::ParseMenuItem()
 | 
			
		||||
            wxLogError("Unknown Menu Item token:"+token);
 | 
			
		||||
        
 | 
			
		||||
        ptoken=PeekToken();
 | 
			
		||||
        ptoken.MakeUpper();
 | 
			
		||||
        }
 | 
			
		||||
    m_xmlfile.Write("\t\t\t</object>\n"); 
 | 
			
		||||
 | 
			
		||||
@@ -1000,6 +1094,10 @@ void rc2xml::ParseIconStatic()
 | 
			
		||||
{
 | 
			
		||||
    wxString token;
 | 
			
		||||
    wxString varname,iconname;
 | 
			
		||||
    token = PeekToken();
 | 
			
		||||
    if (token.Contains("\""))
 | 
			
		||||
        iconname = GetQuoteField();
 | 
			
		||||
    else
 | 
			
		||||
    iconname=GetToken();
 | 
			
		||||
//Look up icon
 | 
			
		||||
    varname=GetToken();
 | 
			
		||||
@@ -1046,8 +1144,7 @@ void rc2xml::ParseStaticBitmap(wxString bitmapname, wxString varname)
 | 
			
		||||
{
 | 
			
		||||
    wxString token;
 | 
			
		||||
    //Grab SS_BITMAP
 | 
			
		||||
    token=GetToken();
 | 
			
		||||
 | 
			
		||||
    ReadOrs(token);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    int x,y,width,height;
 | 
			
		||||
@@ -1085,6 +1182,23 @@ kindctrl.MakeUpper();
 | 
			
		||||
        ParseCtrlButton(label,varname);
 | 
			
		||||
    if (kindctrl=="RICHEDIT")
 | 
			
		||||
        ParseRichEdit(label,varname);
 | 
			
		||||
    if (kindctrl=="STATIC")
 | 
			
		||||
        {
 | 
			
		||||
        wxString token;
 | 
			
		||||
        int p=m_rc.Tell();
 | 
			
		||||
        ReadOrs(token);
 | 
			
		||||
        m_rc.Seek(p);
 | 
			
		||||
        if (token.Find("SS_BITMAP")!=-1)
 | 
			
		||||
            ParseStaticBitmap(label,varname);
 | 
			
		||||
        else
 | 
			
		||||
            ParseStaticText(label,varname);
 | 
			
		||||
        }
 | 
			
		||||
    if (kindctrl=="EDIT")
 | 
			
		||||
        ParseTextCtrl(varname);
 | 
			
		||||
    if (kindctrl=="LISTBOX")
 | 
			
		||||
        ParseListBox(varname);
 | 
			
		||||
    if (kindctrl=="COMBOBOX")
 | 
			
		||||
        ParseComboBox(varname);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user