contextmenu.h File Reference

Go to the source code of this file.

Classes

class  contextmenu_item_node
class  contextmenu_item_node_root
class  contextmenu_item_node_leaf
class  contextmenu_item_node_root_leaf
class  contextmenu_item_node_popup
class  contextmenu_item_node_root_popup
class  contextmenu_item_node_separator
class  contextmenu_item
class  contextmenu_item_simple
 contextmenu_item implementation helper for implementing non-dynamically-generated context menu items; derive from this instead of from contextmenu_item directly if your menu items are static. More...
class  contextmenu_item_simple::contextmenu_item_node_impl
class  contextmenu_item_factory_t< T >
 Helper. More...
class  menu_item_resolver

Defines

#define DECLARE_CONTEXT_MENU_ITEM(P_CLASSNAME, P_NAME, P_DEFAULTPATH, P_FUNC, P_GUID, P_DESCRIPTION)
 Helper.

Typedefs

typedef void * t_glyph


Define Documentation

#define DECLARE_CONTEXT_MENU_ITEM ( P_CLASSNAME,
P_NAME,
P_DEFAULTPATH,
P_FUNC,
P_GUID,
P_DESCRIPTION   ) 

Value:

namespace { \
                class P_CLASSNAME : public contextmenu_item_simple {    \
                public: \
                        unsigned get_num_items() {return 1;}    \
                        void get_item_name(unsigned p_index,pfc::string_base & p_out) {p_out = P_NAME;} \
                        void get_item_default_path(unsigned p_index,pfc::string_base & p_out) {p_out = P_DEFAULTPATH;}  \
                        void context_command(unsigned p_index,metadb_handle_list_cref p_data,const GUID& p_caller) {P_FUNC(p_data);}    \
                        GUID get_item_guid(unsigned p_index) {return P_GUID;}   \
                        bool get_item_description(unsigned p_index,pfc::string_base & p_out) {if (P_DESCRIPTION[0] == 0) return false;p_out = P_DESCRIPTION; return true;}      \
                };      \
                static contextmenu_item_factory_t<P_CLASSNAME> g_##P_CLASSNAME##_factory;       \
        }
Helper.


Typedef Documentation

typedef void* t_glyph


Generated on Fri Apr 25 18:49:38 2008 for foobar2000 SDK by  doxygen 1.5.5