Go to the documentation of this file.
22 #ifndef ExprCompletionModel_h
23 #define ExprCompletionModel_h
25 #include <QtCore/QAbstractItemModel>
26 #include <QtCore/QString>
27 #include <QtCore/QSize>
35 void addFunction(
const QString&
function,
const QString& docString);
39 void addVariable(
const QString& str,
const QString& comment);
46 QModelIndex
index(
int row,
int column,
const QModelIndex&)
const {
return createIndex(row, column,
nullptr); }
48 QModelIndex
parent(
const QModelIndex&)
const {
return QModelIndex(); }
62 size_t newline = all.find(
"\n");
63 if (newline != std::string::npos)
64 return QString(all.substr(0, newline).c_str());
66 return QString(all.c_str());
69 QVariant
data(
const QModelIndex&
index,
int role = Qt::DisplayRole)
const;
71 QVariant
headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole)
const {
72 Q_UNUSED(orientation);
73 if (role == Qt::DisplayRole)
75 else if (role == Qt::SizeHintRole) {
77 return QVariant(QSize(100, 1));
79 return QVariant(QSize(200, 1));
QString getDocString(const QString &s)
int columnCount(const QModelIndex &parent) const
QString getFirstLine(const std::string &all) const
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
int rowCount(const QModelIndex &parent=QModelIndex()) const
std::map< QString, int > functionNameToFunction
std::vector< QString > functions_comment
std::vector< QString > local_variables
void addVariable(const QString &str, const QString &comment)
QModelIndex index(int row, int column, const QModelIndex &) const
ExprCompletionModel(QObject *parent=0)
QModelIndex parent(const QModelIndex &) const
std::vector< QString > variables
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const
std::vector< QString > functions
static std::vector< QString > builtins
void addFunction(const QString &function, const QString &docString)
std::vector< QString > variables_comment
void syncExtras(const ExprCompletionModel &otherModel)