00001
00002
00003
00004
00005
00006
00007
00008
00009
00011
00012 #ifndef __ResourceManager_h__
00013 #define __ResourceManager_h__
00014
00015 class ThemeHandler;
00016
00017 enum ResourceId
00018 {
00019
00020 resUnknown = 0,
00021 resCharacter,
00022 resBlock,
00023 resFIFO,
00024 resLink,
00025 resFolderNormal,
00026 resFolderHidden,
00027 resFolderNormalDropTarget,
00028 resFolderHiddenDropTarget,
00029 resFileNormal,
00030 resFileHidden,
00031
00032 resButtonPlus,
00033 resButtonMinus,
00034
00035 resApplication,
00036 };
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047 class ResourceManager : public wxImageList, public wxFileTypesManager
00048 {
00049
00050 private:
00051 typedef std::map<wxString, int> TypeIndexMap;
00052
00053
00054 public:
00055 ResourceManager();
00056 ~ResourceManager();
00057
00058
00059
00060
00061
00062
00063 public:
00064
00065 wxBitmap GetImage(ResourceId res);
00066 int GetDirectoryImageIndex(bool bHidden, bool bDropTarget);
00067 int GetFileImageIndex(bool bHidden);
00068 bool Activate(const wxString& sPathName);
00069
00070 wxString GetDescription(const wxString& sFileType);
00071 int GetImageIndex(const wxString& sFileType, bool bHidden = false);
00072 int GetLinkImageIndex(const wxString& sFileType, bool bHidden = false);
00073 bool IsBinaryExecutable(const wxString& sFileType);
00074
00075 private:
00076 wxBitmap GetImageForFileType(const wxString& sFileType);
00077 int AddImage(const wxString& sFileType, const wxBitmap& bmp);
00078
00079 private:
00080 int nFolderIndexBase;
00081 int nFileIndexBase;
00082 ThemeHandler * thm;
00083 TypeIndexMap hImageIndex;
00084 };
00085
00086 #endif // ndef __ResourceManager_h__