Commit Graph

3 Commits

Author SHA1 Message Date
Henning Gruendl
5e8b5ec1f0 QmlDesigner: Integrate Expression Builder
Task-number: QDS-10587
Change-Id: Ifc13a8364fccb74cb60d683f0e6c322d80baab50
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-09-08 14:15:40 +00:00
Henning Gruendl
16bbccf2ea QmlDesigner: Connection Editor design cleanup
Cleanup of the QML connection editor only. Binding and property will be
done afterwards as it is just copy and paste of the style in the end.

Task-number: QDS-10211
Change-Id: I83fb93bc25813571ea7f645feeeaeb274751b6de
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-08-21 09:21:12 +00:00
Thomas Hartmann
9a11fa3ef8 QmlDesigner: Add QML front-end for ConnectionView
This is still disabled by default until the UI gets polished.

Add roles to models. ConnectionModel, BindingModel and DynamicPropertiesModel.
In QML roles are used in the ListView to "mimic" columns. The columns are only
relevant for the "old" cpp QTableView and can be removed.

Making currentIndex part of the model. If rows are removed and added
again we have to "reset/keep" the currentIndex as part of the model, because
the index is temporarly invalid on the view.

Implementing DynamicPropertiesModelBackendDelegate as reference.
This is a pure "backend delegate" that exposes all relevant properties for
a current row to QML.

Adding StudioQuickWidget and exposing the backend.

Adding StudioQmlTextBackend and StudioQmlComboBoxBackend to
StudioQuickWidget (should be moved into their own files).
Those helper classes make is easy to expose a property to a combobox or
textfield. The backend has to know nothing about the actual frontend
and those classes act as a mini-model for a view in QML.
The API is similar to UI controls.

Change-Id: I7a2c6ad951306fbca1d586fb8f278acdd91a064b
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
2023-07-07 09:36:34 +00:00