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

#ifndef __INCLUDED_CLIENT_NOTIFICATIONS_H__
#define __INCLUDED_CLIENT_NOTIFICATIONS_H__

#include "ui/widget.h"
#include "ui/scrollpane.h"

namespace client
{

/// a widget to draw engine notifications and messages
class Notifications : public ui::Widget
{
public:
	Notifications(ui::Widget *parent = 0);
	~Notifications();

	void event_text(const std::string & text);

	void clear();

protected:
	/// draw notifications
	void draw();

private:
	typedef std::deque<unsigned long> Timestamps;

	Timestamps	notify_timestamp;
	ui::Text 	notify_log;

	ui::ScrollPane	*notify_scrollpane;
};

}

#endif // __INCLUDED_CLIENT_NOTIFICATIONS_H__