b6d449681d
- replaced Gtk.HBox/Gtk.VBox by GtkBox as seen in [1] and [2]
GtkHbox and GtkVBox are deprecated
- use delete-event instead of destroy event in GtkWindow
- replaced icon_size for pixel_size where used
it's also deprecated as seen in commit [3]
- use sugar_theme in all examples; set it manually not by just
importing common module
- fixed GtkBox.pack_start arguments
- flake/pep8 fixes
[1] https://developer.gnome.org/gtk3/stable/GtkHBox.html
[2] https://developer.gnome.org/gtk3/stable/GtkVBox.html
[3] 5802d67ee1
48 lines
921 B
Python
48 lines
921 B
Python
from gi.repository import Gtk
|
|
|
|
"""
|
|
Since GTK+3 Gtk.CellRenderer doesn't have a destroy signal anymore.
|
|
We can do the cleanup in the python destructor method instead.
|
|
|
|
"""
|
|
|
|
|
|
class MyCellRenderer(Gtk.CellRenderer):
|
|
|
|
def __init__(self):
|
|
Gtk.CellRenderer.__init__(self)
|
|
|
|
def __del__(self):
|
|
print "cellrenderer destroy"
|
|
|
|
def do_render(self, cairo_t, widget, background_area, cell_area, flags):
|
|
pass
|
|
|
|
|
|
def window_destroy_cb(*kwargs):
|
|
print "window destroy"
|
|
Gtk.main_quit()
|
|
|
|
|
|
window = Gtk.Window(Gtk.WindowType.TOPLEVEL)
|
|
window.connect("destroy", window_destroy_cb)
|
|
window.show()
|
|
|
|
|
|
def treeview_destroy_cb(*kwargs):
|
|
print "treeview destroy"
|
|
|
|
|
|
treeview = Gtk.TreeView()
|
|
treeview.connect("destroy", treeview_destroy_cb)
|
|
window.add(treeview)
|
|
treeview.show()
|
|
|
|
col = Gtk.TreeViewColumn()
|
|
treeview.append_column(col)
|
|
|
|
cel = MyCellRenderer()
|
|
col.pack_start(cel, expand=True)
|
|
|
|
Gtk.main()
|