void ContributoriesWidget::addProject(QPair<Project*, Rate>* p) { if(p == 0) { _modelProjects->append(); } else { _modelProjects->append(*p); } QTableView* view = new QTableView(); _modelsContributories << new WdgModels::ContributoriesTableModel(); view->setModel(_modelsContributories.last()); view->setEditTriggers(QAbstractItemView::DoubleClicked); view->setItemDelegateForColumn(0, new Delegates::TextareaDelegate()); view->setItemDelegateForColumn(1, new Delegates::TextareaDelegate()); view->setItemDelegateForColumn(2, new Delegates::DoubleSpinBoxDelegate()); view->setItemDelegateForColumn(3, new Delegates::UnitComboDelegate()); connect(view->itemDelegateForColumn(3), SIGNAL(closeEditor(QWidget*)), SLOT(updatePrice())); connect(view->itemDelegateForColumn(2), SIGNAL(closeEditor(QWidget*)), SLOT(updatePrice())); connect(view->itemDelegateForColumn(1), SIGNAL(closeEditor(QWidget*)), SLOT(updatePrice())); ui->stack->insertWidget(ui->stack->count(), view); responsiveContributoriesTable(view); emit updateUi(); }