Archive / / / / gui.h
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_*/