void gTree::clear() { char *key; while ((key = firstRow())) removeRow(key); }
SessionView::SessionView(QWidget *parent) : Utils::TreeView(parent) { setItemDelegate(new RemoveItemFocusDelegate(this)); setSelectionBehavior(QAbstractItemView::SelectRows); setSelectionMode(QAbstractItemView::SingleSelection); setWordWrap(false); setRootIsDecorated(false); setModel(&m_sessionModel); // Ensure that the full session name is visible. header()->setSectionResizeMode(0, QHeaderView::ResizeToContents); QItemSelection firstRow(m_sessionModel.index(0,0), m_sessionModel.index( 0, m_sessionModel.columnCount() - 1)); selectionModel()->select(firstRow, QItemSelectionModel::QItemSelectionModel:: SelectCurrent); connect(this, &Utils::TreeView::activated, [this](const QModelIndex &index){ emit activated(m_sessionModel.sessionAt(index.row())); }); connect(selectionModel(), &QItemSelectionModel::currentRowChanged, [this] (const QModelIndex &index) { emit selected(m_sessionModel.sessionAt(index.row())); }); connect(&m_sessionModel, &SessionModel::sessionSwitched, this, &SessionView::sessionSwitched); connect(&m_sessionModel, &SessionModel::modelReset, this, &SessionView::selectActiveSession); connect(&m_sessionModel, &SessionModel::sessionCreated, this, &SessionView::selectSession); }
size_t LevenshteinCalculator::compareWithTwoMatrixRows(const string& obj) { vector<size_t> firstRow(obj.length() + 1); vector<size_t> secondRow(obj.length() + 1); for(size_t i = 0; i < obj.length() + 1; i++){ secondRow[i] = i; } //#pragma omp parallel for for (size_t i = 0; i < _compareSource.length(); i++){ firstRow[0] = i + 1; //#pragma omp parallel for for(int j = 0; j < obj.length(); j++){ int cost = (_compareSource[i] == obj[j]) ? 0 : 1; firstRow[j + 1] = min({firstRow[j] + 1, secondRow[j + 1] + 1, secondRow[j] + cost}); } firstRow.swap(secondRow); } return secondRow[obj.length()]; }