Sun, 03 Nov 2019 18:17:08 +0200
split quadrilateral and triangle into their own source files
#include <QBrush> #include <QFont> #include "model.h" #include "modeleditcontext.h" Model::Model() { } int Model::size() const { return this->body.size(); } Model::EditContext Model::edit() { return {*this}; } int Model::rowCount(const QModelIndex&) const { return size(); } QVariant Model::data(const QModelIndex& index, int role) const { const int row = index.row(); linetypes::Object* object = this->body[row].get(); switch(role) { case Qt::DisplayRole: return object->textRepresentation(); case Qt::ForegroundRole: return object->textRepresentationForeground(); case Qt::BackgroundRole: return object->textRepresentationBackground(); case Qt::FontRole: return object->textRepresentationFont(); default: return {}; } } QVariant Model::getHeaderProperty(const HeaderProperty property) { switch (property) { case HeaderProperty::Name: return header.name; default: return {}; } } QVariant Model::getObjectProperty(const int index, const linetypes::Property property) const { const linetypes::Object* object = this->body[index].get(); return object->getProperty(property); } void Model::append(ModelObjectPointer&& object) { this->body.push_back(std::move(object)); }