summaryrefslogtreecommitdiff
path: root/src/ivicore
Commit message (Collapse)AuthorAgeFilesLines
* Remove QMake project filesDominik Holland2021-06-025-281/+0
| | | | | | | | | This includes removal of the corresponding .prev_CMakeLists.txt files. Keep the pro files in the ivigenerator autotests. Task-number: QTBUG-88742 Change-Id: Idbf40dc5f6469dbea37126ea9b46a6d521f43139 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Remove all QtAutomotiveSuite related documentation and all links to itDominik Holland2021-06-024-9/+4
| | | | | Change-Id: I869da51daae943e177210cd3dc5ce160cea0c635 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Update copyright headers to 2021Dominik Holland2021-06-0286-749/+715
| | | | | | | Also removed all the SPDX tags and -QTAS license extensions. Change-Id: I06802ea7b48ad749db3a696e9ec598b4aec6892c Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* cmake: Don't build the virtualenv if the python3 qface package is installedDominik Holland2021-05-261-10/+17
| | | | | Change-Id: Ifdb724662b53b6c848ec956578bfe8ade3ab115a Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* CMake: Disable usage of CMake API compatibility wrappersJoerg Bornemann2021-05-262-3/+3
| | | | | | | | | | Setting the QT_NO_INTERNAL_COMPATIBILITY_FUNCTIONS variable in the project ensures we ported away from old API calls. Task-number: QTBUG-86815 Change-Id: I7f86da0411b4870b1a9f9e1ed0b63cf30ccd48ad Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* cmake: Show qface and annotation files in the IDEDominik Holland2021-05-211-2/+18
| | | | | Change-Id: I9b2ef045f7ca94019440a781516a98130d6103b0 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* cmake: Regenerate code when qface, template or yaml files changeDominik Holland2021-05-211-11/+21
| | | | | Change-Id: I355377a2e57da3f51ee6227fdd6a515a1600b2dc Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* cmake integration of the ivigeneratorDominik Holland2021-05-103-0/+205
| | | | | | | | | | | Rerun pro2cmake.py for all examples and tests. Ivigenerator based tests and examples are compiling fine, but the cmake files need to be reworked to be also able to run them. Task-number: AUTOSUITE-1633 Change-Id: Icb95ecfa62ecb319d042dc30ea9f643b69a4aacf Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* cmake: python3 and package detectionDominik Holland2021-05-102-9/+122
| | | | | Change-Id: I4a180811dede6c69c2b627adbd184eb87abd2c43 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Fix failing autotestsDominik Holland2021-03-261-1/+1
| | | | | | | | | | | Fix the CMakeLists.txt of servicemanagertest to also link the static_plugins. Fix the qiviqmlconversion_helper to not convert strings to char arrays. Adapt servicemanager autotest to ignore some features which doesn't work yet with cmake. Change-Id: I5b0ff928003858a304a8dc97978a33abf685883d Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* cmake: Report a warning instead of an error if ivigenerator is not availableDominik Holland2021-03-261-1/+1
| | | | | | | This is just a temporary workaround for the cmake port. Change-Id: Idb83c8fc4bf4877b8f297bb2f1d0690e217cc3d7 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* cmake: Start of cmake port using run_pro2cmake.py and friendsDominik Holland2021-03-266-0/+200
| | | | | | | | Some special cases are already addressed. Task-number: AUTOSUITE-1633 Change-Id: I5409522c1c5eb76b8aac3e7e332d1e1cc27e594f Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* ivigenerator: Generate metainfo files for usage in Design StudioDominik Holland2020-12-151-0/+33
| | | | | | | | | | For all generated interfaces we now also generate a metainfo file. This file is read by Qt Design Studio and makes it possible to work with the autogenerated interfaces there and connect to the provided properties. Change-Id: Ie088972e903cc6b7248db41e565eef66956939f2 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Qt6 port without cmake supportDominik Holland2020-12-028-41/+44
| | | | | | | All deprecation warnings fixed and all autotest pass. Change-Id: I05d48e9ddd2bf23b900065726d67710eea0e82d0 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Fix initialization in the constructor of QIviFilterTermPrivateDominik Holland2020-12-021-1/+1
| | | | | Change-Id: Ia7e3d8c7232281338a21675d2eb3a0185cf064b3 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Build fixDominik Holland2020-06-192-1/+3
| | | | | Change-Id: I4c9694deb4c03d02304f7675da10a0a4661513eb Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Fix qIviRegisterPendingReplyType to work with the new meta type systemDominik Holland2020-04-271-1/+23
| | | | | | | | This adds a workaround for QTBUG-83664 and makes sure we registering the correct name for the pending reply. Change-Id: I9d2c09b251820b4bc9b505704b549519da9c7a39 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Qt6 build fixDominik Holland2020-04-271-0/+1
| | | | | Change-Id: I896542c585e6dab9e7658053792f3a686c15fa24 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* ivigenerator: Deprecate old filters and don't use them internallyDominik Holland2020-04-151-0/+24
| | | | | | | | Removing the number of supported filters should make it easier to maintain them and implement new features. Change-Id: I8d936905ca8ef2ce0a47b5bf55a2166c7fc91b52 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Fix the geniviextras only build configurationDominik Holland2020-04-021-1/+1
| | | | | Change-Id: I07fd33fe28e5ff82cf0d478d616e9002e88a26fb Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
* QIviSimulationGlobalObject: Make the domain checking more type safeDominik Holland2020-03-231-8/+24
| | | | | | | | | | | | Instead of relying on the QVariant < and > operators, we now check whether the values can be converted to doubles and compare them after the conversion. As the domain checking is done from JSON files using doubles should be giving us enough precision. Change-Id: Ie516606e68eb03aea103f93bf3243ee10f65c40b Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Fix operator== for all QIviStandardItem derived typesDominik Holland2020-03-232-3/+3
| | | | | | | The operator== wasn't marked as const and because of that didn't work. Change-Id: I6566d86c4864960ee88d1f1d5f0c6974f0125445 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Merge remote-tracking branch 'origin/5.13' into 5.14Dominik Holland2020-03-021-7/+17
|\ | | | | | | Change-Id: Icbc626704f0cb12f84774a717e7050487a74af9c
| * Update qface to version 1.10.1Dominik Holland2020-02-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | This makes sure pinned versions are used when installing all python dependencies, which is needed as a recent jinja update causes problems. Change-Id: Ia6cfed8169aca8eeac6809807772a448199c433c Fixes: AUTOSUITE-1440 Reviewed-by: Vladimir Minenko <vladimir.minenko@pelagicore.com> Reviewed-by: Robert Griebl <robert.griebl@qt.io> Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
| * Fix registering the QIviPendingReplies at startupDominik Holland2020-01-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Using a singleShot timer is not the right way as it doesn't make sure the call is really executed in the next event loop run. Instead use QMetaObject::invokeMethod(). Also reorder the qivipendingreply autotest to make sure the QML test is done first, which needs the types to be registered... Change-Id: Id4f8dd1577e653c99fd82e8ab8f93a848f9b1b79 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
| * Delay the QIviPendingReply type registrationDominik Holland2020-01-171-7/+17
| | | | | | | | | | | | | | | | | | | | | | When QtIviCore is loaded at runtime the init function is executed right away before all types are initialized. This causes a crash on windows and we now delay the initialization until the library is ready. Change-Id: I979f48c811f6a7f10facb59ef381239d5ea80367 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* | QIviPagingModel: Don't emit a warning when the emitted data is out of rangeDominik Holland2020-02-191-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To notify the QIviPagingModel instance about data changes, e.g. new rows, the dataChanged() signal is used. The QIviPagingModel will check the provided data and report a warning if the data is out of range. While this is correct for using the "DataChanged" fetch mode, where the amount of items is in sync with the backend, it doesn't make sense for the "FetchMore" mode, as the QIviPagingModel instance might not fetched all rows (just the visible ones) and the update is for an area outside of interest. Task-number: AUTOSUITE-1464 Change-Id: I606e141268c7a609e98ffa3081d414a46e1c3d93 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* | Update qface to version 2.0.3Dominik Holland2020-02-191-2/+2
| | | | | | | | | | | | | | | | | | | | 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>
* | Fix compilation warnings when using Qt 5.14Dominik Holland2020-01-241-0/+8
| | | | | | | | | | | | | | | | | | 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-224-9/+13
| | | | | | | | | | Change-Id: I45bda8e81022f09ff612b0dcabe9e47b75ece238 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* | simulation: Fix struct initialization using JSON dictionariesDominik Holland2020-01-211-5/+1
| | | | | | | | | | | | | | | | | | | | 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-212-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | 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-1715-49/+104
|\ \ | |/ | | | | 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>
| * 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-099-13/+28
| | | | | | | | | | | | | | | | | | * 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-172-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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-171-1/+21
| |\ | | | | | | | | | Change-Id: I9a2ff22058e273be9334d9ca5a4b86ece7d9626b
| | * Fix creation of structs from simulationDataDominik Holland2019-12-091-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | 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>
| * | docs: Minor reword to improve clarityKavindra Palaraja2019-10-291-15/+11
| | | | | | | | | | | | | | | Change-Id: I2d65ce049de503d3b22ca15583815f8ff547a4ce Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* | | ivicore: Discover new plugins at runtimeDominik Holland2020-01-082-5/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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: Use the rule YAML format from QFace 2.0Dominik Holland2019-10-303-16/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Add support to import other modulesDominik Holland2019-10-293-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | doc: Fix syntax for the 'zones' annotationDominik Holland2019-10-241-2/+2
| | | | | | | | | | | | | | | Change-Id: Ib4e49dfe9971566d3d80533b73df29a0e04e09b7 Reviewed-by: Kavindra Palaraja <kpalaraja@luxoft.com>