aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | Host and use our own copy of "virtualenv --relocatable"Dominik Holland2020-02-198-10/+406
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With virtualenv 20, the --relocatable flag got removed and causes build failures in QtIvi. As we still need this functionality for making our virtualenv work after 'make install', we copied the legacy code and converted it into a standalone python script which does the job for now. With virtualenv 20 the complete deploy mechanism changed and is now based on top on venv. To make the new environment relocatable we need to copy additional files as well as read the pyvenv.cfg instead of the old-prefix.txt Change-Id: Ib77bbd2a1c959693bf1ae6ca478086ce2c848036 Fixes: AUTOSUITE-1482 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| | * | Update qface to version 2.0.3Dominik Holland2020-02-193-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes sure pinned versions are used when installing all python dependencies, which is needed as a recent jinja update causes problems. Change-Id: If0aac2749b28a67b7a9b59d087950b82c4ac4a34 Fixes: AUTOSUITE-1440 Reviewed-by: Vladimir Minenko <vladimir.minenko@pelagicore.com> Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-02-01177-1395/+3571
|/| | | | |/ / | | | | | | Change-Id: I8802ae6a42e8ceba42534759fb8be696ba56e4f6
| * | Fix building without widgetsDominik Holland2020-01-299-13/+14
| | | | | | | | | | | | | | | Change-Id: I6442a6c1db7724febac1afffd52221d96adb8309 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | ivigenerator: Report an error for 'unsupported' types within qface filesDominik Holland2020-01-241-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | E.g. Using interfaces as properties or arguments is currently not supported. This change checks the parsed system before starting the autogenerator for the types 'interface' and 'maps' and reports an error Change-Id: I2288e56e4f59d4d2e9f69ea46db86d93cfe89e58 Fixes: AUTOSUITE-1293 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | Fix compilation warnings when using Qt 5.14Dominik Holland2020-01-242-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | The used API is now deprecated, but as the replacement was also introduced with 5.14, we need to ifdef the usage to stay compatible with older versions. Change-Id: I6bae0684274b7255e6e12916499524225ab8d3af Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | doc: Fix doc warningsDominik Holland2020-01-225-10/+14
| | | | | | | | | | | | | | | Change-Id: I45bda8e81022f09ff612b0dcabe9e47b75ece238 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | ivigenerator: Fix python code styleDominik Holland2020-01-225-76/+124
| | | | | | | | | | | | | | | Change-Id: I2158700d533f5412e95108985ce300f37ac4fad3 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | ivigenerator: Fix the jinja_error global functionDominik Holland2020-01-221-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When splitting the generator into multiple files, the needed imports were not added to global_function.py. This also retrieves the current qface file from the jinja context, instead of using a global variable. Change-Id: I7ec608e758a69192d360404623f6a6f54908f29c Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | ivigenerator: Improve the autogenerated simulationDominik Holland2020-01-212-50/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because the simulationData contains only the data which has an annotation configuring the data in the qface file, it was possible that trying to access the settings for a property from the simulation returned 'undefined' which caused an QML warning giving this to C++. The generated code uses now a different structure to prevent checking the settings, when no settings are available. Change-Id: I3d2ade32195683a32d01af1852ffabe0cf0a39f2 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | simulation: Fix struct initialization using JSON dictionariesDominik Holland2020-01-212-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using a list of values to fill all members, it is also possible to use a dictionary, which is more expressive. This fixes the conversion function and adds an autotest for it. Change-Id: I7b817a26622f95c7e9fe4d3ff853310c5ad87f32 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | Improve test coverage of the simulation engineDominik Holland2020-01-2111-7/+612
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds tests for the parsing and overriding simulation data, as well as tests for intepreting the values using the QIviSimulationGlobalObject. It also fixes the bugs find while writing these tests. Change-Id: I76269198523f9c75eefb9a9dbc5244e682e4a9f0 Fixes: AUTOSUITE-1381 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | android: Adapt plugin loading to the new deployment mechanismDominik Holland2020-01-171-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Plugins are now also part of the libs folder and the plugin type is part of the filename. Change-Id: I3feb5b2a3e030cfc8532cedcf54d0f203f159f91 Fixes: AUTOSUITE-1408 Reviewed-by: Egor Nemtsev <enemtsev@luxoft.com>
| * | Merge remote-tracking branch 'origin/5.13' into 5.14Dominik Holland2020-01-1725-89/+168
| |\| | | | | | | | | | Change-Id: I0a79176763ca001072d41f377869854e1982e4e7
| | * QIviPagingModel: Only use the onCountChanged slot in DataChanged modeDominik Holland2020-01-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only in the DataChanged mode we want to use the onCountChanged signal from the backend to fill the model with placeholders, as the new fetched Data will replace these. This fixes the check to ignore the signal as long as the FetchMore mode is used. Change-Id: I323f6f1c04d7386a5ca35d1bdd3ab2cff13bacdd Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| | * simulation: Fix unknown function in QIviConcreteWindowControlSimulation.qmlDominik Holland2020-01-151-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | The constraint_string() function doesn't exist, instead we need to use constraint(). Change-Id: I299e6bd7e71a32cb48c0c8d69ad26f054d4094a3 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| | * Also register all basic PendingReply type on QCoreApplication startupDominik Holland2020-01-142-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | This is needed as otherwise a QPendingReply is not accepted as a return value of a function called from QML. Change-Id: Iaaed897aa0c49874e705779032d4cd14d4664998 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| | * Register all basic PendingReply types on the first useDominik Holland2020-01-141-12/+15
| | | | | | | | | | | | | | | Change-Id: I50b0b4bbe98272c2a6d617f7b7c62cb906d6fe81 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| | * Fix compilation warningsDominik Holland2020-01-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | This partially cherry-picks: 6e329be7d833279f3e616fb975de89332d3b97c1 Change-Id: I84e329d27828c740a57cf95545a0a1e45cd0ad6a Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| | * Fix qtivi_convertFromJSON to correctly parse enums in simulationDataDominik Holland2020-01-101-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | This also adds a meaningful error message in case the class providing the enum is not registered to the meta type system. Change-Id: Id0f64df44b37926ee55c33b4663498512f8923df Fixes: AUTOSUITE-1403 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| | * doc: Various doc fixesDominik Holland2020-01-0910-15/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Added a link to the Generator Tutorial to the front page * Added a short paragraph about RPATH linking to the tutorial * Fixed linking warnings Change-Id: I085ddbe5c0e9939e2e22ae7188c307fae52f77b2 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| | * ivigenerator: Fix iterating over the items of a model inside a simulationDominik Holland2019-12-175-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From inside the QML simulation it was not possible to properly iterate over all items of a model. The missing count property is added by this commit. In addition the at() method is fixed to return the Q_GADGET based type by copy instead of returning a const ref, as QML cannot cope with that. Change-Id: Id12f05814684d3e9d482601fbaa788dc9c450df3 Fixes: AUTOSUITE-1371 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| | * Merge remote-tracking branch 'origin/5.12' into 5.13Dominik Holland2019-12-173-30/+51
| | |\ | | | | | | | | | | | | Change-Id: I9a2ff22058e273be9334d9ca5a4b86ece7d9626b
| | | * Fix creation of structs from simulationDataDominik Holland2019-12-093-30/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to a change in QtCore, it is not possible to call QMetaObject::newInstance() on Q_GADGETS anymore. Because of this, creating qface based structs from simulationData resulted in the error: QMetaObject::newInstance: type Contact does not inherit QObject This commit changes the way how the structs are created and is using QMetaType::create() instead and instead of using a constructor taking a QVariant, it invokes a private fromJSON() function, which now gets generated instead of the QVariant constructor. Fixes: AUTOSUITE-1374 Change-Id: Ibef59fcc0a209de3d98f055eaed4e4c04521575f Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| | * | Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Dominik Holland2019-12-031-0/+3
| | |\ \
| | | * | Merge remote-tracking branch 'origin/5.12' into 5.13Dominik Holland2019-12-021-0/+3
| | | |\| | | | | | | | | | | | | | | | Change-Id: I576fbcc52a2f7eb50c6303d2296f9daba16618fb
| | | | * Bump module version to 5.12.6Dominik Holland2019-11-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: AUTOSUITE-1357 Change-Id: I52e7affea70bda6416be4267149a33a6393e1627 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| | | | * geniviextras: Fix potential crash during Qt cleanup V2Kirill Mitrakhovich2019-09-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Access to static object pointer without checking. Object might be already destroyed. Change-Id: Ida459bc0e41f0b475293f2b69c44789f535df549 Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
| | | * | doc: Include the correct snippet in the qface-tutorialDominik Holland2019-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In chapter3 we included the wrong snippet for the main.cpp. Change-Id: Ia9f89e5b2ea14c82b70aee5937fd9320b980ed7f Fixes: AUTOSUITE-1351
| | | * | ivigenerator: Use QStringLiterals for string default_valuesDominik Holland2019-11-282-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For default_values in our simulation backends, QLatin1String() were generated so far, but when using these for initializing a struct with only one string property, this caused problems, as the structs are using QStrings and because of an additional QVariant constructor this caused some ambiguity for the compiler. Switching to QStringLiterals fixes this problem, as the QString constructor is used in this case. Change-Id: Iae34ef290ec5683665fdfdb75b633e748ee371f3 Fixes: AUTOSUITE-1340
| | * | | ivigenerator: Use QStringLiterals for string default_valuesDominik Holland2019-11-292-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For default_values in our simulation backends, QLatin1String() were generated so far, but when using these for initializing a struct with only one string property, this caused problems, as the structs are using QStrings and because of an additional QVariant constructor this caused some ambiguity for the compiler. Switching to QStringLiterals fixes this problem, as the QString constructor is used in this case. Change-Id: Iae34ef290ec5683665fdfdb75b633e748ee371f3 Fixes: AUTOSUITE-1340 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| | * | | doc: Include the correct snippet in the qface-tutorialDominik Holland2019-11-291-1/+1
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | In chapter3 we included the wrong snippet for the main.cpp. Change-Id: Ia9f89e5b2ea14c82b70aee5937fd9320b980ed7f Fixes: AUTOSUITE-1351 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| | * | Bump module version to 5.13.2Dominik Holland2019-11-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: AUTOSUITE-1332 Change-Id: Ie6f5f803a68b2945647973d23c9197b9fc4855e0 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| | * | docs: Minor reword to improve clarityKavindra Palaraja2019-10-291-15/+11
| | | | | | | | | | | | | | | | | | | | Change-Id: I2d65ce049de503d3b22ca15583815f8ff547a4ce Reviewed-by: Dominik Holland <dominik.holland@qt.io>
| * | | ivigenerator: Register the equals comparator of all structs to the meta type ↵Dominik Holland2020-01-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | system Change-Id: I9210fbb1ec14dd41bdc2fcc605e4288fa085b130 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | | ivicore: Discover new plugins at runtimeDominik Holland2020-01-084-41/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to the QFactoryLoader the QIviServiceManager now also supports adding new library paths after the service manager has been instantiated for the time. This is especially need for the QtApplicationManager in-process runtime as it shares the QIviServiceManager from the system-ui with the in-process apps and before there was no way the application could ship their own plugins. Change-Id: I02e7be894969993861dbe484f6358525a7e990ee Fixes: AUTOSUITE-1225 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | | Fix compilation with 5.12 and 5.13Dominik Holland2019-10-302-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This partially reverts: 6e329be7d833279f3e616fb975de89332d3b97c1 The fixes worked only with the new APIs introduced with 5.14 Change-Id: I3ca0fea099fb825894e9abf02a66b20c83c497b3 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | | ivigenerator: Improve build-system integrationDominik Holland2019-10-301-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use build-stamps for the ivigenerator run, instead of relying on the generated .pri file. Previously it could have happened that the ivigenerator stoped with an error, but already generated the .pri file. This caused 'make' to stop the build process, but on the next run the ivigenerator wasn't started again as its dependency (the .pri file) was in place and there was no need to generate again. Change-Id: I1e16bde603045625b913303c5cbe549999736abb Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | | ivimedia-simulation-server: Update wrapper and adapter to accept a custom ↵Dominik Holland2019-10-308-13/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lookupName Similar to the recent ivigenerator change, the wrappers and adapters can take the QtRO lookupName as an argument in the constructor. This makes it possible to enable remoting for multiple instances of the same class, but using different lookup names. Change-Id: I606663bbec4a03b5b183d3df94543708df1d23f9 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | | Fix all plugin class names to be unique within the moduleDominik Holland2019-10-3029-43/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The plugin class name is used to instantiate the plugin when used as static plugin and also defines the name for the cmake files to include those plugins. Using the same name sometimes caused build errors when generating the same cmake file. Change-Id: I28e6b83148d14265fb74690d2b912628446301eb Fixes: AUTOSUITE-1322 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | | ivigenerator: Use the rule YAML format from QFace 2.0Dominik Holland2019-10-3015-233/+272
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QFace 2.0 introduced a rule YAML format similar to the YAML format the ivigenerator uses to define how the files are supposed to be generated. This change ports all our existing templates to the new YAML format and deprecates the old one, but still supports it. Fixes: AUTOSUITE-1299 Change-Id: I1fd4ec0e2ed1a0953726b0d7472ab6b9d0574786 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | | ivigenerator: Move all templates into a separate 'templates' folderDominik Holland2019-10-3068-89/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently all builtin templates are hardcoded in generate.py and the templates are next to the generate.py, including a rather ugly 'template_' prefix in the folder name and yaml file. To make this more clean, all templates are moved into a 'templates' folder and renamed to remove the prefix. The templates are also not hardcoded anymore in generate.py and instead the 'templates' folder is scanned for them. This also makes it possible for the user to install their own templates into the same folder and make them behave like builtin templates. Change-Id: I27d581df8f4850db6918c5b350ce41c4a35175f4 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | | ivigenerator: Split the generator into several filesDominik Holland2019-10-305-708/+858
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The generate.py file has been growing a lot over the time, splitting it into several files, should make it easier to maintain and understand the code. Change-Id: I2cdff2c5875c4a3f287002b0cd05ab9094222cbf Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | | ivigenerator: Add support to import other modulesDominik Holland2019-10-2920-25/+360
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When importing another module from within a QFace file, the generator now searches within the QFace import path. If this module is found, the information is then used to generate code that includes types from this module. The QFace import path can be set in the autogenerator similar to qmlscene by using the -I option; in qmake it can be set using QFACE_IMPORT_PATH. The generator makes sure to generate correct code, but the developer still needs to setup the .pro files correctly to add the imported module to the INCLUDEPATH and also link to the generated library. Fixes: AUTOSUITE-1158 Change-Id: I0e9fa714d4c893a4bf17c5f7db34c62d84932c94 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | | ivigenerator: Properly support models in zoned interfaces part 2Dominik Holland2019-10-2924-112/+304
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes the way how the QtRo Adapters and wrappers are created. Previously the replica names for the adapters were hardcoded into the wrappers. The new way is to ask the adapter for the replica name and make this name part of the adapters constructor. To make this easier the adapter also gets a enableRemoting() function which does the remoting with the correct wrappers and also makes sure all model properties and all zoned model properties are remoted correctly. For this new way also the QIviPagingModel needs an adapter, which is why it was moved into the helper library. Change-Id: Ibb7f2c282d334a2601bd803a92ff71c2e8b2fd32 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * | | Update plugins.qmltypesDominik Holland2019-10-282-0/+548
|/ / / | | | | | | | | | | | | Change-Id: Ie9633e4cd29da2a8ffaecc1e8b1e95dbc1a470db Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* | | doc: Fix syntax for the 'zones' annotationDominik Holland2019-10-241-2/+2
| | | | | | | | | | | | | | | Change-Id: Ib4e49dfe9971566d3d80533b73df29a0e04e09b7 Reviewed-by: Kavindra Palaraja <kpalaraja@luxoft.com>
* | | Update qface version checkSamuli Piippo2019-10-241-2/+2
| | | | | | | | | | | | | | | | | | | | | Update to match the submodule version. Change-Id: If63a3187ac88a987d2ff951c3e319bae79b54f85 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* | | ivigenerator: Remove the generation_validator templateDominik Holland2019-10-1518-690/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This template is still from the early days before the auto test template existed. As the autotests make sure the auto generated code works as intended, this feature is not needed anymore. Change-Id: Id0f0b5ccf42678e42abba924e65eaf27ed6d754e Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* | | ivigenerator: Properly support models in zoned interfacesDominik Holland2019-10-157-24/+51
| | | | | | | | | | | | | | | | | | | | | A model inside a zoned interface produced code which doesn't compile. Change-Id: Ifb95d3e00810e723ed2cdb4516a645bcbb1167f0 Reviewed-by: Robert Griebl <robert.griebl@qt.io>