gcompris r3752 - branches/gcomprixogoo/src/anim-activity
- From: bcoudoin svn gnome org
- To: svn-commits-list gnome org
- Subject: gcompris r3752 - branches/gcomprixogoo/src/anim-activity
- Date: Sun, 1 Mar 2009 14:15:48 +0000 (UTC)
Author: bcoudoin
Date: Sun Mar 1 14:15:48 2009
New Revision: 3752
URL: http://svn.gnome.org/viewvc/gcompris?rev=3752&view=rev
Log:
Properly manage the delete item (now deletes the item up to the end)
and removes it from the list of items.
Modified:
branches/gcomprixogoo/src/anim-activity/AnimItem.py
branches/gcomprixogoo/src/anim-activity/anim.py
Modified: branches/gcomprixogoo/src/anim-activity/AnimItem.py
==============================================================================
--- branches/gcomprixogoo/src/anim-activity/AnimItem.py (original)
+++ branches/gcomprixogoo/src/anim-activity/AnimItem.py Sun Mar 1 14:15:48 2009
@@ -92,26 +92,19 @@
self.set_visible(fromtime, sys.maxint)
# Mark this object to be deleted at the given time
- def delete_at_time_to_end(self, time):
- index = self.delete_at_time(time)
- del self.visible[index+1:]
-
- # Mark this object to be deleted at the given time
- # Return the index of the delete item in self.visible
def delete_at_time(self, time):
index = 0
for index in range(0, len(self.visible)):
# It's the set start
if self.visible[index][0] == time:
- self.visible[index] = \
- (self.visible[index][0] + 1,
- self.visible[index][1])
+ del self.visible[index:]
break
# It's the set end
elif self.visible[index][1] == time:
self.visible[index] = \
(self.visible[index][0],
self.visible[index][1] - 1)
+ del self.visible[index+1:]
break
# It's inside the set
elif (self.visible[index][0] <= time and
@@ -119,10 +112,9 @@
oldend = self.visible[index][1]
self.visible[index] = \
(self.visible[index][0], time - 1)
- self.visible.append((time + 1, oldend))
+ del self.visible[index+1:]
self.visible.sort()
break
- return index
# Given a timeline index, return True if it is visible
def is_visible(self, index):
@@ -220,7 +212,9 @@
def delete(self):
gcompris.sound.play_ogg("sounds/eraser1.wav",
"sounds/eraser2.wav")
- self.delete_at_time_to_end(self.anim.timeline.get_time())
+ self.delete_at_time(self.anim.timeline.get_time())
+ if not self.visible:
+ self.anim.deleteItem(self)
self.show(False)
def raise_(self):
Modified: branches/gcomprixogoo/src/anim-activity/anim.py
==============================================================================
--- branches/gcomprixogoo/src/anim-activity/anim.py (original)
+++ branches/gcomprixogoo/src/anim-activity/anim.py Sun Mar 1 14:15:48 2009
@@ -563,6 +563,12 @@
self.selected.deselect()
self.selected = None
+ # Delete the item from the unique list
+ # This is called by animitem itself when the object
+ # is no more displayed on any time lines.
+ def deleteItem(self, item):
+ self.animlist.remove(item)
+
# Main callback on item comes here first
# And are then dispatched to the proper functions
def item_event(self, item, target, event):
@@ -672,7 +678,7 @@
def refresh(self, time):
# We keep all object in a unique list
- # Here we order them to refresh them for the given time
+ # Here we order them to refresh them at the given time
for item in self.animlist:
item.display_at_time(time)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]