include/ax_resource/ax_menu_library_settings.h

Go to the documentation of this file.
00001 
00002 // Name:        ax_menu_library_settings.h
00003 // Purpose:     Library settings menu 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_MENU_LIBRARY_SETTINGS_H_
00013 #define _AX_MENU_LIBRARY_SETTINGS_H_
00014 
00015 /*
00016  * Includes
00017  */
00018 
00019 #include "ax/ax_menu.h"
00020 #include "ax/ax_activator.h"
00021 
00022 class AxResourceLibrary;
00023 
00033 class AxResourceLibrarySettingsMenuItem: public AxMenuItem
00034 {
00035     DECLARE_DYNAMIC_CLASS( AxResourceLibrarySettingsMenuItem )
00036 
00037 public:
00038 // Constructors
00039 
00040     AxResourceLibrarySettingsMenuItem(const AxResourceLibrarySettingsMenuItem& item) { Copy(item); }
00041     AxResourceLibrarySettingsMenuItem() {}
00042     AxResourceLibrarySettingsMenuItem(AxResourceLibrary* library, const wxString& label = wxEmptyString, const wxString& description = wxEmptyString,
00043         const wxString& id = wxEmptyString);
00044 
00045    virtual AxMenuItem* Clone() const { return new AxResourceLibrarySettingsMenuItem(* this); }
00046 };
00047 
00056 class AxResourceLibrarySettingsActivator: public AxActivator
00057 {
00058     DECLARE_DYNAMIC_CLASS( AxResourceLibrarySettingsActivator )
00059 
00060 public:
00061 // Constructors
00062 
00063     AxResourceLibrarySettingsActivator(AxResourceLibrary* library = NULL) { Init(); m_library = library; }
00064     AxResourceLibrarySettingsActivator(const AxResourceLibrarySettingsActivator& activator) { Init(); Copy(activator); }
00065 
00066     ~AxResourceLibrarySettingsActivator() {}
00067 
00068 // Operations
00069 
00070     void Init() { m_library = NULL; }
00071 
00072     virtual AxActivator* Clone() const { return new AxResourceLibrarySettingsActivator(*this); }
00073 
00074     void Copy(const AxResourceLibrarySettingsActivator& activator);
00075 
00077     virtual AxMenu* Activate(AxMenuController* controller, AxMenuItem* item);
00078 
00081     static AxResourceLibrary* GetResourceLibrary();
00082 
00083 protected:
00084     AxResourceLibrary* m_library;
00085 };
00086 
00096 class AxResourceLibraryAddByFolderMenuItem: public AxMenuItem
00097 {
00098     DECLARE_DYNAMIC_CLASS( AxResourceLibraryAddByFolderMenuItem )
00099 
00100 public:
00101 // Constructors
00102 
00103     AxResourceLibraryAddByFolderMenuItem(const AxResourceLibraryAddByFolderMenuItem& item) { Copy(item); }
00104     AxResourceLibraryAddByFolderMenuItem() {}
00105     AxResourceLibraryAddByFolderMenuItem(AxResourceLibrary* library, const wxString& label = wxEmptyString, const wxString& description = wxEmptyString,
00106         const wxString& id = wxEmptyString);
00107 
00108     virtual AxMenuItem* Clone() const { return new AxResourceLibraryAddByFolderMenuItem(* this); }
00109 };
00110 
00120 class AxResourceLibraryAddByFileMenuItem: public AxMenuItem
00121 {
00122     DECLARE_DYNAMIC_CLASS( AxResourceLibraryAddByFileMenuItem )
00123 
00124 public:
00125 // Constructors
00126 
00127     AxResourceLibraryAddByFileMenuItem(const AxResourceLibraryAddByFileMenuItem& item) { Copy(item); }
00128     AxResourceLibraryAddByFileMenuItem() {}
00129     AxResourceLibraryAddByFileMenuItem(AxResourceLibrary* library, const wxString& label = wxEmptyString, const wxString& description = wxEmptyString,
00130         const wxString& id = wxEmptyString);
00131 
00132     virtual AxMenuItem* Clone() const { return new AxResourceLibraryAddByFileMenuItem(* this); }
00133 };
00134 
00143 class AxResourceLibraryAddActivator: public AxActivator
00144 {
00145     DECLARE_DYNAMIC_CLASS( AxResourceLibraryAddActivator )
00146 
00147 public:
00148     typedef enum 
00149     {
00150         AxResourceLibraryAddCommandUnknown,
00151         AxResourceLibraryAddByFolderCommand,
00152         AxResourceLibraryAddByFileCommand
00153             
00154     } AxResourceLibraryAddCommand;
00155     
00156 // Constructors
00157 
00158     AxResourceLibraryAddActivator(AxResourceLibraryAddCommand command = AxResourceLibraryAddCommandUnknown, AxResourceLibrary* library = NULL)
00159     { Init(); m_command = command; m_library = library; }
00160     AxResourceLibraryAddActivator(const AxResourceLibraryAddActivator& activator) { Init(); Copy(activator); }
00161 
00162     ~AxResourceLibraryAddActivator() {}
00163 
00164 // Operations
00165 
00166     void Init() { m_library = NULL; }
00167 
00168     virtual AxActivator* Clone() const { return new AxResourceLibraryAddActivator(*this); }
00169 
00170     void Copy(const AxResourceLibraryAddActivator& activator);
00171 
00173     virtual AxMenu* Activate(AxMenuController* controller, AxMenuItem* item);
00174 
00177     static AxResourceLibrary* GetResourceLibrary();
00178 
00179 protected:
00180     AxResourceLibraryAddCommand m_command;
00181     AxResourceLibrary*          m_library;
00182 };
00183 
00184 
00185 #endif
00186     // _AX_MENU_LIBRARY_SETTINGS_H_

Generated on Wed May 6 19:20:18 2009 for AxTk by  doxygen 1.5.1