| Viewing file:  SimpleGtkbuilderApp.py (1.99 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
"""SimpleGladeApp.py
 Module that provides an object oriented abstraction to pygtk and libglade.
 Copyright (C) 2004 Sandino Flores Moreno
 """
 
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
 # version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 # Lesser General Public License for more details.
 #
 # You should have received a copy of the GNU Lesser General Public
 # License along with this library; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 # USA
 
 import logging
 
 import gtk
 
 
 # based on SimpleGladeApp
 class SimpleGtkbuilderApp:
 
 def __init__(self, path, domain):
 self.builder = gtk.Builder()
 self.builder.set_translation_domain(domain)
 self.builder.add_from_file(path)
 self.builder.connect_signals(self)
 for o in self.builder.get_objects():
 if issubclass(type(o), gtk.Buildable):
 name = gtk.Buildable.get_name(o)
 setattr(self, name, o)
 else:
 logging.debug("WARNING: can not get name for '%s'" % o)
 
 def run(self):
 """
 Starts the main loop of processing events checking for Control-C.
 
 The default implementation checks wheter a Control-C is pressed,
 then calls on_keyboard_interrupt().
 
 Use this method for starting programs.
 """
 try:
 gtk.main()
 except KeyboardInterrupt:
 self.on_keyboard_interrupt()
 
 def on_keyboard_interrupt(self):
 """
 This method is called by the default implementation of run()
 after a program is finished by pressing Control-C.
 """
 pass
 
 
 |