diff options
author | Kaj Grönholm <kaj.gronholm@qt.io> | 2020-09-18 14:20:20 +0300 |
---|---|---|
committer | Kaj Grönholm <kaj.gronholm@qt.io> | 2020-09-25 06:40:53 +0300 |
commit | 34db1fb59ca477af95311cb8249ee90b1e471184 (patch) | |
tree | 85ecaa1ed3aeaafac7f23d13b77b500cf79fad14 | |
parent | e551c9d27febae3a874cfd4c54ff9811abce0fc7 (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.cpp | 2 | ||||
-rw-r--r-- | src/dm/systems/Qt3DSDMComposerTypeDefinitions.h | 19 | ||||
-rw-r--r-- | src/runtimerender/Qt3DSRenderUIPLoader.cpp | 3 | ||||
-rw-r--r-- | src/uipparser/Qt3DSUIPParser.h | 1 | ||||
-rw-r--r-- | src/uipparser/Qt3DSUIPParserImpl.cpp | 3 | ||||
-rw-r--r-- | tests/auto/studio3d/shared/presentation/activateactions.uip | 18 |
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> |