// Berkeley Open Infrastructure for Network Computing // http://boinc.berkeley.edu // Copyright (C) 2005 University of California // // This is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; // either version 2.1 of the License, or (at your option) any later version. // // This software is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // See the GNU Lesser General Public License for more details. // // To view the GNU Lesser General Public License visit // http://www.gnu.org/copyleft/lesser.html // or write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #ifndef _SIMPLEFRAME_H_ #define _SIMPLEFRAME_H_ #if defined(__GNUG__) && !defined(__APPLE__) #pragma interface "sg_BoincSimpleGUI.cpp" #endif class CViewTabPage; class StatImageLoader; class SkinClass; class ImageLoader; class CProjectsComponent; #include "common/wxAnimate.h" #include "common/wxFlatNotebook.h" // Define a new frame class CSimpleFrame : public CBOINCBaseFrame { DECLARE_DYNAMIC_CLASS(CSimpleFrame) public: CSimpleFrame(); CSimpleFrame(wxString title, wxIcon* icon); ~CSimpleFrame(); int clientRunMode; // Images wxImage *g_icoSleepWU; wxImage *g_icoWorkWU; // ImageLoader *i_prjIcnP1; wxWindow *w_iconP1; /// ImageLoader *i_prjIcnP2; wxWindow *w_iconP2; // Flat Neotebook std::vector m_windows; // vector of all window tabs created for notebook wxFlatNotebookImageList m_ImageList; wxFlatNotebook *wrkUnitNB; wxBitmap const sleepWUico; wxBitmap const workWUico; ////// Skin variables ////// //XML doc wxXmlDocument *skinXML; //Skin Class SkinClass *appSkin; wxString skinName; wxString skinPath; wxString skinFoldPath; // My projects component CProjectsComponent *projComponent; //Collapse button bool midAppCollapsed; bool btmAppCollapsed; //////////////////////////// wxStaticText *st9c; wxWindow *w11c; wxStaticText *st22c; wxStaticText *st23c; wxStaticText *stMyProj; wxStaticText *st27c; wxStaticLine *lnMyProjTop; wxStaticBitmap *bm29c; wxGauge *gaugeProjP1; wxBitmapButton *btnPreferences; wxBitmapButton *btnAddProj; wxStaticBitmap *icnProjWork; wxStaticBitmap *bm39c; wxGauge *gaugeProjP2; wxStaticText *st41c; wxStaticBitmap *icnProjSleep; wxBitmapButton *btnPause; wxBitmapButton *btnResume; wxBitmapButton *btnMessages; wxBitmapButton *btnAdvancedView; wxStaticLine *lnMyProjBtm; bool clientGUIInitialized; void InitEmptyState(); void InitSimpleClient(); void UpdateClientGUI(); int LoadSkinXML(); void LoadSkinImages(); void ReskinAppGUI(); void initAfter(); ////////// wxFlexGridSizer *mainSizer; wxSize wxNotebookSize; ////////// wxBitmap *CSimpleFrameImg0; wxBitmap *bm13cImg0; wxBitmap *btmpBtnPrefL; wxBitmap *btmpBtnAttProjL; wxBitmap *btmpIcnWorking; wxBitmap *bm39cImg0; wxBitmap *btmpBtnPauseL; wxBitmap *btmpBtnResumeL; wxBitmap *btmpMessagesBtnL; wxBitmap *btmpBtnAdvViewL; wxBitmap *btmpIcnSleeping; wxBitmap fileImgBuf[11]; #if 0 wxAnimationPlayer& GetPlayer() { return m_player; } wxAnimationBase& GetAnimation() { return m_animation; } #endif wxTimer* m_pFrameRenderTimer; DECLARE_EVENT_TABLE() protected: void OnEraseBackground(wxEraseEvent& event); void OnBtnClick(wxCommandEvent& event); void OnConnect(CFrameEvent& event ); void OnProjectsAttachToProject(); void OnFrameRender(wxTimerEvent& event ); void OnPageChanged(wxFlatNotebookEvent& event); void DrawBackImg(wxEraseEvent& event,wxWindow *win,wxBitmap & bitMap,int opz); }; #endif