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));
std::vector< QString > local_variables
static std::vector< QString > builtins
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const
std::vector< QString > functions
std::vector< QString > variables
std::vector< QString > functions_comment
int columnCount(const QModelIndex &parent) const
QString getFirstLine(const std::string &all) const
QModelIndex index(int row, int column, const QModelIndex &) const
QString getDocString(const QString &s)
void syncExtras(const ExprCompletionModel &otherModel)
void addVariable(const QString &str, const QString &comment)
QModelIndex parent(const QModelIndex &) const
std::vector< QString > variables_comment
void addFunction(const QString &function, const QString &docString)
int rowCount(const QModelIndex &parent=QModelIndex()) const
std::map< QString, int > functionNameToFunction
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const