Changeset 1788
- Timestamp:
- 07/30/07 01:14:15 (1 year ago)
- Files:
-
- gaphas/trunk/gaphas/canvas.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
gaphas/trunk/gaphas/canvas.py
r1786 r1788 436 436 # some item's can be marked dirty due to external constraints 437 437 # solving; 438 # Only items that have not yet been updates receive a pre_update. 438 439 # NOTE: no matrix can change during constraint solving 440 441 assert not self._dirty_matrix_items, 'No matrices may have been marked dirty (%s)' % (self._dirty_matrix_items,) 442 439 443 if self._dirty_items: 440 c_dirty_items = sort(self._dirty_items, reverse=True) 444 445 c_dirty_items = sort(self._dirty_items.difference(dirty_items), reverse=True) 446 447 self._pre_update_items(c_dirty_items, cr) 448 441 449 self._dirty_items.clear() 442 450 443 self._pre_update_items(c_dirty_items, cr)444 445 # TODO: sort dirty_items and c_dirty_items (with no446 # duplicates in dirty_items) using some nice merge447 # algorithm448 451 dirty_items.extend(c_dirty_items) 449 452 dirty_items = sort(set(dirty_items), reverse=True) 450 453 454 # Also matrices may change due to an update. 455 if self._dirty_matrix_items: 456 dirty_matrix_items.update(self.update_matrices(self._dirty_matrix_items)) 457 self._dirty_matrix_items.clear() 458 459 assert not self._dirty_items, 'No items may have been marked dirty (%s)' % (self._dirty_matrix_items,) 460 assert not self._dirty_matrix_items, 'No matrices may have been marked dirty (%s)' % (self._dirty_matrix_items,) 451 461 452 462 # normalize items, which changed after constraint solving; 453 # store those items, wh ichmatrices changed463 # store those items, whose matrices changed 454 464 normalized_items = self._normalize(dirty_items) 455 465 456 466 # recalculate matrices of normalized items 457 dirty_matrix_items.update(self.update_matrices(normalized_items)) 467 #dirty_matrix_items.update(self.update_matrices(normalized_items)) 468 self.update_matrices(normalized_items) 458 469 459 470 self._post_update_items(dirty_items, cr) 471 472 assert not self._dirty_items, 'No items may have been marked dirty (%s)' % (self._dirty_matrix_items,) 473 assert not self._dirty_matrix_items, 'No matrices may have been marked dirty (%s)' % (self._dirty_matrix_items,) 460 474 461 475 finally:
