Envision
A visual programming IDE for object-oriented languages
|
Public Types | |
enum class | ExtraArguments : int { Default , QueryExecutor } |
Public Member Functions | |
QStringList | aliasQueries () const |
std::unique_ptr< Query > | buildQuery (const QString &command, Model::Node *target, QStringList args, QueryExecutor *executor) |
QStringList | registeredQueries () const |
QStringList | scriptQueries () const |
Static Public Member Functions | |
static QueryRegistry & | instance () |
template<typename QueryType , typename ... ForwardArguments> | |
static void | registerQuery (const QString &name, ForwardArguments... forwardArguments) |
template<typename QueryType , ExtraArguments extras, class ... ForwardArguments> | |
static void | registerQuery (const QString &name, ForwardArguments... forwardArguments) |
Private Types | |
using | QueryConstructor = std::function< std::unique_ptr< Query >(Model::Node *, QStringList, QueryExecutor *, QString)> |
Private Member Functions | |
QueryRegistry ()=default | |
std::unique_ptr< Query > | tryBuildQueryFromAlias (const QString &name, Model::Node *target, QStringList args, QueryExecutor *executor) |
std::unique_ptr< Query > | tryBuildQueryFromScript (const QString &name, Model::Node *target, QStringList args, QueryExecutor *executor) |
Private Attributes | |
QHash< QString, QueryConstructor > | constructors_ |
QString | scriptLocation_ {"scripts/"} |
|
private |
|
strong |
|
privatedefault |
QStringList InformationScripting::QueryRegistry::aliasQueries | ( | ) | const |
std::unique_ptr< Query > InformationScripting::QueryRegistry::buildQuery | ( | const QString & | command, |
Model::Node * | target, | ||
QStringList | args, | ||
QueryExecutor * | executor | ||
) |
|
static |
|
inline |
|
inlinestatic |
|
inlinestatic |
QStringList InformationScripting::QueryRegistry::scriptQueries | ( | ) | const |
|
private |
|
private |
|
private |
|
private |