summaryrefslogtreecommitdiffstats
path: root/src/Authoring/Studio/Palettes/Inspector/InspectorControlView.cpp
diff options
context:
space:
mode:
authorJanne Kangas <janne.kangas@qt.io>2018-03-13 15:04:40 +0200
committerJanne Kangas <janne.kangas@qt.io>2018-03-23 12:31:48 +0000
commitbd4b586eb9f53c4ad881305bdd2c5334b5f9e419 (patch)
tree9f3928f13a384188301489d548a8946271b92301 /src/Authoring/Studio/Palettes/Inspector/InspectorControlView.cpp
parenteb2aa56fe9cd32a26925c5260254995392e23469 (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.cpp15
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),