aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix runtime errors in Release configHEADdevMiguel Costa2025-08-081-0/+6
| | | | | | | | The Stats() function of the adapter is only available in Debug. The native API must also reflect this. Change-Id: I79a4b34ab49e983562244ffcd7197167fbc8adc3 Reviewed-by: Karsten Heimrich <[email protected]>
* Replace QmlSingleton attrib with QmlElement paramMiguel Costa2025-08-083-18/+7
| | | | | Change-Id: I575acc39fac5c12e07f0e4da3193ba94b337137a Reviewed-by: Karsten Heimrich <[email protected]>
* Remove unused reference from generator projectMiguel Costa2025-08-081-1/+0
| | | | | Change-Id: If84a3e231387eb6c1fd54e6ed6b3076e5156b70a Reviewed-by: Karsten Heimrich <[email protected]>
* Add binlog files to gitignoreMiguel Costa2025-08-081-0/+3
| | | | | Change-Id: Id012454a275d1a5682be1dd3a33235363598aed4 Reviewed-by: Karsten Heimrich <[email protected]>
* Remove namespace clusters from GraphVizMiguel Costa2025-08-081-32/+4
| | | | | Change-Id: I8d4ed853d364141d8d5e1d01cba93cea5a131e93 Reviewed-by: Karsten Heimrich <[email protected]>
* Build GeneratorTestApp native codeMiguel Costa2025-08-081-4/+0
| | | | | Change-Id: I4d2bdd8d0e2dcaafdd004f644f5d5135b6f92506 Reviewed-by: Karsten Heimrich <[email protected]>
* Remove includegen projectMiguel Costa2025-08-084-58/+13
| | | | | | | | Build tasks to generate type-named headers are now executed in targets defined in the Adapter project. Change-Id: I1bedcfd896ff89ff8df872149695b7c2537346a6 Reviewed-by: Karsten Heimrich <[email protected]>
* Remove native build files from Adapter projectMiguel Costa2025-08-082-76/+0
| | | | | Change-Id: I6743e387cec1754fd07154e8acfaf63e0c1ed04e Reviewed-by: Karsten Heimrich <[email protected]>
* Generate indexersMiguel Costa2025-08-081-0/+81
| | | | | | Task-number: QTBUG-134967 Change-Id: I521554dc8204fade163035dec91a63c3e19a7992 Reviewed-by: Karsten Heimrich <[email protected]>
* Generate methodsMiguel Costa2025-08-082-0/+98
| | | | | | Task-number: QTBUG-134967 Change-Id: Ie2619ec4140a4988a3b200cbe150acf33b966784 Reviewed-by: Karsten Heimrich <[email protected]>
* Generate propertiesMiguel Costa2025-08-085-0/+261
| | | | | | Task-number: QTBUG-134967 Change-Id: Id5f7e913bf9b6e1f968304a9349c71851cacf5fd Reviewed-by: Karsten Heimrich <[email protected]>
* Generate event handlers and signalsMiguel Costa2025-08-083-0/+202
| | | | | | Task-number: QTBUG-134967 Change-Id: I531a54cd4711f63e5528cbfbc57c38781dada8f9 Reviewed-by: Karsten Heimrich <[email protected]>
* Generate constructorsMiguel Costa2025-08-083-0/+105
| | | | | | Task-number: QTBUG-134967 Change-Id: Iee906f6694f8951d316f9f29e888158b030a13b3 Reviewed-by: Karsten Heimrich <[email protected]>
* Generate classMiguel Costa2025-08-082-0/+315
| | | | | | Task-number: QTBUG-134967 Change-Id: Id721f0b01db759a706d912a4ebadc9ea750641b0 Reviewed-by: Karsten Heimrich <[email protected]>
* Update list of excluded typesMiguel Costa2025-08-081-11/+13
| | | | | Change-Id: If187eda9f2827935c6c19a0e856c9b2cbdbb8ab6 Reviewed-by: Karsten Heimrich <[email protected]>
* Add Q_DOTNET_HANDLER helper macroMiguel Costa2025-08-081-0/+39
| | | | | | | | | | | | | | | | | | | Expands to a declaration of an event handler member variable. Example: struct Foo { Q_DOTNET_EVENT_HANDLER(ValueChanged, Foo) *handler = nullptr; } ... void Foo::ValueChanged::handleEvent(...) { ... } Change-Id: I02cb446cc67e446886f4c54e7e72ccc3f4484f54 Reviewed-by: Karsten Heimrich <[email protected]>
* Add default ctor to QDotNetDelegateMiguel Costa2025-08-071-0/+2
| | | | | Change-Id: Iaa8be876b667d8c7f300dca8ee3c2bd24ac349d7 Reviewed-by: Karsten Heimrich <[email protected]>
* Pass argv to .NET Main()Miguel Costa2025-08-071-2/+12
| | | | | Change-Id: Ief669bb31ae21a524b6412717e4307a791dc42db Reviewed-by: Karsten Heimrich <[email protected]>
* Update SignalConverterMiguel Costa2025-08-072-0/+32
| | | | | | | * Add accessors for argument types Change-Id: I8995895ec7d6b65d7ca3113fd9df80d3a443ec6e Reviewed-by: Karsten Heimrich <[email protected]>
* Modify LazyFactoryMiguel Costa2025-08-072-2/+5
| | | | | | | | | * Only notify property change if the new value is different. * Always notify property change, regardless of whether the owner implements INotifyPropertyChanged or not. Change-Id: Ifc5a48bce3fdcdc537754fd353561f3c34b53596 Reviewed-by: Karsten Heimrich <[email protected]>
* Generate enumsMiguel Costa2025-08-072-0/+145
| | | | | | Task-number: QTBUG-134967 Change-Id: I6995047848349155de1c4893317f48059df58e57 Reviewed-by: Karsten Heimrich <[email protected]>
* Generate basic typesMiguel Costa2025-08-071-0/+44
| | | | | | Task-number: QTBUG-134967 Change-Id: Ie448bec180999edc744894279f8102a0e54a334a Reviewed-by: Karsten Heimrich <[email protected]>
* Add code generation "dummy" projectMiguel Costa2025-08-077-1/+228
| | | | | | | Task-number: QTBUG-134965 Task-number: QTBUG-134983 Change-Id: I9fd26b418d3e988c903ec230dea0caecf268f816 Reviewed-by: Karsten Heimrich <[email protected]>
* Generate build specMiguel Costa2025-08-079-0/+464
| | | | | | Task-number: QTBUG-134966 Change-Id: I1f30ae2ae100e43da818d776bd7b9936ebe841a2 Reviewed-by: Karsten Heimrich <[email protected]>
* Create "dummy" code generation rulesMiguel Costa2025-08-075-1/+113
| | | | | | Task-number: QTBUG-134965 Change-Id: Iecd75e677b7a6253a37ec96b9566941b54f4cacd Reviewed-by: Karsten Heimrich <[email protected]>
* Generate delegate typesMiguel Costa2025-08-072-0/+169
| | | | | | Task-number: QTBUG-134967 Change-Id: I338f38b18ce08d4207db047fa72c18d19edc31df Reviewed-by: Karsten Heimrich <[email protected]>
* Implement code generation frameworkMiguel Costa2025-08-079-7/+874
| | | | | | Task-number: QTBUG-134965 Change-Id: I342dc21a7cffe626aff381a802137e31e4c8994a Reviewed-by: Karsten Heimrich <[email protected]>
* Modify utility librariesMiguel Costa2025-08-066-0/+117
| | | | | | | | | * Added ConcurrentPriorityList * Added Concurrent library with Timestamp class * Generate assembly names with 'Qt.DotNet.Utils' prefix Change-Id: If938890f6483cf3e6b3753abfaa24f5a5d972c1c Reviewed-by: Karsten Heimrich <[email protected]>
* Fix degree symbol (use unicode code point) and update copyright headerKarsten Heimrich2025-07-251-6/+4
| | | | | Change-Id: If6d134b1a5348309c09f3cb80a22520e262ee5b4 Reviewed-by: Miguel Costa <[email protected]>
* Calculate dependency graph for assemblyMiguel Costa2025-07-107-0/+807
| | | | | | Task-number: QTBUG-134964 Change-Id: I95b07c3a0da95b37227d3de00849a790ff29e04f Reviewed-by: Karsten Heimrich <[email protected]>
* Add Qt.Exclude and Qt.Ignore attribsMiguel Costa2025-07-021-0/+37
| | | | | | Task-number: QTBUG-134964 Change-Id: Ic1e56d9abc8fe0132c9662898e65f90292f84d3d Reviewed-by: Karsten Heimrich <[email protected]>
* Add UserView exampleMiguel Costa2025-07-0219-0/+1109
| | | | | Change-Id: Ie77d0156c9e54be57547c160c3a2b2934ce050a8 Reviewed-by: Karsten Heimrich <[email protected]>
* Add QProperty attributeMiguel Costa2025-07-021-0/+19
| | | | | Change-Id: Idae87f8952aaa0e7897271af6ed0a7d210de9d72 Reviewed-by: Karsten Heimrich <[email protected]>
* Add utility modulesMiguel Costa2025-07-025-0/+138
| | | | | Change-Id: I3b15fccc69d4c45f60f8fd24fb1945b1528a22ba Reviewed-by: Karsten Heimrich <[email protected]>
* Add access to .NET constants and fieldsMiguel Costa2025-07-0114-39/+592
| | | | | | Task-number: QTBUG-134961 Change-Id: I447a125faa5e40fea07bd9957a4b80192d582f96 Reviewed-by: Karsten Heimrich <[email protected]>
* Add C++ wrapper for Signal class (QDotNetSignal)Miguel Costa2025-07-016-0/+248
| | | | | | Task-number: QTBUG-134963 Change-Id: I45df3b90a7da19811084b9bc725ada67cd8e86c1 Reviewed-by: Karsten Heimrich <[email protected]>
* Add C++ wrapper for System.EventArgsMiguel Costa2025-07-011-0/+6
| | | | | Change-Id: Id8638fda02fe3385a3f9ae0d32c1c75f29825556 Reviewed-by: Karsten Heimrich <[email protected]>
* Add attributes for meta-object interopMiguel Costa2025-07-017-0/+932
| | | | | | | Task-number: QTBUG-134931 Task-number: QTBUG-134963 Change-Id: I706417fd951bd679d363b07d6a2d950a04cdb1df Reviewed-by: Karsten Heimrich <[email protected]>
* RefactorMiguel Costa2025-06-25105-5038/+2137
| | | | | | | | | | | | | | | | Includes: * Implement QDotNetNativeInterface: specialization of QDotNetInterface that wraps a pointer to native data. * Implement IQVariant: QDotNetNativeInterface that wraps a QVariant. * Implement IQModelIndex interface: QDotNetNativeInterface that wraps a QModelIndex. * Implement QDotNetAbstractListModel base class: allows extending QAbstractListModel in C#. * Add class QDotNetDelegate * Remove old examples Change-Id: I2eb21df29e1cf9379e14a64d5174eb934b5bf18a Reviewed-by: Karsten Heimrich <[email protected]>
* QDotNetAdapter: Simplify delegate macroOrgad Shaneh2023-06-131-20/+18
| | | | | Change-Id: I86e3af57f429c72475deacc724878bedcbba04ab Reviewed-by: Miguel Costa <[email protected]>
* Add solution fileMiguel Costa2023-06-121-0/+274
| | | | | Change-Id: I790be96c2fa3d40467ee9f72da2b53462232abfa Reviewed-by: Joerg Bornemann <[email protected]>
* Add READMEMiguel Costa2023-06-125-0/+622
| | | | | Change-Id: Ifc19d2925baa326aee38423b933dd3868811d204 Reviewed-by: Joerg Bornemann <[email protected]>
* Add example projectsMiguel Costa2023-06-1259-0/+4475
| | | | | | | | | | | | | | Chronometer: * QML front-end to a .NET module with a well-defined "business logic". EmbeddedWindow: * WPF window containing an embedded QML view, which runs in-process. QtAzureIoT: * Integrating Qt and .NET in a non-Windows setting. Change-Id: I4dff485b95835a3d880fe03f110c46c457a419b3 Reviewed-by: Joerg Bornemann <[email protected]>
* Add test projectsMiguel Costa2023-06-1216-5/+1500
| | | | | | | | | | | | | | | | | | | | tst_qtdotnet: * Auto tests targeting the full Qt/.NET stack. * Tests are implemented with Qt Test. Test_Qt.DotNet.Adapter: * Auto tests targeting the Qt/.NET Adapter module. * Uses the .NET unit-test SDK. Perf_Qt.DotNet.Adapter: * Performance tests targeting the Qt/.NET Adapter module. * Can be tested with the VS performance profiler. FooLib: * "Dummy" .NET library, used for testing purposes. Change-Id: Iefcf5ce8e2479e4dd7bfcf3298792989b38cce1f Reviewed-by: Joerg Bornemann <[email protected]>
* Generate class name headersMiguel Costa2023-06-122-0/+60
| | | | | | | | | | This project generates at build-time the class-name header files pointing to the actual headers with the corresponding type definitions. This allows #include clauses to reference type names from the Qt/.NET library (e.g. #include <QDotNetObject>). Change-Id: I292cae9d6e1d7fd4a8d8f8c778cc0b3b91409b03 Reviewed-by: Joerg Bornemann <[email protected]>
* Add wrapper facilities for .NET typesMiguel Costa2023-06-1210-0/+1296
| | | | | | | | | | | | | | | | Auxiliary types for writing C++ wrapper classes to encapsulate the low-level interoperability with managed types. In particular, the QDotNetObject C++ class can be extended to implement unmanaged proxies for .NET types, allowing native code to seamlessly interact through a C++ interface with managed code. Extending both QDotNetObject and QObject in the same wrapper class is the basis for a close, seamless integration between Qt applications and .NET code. Change-Id: Ib6d9472ff113868551ead1375764db7dd79643ea Reviewed-by: Joerg Bornemann <[email protected]>
* Implement native/managed adapterMiguel Costa2023-06-1215-0/+2296
| | | | | | | | | | | The adapter module provides low-level interoperability services for native applications to be able to call into managed code. These services include, among other things, obtaining function pointers to call into .NET methods, subscribing to .NET events, and passing native types as implementations of .NET interfaces. Change-Id: Ia7c0173a46ea3035bfe3e252f4006884f39223ad Reviewed-by: Joerg Bornemann <[email protected]>
* Implement .NET native hostMiguel Costa2023-06-125-0/+1063
| | | | | | | | | | | Implements a native host for the .NET runtime, as documented by: https://learn.microsoft.com/en-us/dotnet/core/tutorials/netcore-hosting The host was implemented in C++ and using Qt. It is intended to provide Qt applications the ability to interoperate with managed code. Change-Id: I28d3f3d2f795806b69f5c019860a88541dce9c5c Reviewed-by: Joerg Bornemann <[email protected]>
* Add .gitignoreMiguel Costa2023-06-121-0/+15
| | | | | Change-Id: Ie4eab07b244353c8c69aa09836ccd62e7d95298a Reviewed-by: Joerg Bornemann <[email protected]>
* Initial empty repositoryJukka Jokiniva2023-05-170-0/+0