Merge pull request #31 from gfgit/work/object_list_removed
model: HACK to let client refresh after object is removed
Dieser Commit ist enthalten in:
Commit
312950c28c
@ -153,6 +153,12 @@ class ObjectList : public AbstractObjectList
|
||||
m_propertyChanged.erase(object.get());
|
||||
m_items.erase(it);
|
||||
rowCountChanged();
|
||||
|
||||
uint32_t row = std::distance(m_items.begin(), it);
|
||||
for(auto& model : m_models)
|
||||
{
|
||||
model->rowRemovedHack(row);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@ -53,6 +53,17 @@ void TableModel::setRegion(const Region& value)
|
||||
}
|
||||
}
|
||||
|
||||
void TableModel::rowRemovedHack(uint32_t row)
|
||||
{
|
||||
//Hack, tell clients to refresh from row onwards
|
||||
Region update = m_region;
|
||||
if(update.rowMin <= row && update.rowMax >= row)
|
||||
{
|
||||
update.rowMin = row;
|
||||
updateRegion(shared_ptr<TableModel>(), update);
|
||||
}
|
||||
}
|
||||
|
||||
void TableModel::setColumnHeaders(std::vector<std::string_view> values)
|
||||
{
|
||||
m_columnHeaders = std::move(values);
|
||||
|
||||
@ -110,6 +110,8 @@ class TableModel : public Object
|
||||
virtual std::string getText(uint32_t column, uint32_t row) const = 0;
|
||||
|
||||
void setRegion(const Region& value);
|
||||
|
||||
void rowRemovedHack(uint32_t row);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Laden…
x
In neuem Issue referenzieren
Einen Benutzer sperren