Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- ### BEGIN LICENSE
- # This file is in the public domain
- ### END LICENSE
- import sys
- import os
- import gtk
- import gettext
- from gettext import gettext as _
- gettext.textdomain('test')
- # optional Launchpad integration
- # this shouldn't crash if not found as it is simply used for bug reporting
- try:
- import LaunchpadIntegration
- launchpad_available = True
- except:
- launchpad_available = False
- # Add project root directory (enable symlink, and trunk execution).
- PROJECT_ROOT_DIRECTORY = os.path.abspath(
- os.path.dirname(os.path.dirname(os.path.realpath(sys.argv[0]))))
- if (os.path.exists(os.path.join(PROJECT_ROOT_DIRECTORY, 'test'))
- and PROJECT_ROOT_DIRECTORY not in sys.path):
- sys.path.insert(0, PROJECT_ROOT_DIRECTORY)
- os.putenv('PYTHONPATH', PROJECT_ROOT_DIRECTORY) # for subprocesses
- from test import (
- AboutTestDialog, PreferencesTestDialog)
- from test.helpers import get_builder
- class TestWindow(gtk.Window):
- __gtype_name__ = "TestWindow"
- # To construct a new instance of this method, the following notable
- # methods are called in this order:
- # __new__(cls)
- # __init__(self)
- # finish_initializing(self, builder)
- # __init__(self)
- #
- # For this reason, it's recommended you leave __init__ empty and put
- # your inialization code in finish_intializing
- def __new__(cls):
- """Special static method that's automatically called by Python when
- constructing a new instance of this class.
- Returns a fully instantiated TestWindow object.
- """
- builder = get_builder('TestWindow')
- new_object = builder.get_object("test_window")
- new_object.finish_initializing(builder)
- return new_object
- def finish_initializing(self, builder):
- """Called while initializing this instance in __new__
- finish_initalizing should be called after parsing the UI definition
- and creating a TestWindow object with it in order to finish
- initializing the start of the new TestWindow instance.
- Put your initilization code in here and leave __init__ undefined.
- """
- # Get a reference to the builder and set up the signals.
- self.builder = builder
- self.builder.connect_signals(self)
- global launchpad_available
- if launchpad_available:
- # see https://wiki.ubuntu.com/UbuntuDevelopment/Internationalisation/Coding for more information
- # about LaunchpadIntegration
- helpmenu = self.builder.get_object('helpMenu')
- if helpmenu:
- LaunchpadIntegration.set_sourcepackagename('test')
- LaunchpadIntegration.add_items(helpmenu, 0, False, True)
- else:
- launchpad_available = False
- # Uncomment the following code to read in preferences at start up.
- #dlg = PreferencesTestDialog.PreferencesTestDialog()
- #self.preferences = dlg.get_preferences()
- # Code for other initialization actions should be added here.
- def on_openbutton_clicked(self, widget, data=None):
- print "OPEN"
- def about(self, widget, data=None):
- """Display the about box for test."""
- about = AboutTestDialog.AboutTestDialog()
- response = about.run()
- about.destroy()
- def preferences(self, widget, data=None):
- """Display the preferences window for test."""
- prefs = PreferencesTestDialog.PreferencesTestDialog()
- response = prefs.run()
- if response == gtk.RESPONSE_OK:
- # Make any updates based on changed preferences here.
- pass
- prefs.destroy()
- def quit(self, widget, data=None):
- """Signal handler for closing the TestWindow."""
- self.destroy()
- def on_destroy(self, widget, data=None):
- """Called when the TestWindow is closed."""
- # Clean up code for saving application state should be added here.
- gtk.main_quit()
- if __name__ == "__main__":
- # Support for command line options.
- import logging
- import optparse
- parser = optparse.OptionParser(version="%prog %ver")
- parser.add_option(
- "-v", "--verbose", action="store_true", dest="verbose",
- help=_("Show debug messages"))
- (options, args) = parser.parse_args()
- # Set the logging level to show debug messages.
- if options.verbose:
- logging.basicConfig(level=logging.DEBUG)
- logging.debug('logging enabled')
- # Run the application.
- window = TestWindow()
- window.show()
- gtk.main()
Advertisement
Add Comment
Please, Sign In to add comment