def mk_title_bar(self): title_bar = Handy.TitleBar() header = Gtk.HeaderBar( title='Pastebin Reader', show_close_button=True) self.popover = Gtk.Popover() vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) reload_btn = Gtk.ModelButton(label="Reload") reload_btn.connect("clicked", self.on_reload) save_btn = Gtk.ModelButton(label="Save") save_btn.connect("clicked", self.on_save) about_btn = Gtk.ModelButton(label="About") about_btn.connect("clicked", self.on_about) vbox.pack_start(reload_btn, False, True, 5) vbox.pack_start(save_btn, False, True, 5) vbox.pack_start(about_btn, False, True, 5) vbox.show_all() self.popover.add(vbox) self.popover.set_position(Gtk.PositionType.BOTTOM) btn = Gtk.MenuButton(popover=self.popover) icon = Gio.ThemedIcon(name="preferences-system-symbolic") image = Gtk.Image.new_from_gicon(icon, Gtk.IconSize.BUTTON) btn.add(image) header.add(btn) title_bar.add(header) return title_bar
def do_activate(self): window = Gtk.ApplicationWindow(application=self) window.set_icon_name('com.example.title_bar') title_bar = Handy.TitleBar() header = Gtk.HeaderBar(title='Title Bar', show_close_button=True) title_bar.add(header) window.set_titlebar(title_bar) label = Gtk.Label(wrap=True) label.set_markup('<big>This example shows how to use a libhandy ' 'title bar to hold a regular header bar.</big>') window.add(label) window.show_all()