tuikit/core/widget.py
changeset 114 26c02bd94bd9
parent 113 6796adfdc7eb
child 117 8680c2333546
equal deleted inserted replaced
113:6796adfdc7eb 114:26c02bd94bd9
    27         #: Position inside parent widget. Modified by layout manager.
    27         #: Position inside parent widget. Modified by layout manager.
    28         self.pos = Point()
    28         self.pos = Point()
    29         #: Actual size. Modified by layout manager.
    29         #: Actual size. Modified by layout manager.
    30         self._size = Size(10, 10)
    30         self._size = Size(10, 10)
    31 
    31 
       
    32         #: Requested position. Layout manager will use this when placing the widget.
       
    33         self.posreq = Point()
    32         #: Requested size. Layout manager will use this when placing the widget.
    34         #: Requested size. Layout manager will use this when placing the widget.
    33         self.sizereq = Size(1, 1)
    35         self.sizereq = Size(1, 1)
    34         #: Minimal size of widget. Widget will never be sized smaller than this.
    36         #: Minimal size of widget. Widget will never be sized smaller than this.
    35         self.sizemin = Size(1, 1)
    37         self.sizemin = Size(1, 1)
    36         #: Maximum size of widget. Widget will never be sized bigger than this.
    38         #: Maximum size of widget. Widget will never be sized bigger than this.
    58 
    60 
    59     @property
    61     @property
    60     def y(self):
    62     def y(self):
    61         return self.pos.y
    63         return self.pos.y
    62 
    64 
       
    65     def move(self, x, y):
       
    66         """Should be called only by layout manager."""
       
    67         self.pos.update(x, y)
       
    68 
    63     @property
    69     @property
    64     def width(self):
    70     def width(self):
    65         return self.size.w
    71         return self.size.w
    66 
    72 
    67     @property
    73     @property
    71     @property
    77     @property
    72     def size(self):
    78     def size(self):
    73         return self._size.immutable()
    79         return self._size.immutable()
    74 
    80 
    75     def resize(self, w, h):
    81     def resize(self, w, h):
       
    82         """Should be called only by layout manager."""
    76         self._size.update(w, h)
    83         self._size.update(w, h)
    77 
    84 
    78     @property
    85     @property
    79     def boundaries(self):
    86     def boundaries(self):
    80         return Rect._make(self.pos, self._size)
    87         return Rect._make(self.pos, self._size)