MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / removeTasksFromTable

Method removeTasksFromTable

Gui/ProgressPanel.cpp:337–379  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

335}
336
337void
338ProgressPanel::removeTasksFromTable(const std::list<ProgressTaskInfoPtr>& tasks)
339{
340 std::vector<TableItem*> table;
341 std::vector<ProgressTaskInfoPtr> newOrder;
342
343 {
344 QMutexLocker k(&_imp->tasksMutex);
345 for (std::list<ProgressTaskInfoPtr>::const_iterator it = tasks.begin(); it != tasks.end(); ++it) {
346 TasksMap::iterator foundInMap = _imp->tasks.find( (*it)->getNode() );
347 if ( foundInMap != _imp->tasks.end() ) {
348 (*it)->clearItems();
349 _imp->tasks.erase(foundInMap);
350 }
351 }
352 int rc = _imp->view->rowCount();
353 int cc = _imp->view->columnCount();
354 assert( (int)_imp->tasksOrdered.size() == rc );
355
356 for (int i = 0; i < rc; ++i) {
357 std::list<ProgressTaskInfoPtr>::const_iterator foundSelected = std::find(tasks.begin(), tasks.end(), _imp->tasksOrdered[i]);
358 _imp->tasksOrdered[i]->removeCellWidgets(i, _imp->view);
359 if ( foundSelected != tasks.end() ) {
360 continue;
361 }
362 for (int j = 0; j < cc; ++j) {
363 table.push_back( _imp->view->takeItem(i, j) );
364 }
365
366
367 newOrder.push_back(_imp->tasksOrdered[i]);
368 }
369 _imp->tasksOrdered = newOrder;
370 }
371
372 _imp->model->setTable(table);
373
374 ///Refresh custom widgets
375 for (std::size_t i = 0; i < newOrder.size(); ++i) {
376 _imp->tasksOrdered[i]->createCellWidgets();
377 _imp->tasksOrdered[i]->setCellWidgets(i, _imp->view);
378 }
379}
380
381static void
382connectProcessSlots(ProgressTaskInfo* task,

Callers

nothing calls this directly

Calls 15

clearItemsMethod · 0.80
removeCellWidgetsMethod · 0.80
takeItemMethod · 0.80
createCellWidgetsMethod · 0.80
setCellWidgetsMethod · 0.80
beginMethod · 0.45
endMethod · 0.45
findMethod · 0.45
getNodeMethod · 0.45
eraseMethod · 0.45
rowCountMethod · 0.45
columnCountMethod · 0.45

Tested by

no test coverage detected