[pyclutter/wip/introspection] Add overrides for Clutter.Margin and Clutter.Content interface
- From: Bastian Winkler <bwinkler src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pyclutter/wip/introspection] Add overrides for Clutter.Margin and Clutter.Content interface
- Date: Wed, 18 Apr 2012 13:48:48 +0000 (UTC)
commit b3bc08420be071d72f956d228355a328f7a58296
Author: Bastian Winkler <buz netbuz org>
Date: Tue Apr 17 13:26:20 2012 +0200
Add overrides for Clutter.Margin and Clutter.Content interface
introspection/Clutter.py | 88 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 88 insertions(+), 0 deletions(-)
---
diff --git a/introspection/Clutter.py b/introspection/Clutter.py
index 328c286..c0546af 100644
--- a/introspection/Clutter.py
+++ b/introspection/Clutter.py
@@ -1116,6 +1116,94 @@ State = override(State)
__all__.append('State')
+if clutter_version >= (1, 10, 0):
+ class Content(Clutter.Content):
+ def get_preferred_size(self):
+ success, width, height = super(Content, self).get_preferred_size()
+ if success:
+ return (width, height)
+
+ Content = override(Content)
+ __all__.append('Content')
+
+
+ class Margin(Clutter.Margin):
+ def __new__(cls, *args, **kwargs):
+ return Clutter.Margin.__new__(cls)
+
+ def __init__(self, *args, **kwargs):
+ Clutter.Margin.__init__(self)
+ # using css semantics
+ if len(args) == 1:
+ self.top = self.right = self.bottom = self.left = args[0]
+ elif len(args) == 2:
+ self.top = self.bottom = args[0]
+ self.right = self.left = args[1]
+ elif len(args) == 3:
+ self.top = args[0]
+ self.left = self.right = args[1]
+ self.bottom = args[2]
+ elif len(args) == 4:
+ self.top = args[0]
+ self.right = args[1]
+ self.bottom = args[2]
+ self.left = args[3]
+ else:
+ self.top = kwargs.get('top', 0.0)
+ self.right = kwargs.get('right', 0.0)
+ self.bottom = kwargs.get('bottom', 0.0)
+ self.left = kwargs.get('left', 0.0)
+
+ def __repr__(self):
+ return '<Clutter.Margin(left=%f, right=%f, top=%f, bottom=%f)>' \
+ % (self.left, self.right, self.top, self.bottom)
+
+ def __len__(self):
+ return 4
+
+ def __getitem__(self, key):
+ if isinstance(key, int):
+ if key == 0:
+ return self.top
+ elif key == 1:
+ return self.right
+ elif key == 2:
+ return self.bottom
+ elif key == 3:
+ return self.left
+ else:
+ raise IndexError("index out of range")
+ else:
+ raise TypeError("sequence index must be integer")
+
+ def __setitem__(self, key, value):
+ if isinstance(key, int):
+ if key == 0:
+ self.top = value
+ elif key == 1:
+ self.right = value
+ elif key == 2:
+ self.bottom = value
+ elif key == 3:
+ self.left = value
+ else:
+ raise IndexError("index out of range")
+ else:
+ raise TypeError("sequence index must be integer")
+
+ def __eq__(self, other):
+ return self.top == other.top and \
+ self.right == other.right and \
+ self.bottom == other.bottom and \
+ self.left == other.left
+
+ def __ne__(self, other):
+ return not self.__eq__(other)
+
+ Margin = override(Margin)
+ __all__.append('Margin')
+
+
# override the main_quit function to ignore additional arguments. This enables
# common stuff like stage.connect('destroy', Clutter.main_quit)
def main_quit(*args, **kwargs):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]