1
2
3
4
5
6 try:
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:
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:
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
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
64
65 else:
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
77