-class AnnotationCollectionItem
-{
-public:
- AnnotationCollectionItem(const vector<QVariant>& data,
- shared_ptr<AnnotationCollectionItem> parent = nullptr);
-
- void appendSubItem(shared_ptr<AnnotationCollectionItem> item);
-
- shared_ptr<AnnotationCollectionItem> subItem(int row) const;
- shared_ptr<AnnotationCollectionItem> parent() const;
- shared_ptr<AnnotationCollectionItem> findSubItem(const QVariant& value, int column);
-
- int subItemCount() const;
- int columnCount() const;
- int row() const;
- QVariant data(int column) const;
-
-private:
- vector< shared_ptr<AnnotationCollectionItem> > subItems_;
- vector<QVariant> data_;
- shared_ptr<AnnotationCollectionItem> parent_;
-};
-
-
-class AnnotationCollectionModel : public QAbstractItemModel