summaryrefslogtreecommitdiffstats
path: root/src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineTimebar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineTimebar.cpp')
-rw-r--r--src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineTimebar.cpp222
1 files changed, 0 insertions, 222 deletions
diff --git a/src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineTimebar.cpp b/src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineTimebar.cpp
deleted file mode 100644
index 0ecefefd..00000000
--- a/src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineTimebar.cpp
+++ /dev/null
@@ -1,222 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2008 NVIDIA Corporation.
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt 3D Studio.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "Qt3DSCommonPrecompile.h"
-#include "Qt3DSDMTimelineTimebar.h"
-#include "Qt3DSDMStudioSystem.h"
-#include "Qt3DSDMDataCore.h"
-#include "Qt3DSDMDataTypes.h"
-#include "ClientDataModelBridge.h"
-#include "TimelineTranslationManager.h"
-#include "Doc.h"
-#include "Dispatch.h"
-#include "Core.h"
-#include "IDocumentEditor.h"
-#include "StudioFullSystem.h"
-#include "StudioPreferences.h"
-#include "ITimelineItemBinding.h"
-#include "RowTree.h"
-#include "RowTimeline.h"
-#include "StudioApp.h"
-#include "Dialogs.h"
-
-Qt3DSDMTimelineTimebar::Qt3DSDMTimelineTimebar(
- CTimelineTranslationManager *inTimelineTranslationManager,
- qt3dsdm::Qt3DSDMInstanceHandle inDataHandle)
- : Q3DStudio::CUpdateableDocumentEditor(*inTimelineTranslationManager->GetDoc())
- , m_TimelineTranslationManager(inTimelineTranslationManager)
- , m_PropertySystem(inTimelineTranslationManager->GetStudioSystem()->GetPropertySystem())
- , m_DataHandle(inDataHandle)
-{
- CClientDataModelBridge *theClientDataModelBridge =
- inTimelineTranslationManager->GetStudioSystem()->GetClientDataModelBridge();
- m_StartTime = theClientDataModelBridge->GetSceneAsset().m_StartTime;
- m_EndTime = theClientDataModelBridge->GetSceneAsset().m_EndTime;
- qt3dsdm::SValue theValue;
- if (m_PropertySystem->GetInstancePropertyValue(
- m_DataHandle, theClientDataModelBridge->GetSceneAsset().m_TimebarColor, theValue)) {
- qt3dsdm::SFloat4 theTimebarColor = qt3dsdm::get<qt3dsdm::SFloat4>(theValue);
-
- m_Color.SetRGB(static_cast<int>(theTimebarColor.m_Floats[0] * 255.0f),
- static_cast<int>(theTimebarColor.m_Floats[1] * 255.0f),
- static_cast<int>(theTimebarColor.m_Floats[2] * 255.0f));
- }
- qt3dsdm::IStudioFullSystemSignalProvider *theProvider =
- inTimelineTranslationManager->GetStudioSystem()->GetFullSystem()->GetSignalProvider();
- m_PropertyChangedSignal = theProvider->ConnectInstancePropertyValue(
- std::bind(&Qt3DSDMTimelineTimebar::OnPropertyChanged, this,
- std::placeholders::_1, std::placeholders::_2));
-
- OnPropertyChanged(m_DataHandle, theClientDataModelBridge->GetSceneAsset().m_TimebarColor);
- OnPropertyChanged(m_DataHandle, theClientDataModelBridge->GetSceneAsset().m_TimebarText);
-}
-
-void Qt3DSDMTimelineTimebar::OnPropertyChanged(qt3dsdm::Qt3DSDMInstanceHandle inInstance,
- qt3dsdm::Qt3DSDMPropertyHandle inProperty)
-{
- if (m_DataHandle == inInstance) {
- bool needsInvalidate = false;
- qt3dsdm::SValue theValue;
- CClientDataModelBridge *theClientDataModelBridge =
- m_TimelineTranslationManager->GetStudioSystem()->GetClientDataModelBridge();
- if (inProperty == theClientDataModelBridge->GetSceneAsset().m_TimebarColor) {
-
- if (m_PropertySystem->GetInstancePropertyValue(
- m_DataHandle, theClientDataModelBridge->GetSceneAsset().m_TimebarColor,
- theValue)) {
- qt3dsdm::SFloat4 theTimebarColor = qt3dsdm::get<qt3dsdm::SFloat4>(theValue);
-
- m_Color.SetRGB(static_cast<int>(theTimebarColor.m_Floats[0] * 255.0f),
- static_cast<int>(theTimebarColor.m_Floats[1] * 255.0f),
- static_cast<int>(theTimebarColor.m_Floats[2] * 255.0f));
- } else {
- switch (theClientDataModelBridge->GetObjectType(inInstance)) {
- case OBJTYPE_LAYER:
- m_Color = CStudioPreferences::GetLayerTimebarColor();
- break;
- default:
- m_Color = CStudioPreferences::GetObjectTimebarColor();
- break;
- }
- }
- needsInvalidate = true;
- } else if (inProperty == theClientDataModelBridge->GetSceneAsset().m_TimebarText) {
- if (m_PropertySystem->GetInstancePropertyValue(
- m_DataHandle, theClientDataModelBridge->GetSceneAsset().m_TimebarText,
- theValue)) {
- m_Comment = qt3dsdm::get<qt3dsdm::TDataStrPtr>(theValue)->toQString();
- } else {
- m_Comment.clear();
- }
- needsInvalidate = true;
- }
- if (needsInvalidate) {
- ITimelineItemBinding *theBinding =
- m_TimelineTranslationManager->GetOrCreate(inInstance);
- if (theBinding) {
- RowTree *rowTree = theBinding->getRowTree();
- if (rowTree)
- rowTree->rowTimeline()->setBarColor(m_Color);
- }
- }
- }
-}
-
-Qt3DSDMTimelineTimebar::~Qt3DSDMTimelineTimebar()
-{
-}
-
-// TODO: Can we put this on IInstancePropertyCore?
-template <typename T>
-T GetInstancePropertyValue(qt3dsdm::IPropertySystem *inPropertySystem,
- qt3dsdm::Qt3DSDMInstanceHandle inInstanceHandle,
- qt3dsdm::Qt3DSDMPropertyHandle inProperty)
-{
- qt3dsdm::SValue theValue;
- inPropertySystem->GetInstancePropertyValue(inInstanceHandle, inProperty, theValue);
- return qt3dsdm::get<T>(theValue);
-}
-
-long Qt3DSDMTimelineTimebar::GetStartTime() const
-{
- return GetInstancePropertyValue<qt3ds::QT3DSI32>(m_PropertySystem, m_DataHandle, m_StartTime);
-}
-
-long Qt3DSDMTimelineTimebar::GetEndTime() const
-{
- return GetInstancePropertyValue<qt3ds::QT3DSI32>(m_PropertySystem, m_DataHandle, m_EndTime);
-}
-
-long Qt3DSDMTimelineTimebar::GetDuration() const
-{
- auto theStartTime = GetInstancePropertyValue<qt3ds::QT3DSI32>(m_PropertySystem, m_DataHandle, m_StartTime);
- auto theEndTime = GetInstancePropertyValue<qt3ds::QT3DSI32>(m_PropertySystem, m_DataHandle, m_EndTime);
-
- return theEndTime - theStartTime;
-}
-
-bool Qt3DSDMTimelineTimebar::ShowHandleBars() const
-{
- return true;
-}
-
-void Qt3DSDMTimelineTimebar::OnBeginDrag()
-{ // Really? TODO: Figure out why this is here.
- // ASSERT(0);
-}
-
-void Qt3DSDMTimelineTimebar::OffsetTime(long inDiff)
-{
- if (m_DataHandle.Valid()) {
- ENSURE_EDITOR(QObject::tr("Time Bar Move")).OffsetTimeRange(m_DataHandle, inDiff);
- m_TimelineTranslationManager->GetDoc()
- ->GetCore()
- ->GetDispatch()
- ->FireImmediateRefreshInstance(m_DataHandle);
- }
-}
-
-void Qt3DSDMTimelineTimebar::ChangeTime(long inTime, bool inSetStart)
-{
- if (m_DataHandle.Valid()) {
- ENSURE_EDITOR(QObject::tr("Time Bar Resize")).ResizeTimeRange(m_DataHandle, inTime,
- inSetStart);
- m_TimelineTranslationManager->GetDoc()
- ->GetCore()
- ->GetDispatch()
- ->FireImmediateRefreshInstance(m_DataHandle);
- }
-}
-
-void Qt3DSDMTimelineTimebar::CommitTimeChange()
-{
- CommitEditor();
-}
-
-void Qt3DSDMTimelineTimebar::RollbackTimeChange()
-{
- RollbackEditor();
-}
-
-void Qt3DSDMTimelineTimebar::SetTimebarComment(const QString &inComment)
-{
- using namespace Q3DStudio;
- if (inComment != m_Comment) {
- qt3dsdm::Qt3DSDMInstanceHandle theHandle = m_DataHandle;
- SCOPED_DOCUMENT_EDITOR(*m_TimelineTranslationManager->GetDoc(),
- QObject::tr("Set Time Bar Text"))
- ->SetTimebarText(theHandle, inComment);
- }
-}
-
-void Qt3DSDMTimelineTimebar::SetTimebarTime(ITimeChangeCallback *inCallback /*= nullptr*/)
-{
- g_StudioApp.GetDialogs()->asyncDisplayDurationEditDialog(GetStartTime(), GetEndTime(),
- inCallback);
-}