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

Method removeTasksFromTable

Gui/ProgressPanel.cpp:329–371  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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