20 #include <QAbstractListModel> 22 class PromptsModel :
public QAbstractListModel
26 Q_PROPERTY(
int count READ rowCount NOTIFY countChanged)
29 enum PromptsModelRoles {
30 TypeRole = Qt::UserRole,
33 Q_ENUM(PromptsModelRoles)
44 explicit PromptsModel(QObject* parent=0);
46 PromptsModel& operator=(const PromptsModel &other);
48 int rowCount(const QModelIndex &parent = QModelIndex()) const override;
49 QVariant data(const QModelIndex &index,
int role = Qt::DisplayRole) const override;
50 QHash<
int, QByteArray> roleNames() const override;
52 Q_INVOKABLE
void prepend(const QString &text, PromptType type);
53 Q_INVOKABLE
void append(const QString &text, PromptType type);
57 bool hasPrompt() const;
68 QList<PromptInfo> m_prompts;
69 QHash<int, QByteArray> m_roleNames;