Archive / / / gui.cpp
2007-09-23 16:21:28 UTC
previous next
#include <gtkmm.h> #include "gui.h" namespace Gui { boost::scoped_ptr<Manager> Manager::_instance; void Manager::create() { Manager::_instance.reset(new Manager()); } void Manager::destroy() { Manager::_instance.reset(); } Manager& manager() { return *Manager::_instance; } Manager::Manager() { } Manager::~Manager() { } void Manager::run(int argc, char *argv[]) { Gtk::Main kit(argc, argv); Gtk::Window window; window.set_title("nova-client"); Gtk::Button button; button.set_label("test"); button.signal_clicked().connect(sigc::mem_fun(*this, &Manager::click_button)); window.add(button); Gtk::Main::run(window); } void Manager::click_button() { _objects.push_back(_object_creator()); } void Manager::register_object( boost::function<boost::shared_ptr<VideoPlayer> ()> object_creator) { _object_creator = object_creator; } VideoPlayer::VideoPlayer() { _window.add(_label); } void VideoPlayer::updateText( std::string text) { _label.set_text(text); } }