AusweisApp2
SectionModel.h
gehe zur Dokumentation dieser Datei
1 /*
2  * \copyright Copyright (c) 2018-2021 Governikus GmbH & Co. KG, Germany
3  */
4 
5 #pragma once
6 
7 #include "ContentItem.h"
8 
9 #include <QAbstractListModel>
10 #include <QSharedPointer>
11 #include <QString>
12 #include <QStringList>
13 #include <QVector>
14 
15 class test_DiagnosisModel;
16 
17 
18 namespace governikus
19 {
20 
22  : public QAbstractListModel
23 {
24  Q_OBJECT
25 
26  enum ContentRoles
27  {
28  TitleRole = Qt::UserRole + 1,
29  ContentRole
30  };
31 
32  private:
33  friend class ::test_DiagnosisModel;
34  QVector<QSharedPointer<ContentItem>> mContentItems;
35 
36  public:
37  explicit SectionModel(QObject* pParent = nullptr);
38 
39  [[nodiscard]] QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
40  [[nodiscard]] int rowCount(const QModelIndex& pParent = QModelIndex()) const override;
41  [[nodiscard]] QHash<int, QByteArray> roleNames() const override;
42 
43  void addItem(const QString& pTitle, const QString& pContent);
44  void addItem(const QSharedPointer<ContentItem>& pContentItem);
45  void addItemWithoutTitle(const QString& pContent);
46  void addTitleWithoutContent(const QString& pTitle);
47  [[nodiscard]] bool contains(const QSharedPointer<ContentItem>& pContentItem) const;
48  void removeAllItems();
49  void emitDataChangedForItem(const QSharedPointer<ContentItem>& pItem);
50  void replaceWithSections(QVector<QSharedPointer<SectionModel>> pSections);
51  [[nodiscard]] QStringList getAsPlaintext(const QString& pPrependString = QString()) const;
52 };
53 
54 } // namespace governikus
governikus::SectionModel::SectionModel
SectionModel(QObject *pParent=nullptr)
Definition: SectionModel.cpp:11
governikus::SectionModel::replaceWithSections
void replaceWithSections(QVector< QSharedPointer< SectionModel >> pSections)
Definition: SectionModel.cpp:120
governikus::SectionModel::addItemWithoutTitle
void addItemWithoutTitle(const QString &pContent)
Definition: SectionModel.cpp:84
governikus::SectionModel::data
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition: SectionModel.cpp:18
governikus::SectionModel::contains
bool contains(const QSharedPointer< ContentItem > &pContentItem) const
Definition: SectionModel.cpp:96
governikus::SectionModel::addTitleWithoutContent
void addTitleWithoutContent(const QString &pTitle)
Definition: SectionModel.cpp:90
governikus::SectionModel
Definition: SectionModel.h:23
governikus::SectionModel::roleNames
QHash< int, QByteArray > roleNames() const override
Definition: SectionModel.cpp:60
governikus::SectionModel::rowCount
int rowCount(const QModelIndex &pParent=QModelIndex()) const override
Definition: SectionModel.cpp:53
ContentItem.h
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
SectionModel.h
governikus::SectionModel::addItem
void addItem(const QString &pTitle, const QString &pContent)
Definition: SectionModel.cpp:70
governikus::SectionModel::emitDataChangedForItem
void emitDataChangedForItem(const QSharedPointer< ContentItem > &pItem)
Definition: SectionModel.cpp:113
governikus::SectionModel::getAsPlaintext
QStringList getAsPlaintext(const QString &pPrependString=QString()) const
Definition: SectionModel.cpp:138
governikus::SectionModel::removeAllItems
void removeAllItems()
Definition: SectionModel.cpp:102