Exemple #1
0
 def __init__(self, color=None):
     """Initialize with a color (default is black"""
     Gtk.AspectFrame.__init__(self,
                              xalign=0.5,
                              yalign=0.5,
                              ratio=1.0,
                              obey_child=False)
     self.set_shadow_type(Gtk.ShadowType.IN)
     self.drawingarea = Gtk.DrawingArea()
     self.add(self.drawingarea)
     if color is None:
         color = RGBColor(0, 0, 0)
     self._color = color
     self.drawingarea.set_size_request(8, 8)
     self.drawingarea.connect("draw", self._draw_cb)
Exemple #2
0
def _test():
    """Run an interactive test"""
    toplevel = Gtk.Window()
    toplevel.set_title("topbar test")
    toplevel.connect("destroy", lambda *a: Gtk.main_quit())
    mainbox = Gtk.VBox()
    topbar = TopBar()
    canvas = Gtk.DrawingArea()
    toplevel.set_size_request(500, 300)

    # Fullscreen action
    fs_act = Gtk.ToggleAction.new("Fullscreen", "Fullscreen",
                                  "Enter fullscreen mode",
                                  Gtk.STOCK_FULLSCREEN)

    def _fullscreen_cb(action, toplevel):
        if action.get_active():
            toplevel.fullscreen()
        else:
            toplevel.unfullscreen()

    fs_act.connect("toggled", _fullscreen_cb, toplevel)

    # One normally constructed menubar
    menu1 = Gtk.Menu()
    menuitem1 = Gtk.MenuItem.new_with_label("Demo")
    menuitem2 = Gtk.CheckMenuItem()
    menuitem3 = Gtk.MenuItem.new_with_label("Quit")
    menuitem1.set_submenu(menu1)
    menuitem2.set_related_action(fs_act)
    menuitem3.connect("activate", lambda *a: Gtk.main_quit())
    menu1.append(menuitem2)
    menu1.append(menuitem3)
    menuitem1.show()
    menuitem2.show()
    menuitem3.show()
    menubar = Gtk.MenuBar()
    menubar.append(menuitem1)

    # We need a pair of toolbars too.
    toolbar1 = Gtk.Toolbar()
    toolbar2 = Gtk.Toolbar()
    toolitem1 = Gtk.ToggleToolButton()
    toolitem1.set_related_action(fs_act)
    toolbar2.insert(toolitem1, -1)
    toolitem2 = Gtk.SeparatorToolItem()
    toolitem2.set_draw(False)
    toolitem2.set_expand(True)
    toolbar1.insert(toolitem2, 0)
    # Some junk items, to verify appearance in various GTK3 themes
    toolitem3 = Gtk.ToolButton.new_from_stock(Gtk.STOCK_ZOOM_100)
    toolitem3.set_is_important(True)
    toolitem4 = Gtk.ToolButton.new_from_stock(Gtk.STOCK_ZOOM_100)
    toolitem4.set_is_important(True)
    toolitem4.set_sensitive(False)
    toolitem5 = Gtk.ToolButton.new_from_stock(Gtk.STOCK_ZOOM_100)
    toolitem6 = Gtk.ToolButton.new_from_stock(Gtk.STOCK_ZOOM_100)
    toolitem6.set_sensitive(False)
    toolbar1.insert(toolitem6, 0)
    toolbar1.insert(toolitem5, 0)
    toolbar1.insert(toolitem4, 0)
    toolbar2.insert(toolitem3, 0)

    # Assign topbar's properties
    topbar.toolbar1 = toolbar1
    topbar.toolbar2 = toolbar2
    topbar.menubar = menubar

    # Pack main UI, and start demo
    mainbox.pack_start(topbar, False, False, 0)
    mainbox.pack_start(canvas, True, True, 0)
    toplevel.add(mainbox)
    toplevel.show_all()
    topbar.show_all()
    Gtk.main()