include/ax_resource/ax_menu_resource.h

Go to the documentation of this file.
00001 
00002 // Name:        ax_menu_resource.h
00003 // Purpose:     Resource/menu interaction 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_RESOURCE_H_
00013 #define _AX_MENU_RESOURCE_H_
00014 
00015 /*
00016  * Includes
00017  */
00018 
00019 #include "ax/ax_menu.h"
00020 
00021 /*
00022  * Forward declarations
00023  */
00024 
00025 class AxResource;
00026 
00033 class AxMenuItemResourceData: public AxMenuItemData
00034 {
00035     DECLARE_CLASS( AxMenuItemResourceData )
00036 
00037 public:
00038 // Constructors
00039 
00040     AxMenuItemResourceData(const AxMenuItemResourceData& data) { Init(); Copy(data); }
00041     AxMenuItemResourceData(AxResource* resource = NULL) { Init(); m_resource = resource; }
00042     ~AxMenuItemResourceData() {}
00043 
00044 // Operations
00045 
00047     void Init() { m_resource = NULL; }
00048 
00049     void Copy(const AxMenuItemResourceData& data) { m_resource = data.m_resource; }
00050     void operator=(const AxMenuItemResourceData& data) { Copy(data); }
00051 
00052     virtual AxMenuItemData* Clone() const { return new AxMenuItemResourceData(*this); }
00053 
00054     AxResource* GetResource() const { return m_resource; }
00055     void SetResource(AxResource* resource) { m_resource = resource; }
00056 
00057 protected:
00058     AxResource* m_resource;
00059 };
00060 
00061 #endif
00062     // _AX_MENU_RESOURCE_H_

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