summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Orccon <cfoch.fabian@gmail.com>2017-01-24 00:00:12 -0500
committerChristoph Reiter <creiter@src.gnome.org>2017-01-25 09:03:41 +0100
commitebc245c477c36fa1f65f80d2e75792b82d837611 (patch)
treeb777aba3ac83b88a1c9619fe657f417309f70f01
parentd005df9645fd5fb2f19bd09384355f45591f1e58 (diff)
downloadpygobject-ebc245c477c36fa1f65f80d2e75792b82d837611.tar.gz
overrides: Update for Gdk-4.0 and Gtk+-4.0
Override Gdk.Color and Gdk.RGBA according version. Use properly Gtk.init_check in Gtk+-4.0 https://bugzilla.gnome.org/show_bug.cgi?id=777680
-rw-r--r--gi/overrides/Gdk.py74
-rw-r--r--gi/overrides/Gtk.py7
2 files changed, 44 insertions, 37 deletions
diff --git a/gi/overrides/Gdk.py b/gi/overrides/Gdk.py
index e4d12096..c5b9a393 100644
--- a/gi/overrides/Gdk.py
+++ b/gi/overrides/Gdk.py
@@ -39,49 +39,51 @@ try:
except (ValueError, ImportError):
pass
+if hasattr(Gdk, 'Color'):
+ # Gdk.Color was deprecated since 3.14 and dropped in Gtk+-4.0
+ class Color(Gdk.Color):
+ MAX_VALUE = 65535
-class Color(Gdk.Color):
- MAX_VALUE = 65535
-
- def __init__(self, red, green, blue):
- Gdk.Color.__init__(self)
- self.red = red
- self.green = green
- self.blue = blue
+ def __init__(self, red, green, blue):
+ Gdk.Color.__init__(self)
+ self.red = red
+ self.green = green
+ self.blue = blue
- def __eq__(self, other):
- return self.equal(other)
+ def __eq__(self, other):
+ return self.equal(other)
- def __repr__(self):
- return 'Gdk.Color(red=%d, green=%d, blue=%d)' % (self.red, self.green, self.blue)
+ def __repr__(self):
+ return 'Gdk.Color(red=%d, green=%d, blue=%d)' % (self.red, self.green, self.blue)
- red_float = property(fget=lambda self: self.red / float(self.MAX_VALUE),
- fset=lambda self, v: setattr(self, 'red', int(v * self.MAX_VALUE)))
+ red_float = property(fget=lambda self: self.red / float(self.MAX_VALUE),
+ fset=lambda self, v: setattr(self, 'red', int(v * self.MAX_VALUE)))
- green_float = property(fget=lambda self: self.green / float(self.MAX_VALUE),
- fset=lambda self, v: setattr(self, 'green', int(v * self.MAX_VALUE)))
+ green_float = property(fget=lambda self: self.green / float(self.MAX_VALUE),
+ fset=lambda self, v: setattr(self, 'green', int(v * self.MAX_VALUE)))
- blue_float = property(fget=lambda self: self.blue / float(self.MAX_VALUE),
- fset=lambda self, v: setattr(self, 'blue', int(v * self.MAX_VALUE)))
+ blue_float = property(fget=lambda self: self.blue / float(self.MAX_VALUE),
+ fset=lambda self, v: setattr(self, 'blue', int(v * self.MAX_VALUE)))
- def to_floats(self):
- """Return (red_float, green_float, blue_float) triple."""
+ def to_floats(self):
+ """Return (red_float, green_float, blue_float) triple."""
- return (self.red_float, self.green_float, self.blue_float)
+ return (self.red_float, self.green_float, self.blue_float)
- @staticmethod
- def from_floats(red, green, blue):
- """Return a new Color object from red/green/blue values from 0.0 to 1.0."""
+ @staticmethod
+ def from_floats(red, green, blue):
+ """Return a new Color object from red/green/blue values from 0.0 to 1.0."""
- return Color(int(red * Color.MAX_VALUE),
- int(green * Color.MAX_VALUE),
- int(blue * Color.MAX_VALUE))
+ return Color(int(red * Color.MAX_VALUE),
+ int(green * Color.MAX_VALUE),
+ int(blue * Color.MAX_VALUE))
-Color = override(Color)
-__all__.append('Color')
+ Color = override(Color)
+ __all__.append('Color')
-if Gdk._version == '3.0':
+if hasattr(Gdk, 'RGBA'):
+ # Introduced since Gtk+-3.0
class RGBA(Gdk.RGBA):
def __init__(self, red=1.0, green=1.0, blue=1.0, alpha=1.0):
Gdk.RGBA.__init__(self)
@@ -363,8 +365,10 @@ class Cursor(Gdk.Cursor):
Cursor = override(Cursor)
__all__.append('Cursor')
-color_parse = strip_boolean_result(Gdk.color_parse)
-__all__.append('color_parse')
+if hasattr(Gdk, 'color_parse'):
+ # Gdk.Color was deprecated since 3.14 and dropped in Gtk+-4.0
+ color_parse = strip_boolean_result(Gdk.color_parse)
+ __all__.append('color_parse')
# Note, we cannot override the entire class as Gdk.Atom has no gtype, so just
@@ -439,6 +443,6 @@ if Gdk._version >= '3.0':
SELECTION_TYPE_STRING = Gdk.atom_intern('STRING', True)
__all__.append('SELECTION_TYPE_STRING')
-import sys
-
-initialized, argv = Gdk.init_check(sys.argv)
+if Gdk._version in ('2.0', '3.0'):
+ import sys
+ initialized, argv = Gdk.init_check(sys.argv)
diff --git a/gi/overrides/Gtk.py b/gi/overrides/Gtk.py
index c04f7025..2c0e870c 100644
--- a/gi/overrides/Gtk.py
+++ b/gi/overrides/Gtk.py
@@ -1599,5 +1599,8 @@ if Gtk._version in ("2.0", "3.0"):
stock_lookup = strip_boolean_result(Gtk.stock_lookup)
__all__.append('stock_lookup')
-initialized, argv = Gtk.init_check(sys.argv)
-sys.argv = list(argv)
+if Gtk._version == "4.0":
+ Gtk.init_check()
+else:
+ initialized, argv = Gtk.init_check(sys.argv)
+ sys.argv = list(argv)