[PR #201] [MERGED] NetVariant support for more QML built-in types #239

Closed
opened 2026-05-05 11:21:27 -06:00 by gitea-mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/qmlnet/qmlnet/pull/201
Author: @shartte
Created: 5/22/2020
Status: Merged
Merged: 5/29/2020
Merged by: @pauldotknopf

Base: developHead: more-qvariant-types


📝 Commits (6)

  • f0633b0 NetVariant support for all QML built-in types
  • d7e51ee Update GitVersion.ToolThis removes the incompatibility with the netcoreapp31 runtime.
  • 33efbd7 Attempts to debug build failures...
  • 7d3da9e Fixing build.
  • 025553f Install .NET 2.1 side-by-side
  • ac14080 Fix QAtomicInt message formatting

📊 Changes

34 files changed (+2571 additions, -207 deletions)

View changed files

📝 .travis.yml (+9 -2)
📝 appveyor.yml (+2 -2)
📝 build/appveyor.bat (+1 -1)
📝 build/scripts/Build.csproj (+4 -1)
📝 build/scripts/Buildary (+1 -1)
📝 build/scripts/Program.cs (+4 -12)
📝 build/travis.linux.sh (+2 -0)
📝 build/travis.sh (+2 -1)
📝 src/native/QmlNet/QmlNet.h (+13 -1)
📝 src/native/QmlNet/QmlNet/qml/NetQObjectArg.cpp (+36 -0)
📝 src/native/QmlNet/QmlNet/qml/NetValueMetaObjectPacker.cpp (+36 -0)
📝 src/native/QmlNet/QmlNet/qml/NetVariant.cpp (+307 -0)
📝 src/native/QmlNet/QmlNet/qml/NetVariant.h (+31 -0)
📝 src/native/QmlNet/QmlNet/qml/QQmlApplicationEngine.cpp (+44 -3)
📝 src/net/Qml.Net.Tests/Qml.Net.Tests.csproj (+1 -1)
src/net/Qml.Net.Tests/Qml/ColorTests.cs (+124 -0)
📝 src/net/Qml.Net.Tests/Qml/ListModelTests.cs (+180 -180)
src/net/Qml.Net.Tests/Qml/Matrix4x4Tests.cs (+77 -0)
src/net/Qml.Net.Tests/Qml/PointFTests.cs (+65 -0)
src/net/Qml.Net.Tests/Qml/PointTests.cs (+65 -0)

...and 14 more files

📄 Description

Create this as an work-in-progress PR to get early feedback.

Known TODOs:

  • Figure out Multi-Targeting .NET Standard 2.0 and .NET Standard 2.1 (for System.Numerics)
  • Tests
  • C++ Code Style
  • Wait for #202

Added support for all QML built-in types in NetVariant:

  • rect/QRectF maps to System.Drawing.RectangleF
  • point/QPointF maps to System.Drawing.Point
  • size/QSizeF maps to System.Drawing.SizeF
  • color/QColor maps to System.Drawing.Color

The following require .NET Standard 2.1:

  • vector2d/QVector2D maps to System.Numerics.Vector2
  • vector3d/QVector3D maps to System.Numerics.Vector3
  • vector4d/QVector4D maps to System.Numerics.Vector4
  • quaternion/QQuaternion maps to System.Numerics.Quaternion
  • matrix4x4/QMatrix4x4D maps to System.Numerics.Matrix4x4

Additionally, the following are supported as well for convenience:

  • QRect maps to System.Drawing.Rectangle
  • QPoint maps to System.Drawing.Point
  • QSize maps to System.Drawing.Size

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/qmlnet/qmlnet/pull/201 **Author:** [@shartte](https://github.com/shartte) **Created:** 5/22/2020 **Status:** ✅ Merged **Merged:** 5/29/2020 **Merged by:** [@pauldotknopf](https://github.com/pauldotknopf) **Base:** `develop` ← **Head:** `more-qvariant-types` --- ### 📝 Commits (6) - [`f0633b0`](https://github.com/qmlnet/qmlnet/commit/f0633b086ca852cb891314356ef768336a71a99d) NetVariant support for all QML built-in types - [`d7e51ee`](https://github.com/qmlnet/qmlnet/commit/d7e51ee06aee8b1f3197bd8043df6b6b513e7ec9) Update GitVersion.ToolThis removes the incompatibility with the netcoreapp31 runtime. - [`33efbd7`](https://github.com/qmlnet/qmlnet/commit/33efbd70724e8c0107b38c4f0301fa16e2bada93) Attempts to debug build failures... - [`7d3da9e`](https://github.com/qmlnet/qmlnet/commit/7d3da9ed233a8ec09491738dbfa387fc61bea20c) Fixing build. - [`025553f`](https://github.com/qmlnet/qmlnet/commit/025553fe5a63f32c6734f119de5b3bd5a033877b) Install .NET 2.1 side-by-side - [`ac14080`](https://github.com/qmlnet/qmlnet/commit/ac14080a3390c61b0e61b481aa8b61e8b5bc1c9b) Fix QAtomicInt message formatting ### 📊 Changes **34 files changed** (+2571 additions, -207 deletions) <details> <summary>View changed files</summary> 📝 `.travis.yml` (+9 -2) 📝 `appveyor.yml` (+2 -2) 📝 `build/appveyor.bat` (+1 -1) 📝 `build/scripts/Build.csproj` (+4 -1) 📝 `build/scripts/Buildary` (+1 -1) 📝 `build/scripts/Program.cs` (+4 -12) 📝 `build/travis.linux.sh` (+2 -0) 📝 `build/travis.sh` (+2 -1) 📝 `src/native/QmlNet/QmlNet.h` (+13 -1) 📝 `src/native/QmlNet/QmlNet/qml/NetQObjectArg.cpp` (+36 -0) 📝 `src/native/QmlNet/QmlNet/qml/NetValueMetaObjectPacker.cpp` (+36 -0) 📝 `src/native/QmlNet/QmlNet/qml/NetVariant.cpp` (+307 -0) 📝 `src/native/QmlNet/QmlNet/qml/NetVariant.h` (+31 -0) 📝 `src/native/QmlNet/QmlNet/qml/QQmlApplicationEngine.cpp` (+44 -3) 📝 `src/net/Qml.Net.Tests/Qml.Net.Tests.csproj` (+1 -1) ➕ `src/net/Qml.Net.Tests/Qml/ColorTests.cs` (+124 -0) 📝 `src/net/Qml.Net.Tests/Qml/ListModelTests.cs` (+180 -180) ➕ `src/net/Qml.Net.Tests/Qml/Matrix4x4Tests.cs` (+77 -0) ➕ `src/net/Qml.Net.Tests/Qml/PointFTests.cs` (+65 -0) ➕ `src/net/Qml.Net.Tests/Qml/PointTests.cs` (+65 -0) _...and 14 more files_ </details> ### 📄 Description Create this as an work-in-progress PR to get early feedback. Known TODOs: - [x] Figure out Multi-Targeting .NET Standard 2.0 and .NET Standard 2.1 (for System.Numerics) - [x] Tests - [x] C++ Code Style - [x] Wait for #202 Added support for all QML built-in types in NetVariant: - rect/QRectF maps to System.Drawing.RectangleF - point/QPointF maps to System.Drawing.Point - size/QSizeF maps to System.Drawing.SizeF - color/QColor maps to System.Drawing.Color The following require .NET Standard 2.1: - vector2d/QVector2D maps to System.Numerics.Vector2 - vector3d/QVector3D maps to System.Numerics.Vector3 - vector4d/QVector4D maps to System.Numerics.Vector4 - quaternion/QQuaternion maps to System.Numerics.Quaternion - matrix4x4/QMatrix4x4D maps to System.Numerics.Matrix4x4 Additionally, the following are supported as well for convenience: - QRect maps to System.Drawing.Rectangle - QPoint maps to System.Drawing.Point - QSize maps to System.Drawing.Size --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
gitea-mirror 2026-05-05 11:21:27 -06:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/qmlnet#239
No description provided.