Blame platform-demos/C/samples/GtkApplicationWindow.py

Packit 1470ea
from gi.repository import Gtk
Packit 1470ea
import sys
Packit 1470ea
Packit 1470ea
# a Gtk ApplicationWindow
Packit 1470ea
Packit 1470ea
Packit 1470ea
class MyWindow(Gtk.ApplicationWindow):
Packit 1470ea
    # constructor: the title is "Welcome to GNOME" and the window belongs
Packit 1470ea
    # to the application app
Packit 1470ea
Packit 1470ea
    def __init__(self, app):
Packit 1470ea
        Gtk.Window.__init__(self, title="Welcome to GNOME", application=app)
Packit 1470ea
Packit 1470ea
Packit 1470ea
class MyApplication(Gtk.Application):
Packit 1470ea
    # constructor of the Gtk Application
Packit 1470ea
Packit 1470ea
    def __init__(self):
Packit 1470ea
        Gtk.Application.__init__(self)
Packit 1470ea
Packit 1470ea
    # create and activate a MyWindow, with self (the MyApplication) as
Packit 1470ea
    # application the window belongs to.
Packit 1470ea
    # Note that the function in C activate() becomes do_activate() in Python
Packit 1470ea
    def do_activate(self):
Packit 1470ea
        win = MyWindow(self)
Packit 1470ea
        # show the window and all its content
Packit 1470ea
        # this line could go in the constructor of MyWindow as well
Packit 1470ea
        win.show_all()
Packit 1470ea
Packit 1470ea
    # start up the application
Packit 1470ea
    # Note that the function in C startup() becomes do_startup() in Python
Packit 1470ea
    def do_startup(self):
Packit 1470ea
        Gtk.Application.do_startup(self)
Packit 1470ea
Packit 1470ea
# create and run the application, exit with the value returned by
Packit 1470ea
# running the program
Packit 1470ea
app = MyApplication()
Packit 1470ea
exit_status = app.run(sys.argv)
Packit 1470ea
sys.exit(exit_status)