#ifdef ASURA_USE_PRAGMA_ONCE
    #pragma once
#endif

#ifndef __TOOLS_HELP_H__
#define	__TOOLS_HELP_H__

#include "list_tem.hpp"

struct ToolsHelpTopic;


class Tools_Help
{
	public :
		static void Initialise();
		static void Shutdown();
		static void Update();
		static void Render();

		//note that the strings passed are taken as is , not copied into a new area of memory
		//(so they must stay valid after being passed to the function)
		static void AddHelpTopic( const char* Title, const char** Strings);
		static void RemoveHelpTopic( const char* Title);

		//opens key list at specified page
		static void ShowHelpTopic(const char* szTitle);

		static bool IsDisplayingHelp(){return DisplayingHelp;}

	private :
		static List<ToolsHelpTopic*> HelpTopicList;
		static LIL<ToolsHelpTopic*> HelpTopicLIL;

		static bool DisplayingHelp;

};

struct ToolsHelpTopic
{
	ToolsHelpTopic( const char* _Title, const char** _HelpStrings);

	const char* Title;
	const char** HelpStrings;
	int NumStrings;
	float Offset;
};

#endif //__TOOLS_HELP_H__
