summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaj Grönholm <kaj.gronholm@qt.io>2020-09-18 14:20:20 +0300
committerKaj Grönholm <kaj.gronholm@qt.io>2020-09-25 06:40:53 +0300
commit34db1fb59ca477af95311cb8249ee90b1e471184 (patch)
tree85ecaa1ed3aeaafac7f23d13b77b500cf79fad14
parente551c9d27febae3a874cfd4c54ff9811abce0fc7 (diff)
Add signal objectv2.8.0-beta1
Add signal object type and use it instead of dummy group in activateactions autotest. Task-number: QT3DS-4165 Change-Id: Id10fcc95e3a8f9009db71e6c2d640a593e633d67 Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
-rw-r--r--src/dm/systems/Qt3DSDMComposerTypeDefinitions.cpp2
-rw-r--r--src/dm/systems/Qt3DSDMComposerTypeDefinitions.h19
-rw-r--r--src/runtimerender/Qt3DSRenderUIPLoader.cpp3
-rw-r--r--src/uipparser/Qt3DSUIPParser.h1
-rw-r--r--src/uipparser/Qt3DSUIPParserImpl.cpp3
-rw-r--r--tests/auto/studio3d/shared/presentation/activateactions.uip18
6 files changed, 37 insertions, 9 deletions
diff --git a/src/dm/systems/Qt3DSDMComposerTypeDefinitions.cpp b/src/dm/systems/Qt3DSDMComposerTypeDefinitions.cpp
index 3aacdec..fc2500a 100644
--- a/src/dm/systems/Qt3DSDMComposerTypeDefinitions.cpp
+++ b/src/dm/systems/Qt3DSDMComposerTypeDefinitions.cpp
@@ -109,6 +109,7 @@ struct DataConstructor<SObjectRefType>
#define QT3DS_WCHAR_T_Node L"Node"
#define QT3DS_WCHAR_T_Layer L"Layer"
#define QT3DS_WCHAR_T_Group L"Group"
+#define QT3DS_WCHAR_T_Signal L"Signal"
#define QT3DS_WCHAR_T_Model L"Model"
#define QT3DS_WCHAR_T_Light L"Light"
#define QT3DS_WCHAR_T_Camera L"Camera"
@@ -513,6 +514,7 @@ SComposerObjectDefinitions::SComposerObjectDefinitions(IDataCore &inCore, IMetaD
, m_Node(inCore, inMetaData, inCore.CreateInstance(), m_Typed, m_Asset)
, m_Layer(inCore, inMetaData, inCore.CreateInstance(), m_Typed, m_Node)
, m_Group(inCore, inMetaData, inCore.CreateInstance(), m_Typed, m_Node)
+ , m_Signal(inCore, inMetaData, inCore.CreateInstance(), m_Typed, m_Node)
, m_Model(inCore, inMetaData, inCore.CreateInstance(), m_Typed, m_Node)
, m_Light(inCore, inMetaData, inCore.CreateInstance(), m_Typed, m_Node)
, m_Camera(inCore, inMetaData, inCore.CreateInstance(), m_Typed, m_Node)
diff --git a/src/dm/systems/Qt3DSDMComposerTypeDefinitions.h b/src/dm/systems/Qt3DSDMComposerTypeDefinitions.h
index e8bd139..bd1dcb5 100644
--- a/src/dm/systems/Qt3DSDMComposerTypeDefinitions.h
+++ b/src/dm/systems/Qt3DSDMComposerTypeDefinitions.h
@@ -67,6 +67,7 @@ class IPropertySystem;
HANDLE_COMPOSER_OBJECT_TYPE(Node, ITERATE_COMPOSER_NODE_PROPERTIES) \
HANDLE_COMPOSER_OBJECT_TYPE(Layer, ITERATE_COMPOSER_LAYER_PROPERTIES) \
HANDLE_COMPOSER_OBJECT_TYPE(Group, ITERATE_COMPOSER_GROUP_PROPERTIES) \
+ HANDLE_COMPOSER_OBJECT_TYPE(Signal, ITERATE_COMPOSER_SIGNAL_PROPERTIES) \
HANDLE_COMPOSER_OBJECT_TYPE(Model, ITERATE_COMPOSER_MODEL_PROPERTIES) \
HANDLE_COMPOSER_OBJECT_TYPE(Light, ITERATE_COMPOSER_LIGHT_PROPERTIES) \
HANDLE_COMPOSER_OBJECT_TYPE(Camera, ITERATE_COMPOSER_CAMERA_PROPERTIES) \
@@ -253,6 +254,9 @@ class IPropertySystem;
HANDLE_COMPOSER_PROPERTY_DUPLICATE(ordered, m_ordered, bool, false) \
HANDLE_COMPOSER_PROPERTY_DUPLICATE(variants, m_variants, TDataStrPtr, L"") \
+#define ITERATE_COMPOSER_SIGNAL_PROPERTIES \
+ // Note: Signal doesn't contain any properties
+
#define ITERATE_COMPOSER_LIGHT_PROPERTIES \
HANDLE_COMPOSER_PROPERTY(lighttype, m_LightType, TDataStrPtr, L"Directional") \
HANDLE_COMPOSER_PROPERTY(scope, m_Scope, SObjectRefType, L"") \
@@ -799,6 +803,21 @@ struct SComposerObjectDefinition<ComposerObjectTypes::Group>
};
template <>
+struct SComposerObjectDefinition<ComposerObjectTypes::Signal>
+ : public SComposerBaseObjectDefinition<ComposerObjectTypes::Signal>
+{
+ SComposerObjectDefinition(IDataCore &inCore, IMetaData &inMetaData,
+ Qt3DSDMInstanceHandle inInstance,
+ SComposerObjectDefinition<ComposerObjectTypes::Typed> &inTyped,
+ SComposerObjectDefinition<ComposerObjectTypes::Node> &inNode)
+ : SComposerBaseObjectDefinition<ComposerObjectTypes::Signal>(inCore, inMetaData, inInstance)
+ {
+ Derive(inCore, inNode);
+ SetType(inCore, inTyped);
+ }
+};
+
+template <>
struct SComposerObjectDefinition<ComposerObjectTypes::Light>
: public SComposerBaseObjectDefinition<ComposerObjectTypes::Light>
{
diff --git a/src/runtimerender/Qt3DSRenderUIPLoader.cpp b/src/runtimerender/Qt3DSRenderUIPLoader.cpp
index 9630dc8..f276f6d 100644
--- a/src/runtimerender/Qt3DSRenderUIPLoader.cpp
+++ b/src/runtimerender/Qt3DSRenderUIPLoader.cpp
@@ -1260,6 +1260,9 @@ struct SRenderUIPLoader : public IDOMReferenceResolver
case qt3dsdm::ComposerObjectTypes::Group:
theNewObject = QT3DS_NEW(m_PresentationAllocator, SNode)();
break;
+ case qt3dsdm::ComposerObjectTypes::Signal:
+ theNewObject = QT3DS_NEW(m_PresentationAllocator, SNode)();
+ break;
case qt3dsdm::ComposerObjectTypes::Component:
theNewObject = QT3DS_NEW(m_PresentationAllocator, SNode)();
break;
diff --git a/src/uipparser/Qt3DSUIPParser.h b/src/uipparser/Qt3DSUIPParser.h
index 7b4fc3f..1bbf7ba 100644
--- a/src/uipparser/Qt3DSUIPParser.h
+++ b/src/uipparser/Qt3DSUIPParser.h
@@ -94,6 +94,7 @@ struct UIPElementTypes
Path,
PathAnchorPoint,
PathSubPath,
+ Signal
};
};
diff --git a/src/uipparser/Qt3DSUIPParserImpl.cpp b/src/uipparser/Qt3DSUIPParserImpl.cpp
index 4190915..8be40d7 100644
--- a/src/uipparser/Qt3DSUIPParserImpl.cpp
+++ b/src/uipparser/Qt3DSUIPParserImpl.cpp
@@ -2700,6 +2700,9 @@ SElementAndType CUIPParserImpl::GetElementForID(const char *inElementName)
case qt3dsdm::ComposerObjectTypes::Group:
theUIPType = UIPElementTypes::Group;
break;
+ case qt3dsdm::ComposerObjectTypes::Signal:
+ theUIPType = UIPElementTypes::Signal;
+ break;
case qt3dsdm::ComposerObjectTypes::Component:
theUIPType = UIPElementTypes::Component;
break;
diff --git a/tests/auto/studio3d/shared/presentation/activateactions.uip b/tests/auto/studio3d/shared/presentation/activateactions.uip
index 52ca81a..9adea68 100644
--- a/tests/auto/studio3d/shared/presentation/activateactions.uip
+++ b/tests/auto/studio3d/shared/presentation/activateactions.uip
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<UIP version="6" >
+<UIP version="7" >
<Project >
<ProjectSettings author="" company="" presentationWidth="800" presentationHeight="480" maintainAspect="False" preferKtx="False" flipCompressedTextures="False" >
<CustomColors count="16" >#969696 #780000 #ff0055 #ffffff #0a0a0a #ffffff #a0a8b2 #ffffff #ff643a #ffffff #4694ff #ffffff #ff0800 #ffffff #280000 #ffffff</CustomColors>
@@ -12,8 +12,8 @@
<Model id="Cube_u48840" variants="" >
<ReferencedMaterial id="Default_u50569" name="Default" />
</Model>
- <Group id="Events1_u28102" variants="" />
- <Group id="Events2_u17296" variants="" />
+ <Signal id="Signal_u2451" />
+ <Signal id="Signal2_u7200" />
</Layer>
<Material id="__Container_u55481" >
<Material id="materials//Default_u19189" />
@@ -30,21 +30,21 @@
<State id="Scene-Slide1_u54514" name="Slide1" >
<Add ref="#Cube_u48840" name="Cube" rotation="20 360 20" sourcepath="#Cube" />
<Add ref="#Default_u50569" name="Default" referencedmaterial="#materials//Default_u19189" sourcepath="/Default" />
- <Add ref="#Events1_u28102" name="Events1" endtime="3000" starttime="1000" >
- <Action id="Events1-Action_u22921" eyeball="True" triggerObject="#Events1_u28102" event="onActivate" targetObject="#Scene_u31923" handler="Set Property" >
+ <Add ref="#Signal_u2451" name="Signal" endtime="3000" starttime="1000" >
+ <Action id="Signal-Action_u49670" eyeball="True" triggerObject="#Signal_u2451" event="onActivate" targetObject="#Scene_u31923" handler="Set Property" >
<HandlerArgument name="Property Name" type="String" argtype="Property" value="bgcolorenable" />
<HandlerArgument name="Property Value" type="Bool" argtype="Dependent" value="True" />
</Action>
- <Action id="Events1-Action_u62890" eyeball="True" triggerObject="#Events1_u28102" event="onDeactivate" targetObject="#Scene_u31923" handler="Set Property" >
+ <Action id="Signal-Action_u39742" eyeball="True" triggerObject="#Signal_u2451" event="onDeactivate" targetObject="#Scene_u31923" handler="Set Property" >
<HandlerArgument name="Property Name" type="String" argtype="Property" value="bgcolorenable" />
<HandlerArgument name="Property Value" type="Bool" argtype="Dependent" />
</Action>
</Add>
- <Add ref="#Events2_u17296" name="Events2" endtime="3000" starttime="1000" >
- <Action id="Events2-Action_u55956" eyeball="True" triggerObject="#Events2_u17296" event="onActivate" targetObject="#Events2_u17296" handler="Emit Signal" >
+ <Add ref="#Signal2_u7200" name="Signal2" endtime="3000" starttime="1000" >
+ <Action id="Signal2-Action_u44837" eyeball="True" triggerObject="#Signal2_u7200" event="onActivate" targetObject="#Signal2_u7200" handler="Emit Signal" >
<HandlerArgument name="Signal Name" type="String" argtype="Signal" value="mySignal1" />
</Action>
- <Action id="Events2-Action_u17879" eyeball="True" triggerObject="#Events2_u17296" event="onDeactivate" targetObject="#Events2_u17296" handler="Emit Signal" >
+ <Action id="Signal2-Action_u65378" eyeball="True" triggerObject="#Signal2_u7200" event="onDeactivate" targetObject="#Signal2_u7200" handler="Emit Signal" >
<HandlerArgument name="Signal Name" type="String" argtype="Signal" value="mySignal2" />
</Action>
</Add>