summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2018-09-12 17:15:22 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2018-09-13 07:51:11 +0000
commit950c5cea57602f8197b7c18e4bd77e33c59eb140 (patch)
treeac619180daa75d614e3a9559d8efff47c2c65acb
parenta8cf177b48570420cbd7755a19704cd2a2fc1dea (diff)
Fix for certain ignored set-property actions
Task-number: QT3DS-2325 Change-Id: Ia57d5b34be87c46dcd029ce3289d3436f8e643f2 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
-rw-r--r--src/runtime/q3dsuippresentation_p.h4
-rw-r--r--tests/scenes/actions/property_change_on_event.uip37
2 files changed, 39 insertions, 2 deletions
diff --git a/src/runtime/q3dsuippresentation_p.h b/src/runtime/q3dsuippresentation_p.h
index 68e6a04..8acc1b1 100644
--- a/src/runtime/q3dsuippresentation_p.h
+++ b/src/runtime/q3dsuippresentation_p.h
@@ -581,11 +581,11 @@ public:
};
QString name;
- Q3DS::PropertyType type = Q3DS::Unknown;
+ Q3DS::PropertyType type = Q3DS::Unknown; // may be unspecified in which case it remains Unknown
Type argType = Unknown;
QString value;
- bool isValid() const { return type != Q3DS::Unknown; }
+ bool isValid() const { return !name.isEmpty() || !value.isEmpty(); }
};
Q3DSGraphObject *owner = nullptr;
diff --git a/tests/scenes/actions/property_change_on_event.uip b/tests/scenes/actions/property_change_on_event.uip
new file mode 100644
index 0000000..f26be4d
--- /dev/null
+++ b/tests/scenes/actions/property_change_on_event.uip
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<UIP version="4" >
+ <Project >
+ <ProjectSettings author="" company="" presentationWidth="1280" presentationHeight="720" maintainAspect="False" >
+ <CustomColors count="16" >#7391ff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff</CustomColors>
+ </ProjectSettings>
+ <Graph >
+ <Scene id="Scene" >
+ <Layer id="Layer" >
+ <Camera id="Camera" />
+ <Light id="Light" />
+ <Model id="Cone" >
+ <Material id="Default" name="Default" />
+ </Model>
+ <Text id="Text" />
+ </Layer>
+ </Scene>
+ </Graph>
+ <Logic >
+ <State name="Master Slide" component="#Scene" >
+ <Add ref="#Layer" />
+ <Add ref="#Camera" />
+ <Add ref="#Light" />
+ <State id="Scene-Slide1" name="Slide1" >
+ <Add ref="#Cone" name="Cone" position="-7.69803 -147.224 0" scale="3.1194 3.64516 1" sourcepath="#Cone" >
+ <Action id="Cone-Action" eyeball="True" triggerObject="#Cone" event="onPressureDown" targetObject="#Cone" handler="Set Property" >
+ <HandlerArgument name="Property Name" type="String" argtype="Property" value="opacity" />
+ <HandlerArgument name="Property Value" argtype="Dependent" value="28" />
+ </Action>
+ </Add>
+ <Add ref="#Default" />
+ <Add ref="#Text" name="Text" font="TitilliumWeb-Regular" position="-310.807 296.373 0" textstring="Click on the cone to change its opacity" />
+ </State>
+ </State>
+ </Logic>
+ </Project>
+</UIP>