Package up2date_client :: Module gtk_compat
[hide private]
[frames] | no frames]

Source Code for Module up2date_client.gtk_compat

 1  # 
 2  # Gtk 2/3 compat package 
 3  # Copyright (c) 2017 Red Hat, Inc.  Distributed under GPLv2. 
 4  # 
 5   
 6  try: # python2 / gtk2 / pygtk 
 7      import gtk 
 8      import gtk.glade 
 9      import gobject 
10   
11      gtk.glade.bindtextdomain("rhn-client-tools", "/usr/share/locale") 
12      GTK3 = False 
13  except ImportError: # python3 /gtk3 / gi 
14      import gi 
15      gi.require_version("Gtk", "3.0") 
16      from gi.repository import Gtk as gtk 
17      from gi.repository import Gdk as gdk 
18      from gi.repository import GObject as gobject 
19      GTK3 = True 
20   
21   
22  if GTK3: 
23 - class GladeBuilder(object):
24 - def __init__(self):
25 self.builder = gtk.Builder() 26 self.builder.get_widget = self.builder.get_object 27 self.builder.signal_autoconnect = self.builder.connect_signals 28 self.translation_domain = None
29
30 - def XML(self, gladefile, widget, domain):
31 self.builder.add_objects_from_file(gladefile, (widget,)) 32 if not self.translation_domain: 33 self.builder.set_translation_domain(domain) 34 return self.builder
35 36 gtk.glade = GladeBuilder() 37 gtk.RESPONSE_NONE = gtk.ResponseType.NONE 38 gtk.RESPONSE_OK = gtk.ResponseType.OK 39 gtk.RESPONSE_YES = gtk.ResponseType.YES 40 gtk.RESPONSE_CANCEL = gtk.ResponseType.CANCEL 41 gtk.RESPONSE_NO = gtk.ResponseType.NO 42 gtk.RESPONSE_CLOSE = gtk.ResponseType.CLOSE 43 gtk.BUTTONS_OK = gtk.ButtonsType.OK 44 gtk.BUTTONS_OK_CANCEL = gtk.ButtonsType.OK_CANCEL 45 gtk.BUTTONS_YES_NO = gtk.ButtonsType.YES_NO 46 gtk.MESSAGE_INFO = gtk.MessageType.INFO 47 gtk.MESSAGE_WARNING = gtk.MessageType.WARNING 48 gtk.MESSAGE_QUESTION = gtk.MessageType.QUESTION 49 gtk.MESSAGE_ERROR = gtk.MessageType.ERROR 50 gtk.WIN_POS_CENTER = gtk.WindowPosition.CENTER 51 gtk.SORT_ASCENDING = gtk.SortType.ASCENDING 52 gtk.SHADOW_OUT = gtk.ShadowType.OUT 53
54 - def setCursor(widget, ctype):
55 cursor = gdk.Cursor(ctype) 56 widget.get_root_window().set_cursor(cursor) 57 while gtk.events_pending(): 58 gtk.main_iteration_do(False)
59 gtk.CURSOR_WATCH = gdk.CursorType.WATCH 60 gtk.CURSOR_LEFT_PTR = gdk.CursorType.LEFT_PTR 61
62 - def getWidgetName(widget):
63 return gtk.Buildable.get_name(widget)
64 65 else:
66 - def setCursor(widget, ctype):
67 cursor = gtk.gdk.Cursor(ctype) 68 widget.window.set_cursor(cursor) 69 while gtk.events_pending(): 70 gtk.main_iteration_do(False)
71 72 gtk.CURSOR_WATCH = gtk.gdk.WATCH 73 gtk.CURSOR_LEFT_PTR = gtk.gdk.LEFT_PTR 74
75 - def getWidgetName(widget):
76 return widget.name
77