diff options
author | Janne Kangas <janne.kangas@qt.io> | 2018-03-13 15:04:40 +0200 |
---|---|---|
committer | Janne Kangas <janne.kangas@qt.io> | 2018-03-23 12:31:48 +0000 |
commit | bd4b586eb9f53c4ad881305bdd2c5334b5f9e419 (patch) | |
tree | 9f3928f13a384188301489d548a8946271b92301 /src/Authoring/Studio/Palettes/Inspector/InspectorControlView.cpp | |
parent | eb2aa56fe9cd32a26925c5260254995392e23469 (diff) |
Add enablers for additional datatypes for datainput in editor
Adds Float, Boolean, Vec3 and Variant datatypes. Adds support in Inspector
panel for toggling control on for all properties. (No user-visible changes
in inspector panel as properties are not yet set to controllable in
metadata.xml.)
Runtime handling will be implemented in a separate commit.
Task-id: QT3DS-1309
Change-Id: I6dd269ccd0e0bab308547980d02d2d10bf992ddd
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'src/Authoring/Studio/Palettes/Inspector/InspectorControlView.cpp')
-rw-r--r-- | src/Authoring/Studio/Palettes/Inspector/InspectorControlView.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/Authoring/Studio/Palettes/Inspector/InspectorControlView.cpp b/src/Authoring/Studio/Palettes/Inspector/InspectorControlView.cpp index a6ebd877..00b1c9aa 100644 --- a/src/Authoring/Studio/Palettes/Inspector/InspectorControlView.cpp +++ b/src/Authoring/Studio/Palettes/Inspector/InspectorControlView.cpp @@ -52,6 +52,7 @@ #include "StudioFullSystem.h" #include "ClientDataModelBridge.h" #include "MainFrm.h" +#include "DataInputDlg.h" #include <QtCore/qtimer.h> #include <QtQml/qqmlcontext.h> @@ -499,9 +500,17 @@ QObject *InspectorControlView::showDataInputChooser(int handle, int instance, co }); } QStringList dataInputList; - for (int i = 0; i < g_StudioApp.m_dataInputDialogItems.size(); i++) - dataInputList.append(g_StudioApp.m_dataInputDialogItems[i]->name); - + const auto propertySystem = + g_StudioApp.GetCore()->GetDoc()->GetStudioSystem()->GetPropertySystem(); + const qt3dsdm::DataModelDataType::Value dataType + = propertySystem->GetDataType(handle); + // only add datainputs with matching type for this property + for (int i = 0; i < g_StudioApp.m_dataInputDialogItems.size(); i++) { + if (CDataInputDlg::isEquivalentDataType( + g_StudioApp.m_dataInputDialogItems[i]->type, dataType)) { + dataInputList.append(g_StudioApp.m_dataInputDialogItems[i]->name); + } + } m_dataInputChooserView-> setData(dataInputList, m_inspectorControlModel->currentControllerValue(instance, handle), |