/*
   client/dialog.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_DIALOG_H__
#define __INCLUDED_CLIENT_DIALOG_H__

#include "ui/window.h"
#include "ui/button.h"
#include "ui/label.h"

namespace client
{

/**
 * @brief a generic dialog window class
 * */
class Dialog : public ui::Window
{
public:
	Dialog(ui::Widget *parent = 0);
	virtual ~Dialog();
	
	void set_text(const std::string &text);
	
	void set_button(const std::string &text);
	
	void set_command(const std::string &command);

protected:
	virtual void resize();
	
private:
	
	/// the actual dialog widget
	ui::Widget	*dialog_widget;
	
	ui::Label	*dialog_label;
	ui::Button	*dialog_button;
};

}

#endif // __INCLUDED_CLIENT_DIALOG_H__