- print minMovedPos, maxMovedPos, targetPos
- print "déposé entre la première et la dernière de la sélection"
- raise NotImplementedError()
+ # selection moved between the first and last item positions
+ pos = minMovedPos
+ # move items placed between the first item position and the target position
+ for id in IndexIterator(pos2id, minMovedPos+1, targetPos) :
+ id2posUpdate[id] = pos
+ pos2idUpdate[pos] = id
+ pos += 1
+ # move selected items
+ for id in ids :
+ id2posUpdate[id] = pos
+ pos2idUpdate[pos] = id
+ pos += 1
+ # move items positioned between the target position and the moved item max position
+ for id in IndexIterator(pos2id, targetPos+1, maxMovedPos) :
+ id2posUpdate[id] = pos
+ pos2idUpdate[pos] = id
+ pos += 1
+