src/model.h

changeset 13
6e838748867b
parent 12
fe67489523b5
child 14
20d2ed3af73d
equal deleted inserted replaced
12:fe67489523b5 13:6e838748867b
21 EditContext edit(); 21 EditContext edit();
22 int rowCount(const QModelIndex&) const override; 22 int rowCount(const QModelIndex&) const override;
23 QVariant data(const QModelIndex& index, int role) const override; 23 QVariant data(const QModelIndex& index, int role) const override;
24 QVariant getHeaderProperty(const HeaderProperty property); 24 QVariant getHeaderProperty(const HeaderProperty property);
25 const QString& getName() const; 25 const QString& getName() const;
26 QVariant getObjectProperty(const int index, const modelobjects::Property property) const; 26 QVariant getObjectProperty(const int index, const linetypes::Property property) const;
27 signals: 27 signals:
28 void objectAdded(modelobjects::Id id, int position); 28 void objectAdded(linetypes::Id id, int position);
29 private: 29 private:
30 using ModelObjectPointer = std::unique_ptr<modelobjects::BaseObject>; 30 using ModelObjectPointer = std::unique_ptr<linetypes::Object>;
31 template<typename T, typename... Args> 31 template<typename T, typename... Args>
32 T* append(Args&&... args); 32 T* append(Args&&... args);
33 void append(ModelObjectPointer&& object); 33 void append(ModelObjectPointer&& object);
34 template<typename T, typename... Args> 34 template<typename T, typename... Args>
35 T* insert(int position, Args&&... args); 35 T* insert(int position, Args&&... args);
36 bool modified = false; 36 bool modified = false;
37 QString path; 37 QString path;
38 LDHeader header; 38 LDHeader header;
39 std::vector<ModelObjectPointer> body; 39 std::vector<ModelObjectPointer> body;
40 std::map<modelobjects::Id, modelobjects::BaseObject*> objectsById; 40 std::map<linetypes::Id, linetypes::Object*> objectsById;
41 }; 41 };
42 42
43 template<typename T, typename... Args> 43 template<typename T, typename... Args>
44 T* Model::append(Args&&... args) 44 T* Model::append(Args&&... args)
45 { 45 {

mercurial