summaryrefslogtreecommitdiffstats
path: root/src/Authoring/Qt3DStudio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp
diff options
context:
space:
mode:
authorKaj Grönholm <kaj.gronholm@qt.io>2020-09-18 14:40:33 +0300
committerKaj Grönholm <kaj.gronholm@qt.io>2020-09-25 11:04:22 +0300
commit98d888b6beeda9e301625ecba8e377cf552e7231 (patch)
tree2201c7ee29accc46d78816c2f047b1e784a73df0 /src/Authoring/Qt3DStudio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp
parent3bcbc804004d293eba409b5e65ff5c5e38c572fe (diff)
Improve timeline signal actionsv2.8.0-beta1
- Support new signal type object with icons. Bump generated UIP version to 7. - When creating a signal, also create initial onActivate action. - Don't show basic node properties for signals, only the name. - When adding new action to signal, default to onActivate and emit signal. - Show small ticks on timeline bar if onActivate or onDeactivate actions have been set to the object. Task-number: QT3DS-4165 Change-Id: I16d1129536ac4d22c23c27bbc95741aa66adf597 Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'src/Authoring/Qt3DStudio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp')
-rw-r--r--src/Authoring/Qt3DStudio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/Authoring/Qt3DStudio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp b/src/Authoring/Qt3DStudio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp
index 744c53a0..58529ad4 100644
--- a/src/Authoring/Qt3DStudio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp
+++ b/src/Authoring/Qt3DStudio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp
@@ -234,6 +234,34 @@ bool Qt3DSDMTimelineItemBinding::HasAction(bool inMaster)
return theActions.size() > 0;
}
+ITimelineItem::ActivateActions Qt3DSDMTimelineItemBinding::getActivateActions()
+{
+ TActionHandleList theActions;
+ CDoc *theDoc = g_StudioApp.GetCore()->GetDoc();
+
+ Qt3DSDMSlideHandle theSlide = theDoc->GetActiveSlide();
+ qt3dsdm::ISlideCore &theSlideCore(*m_StudioSystem->GetSlideCore());
+ if (theSlideCore.IsSlide(theSlide)) {
+ m_StudioSystem->GetActionCore()->GetActions(theSlide, m_DataHandle, theActions);
+ // Check also master slide, to get actions inside component
+ TActionHandleList masterActions;
+ Qt3DSDMSlideHandle masterSlide = m_StudioSystem->GetSlideSystem()->GetMasterSlide(theSlide);
+ m_StudioSystem->GetActionCore()->GetActions(masterSlide, m_DataHandle, masterActions);
+ theActions.insert(theActions.end(), masterActions.begin(), masterActions.end());
+ }
+
+ ITimelineItem::ActivateActions activateActions = ITimelineItem::ActivateAction::None;
+ for (auto theIter = theActions.begin(); theIter != theActions.end(); ++theIter) {
+ auto info = m_StudioSystem->GetActionCore()->GetActionInfo(*theIter);
+ if (info.m_Event == L"onActivate")
+ activateActions |= ITimelineItem::ActivateAction::Activate;
+ else if (info.m_Event == L"onDeactivate")
+ activateActions |= ITimelineItem::ActivateAction::Deactivate;
+ }
+
+ return activateActions;
+}
+
bool Qt3DSDMTimelineItemBinding::ChildrenHasAction(bool inMaster)
{
// Get all the instances in this slidegraph