#include class HeaderBarWindow: public Gtk::Window { private: Gtk::TextView *tv; public: HeaderBarWindow() { set_title("Header Bar Demo"); set_border_width(10); set_default_size(400,200); auto hb = Gtk::manage(new Gtk::HeaderBar()); hb->set_show_close_button(true); hb->set_title("Header Bar Example"); set_titlebar(*hb); auto but1 = Gtk::manage(new Gtk::Button()); but1->set_image_from_icon_name("mail-send-receive-symbolic"); hb->pack_end(*but1); auto box = Gtk::manage(new Gtk::HBox()); auto btnL = Gtk::manage(new Gtk::Button()); btnL->add(*Gtk::manage(new Gtk::Arrow(Gtk::ArrowType::ARROW_LEFT, Gtk::ShadowType::SHADOW_NONE))); auto btnR = Gtk::manage(new Gtk::Button()); btnR->add(*Gtk::manage(new Gtk::Arrow(Gtk::ArrowType::ARROW_RIGHT, Gtk::ShadowType::SHADOW_NONE))); box->add(*btnL); box->add(*btnR); hb->pack_start(*box); tv = Gtk::manage(new Gtk::TextView()); add(*tv); show_all(); btnL->signal_clicked().connect(sigc::mem_fun(*this, &HeaderBarWindow::btn_lft_clicked)); } void btn_lft_clicked() { tv->get_buffer()->insert_at_cursor("pressed left\n"); } }; int main(int argc, char **argv) { Glib::RefPtr app = Gtk::Application::create(argc, argv, "org.gtkmm.examples.headerbar"); HeaderBarWindow window; return app->run(window); }