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

DfQMod + std fcts

parent 4537edb2
No related branches found
No related tags found
1 merge request!2391revise DfItem ctd
......@@ -38,6 +38,10 @@ public:
void writeTo(QXmlStreamWriter* w) const;
void writeDatafiles(const QString& projectDir) const;
signals:
void setChanged() const;
void currentModified() const;
private:
QVector<DataItem*> dataItems() const;
......
......@@ -59,6 +59,31 @@ QVariant DatafilesQModel::data(const QModelIndex& index, int role) const
}
}
void DatafilesQModel::deleteItem()
{
const size_t row = set()->currentIndex();
ASSERT(row != size_t(-1));
beginRemoveRows({}, row, row);
set()->delete_current();
endRemoveRows();
emit set()->setChanged();
}
QModelIndex DatafilesQModel::pushItem(DatafileItem* t)
{
if (!t)
return {};
const size_t row = set()->size();
beginInsertRows({}, row, row);
set()->push_back(t);
endInsertRows();
emit set()->setChanged();
return createIndex(row, 0);
}
void DatafilesQModel::injectDatafileItem(DatafileItem* t)
{
const int row = set()->size();
......
......@@ -32,15 +32,14 @@ public:
int rowCount(const QModelIndex& parent = {}) const override;
QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
void deleteItem();
QModelIndex pushItem(DatafileItem*);
DatafileItem* itemForIndex(const QModelIndex& index);
QModelIndex indexForItem(const DatafileItem* item) const;
const DatafileItem* topMostItem() const; //!< The topmost visible item. Can be null.
bool isHeadline(const QModelIndex&) const { return false; }
void deleteItem();
QModelIndex cloneItem();
QModelIndex pushItem(DatafileItem*);
private:
DatafilesSet* set();
const DatafilesSet* set() const;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment