20#include <QAbstractListModel>
22class 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;