1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 __docformat__ = 'reStructuredText'
20
21 from pytilities import event, AttributeCollectionBase
22 from pytilities.delegation import Delegator
23 from .verbosevector import VerboseVector
24
25 @event.dispatcher("size_changed")
27
28 """
29 A `Rectangle` wrapper that sends out events
30
31 It supports all attributes of `Rectangle`. For `Rectangle` specific
32 documentation, see `Rectangle`.
33
34 Events:
35
36 size_changed
37 Parameters:
38
39 `old_size` :: Vector
40 the old size
41 """
42
68
69 @property
72
73 @bounds.setter
75 old_size = self.size
76 self.__r.bounds = args
77 if old_size != self.size:
78 self.__dispatch("size_changed", old_size)
79
80 @property
83
84 @width.setter
86 old_size = self.size
87 self.__r.width = value
88 if old_size != self.size:
89 self.__dispatch("size_changed", old_size)
90
91 @property
94
95 @height.setter
97 old_size = self.size
98 self.__r.height = value
99 if old_size != self.size:
100 self.__dispatch("size_changed", old_size)
101
102 @property
105
106 @size.setter
107 - def size(self, value):
108 if self.size != value:
109 old_size = self.size
110 self.__r.size = value
111 self.__dispatch("size_changed", old_size)
112
113 @property
116
117 @left.setter
118 - def left(self, value):
119 if self.left != value:
120 old_size = self.size
121 self.__r.left = value
122 self.__dispatch("size_changed", old_size)
123
124 @property
127
128 @top.setter
129 - def top(self, value):
130 if self.top != value:
131 old_size = self.size
132 self.__r.top = value
133 self.__dispatch("size_changed", old_size)
134
135 @property
137 return self.__r.right
138
139 @right.setter
141 if self.right != value:
142 old_size = self.size
143 self.__r.right = value
144 self.__dispatch("size_changed", old_size)
145
146 @property
149
150 @bottom.setter
152 if self.bottom != value:
153 old_size = self.size
154 self.__r.bottom = value
155 self.__dispatch("size_changed", old_size)
156
157 @property
159 return self.__top_left
160
161 @top_left.setter
163 self.__top_left.assign(value)
164
165 @property
167 return self.__top_right
168
169 @top_right.setter
171 self.__top_right.assign(value)
172
173 @property
175 return self.__bottom_left
176
177 @bottom_left.setter
179 self.__bottom_left.assign(value)
180
181 @property
183 return self.__bottom_right
184
185 @bottom_right.setter
187 self.__bottom_right.assign(value)
188
190 old_size = self.size
191 self.__r.inflate(*args)
192 if old_size != self.size:
193 self.__dispatch("size_changed", old_size)
194