#include #include #include #include "jack.h" #include "portmanager.h" #include "gui.h" #include "config.h" Gui::Gui() { set_title("JACK Sweeper"); set_border_width(0); set_size_request(100, 100); add(m_box); m_scrolledwindow.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); m_scrolledwindow.set_border_width(0); m_scrolledwindow.add(m_matrix); m_matrix.parent = this; Refresh(); Glib::signal_idle().connect(sigc::mem_fun(*this, &Gui::on_idle)); m_actiongroup = Gtk::ActionGroup::create(); m_actiongroup->add(Gtk::Action::create("MenuFile", "_File")); m_actiongroup->add(Gtk::Action::create("Connect", "Connect")); m_actiongroup->add(Gtk::Action::create("Disconnect", "Disconnect")); m_actiongroup->add(Gtk::Action::create("Quit", Gtk::Stock::QUIT)); m_uimanager = Gtk::UIManager::create(); m_uimanager->insert_action_group(m_actiongroup); add_accel_group(m_uimanager->get_accel_group()); std::string ui_info = "" " " " " " " " " " " " " " " " " ""; m_uimanager->add_ui_from_string(ui_info); Gtk::Widget *menubar = m_uimanager->get_widget("/MenuBar"); m_box.pack_start(*menubar, Gtk::PACK_SHRINK); m_box.pack_start(m_scrolledwindow); show_all_children(); } Gui::~Gui() { } void Gui::Refresh() { m_matrix.Refresh(); } bool Gui::on_idle() { if (jack.ProcessEvents()) { Refresh(); queue_draw(); } usleep(1000); return true; }