| 322 | } |
| 323 | |
| 324 | void |
| 325 | TrackerContext::insertMarker(const TrackMarkerPtr& marker, |
| 326 | int index) |
| 327 | { |
| 328 | { |
| 329 | QMutexLocker k(&_imp->trackerContextMutex); |
| 330 | assert(index >= 0); |
| 331 | if ( index >= (int)_imp->markers.size() ) { |
| 332 | _imp->markers.push_back(marker); |
| 333 | } else { |
| 334 | std::vector<TrackMarkerPtr >::iterator it = _imp->markers.begin(); |
| 335 | std::advance(it, index); |
| 336 | _imp->markers.insert(it, marker); |
| 337 | } |
| 338 | } |
| 339 | declareItemAsPythonField(marker); |
| 340 | Q_EMIT trackInserted(marker, index); |
| 341 | } |
| 342 | |
| 343 | void |
| 344 | TrackerContext::removeMarker(const TrackMarkerPtr& marker) |