/*
   client/entitymenu.h
   This file is part of the Osirion project and is distributed under
   the terms of the GNU General Public License version 2
*/

#ifndef __INCLUDED_CLIENT_ENTITYMENU_H__
#define __INCLUDED_CLIENT_ENTITYMENU_H__

#include "core/entity.h"
#include "ui/container.h"
#include "ui/label.h"
#include "ui/window.h"

namespace client
{

/// entity menu
class EntityMenu : public ui::Window
{
public:
	/// create a new menu
	EntityMenu(ui::Widget *parent, const char * label = 0);
	~EntityMenu();
	
	/// generate a menu from menu descriptions
	void generate(core::Entity *entity, const char *menulabel);

	/// clear the current menu
	void clear();

protected:
	/// resize event
	virtual void resize();

private:
	ui::Container		*menu_container;
};

}

#endif // __INCLUDED_CLIENT_ENTITYMENU_H__