00001
00002
00003
00004
00005
00006
00007
00008
00009
00011
00012 #ifndef _AX_MENU_LIBRARY_SETTINGS_H_
00013 #define _AX_MENU_LIBRARY_SETTINGS_H_
00014
00015
00016
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
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
00062
00063 AxResourceLibrarySettingsActivator(AxResourceLibrary* library = NULL) { Init(); m_library = library; }
00064 AxResourceLibrarySettingsActivator(const AxResourceLibrarySettingsActivator& activator) { Init(); Copy(activator); }
00065
00066 ~AxResourceLibrarySettingsActivator() {}
00067
00068
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
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
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
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
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