-
BogDan Vatra authored
This patch allows a plugin to insert custom imports. These imports are used by QtC for syntax highlighting and code completion. This way a plugin can register types and objects that are available only at runtime. This is an example of an imports function implementation: QList<Import> MyPlugin::imports(ValueOwner *valueOwner, const Document *context) const { // context is needed to know from which project is the opened document // in this example we don't care about multiple projects Import import; import.object = new QmlJS::ObjectValue(valueOwner, "<defaults>"); import.valid = true; const ComponentVersion version(1, 0); import.info = ImportInfo::moduleImport("MyPlugin", version, QString()); auto myType = valueOwner->newObject(nullptr) myType->setMember("myProperty", valueOwner->valueOwner->intValue()); // add more properties & methods/signals to myType import.object->setMember("MyType", myType); // in this example we return only one, but you care return more than one return QList<Import>(import); } Change-Id: I395c273c7b15a9e4ed5a89a81d70ff92db2b7c0c Reviewed-by: Marco Benelli <marco.benelli@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
28d2b161