view LightClone/Source/GuiEventMap.cpp @ 26:3a63df04f3c0

Several Gui enhancements; Drag and drop should work; Added resource caching
author koryspansel
date Fri, 16 Sep 2011 15:28:15 -0700
parents b4dc5d674e22
children 8e7ebab350e7
line wrap: on
line source

/*
 * GuiEventMap
 */

#include "GuiEventMap.h"

/* 
 * GuiEventMap
 */
GuiEventMap::GuiEventMap()
{
}

/*
 * Fire
 */
void GuiEventMap::Fire(const char* pName, GuiEventArguments& kArguments)
{
	GuiEvent* pEvent = GetEvent(pName);
	if(pEvent)
	{
		pEvent->Fire(kArguments);
	}
}

/*
 * GetEvent
 */
GuiEvent* GuiEventMap::GetEvent(const char* pName, bool bAdd)
{
	GuiEvent** pEvent = kMap.Find(FixedString<>(pName));
	if(!pEvent)
	{
		if(bAdd)
		{
			pEvent = kMap.Add(FixedString<>(pName));
			if(pEvent)
			{
				*pEvent = new GuiEvent(pName);
			}
		}
	}

	return pEvent ? *pEvent : NULL;
}