2007-09-23 16:21:30 UTC
previous
next
#ifndef GUI_H_
#define GUI_H_
#include <boost/shared_ptr.hpp>
#include <boost/scoped_ptr.hpp>
#include <string>
namespace Gui
{
class VideoPlayer;
class Manager
{
public:
~Manager();
void run(int argc, char *argv[]);
void register_object(
boost::function<boost::shared_ptr<VideoPlayer> ()> object_creator);
static void create();
static void destroy();
private:
Manager();
void click_button();
boost::function<boost::shared_ptr<VideoPlayer> ()> _object_creator;
std::list<boost::shared_ptr<VideoPlayer> > _objects;
static boost::scoped_ptr<Manager> _instance;
friend Manager& manager();
};
class MenuItem
{
public:
MenuItem(std::string name, std::string id);
~MenuItem();
private:
std::string _name;
std::string _id;
};
class VideoPlayer
{
public:
VideoPlayer();
void updateText(std::string text);
private:
Gtk::Window _window;
Gtk::Label _label;
};
extern Manager& manager();
}
#endif /*GUI_H_*/