00001 00002 // Name: ax_fallbacks.h 00003 // Purpose: Fallbacks classes 00004 // Author: Julian Smart 00005 // Modified by: 00006 // Created: 2009-03-20 00007 // RCS-ID: 00008 // Copyright: (c) Julian Smart 00009 // Licence: New BSD License 00011 00012 #ifndef _AX_FALLBACKS_H_ 00013 #define _AX_FALLBACKS_H_ 00014 00015 /* 00016 * Includes 00017 */ 00018 00019 #include "ax_resource/ax_resource.h" 00020 #include "ax_resource/ax_module.h" 00021 00030 class AxFileResource: public AxResource 00031 { 00032 DECLARE_DYNAMIC_CLASS( AxFileResource ) 00033 00034 public: 00035 // Constructors 00036 00037 AxFileResource(const AxFileResource& resource) { Init(); Copy(resource); } 00038 AxFileResource() { Init(); } 00039 ~AxFileResource(); 00040 00041 // Operations 00042 00043 void Init(); 00044 00046 void Copy(const AxFileResource& resource) { AxResource::Copy(resource); } 00047 00049 virtual AxDocument* Clone() const { return new AxFileResource(*this); } 00050 00051 protected: 00052 00053 }; 00054 00063 class AxFallbackModule: public AxModule 00064 { 00065 DECLARE_DYNAMIC_CLASS(AxFallbackModule) 00066 00067 public: 00069 AxFallbackModule(); 00070 00072 ~AxFallbackModule() {} 00073 00074 // Overridables 00075 00077 virtual bool OnInit(); 00078 00080 virtual bool OnInitUI(); 00081 00084 virtual void OnExit(); 00085 00087 virtual bool LoadConfig(wxConfigBase& config); 00088 00090 virtual bool SaveConfig(wxConfigBase& config); 00091 00092 // Called just before the frame is closed. Return false vetoes 00093 // the frame/app close. 00094 virtual bool OnCloseMainWindow() { return true; } 00095 00096 // Allows app to search amongst its own objects. Call AxResourceLibrary::AddSearchItem 00097 // for each item. 00098 virtual bool OnSearch(const wxString& WXUNUSED(searchString), int WXUNUSED(flags), AxResourceLibrary* WXUNUSED(library)) { return false; } 00099 00101 virtual bool IsFileSupported(const wxString& filename); 00102 00104 virtual AxResource* LoadResource(const wxString& filename); 00105 00108 virtual bool AggregateFiles(AxResourceLibrary* library, wxArrayString& files, bool checkIfFileLoaded); 00109 00111 virtual AxActivator* CreateActivator(AxResourceLibrary* library, AxResource* resource); 00112 00113 // Accessors 00114 00116 static bool GetFallbacksEnabled() { return sm_fallbacksEnabled; } 00117 00119 static void EnableFallbacks(bool enabled) { sm_fallbacksEnabled = enabled; } 00120 00121 protected: 00122 static bool sm_fallbacksEnabled; 00123 }; 00124 00125 #endif 00126 // _AX_FALLBACKS_H_