Skip to content
Snippets Groups Projects
Commit b907e234 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

+ delete_at fcts

parent ce6d0da0
No related branches found
No related tags found
1 merge request!2359Use same tree view with delegate for datafiles, samples, and instruments. Also move some code between GUI/View directories. Restore Py wrappers lost in previous MR.
......@@ -70,8 +70,15 @@ public:
return;
}
}
T* release_at(size_t i)
void delete_at(size_t i)
{
if (i >= m_v.size())
return;
delete m_v[i];
m_v.erase(m_v.begin() + i);
return;
}
T* release_at(size_t i) // TODO rm
{
if (i >= m_v.size())
return nullptr;
......
......@@ -49,8 +49,17 @@ void DatafilesQModel::removeDatafileItem(DatafileItem* item)
return;
const int row = m_items.indexOf(item);
beginRemoveRows(indexOfHeadline(), row, row);
m_items.removeAll(item);
m_model->deleteDatafileItem(item);
m_items = m_model->dfileItems();
endRemoveRows();
}
void DatafilesQModel::removeDatafileItemAt(int row)
{
ASSERT(0 <= row && row < m_items.size());
beginRemoveRows(indexOfHeadline(), row, row);
m_model->deleteDatafileItemAt(row);
m_items = m_model->dfileItems();
endRemoveRows();
}
......
......@@ -30,6 +30,7 @@ public:
bool setData(const QModelIndex& index, const QVariant& value, int role) override;
void injectDatafileItem(DatafileItem* item);
void removeDatafileItem(DatafileItem* item);
void removeDatafileItemAt(int row);
QModelIndex index(int row, int column, const QModelIndex& parent = {}) const override;
QModelIndex parent(const QModelIndex& index) const override;
......
......@@ -44,6 +44,11 @@ void DatafilesSet::deleteDatafileItem(DatafileItem* dfi)
m_dfile_items.delete_element(dfi);
}
void DatafilesSet::deleteDatafileItemAt(int index)
{
m_dfile_items.delete_at(index);
}
void DatafilesSet::clear()
{
m_dfile_items.clear();
......
......@@ -33,6 +33,7 @@ public:
void appendDatafileItem(DatafileItem* dfi);
void deleteDatafileItem(DatafileItem* dfi);
void deleteDatafileItemAt(int index);
void clear();
void readFrom(QXmlStreamReader* r);
void readDatafiles(const QString& projectDir, MessageService* messageService);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment