| 21 Model::EditContext::EditContext(Model& model) : |
21 Model::EditContext::EditContext(Model& model) : |
| 22 model{model} |
22 model{model} |
| 23 { |
23 { |
| 24 } |
24 } |
| 25 |
25 |
| 26 void Model::EditContext::append(std::unique_ptr<linetypes::Object>&& object) |
26 linetypes::Id Model::EditContext::append(std::unique_ptr<linetypes::Object>&& object) |
| 27 { |
27 { |
| |
28 const linetypes::Id id = object->id; |
| |
29 this->model.objectsById[id] = object.get(); |
| 28 this->model.append(std::move(object)); |
30 this->model.append(std::move(object)); |
| |
31 return id; |
| 29 } |
32 } |
| 30 |
33 |
| 31 void Model::EditContext::setObjectProperty( |
34 void Model::EditContext::setObjectProperty( |
| 32 linetypes::Object* object, |
35 linetypes::Object* object, |
| 33 linetypes::Property property, |
36 linetypes::Property property, |
| 34 const QVariant& value) |
37 const QVariant& value) |
| 35 { |
38 { |
| 36 object->setProperty(property, value); |
39 object->setProperty(property, value); |
| 37 } |
40 } |
| |
41 |
| |
42 void Model::EditContext::invertObject(linetypes::Id id) |
| |
43 { |
| |
44 auto it = this->model.objectsById.find(id); |
| |
45 if (it != this->model.objectsById.end()) |
| |
46 { |
| |
47 linetypes::Object* object = it->second; |
| |
48 object->invert(); |
| |
49 } |
| |
50 } |