00001 00014 #ifndef _cFileWidgetAct_h 00015 #define _cFileWidgetAct_h 00016 00017 #include "cFileWidget.h" 00018 #include "cFile.h" 00019 00020 #include "cMovieWidgetAct.h" 00021 #include "cSoftwareWidgetAct.h" 00022 #include "cMusicWidgetAct.h" 00023 00024 #include "cImageMainPanel.h" 00025 00026 #include <string> 00027 using std::string; 00028 00029 class cFileWidgetAct: public cFileWidget 00030 { 00031 public: 00033 cFileWidgetAct(wxWindow *pParent); 00034 00036 ~cFileWidgetAct(void); 00037 00038 void SetCategory(const string sCategory); 00039 const string GetCategory(void) const; 00040 00041 void DrawCategoryWidget(void); 00042 00044 void Clear(void); 00045 00046 00047 cFile *GetFile(void); 00048 00049 cMovieWidgetAct *GetMovieWidgetAct(void) const ; 00050 cSoftwareWidgetAct *GetSoftwareWidgetAct(void) const ; 00051 cMusicWidgetAct *GetMusicWidgetAct(void) const ; 00052 00054 void DisplayData(void); 00055 00057 void UpdateData(void); 00058 00060 void SetImagePanel(cImageMainPanel *pImageMainPanel); 00061 00062 protected: 00063 00064 DECLARE_EVENT_TABLE() 00065 00066 private: 00067 string m_sCategory; 00068 cFile *m_pFile; // 1 per Notebook. 00069 00070 cMovieWidgetAct *m_pMovieWidgetAct; 00071 cSoftwareWidgetAct *m_pSoftwareWidgetAct; 00072 cMusicWidgetAct *m_pMusicWidgetAct; 00073 00074 cImageMainPanel *m_pImageMainPanel; // Use as "bridge". 00075 00076 void DisableCategoryChoice(const string sCategory); 00077 00078 void EmitChoiceEvent(wxChoice *pChoice); 00079 00080 //***************** 00081 // Event functions. 00082 //***************** 00083 void OnDoneSelect(wxCommandEvent& command); 00084 void OnCategorySelect(wxCommandEvent& command); 00085 00086 00087 }; 00088 00089 #endif // _cFileWidgetAct_h