
#ifndef ___V_MENU_M_H___
#define ___V_MENU_M_H___

class VContainerInfo;
class VMenuInfoM;


class VCustomizedMenuBarImp {

public:
	static HMENU	make_menu_items(VMenuItem *items, VMenuInfoM *info, int depth=0);

	static bool		init_menu(HMENU hmenu, VMenuInfoM *info);
	static void		menu_choosed(VWindow *win, UINT id);

protected:
	static void		setup_edit_menu_contextual(VMenuItem *items);
	static void		setup_window_menu(VMenuItem *items);
};


class VMenuInfoM {

public:
	VMenuInfoM() : hmenu_edit(0), item_edit(0), hmenu_window(0), item_window(0) {}
	HACCEL		get_haccel() { return haccel; }
protected:
	HMENU		hmenu_edit, hmenu_window;
	VMenuItem	*item_edit, *item_window;
	HACCEL		haccel;

	friend class VCustomizedMenuBarImp;
};


#endif
