From a025d6621d20eeaa62afe6cf25fb07cb193b43ac Mon Sep 17 00:00:00 2001 From: Kevin Reed Date: Thu, 14 Sep 2006 16:02:55 +0000 Subject: [PATCH] - Modify the way the the skin.xml is read and stored - Added a bit of trace logging - Modified the preferences dialogue so that changing the skin is a seperate action from changing local settings - Fixed some bugs that were causing the BSG to crash svn path=/trunk/boinc/; revision=11155 --- checkin_notes | 19 ++++ clientgui/sg_BoincSimpleGUI.cpp | 10 +- clientgui/sg_DlgPreferences.cpp | 101 +++++++++-------- clientgui/sg_DlgPreferences.h | 5 + clientgui/sg_ProgressBar.cpp | 2 + clientgui/sg_ProjectsComponent.cpp | 1 + clientgui/sg_SkinClass.cpp | 170 ++++++++++------------------- clientgui/sg_SkinClass.h | 163 +++++++-------------------- clientgui/sg_StaticLine.cpp | 2 +- clientgui/sg_StaticLine.h | 2 +- 10 files changed, 187 insertions(+), 288 deletions(-) diff --git a/checkin_notes b/checkin_notes index d1390709e7..160078513f 100755 --- a/checkin_notes +++ b/checkin_notes @@ -10225,3 +10225,22 @@ David 12 Sept 2006 forum_sample_index.php (removed) py/Boinc/ setup_project.py + +Kevin 14 Sept 2006 + - BSG + - Modify the way the the skin.xml is read and stored + - Added a bit of trace logging + - Modified the preferences dialogue so that changing the skin is a seperate action + from changing local settings + - Fixed some bugs that were causing the BSG to crash + + clientgui/ + sg_BoincSimpleGUI.cpp + sg_DlgPreferences.cpp/h + sg_ProgressBar.cpp + sg_ProjectsComponent.cpp + sg_SkinClass.cpp/h + sg_StaticLine.cpp/h + sg_SkinClass.cpp + sg_SkinClass.cpp + \ No newline at end of file diff --git a/clientgui/sg_BoincSimpleGUI.cpp b/clientgui/sg_BoincSimpleGUI.cpp index e8e7355862..14b91fc274 100644 --- a/clientgui/sg_BoincSimpleGUI.cpp +++ b/clientgui/sg_BoincSimpleGUI.cpp @@ -106,7 +106,7 @@ CSimpleFrame::~CSimpleFrame() wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame::CSimpleFrame - Destructor Function Begin")); wxString strBaseConfigLocation = wxString(wxT("/")); - wxConfigBase* pConfig = wxConfigBase::Get(FALSE); + wxConfigBase* pConfig = wxConfigBase::Get(); wxASSERT(m_pFrameRenderTimer); @@ -439,7 +439,7 @@ void CSimpleFrame::InitNotebook() wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::InitNotebook - Function End")); } void CSimpleFrame::LoadSkinImages(){ - + wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame::LoadSkinImages - Function Start")); wxString dirPref = appSkin->GetSkinsFolder()+_T("/")+appSkin->GetSkinName()+_T("/"); fileImgBuf[0].LoadFile(dirPref + appSkin->GetAppBg(),wxBITMAP_TYPE_PNG); @@ -450,12 +450,14 @@ void CSimpleFrame::LoadSkinImages(){ /// work unit tabs icons wxBitmap const workWUico = wxBitmap(g_icoWorkWU); // push them in image list + wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame::LoadSkinImages - Time to push")); m_ImageList.push_back(workWUico); + wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame::LoadSkinImages - Function End")); } /// /// void CSimpleFrame::ReskinAppGUI(){ - wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::ReskinAppGUI - Function Start")); + wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame::ReskinAppGUI - Function Start")); //bg color LoadSkinImages(); SetBackgroundColour(appSkin->GetAppBgCol()); @@ -477,7 +479,7 @@ void CSimpleFrame::ReskinAppGUI(){ //reskin component projComponent->ReskinInterface(); Refresh(); - wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::ReskinAppGUI - Function End")); + wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame::ReskinAppGUI - Function End")); } void CSimpleFrame::OnBtnClick(wxCommandEvent& event){ //init function diff --git a/clientgui/sg_DlgPreferences.cpp b/clientgui/sg_DlgPreferences.cpp index ec6ca979dc..8ac5767821 100644 --- a/clientgui/sg_DlgPreferences.cpp +++ b/clientgui/sg_DlgPreferences.cpp @@ -25,17 +25,18 @@ #include "BOINCGUIApp.h" #include "sg_DlgPreferences.h" #include "sg_SkinClass.h" -//#include +#include "sg_StaticLine.h" enum { ID_OPENBUTTON = 10001, ID_SAVEBUTTON = 10002, - ID_CANCELBUTTON = 10003, - ID_CLEARBUTTON = 10007, - ID_SKINPICKERCMBBOX = 10004, - ID_DOWORKONLYBGNCMBBOX = 10005, - ID_DOCONNECTONLYBGNCMBBOX = 10006, + ID_SAVESKINBUTTON = 10003, + ID_CANCELBUTTON = 10004, + ID_CLEARBUTTON = 10005, + ID_SKINPICKERCMBBOX = 10006, + ID_DOWORKONLYBGNCMBBOX = 10007, + ID_DOCONNECTONLYBGNCMBBOX = 10008, }; BEGIN_EVENT_TABLE( CDlgPreferences,wxDialog) @@ -87,18 +88,29 @@ void CDlgPreferences::CreateDialog() m_prefs = pDoc->state.global_prefs; } - SetBackgroundColour(appSkin->GetAppBgCol()); + + cmbSkinPicker=new wxComboBox(this,ID_SKINPICKERCMBBOX,wxT(""),wxPoint(206,37),wxSize(140,21),m_skinNames,wxNO_BORDER | wxCB_READONLY); + cmbSkinPicker->SetValue(m_SkinName); + + wxToolTip *ttSaveSkin = new wxToolTip(wxT("Change skin")); + btnSaveSkin=new wxBitmapButton(this,ID_SAVESKINBUTTON,btmpSave,wxPoint(187,82),wxSize(57,16),wxNO_BORDER); + btnSaveSkin->SetBitmapSelected(btmpSaveClick); + btnSaveSkin->SetToolTip(ttSaveSkin); + + lnMyTop = new CStaticLine(this,wxPoint(16,113),wxSize(378,1)); + lnMyTop->SetLineColor(appSkin->GetStaticLineCol()); + wxString itmsHourIntervals[]={wxT("0:00"),wxT("1:00"),wxT("2:00"),wxT("3:00"),wxT("4:00"),wxT("5:00"),wxT("6:00"),wxT("7:00"),wxT("8:00"),wxT("9:00"),wxT("10:00"),wxT("11:00"),wxT("12:00"), wxT("13:00"),wxT("14:00"),wxT("15:00"),wxT("16:00"),wxT("17:00"),wxT("18:00"),wxT("19:00"),wxT("20:00"),wxT("21:00"),wxT("22:00"),wxT("23:00")}; - cmbDWBtwnBgn=new wxComboBox(this,ID_DOWORKONLYBGNCMBBOX,wxT(""),wxPoint(206,90),wxSize(75,21),24,itmsHourIntervals,wxNO_BORDER | wxCB_READONLY); + cmbDWBtwnBgn=new wxComboBox(this,ID_DOWORKONLYBGNCMBBOX,wxT(""),wxPoint(206,155),wxSize(75,21),24,itmsHourIntervals,wxNO_BORDER | wxCB_READONLY); // - cmbDWBtwnEnd=new wxComboBox(this,-1,wxT(""),wxPoint(307,90),wxSize(75,21),24,itmsHourIntervals,wxNO_BORDER | wxCB_READONLY); + cmbDWBtwnEnd=new wxComboBox(this,-1,wxT(""),wxPoint(307,155),wxSize(75,21),24,itmsHourIntervals,wxNO_BORDER | wxCB_READONLY); // - cmbCTIBtwnBgn=new wxComboBox(this,ID_DOCONNECTONLYBGNCMBBOX,wxT(""),wxPoint(206,125),wxSize(75,21),24,itmsHourIntervals,wxNO_BORDER | wxCB_READONLY); + cmbCTIBtwnBgn=new wxComboBox(this,ID_DOCONNECTONLYBGNCMBBOX,wxT(""),wxPoint(206,190),wxSize(75,21),24,itmsHourIntervals,wxNO_BORDER | wxCB_READONLY); // - cmbCTIBtwnEnd=new wxComboBox(this,-1,wxT(""),wxPoint(307,125),wxSize(75,21),24,itmsHourIntervals,wxNO_BORDER | wxCB_READONLY); + cmbCTIBtwnEnd=new wxComboBox(this,-1,wxT(""),wxPoint(307,190),wxSize(75,21),24,itmsHourIntervals,wxNO_BORDER | wxCB_READONLY); // wxString userValMaxUsed; if(m_prefs.disk_max_used_gb < 1){ @@ -110,14 +122,14 @@ void CDlgPreferences::CreateDialog() int itmUseNoMore = 6; if(!this->CheckIfInArray(itmsUseNoMoreGB,userValMaxUsed,itmUseNoMore)){ wxString itmsUseNoMoreGBU[]={wxT("100MB"),wxT("200MB"),wxT("500MB"),wxT("1GB"),wxT("2GB"),wxT("5GB"),userValMaxUsed}; - cmbUseNoMoreGB=new wxComboBox(this,-1,wxT(""),wxPoint(206,160),wxSize(75,21),itmUseNoMore+1,itmsUseNoMoreGBU,wxNO_BORDER | wxCB_READONLY); + cmbUseNoMoreGB=new wxComboBox(this,-1,wxT(""),wxPoint(206,225),wxSize(75,21),itmUseNoMore+1,itmsUseNoMoreGBU,wxNO_BORDER | wxCB_READONLY); }else{ - cmbUseNoMoreGB=new wxComboBox(this,-1,wxT(""),wxPoint(206,160),wxSize(75,21),itmUseNoMore,itmsUseNoMoreGB,wxNO_BORDER | wxCB_READONLY); + cmbUseNoMoreGB=new wxComboBox(this,-1,wxT(""),wxPoint(206,225),wxSize(75,21),itmUseNoMore,itmsUseNoMoreGB,wxNO_BORDER | wxCB_READONLY); } cmbUseNoMoreGB->SetValue(userValMaxUsed); // wxString itmsDWWCInUse[]={wxT("Yes"),wxT("No")}; - cmbDWWCInUse=new wxComboBox(this,-1,wxT(""),wxPoint(206,195),wxSize(45,21),2,itmsDWWCInUse,wxNO_BORDER | wxCB_READONLY); + cmbDWWCInUse=new wxComboBox(this,-1,wxT(""),wxPoint(206,260),wxSize(45,21),2,itmsDWWCInUse,wxNO_BORDER | wxCB_READONLY); if(m_prefs.run_if_user_active){ cmbDWWCInUse->SetValue(wxT("Yes")); }else{ @@ -130,27 +142,24 @@ void CDlgPreferences::CreateDialog() int itmIdlCnt = 6; if(!this->CheckIfInArray(itmsDWACIdleFor,userValIdleFor,itmIdlCnt)){ wxString itmsDWACIdleForU[]={wxString("1"),wxString("5"),wxString("10"),wxString("15"),wxString("30"),wxString("60"),userValIdleFor}; - cmbDWACIdleFor=new wxComboBox(this,-1,wxT(""),wxPoint(206,230),wxSize(75,21),itmIdlCnt+1,itmsDWACIdleForU,wxNO_BORDER | wxCB_READONLY); + cmbDWACIdleFor=new wxComboBox(this,-1,wxT(""),wxPoint(206,295),wxSize(75,21),itmIdlCnt+1,itmsDWACIdleForU,wxNO_BORDER | wxCB_READONLY); }else{ - cmbDWACIdleFor=new wxComboBox(this,-1,wxT(""),wxPoint(206,230),wxSize(75,21),itmIdlCnt,itmsDWACIdleFor,wxNO_BORDER | wxCB_READONLY); + cmbDWACIdleFor=new wxComboBox(this,-1,wxT(""),wxPoint(206,295),wxSize(75,21),itmIdlCnt,itmsDWACIdleFor,wxNO_BORDER | wxCB_READONLY); } cmbDWACIdleFor->SetValue(userValIdleFor); - // - cmbSkinPicker=new wxComboBox(this,ID_SKINPICKERCMBBOX,wxT(""),wxPoint(206,265),wxSize(140,21),m_skinNames,wxNO_BORDER | wxCB_READONLY); - cmbSkinPicker->SetValue(m_SkinName); // Btn Save and Cancel - wxToolTip *ttSave = new wxToolTip(wxT("Save preferences")); - btnSave=new wxBitmapButton(this,ID_SAVEBUTTON,btmpSave,wxPoint(120,325),wxSize(57,16),wxNO_BORDER); + wxToolTip *ttSave = new wxToolTip(wxT("Save preferences locally and close window")); + btnSave=new wxBitmapButton(this,ID_SAVEBUTTON,btmpSave,wxPoint(120,340),wxSize(57,16),wxNO_BORDER); btnSave->SetBitmapSelected(btmpSaveClick); btnSave->SetToolTip(ttSave); - wxToolTip *ttCancel = new wxToolTip(wxT("Cancel changes")); - btnCancel=new wxBitmapButton(this,ID_CANCELBUTTON,btmpCancel,wxPoint(187,325),wxSize(57,16),wxNO_BORDER); + wxToolTip *ttCancel = new wxToolTip(wxT("Cancel changes and close window")); + btnCancel=new wxBitmapButton(this,ID_CANCELBUTTON,btmpCancel,wxPoint(187,340),wxSize(57,16),wxNO_BORDER); btnCancel->SetBitmapSelected(btmpCancelClick); btnCancel->SetToolTip(ttCancel); - wxToolTip *ttClear = new wxToolTip(wxT("Clear saved preferences")); - btnClear=new wxBitmapButton(this,ID_CLEARBUTTON,btmpClear,wxPoint(254,325),wxSize(57,16),wxNO_BORDER); + wxToolTip *ttClear = new wxToolTip(wxT("Clear local preferences and use preferences from the web")); + btnClear=new wxBitmapButton(this,ID_CLEARBUTTON,btmpClear,wxPoint(254,340),wxSize(57,16),wxNO_BORDER); btnClear->SetBitmapSelected(btmpClearClick); btnClear->SetToolTip(ttClear); @@ -217,11 +226,11 @@ void CDlgPreferences::OnBtnClick(wxCommandEvent& event){ //init function wxObject *m_wxDlgBtnObj = event.GetEventObject(); int btnID = event.GetId(); if(btnID==ID_SAVEBUTTON){ - //wxMessageBox("OnBtnClick - btnSave"); WriteSettings(); EndModal(wxID_OK); - } - else if(btnID==ID_CLEARBUTTON){ + } else if(btnID==ID_SAVESKINBUTTON){ + EndModal(wxID_OK); + } else if(btnID==ID_CLEARBUTTON){ CMainDocument* pDoc = wxGetApp().GetDocument(); wxASSERT(pDoc); std::string emptyS = ""; @@ -283,7 +292,6 @@ void CDlgPreferences::WriteSettings(){ CMainDocument* pDoc = wxGetApp().GetDocument(); wxASSERT(pDoc); - bool valuesChanged = false; m_prefs = pDoc->state.global_prefs; int dwBtwnIntB = ConvertToNumber(cmbDWBtwnBgn->GetValue()); @@ -360,26 +368,23 @@ void CDlgPreferences::initAfter(){ void CDlgPreferences::OnPaint(wxPaintEvent& WXUNUSED(event)) { wxPaintDC dc(this); - //Project Name - dc.SetFont(wxFont(16,74,90,90,0,wxT("Arial"))); - dc.DrawText(wxT("Preferences"), wxPoint(16,10)); - dc.SetFont(wxFont(8,74,90,90,0,wxT("Arial"))); - dc.DrawText(m_PrefIndicator, wxPoint(272,16)); - //static: APPLICATION,MY PROGRESS,ELAPSED TIME,TIME REMAINING + dc.SetFont(wxFont(16,74,90,90,0,wxT("Arial"))); + dc.DrawText(wxT("Skin"), wxPoint(16,10)); dc.SetFont(wxFont(9,74,90,90,0,wxT("Arial"))); - dc.DrawText(wxT("Modify settings for this computer:"), wxPoint(26,60)); - dc.DrawText(wxT("Do work only between:"), wxPoint(82,93)); - dc.DrawText(wxT("and"), wxPoint(284,93)); - dc.DrawText(wxT("Connect to internet only between:"), wxPoint(24,128)); - dc.DrawText(wxT("and"), wxPoint(284,128)); - dc.DrawText(wxT("Use no more than:"), wxPoint(103,163)); - dc.DrawText(wxT("Do work while computer is in use?"), wxPoint(16,198)); - dc.DrawText(wxT("Do work after computer is idle for:"), wxPoint(22,233)); - dc.DrawText(wxT("minutes"), wxPoint(284,233)); - dc.DrawText(wxT("Skin XML file:"), wxPoint(133,268)); - - - + dc.DrawText(wxT("Skin XML file:"), wxPoint(133,40)); + dc.SetFont(wxFont(16,74,90,90,0,wxT("Arial"))); + dc.DrawText(wxT("Preferences"), wxPoint(16,122)); + dc.SetFont(wxFont(8,74,90,90,0,wxT("Arial"))); + dc.DrawText(m_PrefIndicator, wxPoint(272,128)); + dc.SetFont(wxFont(9,74,90,90,0,wxT("Arial"))); + dc.DrawText(wxT("Do work only between:"), wxPoint(82,158)); + dc.DrawText(wxT("and"), wxPoint(284,158)); + dc.DrawText(wxT("Connect to internet only between:"), wxPoint(24,193)); + dc.DrawText(wxT("and"), wxPoint(284,193)); + dc.DrawText(wxT("Use no more than:"), wxPoint(103,228)); + dc.DrawText(wxT("Do work while computer is in use?"), wxPoint(16,263)); + dc.DrawText(wxT("Do work after computer is idle for:"), wxPoint(22,298)); + dc.DrawText(wxT("minutes"), wxPoint(284,298)); } //[evtFunc]end your code wxDirTraverseResult DirTraverserSkins::OnFile(const wxString& filename) diff --git a/clientgui/sg_DlgPreferences.h b/clientgui/sg_DlgPreferences.h index 10495e48f6..bcb6b68523 100644 --- a/clientgui/sg_DlgPreferences.h +++ b/clientgui/sg_DlgPreferences.h @@ -26,6 +26,7 @@ #endif #include +#include "sg_StaticLine.h" class SkinClass; @@ -61,6 +62,7 @@ public: wxBitmap btmpClear; wxBitmap btmpClearClick; wxBitmapButton *btnSave; + wxBitmapButton *btnSaveSkin; wxBitmapButton *btnCancel; wxBitmapButton *btnClear; // Pointer control @@ -116,6 +118,9 @@ protected: void VwXEvOnEraseBackground(wxEraseEvent& event); void VwXDrawBackImg(wxEraseEvent& event,wxWindow *win,wxBitmap & bitMap,int opz); +private: + CStaticLine *lnMyTop; + //[win]end your code }; diff --git a/clientgui/sg_ProgressBar.cpp b/clientgui/sg_ProgressBar.cpp index 1a1db47646..fc3a09a291 100644 --- a/clientgui/sg_ProgressBar.cpp +++ b/clientgui/sg_ProgressBar.cpp @@ -95,6 +95,7 @@ void CProgressBar::ReskinInterface() } void CProgressBar::ClearIndicators() { + wxLogTrace(wxT("Function Start/End"), wxT("CProgressBar::ClearIndicators - Function Start")); for(int indIndex = 0; indIndex < numOfProgressInd; indIndex++){ delete m_progInd.at(indIndex); } @@ -102,6 +103,7 @@ void CProgressBar::ClearIndicators() if(m_progInd.size() > 0){ m_progInd.clear(); } + wxLogTrace(wxT("Function Start/End"), wxT("CProgressBar::ClearIndicators - Function End")); } void CProgressBar::OnEraseBackground(wxEraseEvent& event){ diff --git a/clientgui/sg_ProjectsComponent.cpp b/clientgui/sg_ProjectsComponent.cpp index fc1624dc0c..a55feae617 100644 --- a/clientgui/sg_ProjectsComponent.cpp +++ b/clientgui/sg_ProjectsComponent.cpp @@ -586,6 +586,7 @@ void CProjectsComponent::OnBtnClick(wxCommandEvent& event){ //init function } } pDlg->Destroy(); + delete pDlg; }else if(m_wxBtnObj==btnAdvancedView) { wxGetApp().SetActiveGUI(BOINC_ADVANCEDGUI, true); } diff --git a/clientgui/sg_SkinClass.cpp b/clientgui/sg_SkinClass.cpp index 07b1dcee08..6ca9278843 100644 --- a/clientgui/sg_SkinClass.cpp +++ b/clientgui/sg_SkinClass.cpp @@ -62,15 +62,17 @@ bool SkinClass::CheckSkin() wxString dirPref = compute_skin_dir()+_T("/"); - if ( skinImageArray->Count() != 35 ) { + if ( skinImageNames.size() != 35 ) { return false; } - for(unsigned int x = 0; x < skinImageArray->Count();x++){ - wxString imgLoc = skinImageArray->Item(x); - wxBitmap skinImage = wxBitmap(dirPref + skinImageArray->Item(x),wxBITMAP_TYPE_PNG); + for( wxStringHashMap::iterator x = skinImageNames.begin(); x != skinImageNames.end();x++){ + wxString imgLoc = x->second; + wxBitmap skinImage = wxBitmap(dirPref + imgLoc,wxBITMAP_TYPE_ANY); if(!skinImage.Ok()){ return false; + } else { + skinImages[x->first] = skinImage; } } @@ -84,6 +86,18 @@ wxString SkinClass::compute_skin_dir() { wxString SkinClass::compute_skin_path() { return compute_skin_dir()+_T("/")+_T("skin.xml"); } + +bool SkinClass::GetImageName(char* buf, const char* field) { + std::string val; + std::string start = "<"; + if (parse_str(buf, start.append(field).c_str(),val)) { + skinImageNames[wxString(_T(field))]=wxString( val.c_str(), wxConvUTF8 ); + return true; + } else { + return false; + } +} + int SkinClass::LoadSkinXML(){ // parse xml file @@ -97,117 +111,49 @@ int SkinClass::LoadSkinXML(){ char buf[256]; std::string val; char val1[256]; - // init skin image array - skinImageArray = new wxArrayString(); while (mf.fgets(buf, 256)) { if (match_tag(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); + } else if (GetImageName(buf, "background")) { parse_attr(buf,"background_color", val1, buf_size); SetAppBgCol(wxString( val1, wxConvUTF8 )); - }else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - }else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - }else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - }else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - }else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - }else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - }else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - }else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - }else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - }else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - }else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); - } else if (parse_str(buf, "Add(wxString( val.c_str(), wxConvUTF8 )); + } else if (GetImageName(buf, "gauge_background")) { + } else if (GetImageName(buf, "gauge_progress")) { + } else if (GetImageName(buf, "state_indicator_background")) { + } else if (GetImageName(buf, "connecting_indicator")) { + } else if (GetImageName(buf, "error_indicator")) { + } else if (GetImageName(buf, "preferences_button")){ + } else if (GetImageName(buf, "add_project_button")){ + } else if (GetImageName(buf, "add_project_clicked_button")){ + } else if (GetImageName(buf, "advanced_view_button")){ + } else if (GetImageName(buf, "resume_button")){ + } else if (GetImageName(buf, "pause_button")){ + } else if (GetImageName(buf, "messages_button")){ + } else if (GetImageName(buf, "alert_messages_button")){ + } else if (GetImageName(buf, "save_button")){ + } else if (GetImageName(buf, "save_clicked_button")){ + } else if (GetImageName(buf, "cancel_button")){ + } else if (GetImageName(buf, "cancel_clicked_button")){ + } else if (GetImageName(buf, "close_button")){ + } else if (GetImageName(buf, "close_clicked_button")){ + } else if (GetImageName(buf, "clear_button")){ + } else if (GetImageName(buf, "clear_clicked_button")){ + } else if (GetImageName(buf, "left_arrow_button")){ + } else if (GetImageName(buf, "left_arrow_clicked_button")){ + } else if (GetImageName(buf, "right_arrow_button")){ + } else if (GetImageName(buf, "right_arrow_clicked_button")){ + } else if (GetImageName(buf, "animation_background")){ } else if (parse_str(buf, "")){ mf.fgets(buf, 256); - if (parse_str(buf, "", val)) { - SetIcnWorkingWkUnit(wxString( val.c_str(), wxConvUTF8 )); - skinImageArray->Add(wxString( val.c_str(), wxConvUTF8 )); + if (parse_str(buf, "", val)) { @@ -249,9 +194,8 @@ int SkinClass::LoadSkinXML(){ } }else if(match_tag(buf, "")){ mf.fgets(buf, 256); - if (parse_str(buf, "", val)) { - SetDefaultStatIcn(wxString( val.c_str(), wxConvUTF8 )); - skinImageArray->Add(wxString( val.c_str(), wxConvUTF8 )); + if (parse_str(buf, "