Update of /cvsroot/freevo/kaa/canvas/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11377

Modified Files:
        canvasobject.py 
Log Message:
Added some more property accessors; fixed a bug in property propagation
for containers.


Index: canvasobject.py
===================================================================
RCS file: /cvsroot/freevo/kaa/canvas/src/canvasobject.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** canvasobject.py     14 Jul 2005 04:07:19 -0000      1.3
--- canvasobject.py     14 Jul 2005 05:11:46 -0000      1.4
***************
*** 24,28 ****
  
      def __init__(self):
!         self._supported_properties = ["pos", "visible", "layer", "color", 
"size"]
          self._properties = {}
          self._changed_since_sync = {}
--- 24,28 ----
  
      def __init__(self):
!         self._supported_properties = ["pos", "visible", "layer", "color", 
"size", "name"]
          self._properties = {}
          self._changed_since_sync = {}
***************
*** 58,62 ****
          else:
              self._set_property_generic(key, value)
!         self._inc_properties_serial()
  
      def _inc_properties_serial(self):
--- 58,63 ----
          else:
              self._set_property_generic(key, value)
!         if key in ("pos", "visible", "color", "layer"):
!             self._inc_properties_serial()
  
      def _inc_properties_serial(self):
***************
*** 165,169 ****
          self._changed_since_sync = None
  
!         #print "SYNC PROPERTIES", self, changed
  
          for prop in self._supported_properties:
--- 166,170 ----
          self._changed_since_sync = None
  
!         print "SYNC PROPERTIES", self, changed
  
          for prop in self._supported_properties:
***************
*** 195,198 ****
--- 196,203 ----
          self._o.resize(self._get_computed_size(self["size"]))
  
+     def _sync_property_name(self):
+         self._canvas._register_object_name(self["name"], self)
+ 
+ 
      def _get_computed_size(self, (w, h)):
          orig_w, orig_h = self.get_size()
***************
*** 206,209 ****
--- 211,215 ----
          return int(w), int(h)
  
+ 
      def _reset(self):
          # TODO
***************
*** 228,234 ****
--- 234,249 ----
          self["pos"] = (x, y)
  
+     def set_pos(self, pos):
+         self.move(pos)
+ 
+     def get_pos(self):
+         return self["pos"]
+ 
      def set_color(self, r = None, g = None, b = None, a = None):
          self["color"] = (r, g, b, a)
  
+     def get_color(self):
+         return self["color"]
+ 
      def show(self):
          self.set_visible(True)
***************
*** 240,254 ****
          self["visible"] = visible
  
      def set_layer(self, layer):
          self["layer"] = layer
  
      def resize(self, size):
          self["size"] = size
  
! 
!     def clip(self, pos = (0, 0), size = (-1, -1), color = None):
!         assert( pos != (0, 0) and -1 not in size )
!         # TODO: implement me (needs support in kaa-evas first).
! 
  
      def get_size(self):
--- 255,272 ----
          self["visible"] = visible
  
+     def get_visible(self):
+         return self["visible"]
+ 
      def set_layer(self, layer):
          self["layer"] = layer
  
+     def get_layer(self):
+         return self["layer"]
+ 
      def resize(self, size):
          self["size"] = size
  
!     def set_size(self, size):
!         self.resize(size)
  
      def get_size(self):
***************
*** 257,260 ****
--- 275,283 ----
          return self["size"]
  
+     def clip(self, pos = (0, 0), size = (-1, -1), color = None):
+         assert( pos != (0, 0) and -1 not in size )
+         # TODO: implement me (needs support in kaa-evas first).
+ 
+ 
      def get_name(self):
          return self["name"]
***************
*** 262,267 ****
      def set_name(self, name):
          self["name"] = name
-         if self._canvas:
-             self._canvas._register_object_name(name, self)
  
  
--- 285,288 ----
***************
*** 282,285 ****
--- 303,318 ----
              child._uncanvased()
  
+     def _set_property_generic(self, key, value):
+         if key not in ("name",):
+             self._queue_children_sync_property(key)
+         super(CanvasContainer, self)._set_property_generic(key, value)
+ 
+     def _queue_children_sync_property(self, prop):
+         for child in self._children:
+             if type(child) == CanvasContainer:
+                 child._queue_children_sync_property(prop)
+             else:
+                 child._changed_since_sync[prop] = True
+ 
      def _inc_properties_serial(self):
          super(CanvasContainer, self)._inc_properties_serial()



-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP, 
AMD, and NVIDIA.  To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to